Form Validation with Formali

Formali, my first JavaScript script ever (well, the first that actually does anything useful) is here. It is a form validation script that works with the Prototype framework.

If you don’t know what Prototype is, head over to their website quick. It is a JavaScript framework that is so cleverly written that it can make a grownup cry. I, at least, have never before seen so many mind boggling anonymous functions crowded into a single file.

Formali came onto this world as I was not able to find a form validation script that did what I wanted, was simple enough to read and use and that was well maintained. It is also possible that I did not search long enough. But my best excuse is that I simply needed the exercise.

It is simple enough so that you may actually consider using (and improving) it instead of being a sinner like me and write your own.

You can find more information over here: http://winpdb.org/?page_id=52

A Mailing List is Born

As if the world needed another mailing list, a new Google Group mailing list has been created to which you can post anything related to Winpdb: http://groups.google.com/group/winpdb

Debugging Explained

Chris Lasher recently migrated his excellent tutorial on Winpdb and debugging in general to the Winpdb Wiki. Thanks Chris!

Winpdb for Python 3.0beta1

For those of you who like living on the bleeding (and buggy) edge of the software world I have uploaded a version of Winpdb compatible with Python 3.0beta1 and Python 2.6beta1 to the mercurial repository: http://winpdb.org/cgi-bin/hgweb.cgi. Instructions are available at http://winpdb.org/cgi-bin/moin.cgi/WinpdbSource

If you find anything that got broken with this update please let me know.

Keep in mind that you can’t actually run the Winpdb GUI in Python 3.0 since wxPython is not available for that version yet. What you should be able to do is to start the debugged script in Python 3.0 and attach to it from a Winpdb instance running under Python 2.5. On a Windows system you would do it with something of this sort:

c:\python30\python.exe rpdb2.py -d myscript.py
c:\python25\python.exe winpdb.py

For this to work you need to either install the debugger into both Python installations or not install it at all. Remember that you can use Winpdb without installing it. In any case you must not try to run a copy of Winpdb installed into one Python version with the interpreter of another Python version.

Heads up for the Python development team: If you run idle.py in either Python 3 or 2.6 under the control of a debugger (any debugger including pdb.py) an erroneous exception is raised in line 295 of multicall.py due to a bug in the interpreter. I will try to be a good citizen and file a report this week. If I didn’t do it it is probably because the dog ate my notebook.

Quiet

It has been rather quiet lately with Winpdb. I have been gradually getting less and less feedback, bug reports and requests either here or in the sourceforge pages. Since it is being downloaded as usual I can only assume it is a sign of maturity. Maybe it just works.

On the other hand I have been contemplating lately the social phenomena of user community indifference. A piece of software can have tens of thousands of users and still generate negligible collaboration activity. It is a mystery. I mean, given this behavior what makes the Wikipedia concept work? What makes one project a collaboration party and another a single person effort?

In any case, this silence on the Python desktop front coincides with my personal shift into the grazing grounds of web development. Finally. Probably one of the last in the herd of software developers, late to get out of bed as usual, I lifted my head from the desktop grass and started marching in search of some XHTML. The first pasture I found by recommendation was of Ruby and RoR. I found the grass over there totally indigestible. Every one says how wonderful and natural it is and that Ruby is actually a lost twin sister of Python. Sorry, but I could see no resemblance what so ever. Sure, Python is not a perfect language but the beautiful thing about it is that it magically disappears and quickly becomes second nature, an extension of your brain. Trying to program in Ruby felt like eating lunch full of sand. I therefore marched on and this time I decided to start from the basics with PHP, XHTML, CSS, SQL, JavaScript, AJAX etc… PHP is another curiosity. It is the most terrible language I ever stumbled upon. How it has become such a corner stone of web development is a mystery. But I decided to give it a serious try this time. After all, the other grazers on that pasture told me PHP programmers are in high demand.

To get PHP, SQL, and the rest into my system I am writing a small and simple MVC framework from scratch. It is called Bolepo and I will soon put it online. Probably in this website initially until it starts crying that it wants its own space. It already has a cute and useful ORM library. I swear.

A GUI Builder for Python

Would you like to have a usable GUI builder for Python? Do you feel as I do that such a tool is missing? I have been planning it in the past months and an initial document is available at http://winpdb.org/cgi-bin/moin.cgi/GuiBuilder. I would love to have your opinion. I will only be able to develop this project effectively if I can find a sponsor so it is currently being developed rather slowly on my spare time.

A Wiki for Winpdb

I have set up an initial Wiki for Winpdb in response to a comment by BobC about collaboration. In addition Winpdb is now published as a Mercurial repository at: winpdb.org/cgi-bin/hgweb.cgi

The Wiki is about development of Winpdb. Now its up to you. Send patches, ideas and good will. Collaborate and make Winpdb better.

The Tychod

Tychod stands for Tycho debugger which is a reference to a story/article by Richard Stallman called “The road to Tycho” about a world where possession of a debugger has been made illegal to prevent people from working around DRM mechanisms.

An interesting point that Stallman discusses in another article “The GNU Project” is that popularity of free software is spreading faster than the philosophy of freedom that motivated it. This is what he says:

Estimates today are that there are ten million users of GNU/Linux systems such as Debian GNU/Linux and Red Hat “Linux”. Free software has developed such practical advantages that users are flocking to it for purely practical reasons.

The good consequences of this are evident: more interest in developing free software, more customers for free software businesses, and more ability to encourage companies to develop commercial free software instead of proprietary software products.

But interest in the software is growing faster than awareness of the philosophy it is based on, and this leads to trouble. Our ability to meet the challenges and threats described above depends on the will to stand firm for freedom. To make sure our community has this will, we need to spread the idea to the new users as they come into the community.

But we are failing to do so: the efforts to attract new users into our community are far outstripping the efforts to teach them the civics of our community. We need to do both, and we need to keep the two efforts in balance.

Winpdb 1.3.8 Tychod Released

Winpdb 1.3.8 Tychod is available for download. It includes some improvements to the name space viewer, a workaround to a segmentation fault in mod_python and some other bug fixes. The full list of changes is available at the download page.

Check this out: For the first time Winpdb has a codename. The first to guess right what this codename stands for will win a FREE copy of Winpdb Tychod!

A Call for Contributions

Winpdb has always been a little spartan. On purpose actually, since I prefer to invest my available energy on endlessly improving and fixing the debugger engine (rpdb2). In fact, the Winpdb GUI was originally intended as a simple reference front end to rpdb2.

The time, however, has come to make long due usability improvements to the GUI and this is where you can come in.

I am looking for people who are willing to contribute improvements to the Winpdb GUI in a coordinated effort. Contact me if you are interested or comment here.

The other possible way to contribute to the development of Winpdb is to send some MONEY! Or as Richard Stallman put it: “There is a good reason for users of software to feel a moral obligation to contribute to its support. Developers of free software are contributing to the users’ activities, and it is both fair and in the long-term interest of the users to give them funds to continue.”

If you need some further encouragement, try to imagine me as a naked monk sitting on the filthy pavement with an empty cup and a broken keyboard, endlessly clicking its dirty keys composing Python zen poetry that you find useful. Now, focus on the empty cup.

Next Page »