reading blogroll

out of date goodies

In order to help the large amount of people looking for my old widgets everyday, I'm putting below a list of the most wanted. Note that the others are still accessible at http://zendold.lojcomm.com.br/.

Today I faced a very interesting problem: How to set back a site, in Windows 2003, to anonymous access once its password has been accidentally changed in the Directory Security?

Besides the very intriguing fact of "How could someone do that?!", it's equally fascinating that just clicking "Enable anonymous access" and leaving the password field empty won't bring your site back. Neither using "guest" nor "anonymous".

What's going on here is that some Windows account passwords are set automatically and are never known. Once you have them out of sync you have a "Oh, man!" kind of big problem since your customer is calling all the time asking: "Why my password is asking for user and password?! WHY WHY WHY?!".

Fixing this is easy but a little tricky. Here are the steps:

1 -- Open C:InetpubAdminScriptsadsutil.vbs and search for the function IsSecureProperty. It should be something like:

3 -- Now your are ready to retrieve the built-in anonymous password by using the following command:

cscript adsutil.vbsget w3svc/anonymoususerpass

4 -- or the IWAN password by using:

cscript adsutil.vbsget w3svc/wamuserpass

5 -- Remove the adsutil.vbs modifications and set the password in the Directory Security.

Note: If instead of using get to retrieve the built-in password, you think it's better to set a new password, you may use the set command and after that you should run cscript synciwam.vbs -v to sync up the new password in all the services.

These methodologies, that were known as lightweight methods until year 2001 and then became the Agile Software Development, have
some aspects in common. At first, they were "born" from the developers necessity to focus more on the product in which they're working on
than in hard processes related to development. It means that, unlike the classic long-term strategies and specifications that predict and document the entire
project from the beginning to the end, the development is made in small iterations, with minimal planning. Another important factor is that these methodologies are in
favour of face-to-face communication rather than written documentation among the team members (which are small, around 5-9 people). Third and most important to all
programmers, in my humble opinion, is the constant execution of automated tests in all steps to ensure the quality of each small unit of code they generate.

Despite being an interesting topic, I'll stop my wondering here, because it's not my goal to teach techniques to manage software teams, but to teach one of the things
that all of those techniques will be require you to do. Before anything, I want to remind you that a programmer will always program, so that doesn't matter too much
what methodology is adopted by the company where you are working on. For fun, below is a strip from Geek Hero Comic that was kindly
provided by the author Salvatore Iovene for this article:

For those who don't know yet, this is the third article of a series that I committed myself to write. Here is the list of articles:

If you're reading one of my articles for the first time, I strongly recommend that you read the previous ones first, because I'm trying to lead you into a great abstraction, presenting the topics incrementally.

Introduction

In this article, I'll speak a little about some issues that I believe are relevant to all modern programmers. However the examples will be written in ASP/VBScript+JScript, so I'll be coherent with the purpose of these articles, which will showcase ASP as an extremely versatile and efficient environment. Here is the list of articles:

If you're reading one of my articles for the first time, I strongly recommend that you read the previous ones first, because I'm trying to lead you into a great abstraction, presenting the topics incrementally.

Introduction

After thirteen years of web development, in which the last five I spent almost entirely developing with the .NET platform, I finally saw in Classic ASP the most versatile environment for web development. The main reason for this versatility is, surprisingly, the fact that it is interpreted. It might sound like a joke, mainly because of the whole buzz around the code-behind and the advantages of the compiled code's performance. But, in my opinion, this attribute, summed to multiple languages support, is what guarantees to ASP a distinguish position among the environments for advanced programmers.

Aiming to share my experience and point of view to the whole community, I've decided to create a series of articles, where I'll address key topics that will lead to a greater understanding of the strength hidden in ASP. I've ordered them so that easier topics are discussed first before moving on to the harder ones. Here they are:

ASP, a misinterpreted technology

Event-Driven-Programming and lambda function in ASP/VBScript.

TDD (Test Driven Development) in ASP/VBScript.

Languages: Based on Objects and Object Oriented.

Object Oriented in ASP/VBScript "Hackers way".

"Scripting Components", the ace in the role.

Caching: the concept of DRY (Don't Repeat Yourself) applied to ASP.

In all subsequent articles, I'll indicate the current stage in bold. I don't intend to stop contributing after the end of the seven subjects. I'll probably attack more problems and more specific topics that illustrate the advantage of using ASP. Well, one step at a time...

First of all, HAPPYNEWYEAR! Finally, the first entry in 2009! I’ve been working really hard in the latest days, hoping to get a release version of AXE with tons of new features like: Events, XSession, Markdown and Textile parsers and a lot lot more.

This entry is about reserved words in ASP. My current main languages to code ASP are VBScript, Javascript and Python and they are interacting perfectly under the god damn awesome Microsoft CLI. Enough talk, let’s start! The post is about the boring fact that when developing low-level code, you inevitably fall in the task of recreating something important that you feel is missing or is lacking features. You go for it, start a project and everything goes fine until you need to baptize your new child. Spent a little time thinking, you knows the perfect name, try to assign it and Bang! An error happen. This is usually related to reserved words and the devil lives in the ones that you never used and forgot about their existance because they are simply reserved words don’t have any meaning to the compiler! For a quick reference, see below a list of the reserved words of the cited languages. Rare words are in strong.

Yesterday I received a request to implement some Web Services for a legacy application which is written in Classic ASP. Well, I’ve nothing against using Microsoft .NET to achieve this task, but once the application has a good design and the classes are already there, shouldn’t it be easiest to take the VBScript code and use it to increase my productivity? IMHO the answer is yes.

Well, in summary this article covers the following problem: “How to create a Web Service based in Classic VBScript ASP 3.0 classes using MS SOAP Toolkit 3.0 and Visual Basic 6.0 to work in a IIS 6.0 (Windows 2003) environment?” and the reason why I’m writing this is because I had a little hard time to solve it. I think it mainly happened because the MS SOAP Toolkit was already discontinued when Microsoft released Windows 2003 and the .NET Framework was at it’s climax in the hightech world. So, there isn’t too many material available.

Ah, one more note: I’ve no intention to describe or introduct any of the concepts involved in this task, since you can simply google it an get a lot of results about the definitions. That’s why I’m choosing a very practical way to present this. Ok, that said, let’s begin.

After some months working, finding and fixing bugs in the earlier version of ASP Xtreme Evolution, I’m proud to release the version 1.0.1.0. This is a very stable version. It comes with snippets to increase the productiveness and has some minor changes to help you to organize the code. I suggest those using the v.1.0.0.0 to upgrade as soon as possible. If you can’t upgrade, check the CHANGES in the Read More to fix your old version against the critical issues.

While I’m working with Classic ASP I always miss a lot of features that other languages provide. Sometimes it even happens between the Visual Basic and ASP, like the Mid statement, optional keyword and StrConv function. This Class provides some methods I miss more and also gives me the possibility to work with strings in a OO(Object Oriented) way. The main goal of this Object is to enable placeholders and replacements for human readable strings. Other methods are merely natural derivations from the process of work with Strings.

One week ago Digitarald released the version 2.0 beta 4 of his very good FancyUpload component. Unfortunately I’ve noticed that many ASP and ASP.NET users were falling in trouble to implement it. In this tutorial I’ll try to cover the key things to get it working. I’ll be also using this guide to introduce new comers to ASP Xtreme Evolution development process.

I’ve created a SVN for ASP Xtreme Evolution at DevjaVu so, everyone interested in this project can now use a subversion client like Tortoise to checkout the lastest version of the project. Users can also post new tickets and give suggestions through the trac. I hope that this initiative make a more Open Source face to ASP Xtreme Evolution Framework and make it ready for other developers to join the work.

Today I’m releasing three ASP 3.0 classes to encrypt data. They are based on the Phil Fresle from Frez Systems Limited work and the algorithms available are MD5, SHA256 and Rijndael. Feel free to get’em and start encoding your passwords and other secret things.

Our business partner Clear Sale is a company specialized in behavior scoring. They withhold the major brazilian e-commerce shops as their customers. With their system, you can share a risk database with players like Submarino, Americanas and others. This database only goal is to be a source for an assertive score about the risk of a received order from your shop be or not a fraud.

The class.clearsale.asp is a Classic ASP class which provides a complete integration with their current web service. It’s licensed under the MIT License and anyone interested in using it is welcome.