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."
For more fun, read A Brief, Incomplete, and Mostly Wrong History of Programming Languages.
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/ForbiddenI
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.
- Mood:
angry
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).
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...
- Mood:
bitchy
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
donePassing 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.

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.
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
- Location:Västerås, but only for a few more hours
- Mood:
excited - Music:Avril Lavigne - My Happy Ending | Powered by Last.fm
![]() |
| 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

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 :-)
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:
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.
The famous (in the programming world at least) Joel Spolsky (Joel on Software) and Jeff Atwood (Coding Horror) has created a new kind of programming resource web site called Stack Overflow. The site is sort of a wikipedia meets Experts-Exchange meets digg, with content licensed under the creative commons. Of course, I signed up the day the site entered public beta, and I'm working on building up my reputation on the site. The reputation system is what makes the site especially interesting, because it allows the site to be run by the community without the explicit need to assign moderators that control the content. Anyone with sufficiently high reputation can do those kind of tasks. And getting a high rep is not very easy - or at least it takes time and dedication. As I said, you gain rep by answering questions, but the thing is you only get it if other people like your answers, giving you an incentive to write as good and detailed as possible. And only people with a certain amount of rep can actually vote, so you can't easilly trick the system by creating a bunch of fake accounts. Really clever.
There's more info about the reputation system and the site as a whole on the FAQ page. Also, Joel Spolsky's post about the launch explains a lot too.
After a long time in limbo, a new bugfix release of Autopackage has been made. Last week, I released 1.2.5 RC1 which so far has only had successful results in testing. If no issues pops up, it will be renamed to 1.2.5 and an official release will be made.
But before that, I need help testing it some more. So far, it has successfully been tested on:
- Ubuntu 7.10 and 8.04
- Fedora 6 and 9
Everything you need to know about the release and how to test it can be found here:
Release Page:
http://trac.autopackage.org/milestone/1.2.5
Mailing list announcement:
http://article.gmane.org/gmane.comp.auto
After you've tested it, post a comment on this blog, write me a mail, tell me on IRC or send a mail to the mailing list. Contact information can be found here.
UPDATE: 1.2.5 is now released.
- Mood:
accomplished
Most experienced computer users will agree with me when I say that typing something is often quicker and easier than navigating a deep menu structure. I hate the standard windows start menu with a passion, which means I was quite happy when I found the nice open source tool called Launchy. Now just a quick <alt>+<space> away, I can search an indexed db of my launchers. That's on windows...
On Linux, I've been using a combination of terminal (requires you to know the binary name, plus tab completion only matches beginning of strings in bash), panel launchers and the deskbar applet.
Unfortunately, the deskbar applet lacks the sex appeal of Launchy, and it's always crowded with results I seldom want (yeah, I know I can configure it and add/remove plugins and what-not, but it still lacks sex appeal ;-) ).

Via planet gnome the other day, I found a new player in town - Gnome DO! It's a slick little app, very similar to Launchy on Windows, but slightly on stereoids. By default, you just type something and it'll run it for you when you hit enter. But for things which has multiple actions, there's also an "action" section which can be reached by hitting <tab>. So if I type "movie", it will display an icon showing my movie folder with default action to open it in nautilus. But right now, I don't want to do that so I hit <tab> and enter "terminal" giving me the option to open a gnome-terminal in that folder. Slick.
Now if someone could add SnagIt capabilities to the screenshot tool, I'd be an even happier Linux user. :-)
Anyhow, now the interview has also been published on Linux.com which is cool. In addition, I've put the original interview from the Indian PC magazine online on autopackage.org in PDF form.
Thanks to Samartha who made the interview. Let's hope something good comes out of this (like a horde of eager developers wanting to do nothing else than hack on the next generation installation framework ;-)
- Mood:
accomplished
Clerk: Oh, we once had someone famous from Sweden in this shop. Maybe you've heard of him, his name was car.. carl? carl-gustav!
Me: "Carl Gustav"? Yeah I know of him. He's the bloody king of Sweden.
But when I needed to install VMWare server the other day, to be able to build linux packages on older systems, it was with a mixed feeling of technical amazement and complete discust. Remember VMWare 1.x, where they had this user friendly application to manage and run virtual machines? It's now gone in the 2.0 beta. All that is left is a butt ugly, slow and counter productive web implementation. You even run see the guest os in a tab inside firefox - ugh.
Granted, the product is only in beta right now, and will surely see some improvements in both speed and "prettiness", but I can't really see the benefits of this move.
And it's not even a "real" web application. It's a locally hosted program that installs itself as a web server listening on port 80. This means the nice benefits of web apps (universally available, transparent upgrades) are limted or gone, while all the negative sides (slow UI, poor integration with the desktop, inconsistent interface etc) are still there.
I'm glad I was asked today to fill in a survey on my experiences with the beta version, and I think I'm not the only one with negative comments about the new interface. Hopefully, they have a backup plan containing the old, usable standalone application.
- Mood:
disappointed
$ apt-cache search libmono | wc -lOn windows:
58
dotnetfx.exe or visual-studio-setup-2005.exe*sigh* Sometimes it feels people try to make it as hard as possible, just because "it's always been that way"
- Mood:
annoyed
About a month ago, we (the autopackage developers) were interviewed for an Indian IT magazine. The interview would be conducted by email, and the journalist sent us the questionnaire as an RTF document. Up to this point, I had no thought of doing online editing of any kind, but a small link at the bottom of the email made me curious. The link said "Open as Google Document", and I thought: what the heck, why not.
The document was automatically imported to Google Documents, and displayed to me inside my web browser. A button called Share allowed me to instantly invite Curtis and Taj so that we could edit the same document, at the same time if we wanted.
This is a major benefit, since it allowed us to work together without having to manually sync our answers through email. We're all on different timezones, and on different schedules, so it was really helpful to be able to see changes made by Curtis and Taj while I was sleeping or working as soon as I logged in to Google Docs.
Another aspect of this is that it inspires an iterative and dialog based work flow which suits very well for interviews. After I had written an answer, Taj or Curtis could easily continue on that answer, adding a feeling to the replies that we were sitting in the same room while being interviewed.
I'm starting to believe that Microsoft and OpenOffice.org is fighting the wrong war here. The kind of collaborative editing that Google docs is supplying out of the box is nowhere to be found in modern desktop word processors. There is a merge document feature of Word, but it seldom works and is quite hard to get working even for small documents.
I often use MS Word at work, and most times, I'm editing a document that will also be edited by my coworkers. What we usually do is appoint someone document master and let that person make sure that all peoples changes are merged. This works somewhat good as long as everyone edits with "Track Changes" switched on. That way, the document master can see what's been changed and copy/paste it to his master document.
The obvious downsides with this approach is, apart from the fact that it's tedious and time consuming work, is that it is extremely error prone. It's close to impossible to guarantee that all changes are merged into the master document. Another important aspect is that you loose all revision history, so all changes and comments will appear as being made by the document master himself.
Microsoft has tried before with their sharepoint servers and collaboration solutions, but I've yet to see one that works as simple and unobtrusively as the one in Google Docs. I know Abiword is working on something like it, but I haven't seen it nor tried it yet.
It would be awesome if Abiword or OpenOffice.org could lead the way here for online collaboration in desktop office suites. Few programs in my daily work causes me so much headache and time loss as MS Word does. Having an OSS alternative which is not only free of charge, but also allows for a more efficient work flow would be a nice argument for IT departments.
PS. I will publish the interview on autopackage.org somewhere in November, when the paper version has been out long enough. In the meantime, go buy the paper version at your nearest Indian newspaper stand.
I bet the wiimote (which is equipped with a small speaker) will also feature the famous buzzing sound when the sabre is used.
There's a demo/documentary on youtube showing off some of the new technology in the game. Truly interesting stuff. Be sure to also watch the trailer.
- Mood:
excited
Got a sweet new soccer shirt from Caroline for my birthday:

Notice that it has my name on the back:

How fitting, given that tonight, Sweden is playing Denmark for the euro 2008 qualifications. I know what I'll be wearing at least.
Development
Making releases is not funny. Not the least. That's the reason I haven't done any pureadmin releases for a long time. I usually do fixes and add features whenever I feel I need them or have a sudden urge to code, but I just put it in svn and hope that users get it from there. Of course, that's a dream world and I know that it's so far from the reality it's not even funny. In any case, I spent some hours today shaping up the codebase for a release and put 0.4 online this afternoon.
On the Autopackage front, I'm under the impression that development is progressing faster than usual. Curtis has begun adding the long requested EULA support to autopackage, meaning you will be able to display a license agreement (or whatever) when installing a package or when the user runs the program for the first time. Curtis dude, you should blog about this! I've been fixing a few bugs (including the annoying gtk-icon-cache beakage bug) and added a few features to the development tools. Taj has been fixing a couple of issues in the support code giving a more reliable experience for our end users.
Work
I will be supervising a thesis job involving wii controls, human/computer interaction and software development at ABB Corporate Research. If you're a M.Sc student in the computer science/computer engineering area looking for a cool[1] thesis work in a cool[2] country - take a look at the suggestion. I'm looking for a team of two students, with good grades and the neccessary skills. Location is Västerås, Sweden (100km west of Stockholm).
UPDATE: The thesis suggestion link does not work unless you first visit http://exjobb.sunet.se/. That will set a cookie which enables the direct link above.
[1] As in "pretty awesome".
[2] Temperature wise.


