Eskild Hustvedt

Day Planner 0.8

Day Planner 0.8 was released on the 1st of January (2008).

The primary focus of this release was getting some new technology in there and cleaning up old stuff. The daemon (or “reminder” as it is called in the user-facing UI) was rewritten from the ground up. The new one is a lot more flexible, and less error-prone than the old one. The new one can for instance notify users about events backwards in time (say you log in at 08:05 and you had a meeting had 08:00 - it’ll let you know). Along with this I’ve removed the “Day Planner commander”, which was a commandline interface that allowed one to talk directly to the daemon and issue commands. I used it mostly for debugging with the old daemon, it’s not needed at all with the new one. The notifier (the program that pops up friendly GUI dialog boxes with reminders) was also partly rewritten for the daemon change.

The other major change was the addition of DP::iCalendar::Manager. This module allows DP to have multiple DP::iCalendars (and other compatible objects) in one object, whose API is completely identical to DP::iCalendar (with the exception of a few additional methods). In 0.8 it is for instance possible to edit holiday-events. The Date::HolidayParser module now presents a DP::iCalendar-compatible interface when requested (the old API is still in there, and is still the default - that won’t change). As Date::HolidayParser (and for instance http calendar subscriptions) are essentially read-only data sources, DP::iCalendar::Manager handles this nicely. When a change request is made upon an event from a read-only source the manager copies the event over to the primary DP::iCalendar object and makes the change there. This preserves the UID and thus the changed event will show up in the UI, instead of the original one.

All DP::iCalendar calls in 0.8 go through the manager, even though the management part isn’t used much, the only two parts added to it in 0.8 are the primary user calendar and the holidays. This opens doors for what one might expect to see in 0.9. Day Planner 0.9 will. among other things, have support for subscriptions to http-calendars. The current DP SVN already has a crude implementation of this, and it appears to be working pretty well (though it is missing some essential things, like caching, at the moment).

Day Planner 0.8 is available for download as a Mandriva RPM, Ubuntu/Debian deb, generic installer and source tarball. For the adventurous (read: people who like to not have their software in a working state all the time) there are instructions on how to get the svn version on the website.

Proprietary webcam driver wonders

My girlfriend has a builtin webcam on her new x86_64 laptop. The webcam has no free drivers, but there is a proprietary one available on linux-projects.org.

Pay 10EUR and you get the driver. Okay, doesn’t sound /so/ bad. But the driver is only available for x86 ubuntu gutsy, no other arch, no other distro, no other kernel. If you want it for /your/ kernel you have to pay 100EUR. Wonderful. There’s no way I’m paying 100EUR for a proprietary webcam driver. Buying a new, working, webcam would even be cheaper! She runs x86_64 so there’s no way to get that driver working there, without paying that 100EUR. The camera is Bus 005 Device 002: ID 0c45:624f Microdia.

If someone does decide to write a free GPLd driver for it, I’ll donate some money to that person (I don’t have 100EUR to give away, but I can do at least 30-50EUR).

This again goes to show the pain of proprietary drivers. I don’t mind paying for drivers, but when the drivers cost more than the device did, and a device working equally well would be cheaper than buying the drivers it has gone too far. I would have easily donated money if the page said “here’s the driver, it’s GPL so do what you want, but please donate 10EUR if you can” (and I have donated to FOSS projects before).

Update, see: http://blog.zerodogg.org/2008/04/27/microdia-0c45624f-webcam-on-linux/

Maemo (Nokia N810) device program application accepted

Yay!

I’ve been picked as one of the lucky 500 that will recieve a Nokia N810 at a heavily discounted price.

My initial plans will be to investigate ways of porting Day Planner to maemo. Because there are no Gtk2 perl bindings for Maemo at the moment, as far as I know. I’m going to have a look at how hard it would be to port the current Gtk2 perl bindings to Maemo, and if it’s rather simple I’ll just bundle them along with Day Planner., or create a package for them. They might even run with little effort, who knows (heres hoping). Even if they don’t work 100%, as long as the methods DP uses work adequately I will be able to use them. If not, well, then I’ll have to look at other options, which include writing a dumb UI in python that talks to a perl-backend.

In any case I will need to figure out how to best integrate the daemon+notifier functionality. The platform probably needs its own notifier, if it is to have such a thing at all, though I’m hoping the daemon can work without major changes.

And now I just need to wait for it to be released so I can get it.

Day Planner packages available for Debian and Ubuntu

Day Planner debs are now available on http://www.day-planner.org/. Both for Debian and Ubuntu (in addition to the already available Mandriva RPM and generic installer).

Creating a deb was interesting, as I had never done that before - used to rpm packaging, though I got a lot of help by Morten Werner Olsen.

The packaging also uncovered quite a few limitations in both the default tarball and the Makefile, which should not only make the deb possible, but also improve the RPM.

I’m hoping to get Day Planner into Debian too, but I’ll have to write a proper deb for Date::HolidayParser first. Debian, like Mandriva, wants to have modules available as seperate packages, and as Date::HolidayParser isn’t really Day Planner-specific it makes sense distributing it seperately. The current debs has it bundled, and I might be inclined to continue to have the ones on the website bundle the module (the RPMs on the website does this, even though the package in Mandriva does not), so that there is only one package to install to get Day Planner installed.

In other (somewhat) related news, I’ve changed the URL structure on the Day Planner website. It previously used ugly looking index.php?page=foo&type;=bar URLs. It now uses clean index.php/foo/bar URLs, which incidentally was rather simple to implement once I found which variables to parse and PHP functions to do it with.

Day Planner update

Its been ages since I last wrote about Day Planner, so I figured it might be about time I did. I think the last time I wrote about version 0.1.2 or something along those lines. A rather buggy and incomplete release. It’s now up to 0.7.2 and rather stable, if I might say so. Some major things have happened during this time.

  • Day Planner now uses iCalendar as default format, import and export formats.
  • It supports iCalendar recurrances
  • It has a builtin calendar synchronization system
  • Loads of UI-enhancements
  • Now licensed under GPLv3
  • Complies with the XDG configuration dir spec
  • Can import data directly from various programs (such as Evolution, Gnome Calendar, Korganizer, Plan)

There are a load of other smaller refinements and fixes too, but these are the largest ones. I’m currently working on version 0.8 which will introduce rewritten daemon and notifier programs, support for multiple iCalendar files (not locally, but for instance it will be able to add HTTP subscriptions).

A bit further into the future I want to implement support for Conduit and eventually drop the builtin calendar synchronization system. I’m also planning to investigate better integration with GNOME through the use of the evolution-data-server, that recently got a proper dbus interface. It is useful to note however that Day Planner will never require e-d-s, but should be able to use it when available to provide additional integration with the desktop environment.

As a final note, I’m looking for someone to do some simple images for the Day Planner website. If I would do them myself I think I’d be arrested for crimes against mankind, I can’t do visual art. If you have the time and want to do it, please let me know, either in the comments below or through any of the means of contacting me available on my website (IM, e-mail, IRC and so on).

Ubuntu/Mandriva comparison

I know you’re probably sick and tired of these comparisions. If so, don’t continue to read, and definetely don’t troll in the comments :).

I had so many various problems with 2008.0 that I felt it might be prudent to try some alternatives (I’ve upgraded to 2008.0 on 4 boxes so far, with not a single one going smoothly without issues). My choice fell on Ubuntu. Was considering to try out Debian too, but I know Debian is good - but not quite end-user desktop-friendly.

I live on the commandline. So just about all I do is identical on all distros since I just carry my configs with me. However I still see hw-detection and general usability and integration. So, I’m going to just start with a little comparison, and we’ll see where we go from here. The comparison is seperated into positive (+) and negative (-) comments.

This is all my personal opinions.

Ubuntu (7.10):

  • Live installer works very well. Especially nice that it removes unneeded locales and downloads missing ones during installation.
  • GNOME default desktop
  • sudo-only actually works quite well
  • Very well integrated into GNOME (ie. 3d-effects can be set up in the appearance applet in GNOME)
  • Clean, empty GNOME desktop by default
  • apt-get is great and shows how much it needs to download
  • aptitude looks good
  • integrated distribution-upgrade system
  • detected all the HW and worked nicely
  • Quite polished
  • Appears quite stable
  • gnome-app-install is pretty
  • Firefox patched to use native package manager to find plugins
  • Totem automatically finds missing plugins
  • More progress shared with other distros (ie. networkManager)
  • Progressbars when installing software (always in the GUI)
  • Ability to see verbose installation messages in the GUI
  • Missing some translations
  • Some of the translations isn’t of the best quality
  • Synaptic is very ugly
  • For some reason when I removed evolution, the menu item didn’t get removed (not even when using apt-get purge)
  • Uses a white mouse pointer by default (I don’t like it, but luckily that can be easily changed)
  • No profile.d
  • Told me it needed to reboot after installing the nvidia driver

Mandriva (2008.0):

  • urpmi is also good
  • Well translated
  • Good hw detection
  • Has a tool for /everything/
  • PLF
  • RPMDrake is good (better than synaptic, not close to gnome-app-install)
  • Great perl module packaging
  • MP3 playback by default
  • GNOME Live CD not published along with the rest of the distro
  • GNOME Live CD not advertised for new users, they only get the option of KDE
  • No beta of the GNOME Live CD
  • Not as well integrated into the DE
  • The tools aren’t as “polished”. Ie. when a drak* tool needs to install something it pops ups 3-4 small windows informing about what it’s doing - none of them has a progressbar, and sometimes they say the same. Also the windows aren’t refreshed as often, but block and become unresponsive.
  • Although urpmi got improved it still doesn’t say how much it needs to download. Something other distros have had for ages, and that I opened a wishlist bug for in 2005
  • I haven’t installed one 2008.0 machine without various issues (sound stopping to work, performance bad, sound not working properly, X driver not set up properly)
  • Live CD set up autologin by default without asking about it
  • No Mandriva Flash GNOME (except GUADEC edition)

The joys of netshop.no (part two)

Well, I called the idiots AGAIN today. And they suddenly found out “hmm, we can’t get parts for it”. So, they’re sending back the box without a working mainboard. How fun. So I’m still without a proper laptop, and it seems like it’s going to stay that way.

So, they can’t get parts for a laptop bought 22/08-05. Wonderful. So I’m pretty much screwed. Yay.

The joys of Netshop.no

I turned in my laptop for repairs this January (under a month after the last repair). The screen was broken. Then they informed me that the motherboard was also borked, due to moisture, so I’d have to pay for the repairing of that. Okay, that’s fair enough I guess. So I told them to go ahead and repair. Months passed, until I finally got ahold of them again in April. They then told me that there had been some kind of mistake somewhere and that they would get right to repairing it and that they would do it for free because of the excessive wait. Fair deal, though I’m getting grumpy waiting for my laptop so long, but NOW it must soon be here, as they’re on it again.

Not so, now they tell me that the spare motherboard they had in stock for the laptop was also broken, so they needed to order new ones. More waiting. Yay. Then suddenly it was vacation, so I couldn’t get ahold of them. Waiting for supplies from Denmark. Right. Well, I need a motherboard for it to work. So I wait.

Now it’s September and I have yet to see any laptop, the technician doesn’t reply to my queries, and the people in phone support are about as much help as talking to my wall. I need that laptop.

So what can I do? I can contact the idiots and probably demand that they send the laptop to me now. But what good will that do, I’ll have a laptop without a working motherboard. So that’s the same as right now, really. Complain? Right, that’s what I’m doing, they don’t seem to care much. So I’m at a loss. Just want my laptop back.

For the record the laptop is a Zepto Znote 6515WD. I believe that’s just a rebranded Compal laptop, though I have no idea which model.

Quote of the day

Invisible Pink Unicorns are beings of awesome mystical power. We know this because they manage to be invisible and pink at the same time. Like all religions, the Faith of the Invisible Pink Unicorns is based upon both logic and faith. We have faith that they are pink; we logically know that they are invisible because we can’t see them. - Steve Eley