Clo has a blog!

As the title says… Clo (my wife) has a blog! There’s some cool stuff on it, you should give a look :-)

Echo

Picture from CloBlog ;-)

EDIT: because most of my readers don’t read french fluently, yes, that means I’ll be a dad in about 6 months ! (and Clo will be a mother, too ;)

Debugging: easier than it used to be!

I just realised that, since I started doing free software development, debugging has become much easier than it used to be.

At first, I didn’t even knew gdb, and debugged with printf()s. Totally impractical, slow, prone to error (as it moves corruptions to other places or even completely hide them), requires recompilation and a new run each time one needs more info.

Then I learnt about gdb and how to use it. Once I could reproduce a bug, finding its root cause became much easier. Mid-2002, a crash handler was added to Claws Mail, which automatically attached gdb to a crashed process and got a backtrace. That increased the quality of our crasher bug reports, when Claws Mail was compiled with debug symbols. Distributions were more and more shipping with bug-buddy or equivalents, that did the same thing. It was still rather useless without debug symbols, but better than nothing…

Then Valgrind came around, and that gem made tracking down corruptions, double-frees, unitialized pointers, dangling pointers, etc, much easier. I remember tracking one of these in IMAP code for days, and Valgrind would have made it clear in a matter of minutes. Valgrind is the debugging tool that gives me the most “oh damn, how did I not notice!” moments.

As if it wasn’t enough, the glibc developers started integrating basic handling of memory allocations errors, basically making the program dump core right on such an error, instead of silently corrupting things and continuing to run for a few seconds/minutes. And now, the glibc itself is able to produce crude stacktraces when crashing on these conditions!

Finally, distributions developers start to get tired of crash dumps with no debug symbols, and some services appear that automatically re-trace crashes with debug symbols: Launchpad.net, for example, gets bugreports with stacktraces from Ubuntu’s apport. Then a bot automatically retraces with debug symbols, and we get a really nice report.

All of these really help, and kids these days have it easy!

Claws Mail and the huge folder

A coworker of mine noticed after cleaning up his IMAP folders, that he managed to fill INBOX.Trash with 313.924 mails, and Thunderbird failed utterly at managing that folder.

He then tried to open it with Claws Mail, which succeeded at the second attempt (a wifi disconnect ruining it at 70% the first time - and the 200 MBs of downloaded data got leaked in libetpan, bad).

The second time, the folder opened:

CM 313K mails

As you can see, the folder is big. We discovered an overflow in the size handling in the process: the mailbox was bigger than 1GB… Claws consumed 670MB of memory with that folder open, but it handled it.

When trying to empty it, we noticed that setting Deleted flags was really slow, and the server process was using 99.9% CPU on the server. We ended up destroying the mbox on the server.

vCalendar’s views: poll!

Which one do you prefer, and should be the default view for vCalendar?

vCalendar list view (thumbnail)

vCalendar day view (thumbnail)

vCalendar month view (thumbnail)

Poll is here!

New calendar view in vCalendar!

A picture is worth thousand words:

The new calendar thumbnail

I hope you will like it!

Edit: By the way, most of the GUI code of that calendar comes from the excellent XFCE Orage clock and calendar application. Thanks to Juha!

Stuff that happens to sysadmins

Buy one 1U server from $supplier, specifically ask for a pair of rails, learn that “Of course it comes with rails!”.

Two weeks later. Buy a 42U rack, and eight 1U servers, all of these from the same $supplier, and at the same time. Receive your rack and 8 servers, without rails. Inquire by email: “No, servers don’t come automatically with rails, you didn’t ask for them”.

Thanks, Dell. It’s always a pleasure.

Nine Inch Nails rocks

Nine Inch Nails rocks: they just released their new Ghosts album on bittorrent sites, complete with a Creative Commons Attribution Non-Commercial Share Alike license.

 -----------------------------------------------------------------
| file:     Nine Inch Nails - Ghosts I (2008)
| size:     67,342,352 (64.2  M)
| dest:     /home/colin/Nine Inch Nails - Ghosts I (2008)
| progress: #####################################################
| status:   download succeeded!
| speed:      0    B/s down -   0    B
| totals:    64.2  M   down -   0.0  M
| error(s):
 -----------------------------------------------------------------

				

Raw jealousy

There are still, on this planet, some unboxed Apple //c. And I don’t have one. That’s profoundly unjust.

Brand new Apple //c

of course, it works.

(via Planète Béranger, photo Kathryn Yu)

Le mariage d’Elise et Nicolas

Elise Forgue et Nicolas Lussier (la cousine de Clo et l’un de mes meilleurs amis) se marient le 31 octobre, et ils ont ouvert un blog pour relater leur préparation. Elise et Nicolas, Bonne chance et pas trop de stress pour toutes ces choses qui vous attendent!

Encore un dernier pour la route: le blog du mariage d’Elise et Nicolas est en ligne !

PS: Ne cherchez pas Elise et Nicolas sur Google, utilisez l’adresse directement ! C’est mieux, je vous assure.

Nouvelles galeries photos

Clo et moi avons finalement réuni toute la motivation nécessaire au tri de nos photos depuis août 2007, et nous avons enfin ajouté quelques galeries:

Il était temps!

news for few, stuff no-one cares about