Bad behavior

My previous post was a bit short because I was basically calling the taxi to the airport at the same time. The reason for this was “Bad Behavior“, which is a wordpress plugin that got a little overzealous and locked me out of my own site stating that I had just been blacklisted. Consequently I spent most of the half hour before I left figuring out what the hell was wrong and cursing those damn bad behavior idiots.

I didn’t manage to figure that out entirely but did figure out that the problem was not on my side of the connection at least (lucky me). Figuring that out was easy since I just used my phone’s 3G connection only to discover that that ip address also had been blacklisted. The chances of both my phone, PC and/or WELHO (cable) and Elisa (3G) providers being hacked and blacklisted correctly were pretty small. So bad behavior was misbehaving big time and software that misbehaves doesn’t really last that long with me.

Only problem: I could not actually log in to my site via the wordpress admin UI to fix it (blacklisted, doh!). Since all the advice out there on how to fix this seems to assume you do that, here’s how to kill bad behavior properly:

  1. Figure out your IP address
  2. Edit whitelist.inc.php in the bad behavior plugin directory and add your IP address to the array.
  3. Upload this file to your remote site.
  4. Login to your wordpress admin UI (should work now)
  5. Disable the plugin and delete it (unless you like pissing off randomly blacklisted users)
  6. in phpmyadmin or whatever you use to admin your wordpress db: DROP TABLE `wp_bad_behavior`;

BTW. In analyzing the behavior of the misbehaving plugin, I also discovered that it does nasty things like putting user passwords in a database for every login attempt, plain text. Bad behavior indeed, hence the drop table.

Browsers

Normally when I play with a new browser (like a few weeks ago when I tried out Flock 1.0) I usually post at least something. In the past week I played with no less than three new browsers.

I started out by installing opera mini 4.0 on my N95. Earlier versions of this program were already quite nice and I used it a lot on my E70 before I switched to the N95. This new version adds some impressive features again. Overall quite nice but I’ll probably use the S60 browser on my N95 most of the time regardless.

The second browser I played with was Apple’s Safari 3.0.4 beta. Unlike earlier betas, this one is actually quite usable and stable. I think the UI stinks and feels really awkward on windows but aside from that it is a fine browser. My main issue with it after a few hours of browsing was that I started missing my firefox extensions and some of its behavior. Additionally the fonts it uses are different from what I’m used to and I’m not sure I like the way it renders them. It uses its own antialiasing which gives a weird smudgy look to the fonts. But to be honest, I think I could get used to using Safari full time. A nice bonus feature is that it integrates Bonjour support. This is really useful because as you may have deduced from some recent publications on my publications site, I’m working with mdns based service discovery mechanisms at work. So I installed this at work and my aptly named foobar.local N800 portal website showed up in the windows Safari browser. Cool!

Speaking of Firefox, I just switched over to 3.0 Beta1 released last night. I’ve been using it all evening and it seems a quite nice upgrade. Most of the feature work is not that important to me but the performance work is really noticeable. I’ve caught myself several times already thinking “hey this used to be slow/laggy”. It’s mostly subtle differences of course and not having most of my extensions (due to lack of 3.0 port) is great for performance probably. But still, works great and seems really stable so far.

To compensate for the loss of extensions I was able to enable the most essential ones using the nightly tester tools. This allows you to override the version check. Since in many cases, a version bumb was all that was needed, many extensions work fine. So far I have just enabled del.icio.us support. What would be really nice is a new version of that that integrates with the new places system in Firefox. Until that happens, I’m posting to del.icio.us using the old extension.

A bit of a disappointment is that none of the exciting stuff regarding ms cardspace, openid and microformats that was more or less promised a few months ago, has made it into this release. There’s no openid support, microformat features are not integrated and I have not found any UI for MS Cardspace either. It could be that this is due in later betas. There is probably still a few months until the final release.

Feature wise, most of the changes are minor tweaks and most of those were not in Alpa 7 that I tried when it was released in October?. The biggest change is the new places functionality which is nice except (as mentioned) that I use del.icio.us instead of bookmarks so this not something I will use a lot. The rest of the changes are quite nice but not that essential changes to stuff like the downloads windows, various settings screens and the url bar. For the rest it is good old Firefox, and what’s wrong with that? Next betas will introduce an updated theme. I was less than enthusiastic last time they changed it and still am rather indifferent to the 2.0 theme, so lets see what comes out.

Anyhow, unless something major crops up, I’m keeping this as my main browser.

links for 2007-07-19

simple note encrypt/decrypt with AES in javascript

Inspired by the hype surrounding the iphone and web applications, I hacked together a nice little toy to encrypt and decrypt text using aes. I borrowed the aes implementation from here and basically wrote a somewhat nicer UI for it. I still need to integrate sha1 hashing of passwords as the aes.js script author suggests that is a bit more secure than his current method.

I have no idea if it will work in the iphone browser since I’ve only tested in firefox. It partially works in IE7 and I have no desire to spend time finding out why it fucks up. Suggestions to improve my little javascript hacking are welcome of course.

BTW. password of the default content is: “secret”.

Joost

I spent some time playing with Joost, the streaming video/online TV thingy from the makers of Skype and Kazaa. There’s a lot to like about it conceptually. I live in Helsinki where basically public television sucks and the commercial cable packages suck slightly less. So to me Joost is pretty compelling: major content publishers lining up to join and hassle free streaming straight to my screen. So I signed up via the “send me an invite” bullshit feature on the website. It’s just an ordinary web registration form except in this case you have to do it twice. Once to get the invite and then another time to get a Joost username (“duh! didn’t I just tell you who I was?!”). I reactivated my good old Yahoo mail address for the occasion. No way I’m giving my primary email address to these guys.

The user interface seems quite nice even though it is a bit unconventional. It launches into full screen and has a menu system with which you can select channels and programs. The program has no network settings menu, it either works or it doesn’t. This is probably the kind of simplicity end users need. However, from experience I know that things sometimes don’t work and when that happens it is nice if the UI informs you what the hell is going on. Things like whether it is actually connected or how many bytes are flowing to and from me are not represented in the UI. You could stare at a black screen forever (with the default wobbly screensaver thingy in the background) if for some reason you would be disconnected. This happened a couple of times and it’s quite annoying. Pretending everyting is ok is not the same as a usable experience.

Aside from this, the UI is pretty easy to figure out. I’m not sure I like the whole channels and programs paradigm. I guess this is what couch potatoes understand. The problem is that there is a huge and growing number of channels which each can have numerous programs. You have to first select and add a channel and then you can browse its programs and select one. Since there’s a lot to choose from it takes some time to find something. And scrolling through huge lists gets old pretty quick. The UI does not really support people in doing that. I would prefer to have a UI more like an RSS reader.

Technically the experience is not as smooth as it should/could be. But then, this is a beta and probably the experience will improve as the number of users skyrockets, as it will no doubt do when this goes public. Anyway, I found that a great number of channels simply don’t play at all or seem to have a problem getting the bytes to my machine. It seems that everything except the most popular stuff is likely to not work. No doubt this is due to the fact that there are less peers with that content. I have a 1 Mbit connection (roughly 100KB/s download and 30-40 KB/s upload), which should be enough although it probably is the bare minimum. My impression is that most content is not streamed at that rate anyway. Additional problem is that Welho, my finnish cable provider, sucks big time and that the motorola modem I use to connect to them is complete crap as well. So I’m not ready to point the finger at Joost for all network problems I have. Nevertheless, the difference between some stuff working just fine and some stuff not working at all I cannot explain using my network situation.

The most annoying thing about Joost is no doubt the fact that it inserts commercials before, after and even during the streaming. Commercials suck and there seems no way around them other than not using Joost. If Joost fails, it will be because of the fact that users reject the commercial content interrupting the crappy other content. They’ll have to be very careful with this. There’s just no way I’m going to sit through commercials when my browser is one alt+tab away. Also if the content is crap, I might end up not alt tabbing back. I’ve explored the channels on offering a bit and am not really impressed so far. Seems to be on a par with Zune which doesn’t have that much good content either.

Structured Blogging Test

Rating: 2 out of 5
I just installed a plugin for wordpress that allows me to write blog posts in a structured way and ensures that such posts comply with all sorts of microformats. The main benefit of this is that it facilitates automatic processing by sites such as technorati.com and many others, which understand these formats.

The installation procedure is basically dump files all over the place in the wordpress directory and then activate the plugin in the wordpress UI. Easy but it would have been nicer if the plugin would just have its own directory in the wordpress plugins directory.

The user interface of the plugin integrates with the wordpress administator UI. Under the write menu I now have a whole bunch of new options for creating reviews, events, lists, etc. The text editor for the review plugin which I am using to write this review appears to be just a textarea instead of the rich text editor that comes default with wordpress. This is of course annoying, especially if I want to use links or bullet lists. Writing all the tags manually sort of sucks. The rest of the user interface sort of is intuitive but too elaborate. It would have been nicer to have this more integrated with the write post UI. That is probably more difficult to implement but it is much more user friendly.

So I’m giving this 3 2 stars out of 5. It’s a nice plugin to have but there’s the integration issues and the issue with putting files where they don’t belong on my server. Lets see what happens if I click publish.

Update: it looks like it worked. It looks quite nice and the edit link below, which you don’t see since you don’t have write access to this site, works as expected: it brings up the review editor rather than the default wordpress edit UI.

Tags: microformats wordpress
Update 2: I just removed it for the following reason: it doesn’t seem to use the ping facilities in wordpress. Instead it forces you to create an account on a site called outputthis.org. The site is very brief on what it is all about and I don’t feel like creating an account there when I have a perfectly fine working pingomatic already. As explained in this lengthy rant, these structured blogging guys have their own agenda. I don’t feel like endorsing their services (at least until I know what they are) and without pingomatic being pinged I have no use for their plugin. So I’m removing it.

Update 3: I also removed the semantic formatting since it was screwing up my page layout.

Itunes 7

I installed itunes 7 with some mixed feelings yesterday: I was fully aware that it was not working as advertised for some people. Prior to installing I read about various issues people were having with disappearing files, crashes and sound quality. I had a good reason for upgrading anyway: version 6 never really worked well for me. Just yesterday I just couldn’t launch it. The process would start and then claim 100% of one of my cpu cores but no UI would appear. Not even after waiting 15 minutes. This happened several times to me already. Probably it is some weird conflict between quicktime and my hardware/drivers.
So I figured version 7 probably wasn’t as bad or at least couldn’t get much worse. So, I fired up my backup script that syncs my music library with an external HD. After that I killed the itunes processes and fired up the installer. Pleasant surprise: everything worked. I was sort of bracing myself for random crashes but there weren’t any. Lucky me. If it wouldn’t have worked, I would have been able to roll back to version 6 (several posts in the forums explain how).
So on to the review. Itunes 7, unlike version 6, is a major upgrade with several nice new features and small adjustments to the user interface. I like the changes. My favorite one is album art fetching from itunes (I signed up just for this feature) and the ability to flip through your albums graphically is just real nice. It just works ™. Other nice touches include gapless playback (great for listening to Pink Floyd’s The Wall and Dark Side of the Moon), the new ipod screen which is selectable if you plug your ipod in, integration of podcast settings when you select the podcast screen.

One thing I would like is to be able to exclude compilations from the album view for the obvious reason that they are not albums (hence, no artwork or the wrong artwork!). Also I have a lot of shit there that I almost never listen to and which I don’t want to see when browsing my carefully collected albums (all properly tagged, naturally).

But overall I can’t think of anything negative and it didn’t eat my mp3s either! The latter seems to have to do more with luck than anything else. The Apple forums are full of stories of not so lucky people. But once apple fixes the bugs this is definitely a release to look forward to. If you install it, do it like me with a plan B.

fun with rendezvous

One of the innovative features in Mac OS X is support for DNS-SD, a.k.a. rendezvous. I was reading about the Java API for this by apple on onJava. Then I wondered if there was a pure Java implementation, because I dislike using native stuff in Java (complicates deployment).

That’s why I like google: “+rendezvous apple pure java” -> this link, right at the top. So two minutes after getting this idea, I’m doing a “jmdns-1.0>java -jar lib\jmdns.jar -browse” as the readme of JmDNS suggests, to launch the swing based dns-sd browser. JmDNS is a 100% pure java implementation of dns-sd that claims to be compatible with the real thing from Apple.

Now the reason I’m posting. I was expecting zero or at most a handful of dns-ds services on my network. I was absolutely shocked by the number of people publicizing these services on the same cable network as I am. There’s dozens of different services, each with multiple devices offering them. It seems the default settings of Apple cause their devices to happily announce all sorts of details about themselves on the lan. The nature of cable networks of course is that the entire neighbourhood is one big lan. So effectively, I’m getting access to all Rendezvous capable devices in my neighbourhood.

Right now, I’m listening to a some AC-DC tracks of one of these users who has kindly shared his music in iTunes, which means my iTunes magically finds this music (courtesy of dns-sd) :-).

Speaking of iTunes. I’m thinking of abandoning it. I like the UI but it crashes way too often. Just now it crashed twice. Yamipod aledgedly is very nice and capable of syncing with my ipod.

Netbeans 5.0 first impressions

With much fanfare (at least on the various Java news sites), Sun has launched its latest edition of netbeans. Netbeans 5.0 is a significant improvement over 4.x. 4.x basically improved the UI to the point where it was reasonably fast and usable. 5.x consolidates the improvements by adding (a lot of) depth to the featurework in 4.x. A new component that is mentioned in every review is Mattisse, the GUI builder. I had a brief session with this thing with one of the betas a few weeks ago. It’s definately a very nice tool. Unlike most GUI builders (including most previous generations of netbeans and the eclipse GUI builder) this one doesn’t suck, most of the time. I’ve had too much exposure to Swing over the past decade to not code my GUIs manually but for someone not so familiar with Swing this is actually quite usable.
Last week I downloaded and installed the release at work. Since I now work for Nokia I, decided to give the mobility pack a spin. The rest of this review is about my impressions using this part of netbeans. The mobility pack basically includes sun’s toolkit (libraries, emulator) and integrates this into netbeans. Overall it is a pretty impressive thing. I have had exactly 0 experience with building J2ME stuff. Just to see where I would end up I started a hello world mobile project.

I was positively surprised at the level of usability the mobile pack offers. The project setup generates a build file for you that basically does all the difficult stuff (like creating a deployable jar that you can install on midp phone). Buildfiles in general are well integrated into netbeans (unlike eclipse). Basically building your project means calling the appropriate ant target. You can do this by selecting the option from the menu, right clicking on your project, etc.

After completing the new project wizard, netbeans had generated a nice Visual Midp class for me. The word visual means that you can edit the midp client in a visual environment. This environment is pretty powerful and will probably suit most basic needs. Essentially you drag and drop a various types of screens in a flow. Then you add actions to each of the screens and finally draw some arrows between the screens. At this point you can actually run the application in the emulator (or a real phone) and you will be able to navigate through the screens that were just defined. For the record, you don’t need to write any code to get to this point.

The flow view has a nice other use: it is a perfect companion to a functional specification. Just add a little information on the semantics of all the actions and you’re basically done (with the functional spec). It’s also great for prototyping. You can just click a bunch of screens together and have a live demo on a mobile phone in no time.

Then  we come to library dependencies. Basically any java project will end up using several external libraries. In eclipse they have to be in your project and then you can add them to the classpatth, alternatively you can define external libraries. In Netbeans there’s the library manager where you define libraries. A library may be a project (in which case netbeans automatically figures out that it should use the jar in the dist dir) or a jar file you downloaded. You can also associate source folders and javadoc with the library. Once you have libraries defined, you can edit the project properties and add library dependencies. That’s it. If you do a build of your (mobile) project, netbeans will automagically pull together all libraries and generate one big jar file with everything in it. It will even build projects if the source code is newer than the library. Nice. Eclipse sort of has the same functionality but the netbeans UI for this is simply much better and usable.
So far, I really like Netbeans 5.0. Now we come to the parts that are not so fun. Coding. The code editor in netbeans still sucks. Sure, it has been improved over netbeans 4.x. It is noticably faster with things like autocompletion. The problem is that it is pretty stupid compared to what I am used to: eclipse. Eclipse has whole bunch of editor features that are simply missing from netbeans. You can’t do the “extract local expression” refactoring (alt+shift+l) which means that you have to do that manually (which I never ever do in eclipse). This probably my number 1 missing feature. Several other refactorings are missing. Then there are no quick fixes. So if you write some code that throws an exception you cannot add a catchblock to the try catch you already have. Neither can you add a throws clause. These are just two of the many quickfixes that eclipse has. Templates are implemented but much less functional. I just love typing for and then ctrl + space to generate a foreach for some collection (or select alternative means to iterate over whatever is iteratable in your code). It’s just not there. It will generate a for loop but you still have to fill everything in yourself. There are lots of other features that anyone familiar with eclipse will miss.
In short if your primary task is writing code, stick to eclipse. If you need wizards (mobile and supposedly the J2EE stuff is excellent as well), netbeans may be a better option. You’ll be spending much more time on your code but may still be more productive due to all the convenient stuff that netbeans does for you.

Personally, I’m still in the eclipse camp. It’s just that I am working on this toy midp client at work so I prefer netbeans for this project. For netbeans to win me over permanently they will basically have to add tons of features to the code editor. This being said, the improvements in netbeans are worth some attention from any java developer. It’s nice to see some stuff working that is basically broken (or unsuable, which is the same thing practically) in eclipse. Both projects still have a lot to learn from each other.

ubuntu: debian still sucks, nothing to see here

One of the nice things of buying a new pc is that you have an old pc to mess with. Having backed up the most important stuff, my old machine now is the victim of some random linux installer abuse. Right now I’m installing ubuntu, a debian derived linux distribution. It’s been a few years since I ran linux outside of vmware (basically when I bought the machine I am now using for my linux install). I used to have more time to mess with trying out this kind of stuff. I know from experience that getting linux to work is easy and getting it to work properly is very difficult. Presumably, ubuntu should make this more easy but lets see what we end up with. I actually typed most of this review during the install, plenty of time for that.

If you came here to read how beautiful ubuntu is, move on because the stuff below is probably a bit painful for you.

The download.

I opted for the bittorrent release of th 5.10 release. It’s a 2.8GB download so bittorrent is mandatory. Burned it to a dvd with my new drive

Booting.

Insert the dvd in the drive, make sure bios is configured to boot from cd (on most systems the default is wrong) and reset.

The installer.

Here it gets interesting. I can select install, server and live dvd. Install seems a good plan. Up comes the text based installer. I was half expecting a graphical installer so that is disappointing. Worse, the installer seems of the intimidating, piss off end user variety. Luckily, I’ve seen worse (I installed slackware on 486 SX 25 mhz once). Navigating is pretty straightforward if you’ve dealt with ms dos or similarly clumsy uis in the past. The only severe usability issue is going back. There’s a back option on some screens but you can’t get to it using the arrow keys. You have to use the backspace, doh!

Progress bars or lack thereoff.

Another odd thing in the installer is that in between the screens where you are supposed to select stuff you get these nice blue screens without any content whatsoever. For example, I’m currently running the disk partition tool and the screen has been very blue for the past ten minutes (of the ms bsod variety). I mean, at least display some text telling me that everything is fine and I should be patient.

Hardware detection.

My network cards are detected and configured using dhcp. Bonus points for that, nothing worse than trying to fix linux problems offline. The usb mouse seems to work (led is on) as well but I can’t use it in commandline ui.

Disk partitioning.

This tool, aside from the before mentioned HUGE usability problem, seems to behave rather nice. The default is resize my hdb1 partition which supposedly makes it possible to leave my windows partitions alone. That’s nice but it takes a loooooong time. A warning might have been nice. Anyway I remember the old days of manually partitioning using all sorts of obscure tools including the commandline fdisk tools of both windows and linux. Again usability rears its ugly head. After resizing the UI reappears with some worrying information about new partitions it is about to write on the (supposedly?) freed space. What’s worrying is that it doesn’t say how large each partition will be and what happened to the resized partition. Some confirmation that resizing worked as expected would have been nice. After some hesitation I select yes to indicate that it can do its thing. Had there been any important stuff on the partition I would probably have ejected the ubuntu disc at this point. This is bad. This is a crucial phase in the installation and if something goes wrong, it will likely be here. Bonus points for functionality but the usability totally sucks here. Partitioning is scary, especially with a tool you’ve never used before. I’ve seen it go wrong in the past.

Installing the base systems and copying remaining packages.

Finally some scrollbars. But no package selection at this point. That’s probably good as debian package selection is not something you want to put in front of users at this point. More on this later.

Timezone and user configuration, configuring apt.

I suppose this is necessary but I’d prefer a real user interface. Also there’s some odd stuff here. Like having to know if the hardware clock is gmt or not (it’s not, I happen to know this). Ntp + me telling what timezone I’m in provides the same information. Finally it offers to configure a bootloader (grub) so I can choose to boot into linux or windows xp. That’s a nice touch. Debian got this wrong last time I tried it and I had to fix LILO manually to get back to windows.

Time for a reboot.

The boot screen. Pretty, if you like brown. And then back to the commandline UI in stylish bsod blue. It’s now doing its post installation routine which appears to involve configuring a user (no root, ubuntu has no root!), installing all the debian packages, downloading a few new ones. I know how debian works so not unexpected but definately not very user friendly. It involves lots of cryptic messages about various obscure pacakages being prepared, configured etc.

It comes up with a question about screen size halfway. I select 1280×1024. I can’t select refreshrate and indeed this proves to be configured wrong after the installation (60Hz instead of 85hz) Then the install continues, no more questions.

Done!

Then suddenly it is done and the login screen appears. This is linux, no further reboots necessary the installer finished without much ceremony and X was launched. The bootscreen is nice, if you like brown. I log in with my user/password. Gnome appears to be configured apple style (menu bar at the top, taskbar at the button) a popup informs me that 48 updates are available. Install seems to work fine which proves that the network is indeed configured properly.

Configuring the screen properly.

60 hz will give me a headache so that needs to be changed. Upfront I’m not very hopeful that tools have improved to the point where this can be done without manually editing X configuration files. But lets see how things have improved in the past few years.

Not much apparently. The good news is that there is a resolution tool in the system->preferences. It even has a dropdown for the refreshrate. Only one item is in it: 60HZ. Doh!

This is linux at its worst. It’s not working and the provided tools are too crappy to solve the problem at hand. A search on the ubuntu site confirms that monitor configuration is undocumented. In other words, I’m on my own. Google brings up the solution which indeed involves the commandline and hoping that the autorecognition will magically work when tried again.

Of course it doesn’t. Worse, I now understand why the installer tries to hide the inevitable sudo dpkg-reconfigure xserver-xorg. This basically is the good old XF86Config wizard. I have fond memories of toying with it in 1995 (slackware). It has gotten worse since. At the time it asked a few difficult but straightforward questions. The modern version of this tool presents you with a whole array of bullshit features and autorecognition features which half work. Lets face it, if they worked you wouldn’t be running the reconfigure. Forget about autoconfiguration. Everything the installer figured out is now forgotten (with no obvious way to redo that part other than placing the backup back).

Essentially this is horrible tool brings together everything that sucks about X in one convenient tool. Mere mortals are guaranteed to be totally confused by this beautiful piece of shit that after all these years still survives in linux. The inability of the linux community to fix this once and for all is illustrative of the hopelessness of the whole concept of desktop linux. The linux solution to display configuration is to hide this tool instead of implement an alternative. On the first go I did not manage to get the optimal refreshrate. On the second go I screwed up the display configuration. Copying back the backed up configuration did not fix the problem.

Ahem, reboot seems to ‘magically’ fix the problem. At least, I’m back where I started (1280×1024 @ 60 Hz).

Ok, so much for wizards. I knew in advance that I was going to end up manually editing the display settings. For the record, this is where normal users either go back to windows or accept the headache. I know from experience that editing X configuration is a matter of trial and error. In my case five reboots and the documentation for my plug and play m990 monitor did the trick. Ubuntu failed to setup my monitor’s horizontal and vertical refreshrates, something it should have figured out from the plug and play information. OK shit happens. The next problem was that the tool to fix this problem is reconfiguring the package. Doing this undos most of the good work the ubuntu installer did (so it makes things worse). Solution: copy the backup of the ubuntu configuration and edit it manually to fix the refreshrates (30-96 and 50-160 in my case). Then reboot because misconfiguring X really screws things up to the point that a reboot is required to make X start again after you fix the configuration. Been there, done that before. At least the bloody wheel mouse works out of the box nowadays.

Conclusions for the installer

Usability sucks but the installer gets the job done anyway except for configuring the screen (important). However there are several majr pitfalls you have to know how to avoid. The installer is not particularly informative about what it is doing and needlessly verbose at the same time. However, the defaults are sane and a strategy of going with the obvious choices will work most of the time (if in doubt, hit enter).

The default theme is ugly. There’s no other word for it. It looks like
shit. Damn this is ugly. Yes you can fix it. There’s hundreds of shitty
themes to select from. but the default is unbelievably ugly. It leaves no other conclusion than that the the ubuntu people are (color) blind. Menu layout seems ok. I have the feeling stuff is being hidden from me.

Configuring the screen properly is back to the commandline. There is no excuse for this in 2006 and I knew this was going to happen. The provided (ubuntu forum, the official documentation is of no use here) solution corrupted my configuration to the point where X just wouldn’t start anymore. Unbelievable, inexcusable.

It’s 2006, ten years after my first slackware install and I’m still messing
with the X configuration the same way as ten years ago. X continues to
suck.

And of course the installer fails to install the commercial nvidia driver (or even point me in the right direction). Amusingly the documentation is full of helpful stuff you can do manually that IMHO the installer should do for me. What the fuck do I care about ideological issues with commercial stuff? I’m not a GPL communist. Give me the choice to install the driver that I likely want. Why would I spend 400 euro on a video card and then opt not to run the software that is required to access the more interesting features of this card? Exactly, that’s very rare user.

OK on to the rest of the system.

Read only ntfs has been possible for years and even some experimental rw capabilities are possible these days. Not in ubuntu. Both my ntfs partitions are nowhere to be found. The system->administration->disks tool is as useless as the resolution tool. It fails to ‘enable’ the partitions. Yes I know how to mount stuff from the commandline. But as for Joe average, he can’t get to his ntfs files with ubuntu. Bad but I can probably fix this.

Lets see about the sound card. It’s soundblaster audigy. But there’s also a motherboard sound card (I actually uses both under windows). Pleasant surprise, ubuntus seems to have configured this correctly. Succeeding where, so far, every version of knoppix has failed.

Good. So far I’ve been sceptical but lets be positive. I have a working system, ubuntu has configured itself properly my windows install still works and I have not lost any data.

Installing kde using synaptec.

Wow, this is easy. There’s a separate distribution called kubuntu which is just ubuntu with kde instead of gnome. If you install ubuntu, like I did, you get only Gnome. Installing kde is as simple as installing the kubuntu-desktop package. This involves installing more pacakages from the dvd and downloading a few new ones. Alltogether, including the downloading this takes about 20 minutes (120 KB/seconds). I don’t understand why the kde packages are not on the dvd though, there’s plenty of room. Anyway, I now have the latest kde and gnome on one machine. The KDE theme looks much better even though it is not the default KDE theme.

The menus in both kde and gnome are a mess. This is a linux problem in general and it’s not fair to blame this on ubuntu. But still, 90% of the crap in the menus probably shouldn’t be there.

Conclusions

The installer has lots of usability issues. Aside from not being graphical, it is confusing, misguiding and asks a lot of stupid stuff. The partitioning tool has good functionality but also does a good job of scaring you with some misleading information.

Configuring X still is an issue. Probably it’s slightly better if you have an LCD screen (60 hz is ok then).

Hardware support is pretty decent, it failed to detect the monitor but the rest seems to work fine. It doesn’t install the commercial nvidia driver that most users will want to use.

The ubuntu gnome theme is ugly
.
Kde install went smooth and the ubuntu kde theme is not that bad.