Eskild Hustvedt

Day Planner 0.9, and looking forward

Day Planner 0.9 has been released. It is available for download as a Mandriva RPM, Ubuntu deb, Debian deb, generic installer and source tarball.

The release focused primarily on fixes and cleanups. A bunch of minor bugs were fixed, and I rewrote most of the iCalendar back-end. It should be faster now and preserves files better than it used to.

This release includes a dummy maemo interface. It can currently fully display a Day Planner calendar, and has a UI quite similar to the desktop edition. However, it can not edit or add any events, and is as such not as useful as it might have been. The plan is for the maemo port to be ready for 0.11.

0.10 will (among other things) feature a new HTML exporting module (which has been in the works for quite a while), a cleaner, object-oriented version of the add/edit event windows (to simplify their use and maintainance. The current code that handles it is a bit ugly).

The major user-facing change will be the addition of a GUI for calendar subscriptions. 0.9 includes support for them (though it isn’t really announced because the feature isn’t ready), but one has to manually edit the config file.

Microdia (0c45:624f) webcam on Linux

(Re: Proprietary Webcam driver wonders).

I recently discovered a free driver for my GF’s builtin Microdia webcam. It works very nicely (better than the crappy proprietary one did when I tested the “trial”). So if you’ve got a Microdia webcam, at least the 0c45:624f one, now you can have it working properly, with good quality without paying a load of money for a one-time one-kernel one-arch license for a proprietary one.

git clone
cd microdia
sudo insmod ./microdia.ko

Then just launch Cheese or your favourite webcam program and off you go.

Thanks a lot to those that took the time to develop a proper driver. If you’ve got a paypal account, I’ll donate some money for your hard work.

Update: the module is now named sn9c20x.ko, so the last line becomes sudo insmod ./sn9c20x.ko

Update 2: According to brandon in the comments, the kernel module is in the upstream kernel as of

MP3Tunes and EMI

An e-mail dumped into my inbox today, from the CEO of the MP3Tunes service, that I use for backing up my music collection. It stated that EMI claimed that this use was illegal and had sued MP3Tunes (this happened a while ago, I know). This isn’t even a case of so-called “piracy” that you claim is so evil, it’s me backing up my music. You’ve screwed up with all of your RIAA blunders already, one might think that you would realize that suing customers (or in this case, a company providing a useful service to your customers) is generally a bad idea.

Oh well, add me to the growing list of people boycotting you (and don’t think for a second that this is an empty statement).

Some articles on the subject:,, and (note that I do not agree with, nor endorse all of the statements on these websites, they are provided as a source of information on the subject only).

Day Planner's second anniversary (and a development snapshot)

Today is the second anniversary of the Day Planner project. So hurray for Day Planner, and here’s to all the great releases to come.

In other related news, I’ve just released a development snapshot of Day Planner 0.9. It is available at It contains all of the developed features for 0.9 (including the unfinished maemo port), but is not yet stable enough to be labelled stable, so If you’ve got time and feel like it, give it a spin and report any bugs you find. The whole iCalendar back-end has been almost completely re-written for this version, which is why I want some additional testing before I release a stable version.

Please do not package this release or submit it to news sites, it’s just a svn snapshot.

History meme

Everyone else is doing it!

[0 zerodogg@firefly ~]$ history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
279 cd
185 vim
117 ssh
75 screen
74 svn
66 wget
64 ls
60 perldoc
59 rm
58 cget

Best gift certificates ever

Today (6th of April) is my birthday, and my GF, being rather artistic, decided to go a different route when it came to the gift certificates she gave me.

This one is for TuxGames (well, this was /really/ from the cat (Junior) and the hamster (Tuxine)): TuxGames gift certificate

This one was for Aetolian credits (Aetolia being a MUD): Aetolia gift certificate

And the final one was for Wii points in the wii shop channel: lhs_wiipoints.png

Got plenty of great presents (not going to list them all here, just wanted to note the cool gift certificates), its been a good day.

A bunch of new stuff

I’ve finally taken the time to prepare a website for all the various programs and scripts I’ve got in use here that the world might also find some use for. The address, right now, is, though once I find some more imaginative name I’ll probably move it, but for now it’s random. Everything mentioned is either GPLv3 (most of it) or GPLv2 (some of it).

I’ll write a quick word on the various new projects, and note those that I have moved from older websites to random.

New stuff:

Audio Utils This is just a collection of scripts I’ve had in use (and had uploaded for the world to download previoulsy, but never together nor on a proper website) that assists in various audio-related tasks. These are: aac2ogg - a quick and dirty aac to ogg converter, using mplayer, faad and oggenc wma2ogg - the same for wma, using mplayer and oggenc reencode - a quick and dirty bash script that lets you re-encode an mp3 file to another bitrate. Useful for clearing up space on “mp3 players”, especially if you’re into audio-books, which can often have their bitrates drastically reduced and still be in a fairly decent quality.

GRandomWallpaper This is a wallpaper randomizer for GNOME/Nautilus. It takes a list of wallpapers (a directory) and selects a random one. This can be done on a timer, or just once. It keeps a hitlist for how many times a wallpaper has been shown, and is more likely to pick those that have not been shown as often. It also lets you ban wallpapers, which will cause it to always ignore the wallpaper in question.

LatexB This is a quick script that assists in building LaTeX files. It can call latex or pdflatex, automatically spawn xdvi(k) or evince after building, and detect bibtex. It’s merely a utility script so that I can do “latexb file.tex” to build the LaTeX file properly in one go (it calls latex multiple times to ensure that everything is referenced properly).

MonitorGrowth This is a simple perl program that lets you monitor how fast a file is growing, displays information similar to that of download utilities like wget.

mussort This program sorts your music collection. It puts them into nice directories (artist/album) and renames the files, so that everything is consistent. It can also let you delete dupes. It works on MP3, and OGG Vorbis-files.

SPGal This is my first python project. It builds a static XHTML-gallery from a set of images. It can work as a drop-in replacement of iGal and jGal.

Old stuff, new website:

Day Planner maemo port under way

Okay, I gave up on the point of getting the perl bindings for gtk2 going. It was just too much work, and would not only require getting the gtk2 bindings going, but also writing bindings for hildon, the maemo-specific stuff.

So I went to plan B, which was to reimplement a maemo-specific GUI in python that just talks to a perl back-end which takes care of all of the actual data processing. This is now well under way. A working prototype of the GUI in python is now in SVN, it can read and display calendar data, but has no edit capabilities yet. The back-end portion is just about finished, it is a mixture of code from the dayplanner perl client and the dayplanner-daemon, what’s missing there is more configuration file handling (which can’t be done yet, because I’m not quite sure what config options the maemo UI actually needs) and synchronization code.

This has helped make Day Planner even more modular. I split out some code that is useful elsewhere into a DP::CoreModules module. That module now has code that for instance handles the configuration files, parses date strings, creates config dirs, runtime module loading, summary string wrappers and localtime() wrappers. All code that can be shared (and doesn’t merit having their own module) will be put there.

I expect the maemo port to have initial editing capabilities within 1-2 weeks, depending on my workload.


It’s finally here, and I’m loving it so far :). Tried some basic stuff, installed ssh+scp and tried ScummVM on it. All running nicely. Now I’m about to move to the hard part, getting Day Planner actually ported to the thing.

The gtk2 perl bindings still don’t have a maemo port. I’m going to have a go at those first to see if I can get them running half-decently without too much work, if not I’ll have to look at other more dirty hacks. Though if I can get the bindings themselves running that would be much better and would make the port a lot easier to maintain. Here’s hoping!