Sunday, March 21, 2010

New Resolution - Pick up Distributed Version Control

I'm starting with Mercurial, because Joel Spolsky wrote a tutorial on it. I admit I had a hard time trying to pick up Git and Perforce (is that a DVCS?), but I am starting with Mercurial.

I've just started on the first chapter at

Thursday, March 18, 2010

Mercurial is a modern, open source, distributed version control system, and a compelling upgrade from older systems like Subversion. In this user-friendly, six-part tutorial, Joel Spolsky teaches you the key concepts.

Wednesday, March 17, 2010

Collection of Code Snippets

Why do programmers/developers bother to rewrite the same code skeletons all the time? Do it once (or not at all), share it, and benefit from others' contributions!

Monday, March 15, 2010

JQueryUI - Superb GUI Toolkit

There are a lot of tool-kits and software that are purportedly very powerful, flexible, feature-packed etc. But most of them are rather difficult to setup, or have a steep learning curve, or lots of documentation to read,

... ... or ... ...

all of the above.

JQueryUI is the first tool-kit I've used that has instructions in a few succinct lines that I can easily understand, use, and just get it to work!

Highly recommend JQueryUI (and of course, JQuery) for all web GUI development work.

Thursday, March 11, 2010

Python Tools for Web Form Interaction

If you are like me, who, needs to write custom automated testing software to interact with devices with web interfaces, the tools you choose will definitely make a big difference to your productivity.

I've discovered ClientForm
... a Python module for handling HTML forms on the client side, useful for parsing HTML forms, filling them in and returning the completed forms to the server.
that is very good news for me, since I have to automate several tasks working with devices that provide only an interactive web interface. Activities like logging in, updating code, resetting the device, etc, that require more complicated mechanisms like cookies, hidden fields, and random nonces, prohibit the use of statically configured form submissions.

I had started off sniffing and dissecting web pages to manually discover the required information to submit dynamic forms. This activity can take me a whole day for just a simple user interface login. ClientForms, by doing all the hard work of parsing the form, has enabled me to cut this down to 15 minutes. I guess the only difficulty remaining is with forms being manipulated by Javascript during submission. I am still learning more about ClientForms but there is much more in the Python community (and for that, Perl) that can be harnessed to make life for programmers more productive.

I shall leave you here. In a subsequent post, I shall share some of the other tools that I have found, and also some history of my programming experience.