Log in

No account? Create an account

Perl was born

"1987 - Larry Wall falls asleep and hits Larry Wall's forehead on the keyboard. Upon waking Larry Wall decides that the string of characters on Larry Wall's monitor isn't random but an example program in a programming language that God wants His prophet, Larry Wall, to design. Perl is born."

Or why not

"1995 - Brendan Eich reads up on every mistake ever made in designing a programming language, invents a few more, and creates LiveScript. Later, in an effort to cash in on the popularity of Java the language is renamed JavaScript. Later still, in an effort to cash in on the popularity of skin diseases the language is renamed ECMAScript."

Disconnected from reality?

(Warning: this post is just an angry rant, feel free to skip it)

I finally got sick of Ubuntu (lets see how long that lasts) and wiped by root partition to put fedora 11 preview on it. The first thing I always do on any linux distribution is to install support for all the non-free stuff like mpeg codecs and nvidia drivers. A quick googling on "fedora 11 restricted formats" gave me this page: http://fedoraproject.org/wiki/ForbiddenItems

Are they out of their f***** mind? I agree in principle to the stuff on that page, but in the real world, that page is just rubbish.

I have an nvidia card (and a good one) and lots of music in mp3 format (not every device or player in the world speaks ogg) and movies in a variety of formats. I would love to live in a free world, with all free formats and no software patents, but were not there yet and somehow I doubt we will ever get there.

To me, that page is a slap in the face:
"Proprietary drivers are not included in Fedora. They are considered harmful by many kernel developers."
I read: blabla, bla bla bla. Bla bla bla. You stupid user, you choose the wrong hardware. Now fuck off.

Nuclear waste is considered harmful. Proprietary drivers is at most stupid

PS. I know I will be able to get everything to work eventually. This rant is about the attitude of that page.

Update: http://rpmfusion.org/Configuration/ and http://rpm.livna.org/ seems to contain what I need to be able to use my computer again.
Update2: I'm back on Ubuntu again. Too bad, because I think the work red hat employed hackers are doing with free software is awesome and it would be nice to run the distribution where it happens.. well well, the goodies end up in ubuntu at some point anyway.


As I mentioned in my previous blog post, I'm currently a proud owner of an iPhone and needed a way to synchronize my Lotus Notes calendar with it.

I'm not a big fan of CompanionLink, since it is both expensive (50 bucks) and pretty buggy. It also doesn't sync everything the way I want (more on this further down). Apart from companionlink, there are no tools out there that can help me get my calendar to the iphone (without going through a 3rd party) Being a software developer, and driven by interesting code challenges, the obvious solution to this problem is of course: to write a tool myself. :-)

Introducing: TieCal Synchronizer, your one-stop tool to synchronize Lotus Notes to the iPhone. It's still very rough, and has some annoying limitations (like no support for repeating events) but it works fairly well for me. It only supports one way sync (this is mostly all I need anyway) and lacks some basic configuration options, like setting timespan, and turning on/off reminders. It has also never been tested outside my own setup, so your milage may vary...

What it does do that you can't get with CompanionLink is merging of Lotus Notes' "Room" and "Location" fields so that they appear on the iPhone. Outlook only have the Location field, so Room is silently ignored by CompanionLink which is very annoying when you're on your way to a meeting and forgot to check where it is... TieCal handles this properly

The code is open source (GPL v2) so feel free to try it out. It's written in C#, using WPF for GUI. I've not yet created a proper release, do you'll have to compile from source for now (VS2008 needed).

Stuff they don't tell you about the iPhone

I bought myself an iphone the other week. Yeah I know it can't do MMS and that the battery life sucks but it's awesomeness of the user interface and amount of fun and useful stuff in the app store more than compensates for those issues. Besides, the crap that comes out of both Nokia and Sony Ericson these days are so pathetic that it's not even fun anymore. Come on, Nokia hasn't done a useful phone since the 5110 and I can't remember (Sony) Ericson ever producing a useful phone...

However, there are a few quirks you should be aware of that they don't tell you when you buy an iPhone. These are things that came as a surprise to me after I've bought it

The "universal" dock
Apple completely screwed up the dock connector thing. My initial thought was "Awesome, since the iPhone has this dock connector, I should be able to use all the sweet iPod accessories out there, right?" - WRONG! While they are all the same physically (the device will fit any ipod cord or accessory) you are not guaranteed that it will work. Apparently, apple has changed the interface so many times now that it's sheer luck if you get it to work. I did a quick unscientific test at the local Media Markt store and tried to put my iphone into the 20-something different ipod compatible devices and none of them worked with my iPhone 3G. A handful of them did at least charge the phone but not even that is guaranteed.

USB compatibility?
I talked to a clerk at another store when I wanted to buy a car charger and he confirmed this problem. Apparently it's even worse that this. Even if you have your standard iPhone usb-to-iPhone cord (from apple, shipped with the phone) and connect it to a third party wall-outlet-to-usb you cannot be sure it works. The clerk said they had two different ones in store since they work on different iPod/iPhone models. USB has been around for years and it's not rocket science. There's 5V on pin 1 and ground on pin 5 and you can draw up to 0.5A on a single port. How hard could it be? There's no room for screwups, but they still managed somehow.. *sigh*

Getting data to and from it
While we're at it, let's whine some more at Apple :). To do anything with your iPhone from a computer, you will need to go through iTunes. Anything except photos, which seems to be using some sort of standard protocol (ptp?) iTunes, apart from being a pretty crappy music player, only runs on Windows and OS X, which is of course problem for Linux users. I'm using windows at work and also have a Vista partition on my home machine so it doesn't bother me that much. Also, I'm not using the iphone for music (I have the far more superior Cowon D2 for that) so I'm not hindered by having to use iTunes for my music either. The thing I do have a problem with is synchronizing my calendar and contacts. At work, we use Lotus Notes which isn't supported by Apple (Nokia and Sony Ericson both do, by the way) and the only way to do it is to use a third party product (CompanionLink, $49.99) which is not only expensive, but it's also really crappy (random hanging, lack of decent configuration). It's also sort of a hack since it goes through Outlook before putting data on the iphone (itunes only supports Outlook and as I mentioned you have to go through itunes to get data on the iphone). I've no problem with this approach per se, but I object to putting out $49.99 for a buggy hack just because it happened to be the only option available.

We haven't seen the end of this story yet, but I plan on writing my own (hackish) sync solution that does what CompanionLink does and then release it as open source. It will do a bare minimum required to let me view my calendar on the iphone - no advanced two way merging or stuff like. Now let's see if I succeed.. 
The status right now, after one evening of coding, is that I can read calendar entries from both Outlook 2007 and Lotus Notes 7. Now I just have to write the syncronization code and then use itunes to put it on the phone. Should be easy, right? :-)

Despite the above, i'm satisfied with the iPhone. It's an awesome piece of technology that simply looks astonishing...

Living with multiple operating systems

My old computer died last year just before christmas so I had to buy a new one. I bought myself an Acer Aspire M5641 which is a decent machine with a decent price tag.

It came pre-installed with Windows Vista, which I hadn't tried until then so I decided to give it a try. It had a solid 5.0 on the experience index so I could test all the shiny effects that's supposed to give you the WOW effect.

All in all, it's a nice improvement over XP, but if you're coming from a Compiz powered desktop, or have seen OS X, then there's definitely no WOW what-so-ever.

The UAC thing was not as annoying as I had expected. It's a bit more frequent than the average sudo prompt in ubuntu but not at all as annoying as various reviewers had described it.

What finally made me plug in another hard disk and install Linux again was the lack of a decent command prompt. You can't really appreciate how much you miss it unless you spend a couple of months on a Windows system. I tried to learn the powershell thing, but after two days trying (and failing!) to create the equivalent of the snippet below, I gave up.

for i in *.avi; do
    output=`basename $i`-converted.avi
    RunCommandToConvert $i $output
    RunCommandToFixConvertedFile $output
Passing CLR objects around may sound nice in theory, but it's freakin impossible to use when all you want to do is manipulate strings and do operations on various files. Maybe my use case is not within the scope of powershell, I don't know. Or maybe it's just a case of trying to learn an old dog new tricks...

In any case, I'm now running Ubuntu 8.10 alongside windows (I decided to keep vista around, I mean I've payed my microsoft tax and it's useful for certain things like playing games or talking to weird hardware) and that requires sharing of data between two operating systems.

Most important is:
  • Pictures
  • Music
  • Firefox bookmarks and passwords.
Thanks to various software, I can access ntfs from Linux, and ext2 from windows. Both reading and writing works fine.

For pictures, this was easy. I'm using Picasa (it's fantastic! And I couldn't care less that it isn't "native" or anything.) and since my photos are stored in separate folders, and picasa stores settings for these in its picasa.ini file in those folders it's just a matter of copying over the files. Star rating, comments, edits. Everything already migrated with a simple 'cp /windows/picasa-folder ~/Pictures'. The only thing missing is the "Albums" which are sort of virtual grouping of pictures. I will need to migrate these manually from windows somehow.
For keeping these two folders in sync, I'm using Conduit which will automatically sync the folders for me.

For Firefox, I used to use Google Browser Sync, but that has long since been abandoned. A quick googling found me the Foxmarks service which so far has worked great. It syncs bookmarks and passwords (not cookies or preferences) but that's the most important things anyway.

For Music, I just made a symbolic link to my mounted windows partition. In windows, I used Winamp to listen to music (it's the player that sucks less) and on Linux I use Banshee. The problem with this approach is that neither of these players store all their information in the actual ID3 tags of the files. Most of the information is there, like album, title, artists etc. But I also like to rate my songs (to use the "Highest Rated" automatic playlist) as well as look at the play count (for fun, or use the "Most Played" automatic playlist). This information is typically stored in each applications own database, in their own format.

To solve this, I'm working on a small tool to migrate all this secret information between the players. I will save the details for another blog post, but right now I'm focusing on getting information out of Winamp and after that, getting extracted information into Banshee.

I'm off again

Time to travel again, but this time for pleasure instead of business. I'm going to Argentina with my family to visit my brother who's studying there at the moment.

Trip will include (but not limited to)
  • A taste of the argentinian kitchen. Especially the meat which has a near-legendary reputation.
  • A few days exploring Buenos Aires
  • A trip to the waterfalls in Iguau
  • Visit to the wine districts in the west, around the city of Mendoza
It's gonna be awesome. Haven't seen my brother since this summer so it's gonna be fun see him again. I will bring all my camera gear and I'm sure there's gonna be some great photo opportunities.

Back from PDC

Came back from my trip to LA yesterday and I must say it was a blast. I've uploaded some photos to my picasa web album, click the collage below to get to it:

From PDC08

The big announcement this year was the new Windows Azure Cloud service that I have mixed feelings about. I think it could be useful for small businesses and startups to offload the maintenance of datacenters to Microsoft (and having them deal with scaling issues), but I doubt enterprises would like to have microsoft handle all their presious data.
They also showed alot of the upcoming Windows 7, which in my (and many other people I talked to during the week) opinion is more like "Vista as it was supposed to be" than a radically new version of Windows. They finally have the new search stuff in, including support for virtual folders to replace the "My Documents" / "My Photos" stuff that have been around since the '95 days. In Win7, you have "libraries" instead, which contains an aggregated view of several folders, so for example the "Music Library" could contain all files in $userhome/my music, d:\music, e:\other-music and still be maintained from what to the user seems like a single location. Nothing radically new (the idea has floated around the OSS community for some time) but I think it's nice nontheless. If nothing else, it makes it easier to separate the user data (docs, music, videos, etc) from the system data (os files, program files etc), something which has been possible but quite hard before in windows. (In Linux, of course, you just mount /home from a separate partition and be done with it)

The big thing about win7 in my opinion will be the addition of multi touch devices as a first class input device. This means that if you have a multi touch screen, like the newer displays from HP) they will seemlessly work with windows 7. In the open source world, multi pointer x should be able to provide the same kind of built-in functionality and I hope distributors will begin to incorporate ones it matures a bit more. I'm definitely keeping my eye on that project.

I also got a chance to talk to the Novell people at PDC. Aaron Bockover from the Banshee project was there and he showed some of the cool stuff he's been working on for banshee, including the d-bus interfaces and port to OSX. I asked him about what he thought of adding full WPF support to mono and he gave the "we've talked about it, we're interested in it, but we don't have any plans to do it yet" answer. Unfortunately Miguel was never around the booth when I was there so I never got the chance to ask him directly about it. I did go to see his talk about Mono and .NET and it was one of the best talks of the entire week (and that says alot, since there were many interesting sessions there!). He showed the new C# command prompt thing which was received with apploads and laughter since just a few days before, Anders Hejlsberg (chief architect for c#) showed something very similar but that is just in pre-planning and won't be shipped for several years (if at all). Nice to see OSS is taking the lead here.
Miguel also talked about the move to mono done by many game vendors and how the open model of mono enables them to use it in ways that simply wouldn't be possible using microsoft's closed license model. Game logic is traditionally written in slow scripting languages like LUA to make it easier, but it also makes it less performant. Using c# instead seems to provide a very good middle ground for these kind of things.

Update: direkt link to miguel's talk.(wmv download. Also available as mp4 download)
Update2: fixed mp4 link

Attending PDC08 in LA

On Sunday, I'm leaving for Los Angeles to attend Microsoft's PDC 08.

Looking good!

One talk I'm looking forward to slightly more than the other talks is Miguel de Icaza's talk about Mono and .NET. I secretly hope that Novel will announce that they will bring us full WPF support instead of just the limited subset called Silverlight. We're already starting to see similar platforms (like Clutter) in the open source world and wrapping this into WPF for Mono sounds like a nice thing to do. No idea if it's feasible or even possible though :-)

Do you really need touch screen?

Are you sure you absolutely need a touch screen on you cell phone? If not, then there are alternatives to the iPhone:
Spec comparison
I guess the moral is that you shouldn't pay too much attention to the specifications, or at least that they don't convey the full story.
Or maybe they are saying that the iPhone is just marginally better than a rock. Who knows :)


This is old news, but I haven't heard about it until today when we were at the supermarket:
Ubuntu Cola
Not completely unlike the other famous ubuntu, it tries to live up to the meaning of the word by being fairtrade certified. The taste, however, wasn't all that good - it's drinkable, but it's not like a real coke.