Friday, August 11, 2006

Yahoo 360

I'm pretty much done with blogger; my new blog is at http://360.yahoo.com/villevainio, which is much more appealing technically.

Wednesday, May 03, 2006

We are pushing out a release candidate for IPython 0.7.2 soon. I wrote a short "What's New" article.

There's also potential for google "summer of code" project but we'll see whether the timetable for signing up is too tight for the prospective implementors...

On a nonrelated note, I wrote a short article on our (a team of coworkers attending a same course at the university) experiences with TurboGears for a school project.

Essentially, the project was a success but everything wasn't as easy as could be, particularly the "kid" templating language.

Wednesday, March 22, 2006

Task management for Open Source version control systems

I've been using CM/Synergy as version control system at work. It has a "task-based" approach that differs from likes of SVN in that you "check out" files, and the checkouts are associated with a certain task. An example task would be "Fix syntax highlighting in editor", to which you would check out files editor.py and syntax.py.

How is this better than plain old changeset approach, you ask? Well, it makes it easier to perform multiple tasks simultaneously. When you "complete" the aforementioned task, only the files associated with that task (editor.py, syntax.py) would be checked in.

It would seem to be rather easy to create a set of scripts that would do the task management over existing VCS's (SVN/BZR/CVS/whatever). Just create a "TASKS.txt" in the version control root and have the scripts edit the file when you check out files to tasks, and also detect when someone is having a file you are editing in one of his tasks. Two flies (locking, task management) with one strike. What's not to love?

Friday, February 17, 2006

Today, I've been playing with "Wax", a more pythonic way to make wxPython programs than using the admittedly rather unpleasant straight wxPython (which is a very thin wrapper over C++ wxPython GUI library). So far, Wax feels great.

There is a thread on usenet about my search & discovery of Wax, here.

I am implementing a simple (but general-purpose) software resource/project management app/extensible framework. Here's what I've managed to put together so far (yes, it's not much ;-) ):

Tuesday, February 14, 2006

OpenSVN

OpenSVN is a cool service that hosts a backed up Subversion repository for you, for free. Registration was trouble free, and there are no advertisements or other annoyances.

I checked in some small personal projects (open source), available at

http://opensvn.csie.org/vvprj/trunk/

Saturday, January 28, 2006

pickleshare

I released first version (well, two versions) of "PickleShare" today. I plan to make it the persistence sytem (accessed via %store, %bookmark) for next version of IPython; the current persistence system in IPython is a bit "lossy", killing the process loses the changes and two simultaneous IPython sessions step over each other's changes.

I actually looked inte ZODB for this, but as a dependency it's way too heavy. easy_install zodb3 created a crapload of scripts and compiled C code, while pickleshare is something I can just drop into the Extensions folder of IPython. Durus, not being pure python, was not an option either.

The package is available via Cheeseshop.

Saturday, January 21, 2006

Excited about bzr

It seems that bzr (bazaar-ng) version control system is definitely up to something. You can use it locally without any administration nuisance. Just go to the root of your project and do


bzr init
bzr add .


And then you can keep editing and doing

bzr diff


To see what you've just done

or

bzr commit


To commit your changes. Kinda like local rcs (which admittedly sucks in most areas), but with tree-level changesets. I think I'll start using it locally for both work and freetime projects when I'm experimenting, or when I'm the only developer.

Underlying this simplicity, there is the full power of distributed version control systems (think arch, bitkeeper).

A simple tutorial is here.