Rethinking Graphical User Interfaces


For Christmas last year, I offered myself an iPod, and I found that the interface, made for big fingers on a small screen, is surprisingly friendly and intuitive. OK, granted, some things are harder to find than other (like how to kill or group apps), but the overall experience is agreeable. You don’t feel the thing as a new device that breaks your work-flow, because you can’t have a work-flow on this thing.

Ubuntu 11.04 came out in April and it offered—well, kind of imposed, actually—their Unity desktop environment, and it does break your work-flow. Not because it is clunky (because it is), but because it does not offer ways of doing what you’re used to on a workstation, it tries to replace what you’ve always done by something “revolutionary.”

Read the rest of this entry »

Get to Know Conky


While Ubuntu/Gnome/Compiz offer various widgets to monitor computer activity, I think they tend too much to offer a strong visual effect rather than actual useful, structured, information about what’s going on in your computer. Sometimes, it doesn’t really matter. Sometimes you want to know more.

One tool that’s not the mega-eye-candy but is very configurable and actually useful is Conky, a “free, light-weight system monitor for X, that displays any information on your desktop.”

Read the rest of this entry »

Huffman Codes


Some time ago, I presented a piece on compressing voxel worlds and I just realized that I discussed different types of variable length codes quite a few times, but that I never took the time to present you the basic method of Huffman coding!

The problem of finding an optimal variable length code is to find an uniquely decodable binary code (that is, a code using only 0 and 1 for which there exists only one way of decoding a message) that encodes each symbol in a number of bits that is proportional to its probability of occurrence. A first strategy was devised by Robert Fano, Huffman’s teacher at one point. The so-called Shannon-Fano code is a top-down approach to solving the problem but it was shown to be suboptimal. The code proposed by David Huffman solves the problem optimally by taking exactly the opposite approach, that is, building the code bottom-up.

Read the rest of this entry »

Suggested Readings: Programming Pearls


Jon Bentley — Programming Pearls — 2nd Ed, Addison-Wesley, 2000, 240 pp. ISBN 0-201-65788-0

(Buy at

The central theme of this book is efficiency and economy of solutions of programming problems. However, if the book is globally interesting, it would greatly benefit from an update; the proposed programming style—independently of the gist of the solutions— is old school in many respects. The style should probably updated to take modern programming style into account, say, à la Alexandrescu and Sutter for C++.

Read the rest of this entry »

Wallpaper: Procession


(Procession, 1920×1200)

Wallpaper: Slanted


(Slanted, 1920×1200)

Wallpaper: Outliers


(Outliers, 1920×1200)

Wallpaper: Tulipe gauchistes


(Tulipes gauchistes, 1920×1200)

Wallpaper: Outlier


(Outlier, 1920×1200)

Wallpaper: Tout l’égout sont dans la nature


(Tout l'égout sont dans la nature, 1920×1200)