What is adaptation?
This document was originally posted as a reply to a c.l.py post asking for more information on adaptation vs type checking for Python. It was well received, and I thought it deserved a spot here. This...
View ArticleReferences on workflow modelling
There are a number of resources about workflow on the Internet. Finding the good ones is not that easy, though. First of all, the search term is too generic (Google found nearly 8 million results for...
View ArticleA simple protocol for data synchronization between objects
What follows can't still be considered a definite version of this idea. It's still a prototype of an idea that I have been working on in a rather fuzzy way, to solve a practical problem that arised as...
View ArticleForget the GUI (long live the GUI!)
There was a time, not a really long ago, when business programming meant basically processing data. The visual interface options were really limited, so much more time was spent in the business logic...
View ArticleFlow Based Programming & the new Python coding style
Since being introduced in the language, generators (and their lesser cousins, list comprehensions) are finally making it into the community mindset. In the long term, I think that this change will have...
View ArticleXML is not the question
A quote from the Python Is Not Java article (great reading, btw): XML is not the answer. It is not even the question. To paraphrase Jamie Zawinski on regular expressions, "Some people, when confronted...
View ArticleLarge scale small projects, Part I
Integrating teams isn't an easy task. There's much written about it, and it's usually one of the major complaints in management. Software development teams are no exception to this rule. But until...
View ArticleConcepts & Generic Programming
On a recent thread on comp.lang.python (which originally discussed some perceived problems about Python evolution, the topic of generic programming was brought up by Roman Suzi. In ensuing debate,...
View ArticleDeploying distributed applications
Developing a strategy for application deployment is always hard. Every environment has its own characteristics. It's far easier to see the problem with popular applications that are installed by the...
View ArticleLow-level networking with Python
If for any reason you ever need to write low-level network protocols, and if you need direct access to the wire, a good starting pointer is on the Vaults of Parnassus Networking section. It contains...
View ArticleInheritance in SQLObject
There's a debate going on about the best way to support inheritance in SQLObject. Better to have this discussion now than never; there is demand for this feature, but there's still no consensus on the...
View ArticleWhat's the fuss about Rails?
Ruby on Rails is making a lot of noice these days. I first heard about it on comp.lang.python, where it was mentioned a few times. Later, I noticed how many people wanted to write an application on...
View ArticleLow level networking: performance issues
I spent a few hours working on a multicast file transfer program, written in Python, with a friend of mine. The experience was filled with ups and downs. It was good to see that we were able to handle...
View ArticleStoring persistent classes with SQLObject
I've been playing with extensions to store persistent classes and custom methods using SQLObject. The need arised as I was trying to write a relational representation of the Petri net model for a...
View ArticleReinventing the wheel
We coders have a strange standing on reinventing the wheel. Most of the time, a programmer will agree that he should reuse code. It's plain logical. So when we see someone baking his own library we...
View ArticleEat your own dog food
Ian Bicking has summed up pretty well what's the problem with documentation, by large: "Tell me what to do, please". Going down this road, I have some suggestions to offer.Every framework author should...
View ArticleWhat's the U in URI?
It's nice when one finds someone else talking about something that's seemingly evading his own understanding. Permanent URIs (or URLs, for old hats like myself) are one such a beast, at least for me....
View ArticlePC virtualization is coming to age
Well, this is not exactly a post about Python, but it relates a lot to my development experiences. I've been interested in PC virtualization techniques for a long time. I was an early user of VMWare,...
View ArticleTrac is great!
Well. I may be exaggerating a little bit, but for people like me that easily get lost in the transition from the big picture into the details of the software, Trac is a great tool. My initial...
View ArticleA curious remark about code structure in Python
Python never ceases to surprise me. Today I noticed something really simple; it's one of those things that can go on unnoticed for ages, but make the code read better. When coding in several other...
View Article