## Sunday, September 30, 2007

Well, weel, I've got so many things to do (like, well, several packages to attend to, three programs to write, a book to write as well, and, last but not least, a family that will see a significant increase in size within a few days ;-)...) - but I just can't help it: I spend a decent portion of my "free time" playing freecol... Well, very good game !

### dpatch and svn-buildpackage

dpatch is a simple but reasonably powerful patching system for debian packages. One of the comforts I appreciate greatly with dpatch is the ease with which one can edit patches. The following command lauches a new shell in a copy of the package, and every difference is recorded as patch 56-new-patch.
dpatch-edit-patch 56-new-patch

For those like me who like automatic completion, here is a snippet of my .zshrc to enable automatic completion for dpatch:
dpatch-comp() {
f=(debian/patches/*);
f=(${f%.dpatch}); f=(${f#debian/patches/});
f=(${f#00list}); if [[ -n$f ]]; then
_values 'patches' $f; fi; } compdef dpatch-comp dpatch-edit-patch svn-edit-patch bzr-edit-patch;  However, the problem with dpatch is that is doesn't play really well with tools like svn-buildpackage, in the case where only the debian diff is handled by the SCM. The following snippets of my .zshrc permits the use of dpatch even in these cases: svn-edit-patch () { patch="$1"
shift;
target=pwd;
svn-buildpackage \
--svn-ignore-new --svn-builder="dpatch-edit-patch $patch$@" \
--svn-postbuild="cp debian/patches/$patch*$target/debian/patches"
}

bzr-edit-patch () {
patch="$1" target=pwd; bzr builddeb -w \ --builder="dpatch-edit-patch$patch && cp debian/patches/$patch*$target/debian/patches"
}

Just run svn-edit-patch as you would run dpatch-edit-patch. In the hope that someone will find that useful...

## Saturday, September 29, 2007

The Debian package of the Day blog is looking for contributors, as can be seen in this post. If there are debian packages you use, please consider writing an entry ! Here are my views on the subject:
• It is rather quick - you don't have to write 200 lines. Just write about the way you use it !
• With the statistics page, you'll be able to get an opinion of the impact of your post.
• If you advocate the software well enough, it will gain users, which often implies a gain in quality in the Free Software world (more users means more bug reports, more patches, and possibly more contributors).
Of course, that means you'll need to write a decent entry. But for something you often use and you appreciate, that isn't so difficult. Check out their contribute page.

## Wednesday, September 26, 2007

### freecol, a great game

I've recently discovered Freecol, a great GPLed game in the spirit of Civilization, but in my opinion showing more subtlety. So, I've decided to package it for Debian (see the ITP bug 444199). Funnily enough, this triggered quite a few (mostly positive) reactions, and the authors of freecol seem enthousiastic. Great, that will be my first game and my first java package !

### Ruby

Well, I couldn't really start a blog without writing a small article about this fantastic programming language, Ruby. It all started when a friend of mine posted a message about the Tioga plotting library.

He said that this library was producing great plots (he saw directly plots made by its creator, Bill Paxton). When I saw this video, I was sincerely convinced !

So then, as the library was only for the Ruby programming language, I started immediately to learn Ruby, using the Pragmatic Programmer's Programming Ruby. I found it an extremely enjoyable experience. Within an hour, I had made my first Ruby script using Tioga. Before the end of the day, I was sending my first bug report to Bill. The following day, I had already started to work on a (very poor at that time) first version of ctioga...

I've gone on working with Ruby ever since... I wrote no less than 9000 lines of code only in the SciYAG project on Rubyforge, not mentioning other projects using Ruby and the countless scripts I have written for my everyday science... Ruby is extremely comfortable to program with. A pure delight !

## Tuesday, September 25, 2007

### qtodo, a neat TODO-list manager

I've been looking for a while for a decent hierarchical TODO-list manager... I've looked around at many things, and I have been rather disappointed so far, until recently. I indeed seem to have found what I need with qtodo, which is fairly decent. Among the advantages, let's name a few:
• the format is a slightly improved plain text, which makes it suitable for reading without qtodo
• fairly easy to use
• can manage several TODO-lists at the same time
Development seems to have stopped a year ago though. I might want to try my hand at it, whenever I get some free time - or slightly more crazy than I currently am.

### ctioga's new legends

Since release 1.6 of ctioga, the legends had moved away from the graph, and were not anymore aligned with the plot's internal boundaries. It might not seem much, but the look was horrible, and, even worse, a lot of white space was inserted between the legend and the graph. I've just commited a fix to the SVN repository, and it now looks nearly like before 1.6. Great !

## Monday, September 24, 2007

### Finally...

... I've decided to move away from my old site and old blog (based on Hobix) to switch to more conventional blogs. You're likely to find useful things about Debian, Ruby, Qt4, programs I develop, and you're even more likely to find less than useful things about basically anything.