Friday, January 25, 2008

More on SVN Versionator

Mostly done. Right now it does the copying and updates the version.txt files. It doesn't do the Externals yet, but a coworker has argued that with Buildout we ought to go away from Externals.

Reinout von Rees has his own version that does a couple extra bits like eggifying. I like that very much, and may add a little more.

Alas, work is too busy right now to finish this before our next build. So I'm too busy to make my life easier. Ha ha.

Thursday, January 24, 2008

SVN versionator!

I'm the one who has been cutting tags for our big project at work. The problem is that its kind of a pain with a number of steps, and while I've yet to make a mistake, the chances are there. So last night I decided I ought to build a tag creator in Python.

This won't be some generic tool to release on the world. We've got some application and environment specific things going on that I can't share.

That said, I could probably do it in a way to make it generic. Basically you would create a config file for your location, a SVN externals file, and then when you would run Versionator it would create the tag with just the system version as your only parameter. And I could probably do it in a way so it would support SVN or Bizare. Maybe Mercury or Git in the distant future.


Hmmmm....

Thursday, January 10, 2008

I concur

http://www.wired.com/politics/security/commentary/securitymatters/2008/01/securitymatters_0110

We let our neighbors, which include police officers and at least one employee of a federal law enforcement agency to use our wireless network.

Reason #4293 why I'm happy to be out of ColdFusion

At my job the majority of developers do ColdFusion (CF). And most of them code in it as if it were still 1997 back in version 3, but they do it on modern CF 8 servers. That means using lots of deprecated bits or making it one giant procedural mess with the only complex data object being SQL query result sets (no arrays, structures, xml, etc). Unit testing is ignored, as is use of modern CF frameworks especially the useful ORMs that now exist. At best they use some of the reporting tools and thats all you get out of them.

Well, at another job location a pair of smart CF developers wrote an application using all the modern bits of CF8. That means object-oriented code that had fancy things like duck typing.

The software was brought here, and you know what? It was assigned to a 'senior developer' for slight modifications to accommodate some differences in business logic. And that 'senior developer' promptly yanked the code out of the objects and rendered it into lard... I mean procedural code. And the racehorse application turned into a turd.

Now in the Python world this would not happen. If we needed to change something, we inherit the modules needed from other people's work. I did that with Trac's admin console, mildly rewriting three methods to move them out of the console based atmosphere.

If you ever did do something like obfuscate and slowdown existing code in the Python world, you would get your knickers beaten. In the ColdFusion world, you are considered senior because of tenure.

Sigh.

Wednesday, January 9, 2008

Python is the programming language of 2007!

http://www.tiobe.com/index.htm?tiobe_index

Yeah, one can argue that this is meaningless, but its the sort of thing both IT managers, CIOs, and developers look at. And it makes me happy!

Monday, January 7, 2008

The hard truth about Python

Python is easy to pick up. Very powerful. Fast. Fun. And attracts super smart people.

And therein lies the problem. You see, when I did Foxpro and ColdFusion I got lots of kudos for knowing everything and kicking butt. Heck, in Java I ran into that sometimes too, especially when I showed people just how well I grokked OO design. Its fun being a big snake in a pond no matter how big that pond might be. Granted in Java I ran into people who were awesome, but so many of them were not.

But Python is sneaky like a snake. Just when you think you kick ass, you read the incredible work being done by some guy who works for Google, or Zope Corporation, or the OLPC. And you realize you are just one person in an ocean of smart people.

On the plus side, doing Python with all these smart people makes me smarter too.

Still...