More GUADEC zanyness, views from afar and UnLove

A couple of things from the last night of GUADEC, when most people had gone home. A few of us relocated to the Sultan Hostel and consumed some local beverages.

* First, a guy came up and asked us how to use the wifi. His quote:
"I'm using something slightly different. I'm using Linux.". It's just a little heartwarming to see people outside of developers actually using our stuff :)
* Second, I can't decide if Lennart was being very, very dry with this, but...
I can't believe I have to do this. "Stairway to Heaven" (the song from the rooftop) is not sung by Uriah Heap. It is by a little English band called "Led Zeppelin". I'm sure someone is owe someone a drink for making me write this on p.g.o.

Anyway, as some (most?) people probably know, my day job involves using Windows Vista, as my development machine. I thought I'd iterate a couple of things that strike me that a) we do better, b) Windows does better and c) both suck at. First, this isn't jabs at anyone (not even Microsoft), it's just me generally blowing off steam. So, on with the list:
a) Things we do better
* Notification of starting apps. On Windows I'm often left wondering whether the program I clicked is actually starting.
* The desktop is my space. Applications that put icons there should be shot. iTunes in particular is a persistent offender. Each time it updates, the icons come back.
* Widgets. I like having my doo-hickys visible on the top bar. I like having more than 4 quick launchers, and having them in different locations in the panel (6 on my home PC).
* The user knows best. Our start bar equivalent (the 3 menus one) doesn't try and be smart. Windows start bar tries to guess which are my "most popular" applications. Whenever you need to do this, think again. The one I'm looking for is *never* there.
* Shuddering to a halt. If I start to compile something in 1 window and search for something in another, my computer should not grind to a halt.
* Blue screens. I don't care if it was xyz driver that blue screened. I care that 1) it takes a good minute of me cursing everything before beginning to rebooting and 2) all my work has gone. For the record, I get around 2 blue screens a week and ~ 6 black screens (where the system recovers) a week.
* Copy-pasting from Outlook. PLEASE STOP INSERTING F*CKING SPACES IN MY CODE SNIPPETS. In fact, Outlook in general should be shot.

b) Things Windows does better (and we should learn from)
* Smoothness. When I log in, the login screen fades away and the desktop appears. Alright, it takes a long time before becoming usable, but it is nice to watch the fade-out. There are a few other examples. I'm sure they can all be imitated (or bettered) using compositing. It's just small things, but they add up to feel somewhat more ... polished.
* Integration of zip files into Explorer. It's not a huge deal, but I don't care that someone sent me a zip or a tar.gz. To me, it's just another folder. Open it in Explorer / Nautilus.
* Dual monitor. First, this is insanely easy to get working in Windows (I know it's a common complaint). Second, using dual monitors feels more natural under Windows (for me). Not entirely sure why, it just does.
* The recycle bin. Apart from the odd name. I can re-instate items. I know, it's another common complaint. The other thing: applications can use it if they're going to screw with files.
* Icons. I don't know if it's my resolutions being different, but icons seem much more manageable on Windows. They seem ... smaller? More precise? Not too sure. Plus, they're not stuck on an enormous-spaced grid, where I'm not certain which space they'll snap to.
* Right-click menu in explorer. Right-click and drag file. At the end a window will pop up with the option to move, copy or shortcut the file. For some reason, I end up using this quite a lot.

c) Things we both suck at and could improve
* Unified look-and-feel. We're working on this hard. But, searching dialogs / bars are still inconsistent. There are small differences like that in a few of places.
* API guarantees. For some things, it's great. But, supporting old, unused codepaths is a pain. Every once in a while, we should be able to remove depreciated code without being pounced on. Why, yes I am in favour of GTK 3.0 / GNOME 3.0. How did you ever guess?
* Bubbles popping up / use of my status bar. Yes, I know updates are pending. I can see the icon. Yes, I know xyz program is running. I started it. There seems to be a trend in some applications to having a constant icon in the status area of late. Unless you're telling me information, go away. Even then, don't keep telling me. Tell me once and let me deal with it when I want. If you're tempted to add a status icon, please read the HIG first!
* File navigation. I have yet to discover a file browser that would tear me away from the command line. When I have to use the file browser, I find it clunky. The closest is still Nautilus Spatial (yes, I'm the one that likes it).
* Dropped network should not bring my computer or my program to it's knees. Trying to access a resource that doesn't exist any more shouldn't mean my entire system stops. Design the programs to assume network is unavailable and be (quietly) happy when it appears. This is less of an issue for us (GNOME), but still appears sometimes (restricted to single programs admittedly).
* Documentation. I know. Snicker away. We should have awesome documentation. Not just lib.g.o for developers [1], but awesome user documentation. It's just not there yet. But soon, soon my precious, soon.
* Performance, performance, performance, performance. Anything less than instant is too long. Using enough memory to trigger swapping is insane in a 2Gb / 1Gb machine.

So there we go. It did turn into a bit of "let off steam" thing. But it's useful to do this occasionally (at least, for my sanity). I'm sure you probably disagree with most of these. Tough. It's my list. Also, the things brought up aren't necessarily the Desktop only, but all, the way down the stack (I think), and outside applications. Again, I don't care if it's the fault of ABC company. I just want to not be annoyed.

Finally, there's been a lot of UnLove on p.g.o of late. Maybe everyone is suffering post-GUADEC blues. Anyway, I thought I'd finish on a high and start a "GNOME Hero" thing. My GNOME hero is Olav. He won the "Pants of Thanks" this year [2], but he deserves more praise [3]. All hail Olav the Great!

[1] Again, Fredric Peters and Goran Rakic are two of my many GNOME heroes.
[2] Which still sounds odd to us Olde-Worlders
[3] And beer

Post GUADEC blues

Returned from GUADEC on Monday, to crash-land back at work on Tuesday. *sigh* back to the real world. At least, here it's a little cooler. Cool enough to handle no air conditioning. I like cold.

It was awesome [1] to see everyone again, as well as meet tons of new faces. All the talks I attended were great. Everyone had new ideas they'd love to see, and a lot of that rubbed off on me.

A few notes for those braving Istanbul:
* But water. Lots of it. All the time.
* Crossing roads means taking your life in your hands. Best avoided by not crossing. Ever.
* There doesn't seem to be any closing times for ... anything. This can prove dangerous if you're there for more than a day.
* The Turkish Coffee is a must. As is Apple Tea. As is a Nargila. Even if you don't smoke, it's great to sit around and smoke one. At least try it.

And a few requests for GUADEC organisers for next time:
* If you're organising a heavy night (see Boat Party), please don't organise keynotes for 10am. Try 11am instead.
* If you're organising a heavy night at a club (see Google Closing Party), ensure the beer is decent [2], and the DJ understands to play quiet, background music [3]

One final request. Can we move GUADEC to the middle of winter and hold it in Finland / Sweden / Norway? Did I mention I like cold?

I might post more later. But not now.

[1] Apparently the word of the year. I blame Firefox and it's awesomebar
[2] Or at least beer
[3] Or at least at a level slightly below "standing next to an atomic explosion".

More GUADEC goodness

* Last night's party was awesome. We had the second annual meeting of SMASHED [1] and we enjoyed some fine, fine uisge-beatha [2].
* I didn't find out who won the ice-cream DeathMatch yet. We did find a winner for the whisky, which I can't remember the name of now.
* My voice is starting to go.
* I'm sure everyone is talking about the fancy release team plan. I know I've spoken to various people and everyone seems to think it's a great idea. I'm one of them.
* All the keynotes have been amazing. In particular Matt Webb's talk yesterday was brilliant and I'm glad I managed to drag myself out of bed for it.
* There's a problem with GUADEC. I turn up, talk to lots of cool people, come up with crazy cool ideas to implement and then find I have no time to do them. I should really blog them and see if someone will do them. Or find someone to pay me to do them.

[1] For those that don't know: the Single Malt Appreciation Society for Hackers, Engineers and Developers [3]
[2] Gaelic for whisky.
[3] We changed the acronym slightly [4]
[4] Embedding footnotes should be disallowed or something [5]
[5] Actually, they're pretty awesome [6]
[6] There is no footnote 6.

Speed Blogging Live From GUADEC

As I wait for people to start, I shall do a drive-by blog post.
* Some people can be really different when they've had a drink. You haven't lived till you've heard <censored> [1] in a tirade of swearing. He knows who he is.
* OpenOffice is driving me insane while trying to write a presentation.
* As ever, I'm / we're looking for people to hack on my / our projects. If you're around and would like to contribute to yelp, rarian, labyrinth, documentation, FoieGras or anything else related to documentation, find me. Or come to my talk.
* Last night, I decided on having the "quiet night of GUADEC". However, after visiting 2 bars, we found random GNOMEies on the steps of the hotel and I stayed until 3am. That's going to be torture for the next few days.
* On the plus side, after a shaky start the wireless seems to be good now.
* Vuntz, as ever, is my hero. No explanation, he just is.

[1]: Someone, still censored, who ISN'T Karl Lattimer. He asked me to tell everyone to stop asking him. It wasn't Lefty either.

Manditory Fun Day^W^WDetails

Finally got through work and am off for the next week. Hurrah! As always, my flight information:
Depart Stanstead 14:35, arrive Istanbul 20:20
As ever, if anyone is flying / landing around the same time and the thought of spending a week with me isn't enough, give me a shout via email.

Don battles the monster Ubuntu

So, about 2 or so weeks ago, I did the obligatory upgrade from Gutsy to Hardy. This proved to be both a good and a bad thing.

The bad first. My system really really didn't like it. Everything got messed up. Evolution ground to a halt - checking email would take ~ 1/2 hour to retrieve a single email, highlighting a message would take ~ 3 minutes and max the CPU. Epiphany / firefox just hogged the CPU to the point of unusablilty. Programs would randomly crash or fail to start. Basically, the worst system I've ever seen.

So, I struggled. I tried to fix the system, to make it usable. Alas, on Sunday I gave it up. I decided enough was enough and it was time to reinstall. Reinstalling is an arduous process for me. I'm an Emacs user. Everything has to be set up just-so, or it feels wrong. So, I am currently in the process of setting things up again.

However, even now this has turned into a good thing. I've been using the same base system since Dapper and it was beginning to age a little. The fonts had been broken for a while (they were a horrendous bodge that I'd forgotten about). It's odd to see real fonts again. The fancy desktop effects finally work and are sane enough to try using (they're not annoying me yet). Everything feels faster, more responsive. There's also loads of installed packages that were obsolete and many that were missing that should have been installed.

All in all, I'm liking my new system. Even if I have to spend hours and hours rebuilding jhbuild, setting up all my apps to be perfect and teaching the panel to know how I like my system.

Explanation of absence and other stuff

Hello World! Long time, no communication. I feel like I'm back at school writing an excuse of why I've been missing class.

Anyway, last weekend was my brothers wedding. In Bled, Slovenia. Which was awesome. Not least as the locals enjoyed the whole Scottish kilt thing :) I'm sure a photo will follow at some point.

Alas, the wedding also meant a lot of heavy drinking (because, you know, Scottish and wedding). The flight back on Monday was just about the worst feeling I have ever had in my life.

This weekend, I had the amazing pleasure of attending "An evening with James Randi and friends". Which was brilliant. Every speaker was great and (through a few quirks of fate) I ended up sitting directly behind the great man himself. I've been a long time admirer of all these people, so to see them up close was a real thrill.

In between all that, it's not been to great though. Since I got back, I've been feeling somewhat ill (no, the hangover cleared. This is something new). Probably just a bug or something. On top of that, I've had some other stuff to deal with and am feeling a little burned (out) about various things. All this means I haven't even been reading email that wasn't directly addressed to me. So, if you sent me an email or expected a reply from me on some list, sorry. I will get back to it as soon as I can.

I will point you towards a couple of youtube links that are fantastic. Captain Disillusion is brilliant. And the Nostalgia Critic cracks me up.

Other than that, peace out y'all.

Labyrinth 0.4

(Posting my message to gnome-announce here, so people can rejoice)

After a long wait, the next version of labyrinth is now available.

Labyrinth is a mind-mapping tool for the GNOME desktop (and beyond!).
This version can be found at
(once the mirrors catch up)

The release consists currently of the source tarball. I'll leave
packaging up to others. I will be working to make the Windows version
usable again soon. Sorry for the delay.

This release is due entirely to the two new maintainers: Martin Schaff
and Matthias Vogelgesang, who's awesome work has resulted in enormous
changes and many bug fixes.

As ever, if you want to get involved, visit the mailing list at:

New Features:
* Scaling and scrollable canvas (infinite sized maps!)
* Add support for text attributes (bold, italics, underline and font
selection )
* Arrow navigation of thoughts
* Support foreground and background colouring of nodes
* Import and export "labyrinth files" for maps in the form of tarballs
* SVG export
* PDF export
* Save browser window state across instances (UNIX build only)
* Bundle of optimisation work
* Selection using bounding box
* Add crude Windows building support
* Searching in the browser window

Bugs Fixed:
* So many bugs fixed. Only important ones listed.
* Auto-save maps every 60s (issue #64)
* Create intermediate dirs for savedir (issue #50)
* Links don't disappear any more (issue #62)
* Exception fixed when saving an empty map
* Show a thicker border if there's extended info on a thought (issue
* Check pygtk version before importing it (issue #82)
* Fix incorrect movement undos on occasion (issue #80)

* de (Matthias Vogelgesang)
* fa (Pedram Azimaie)
* it (Francesco Fullone)
* pt_BR (Leonardo Gregianin)
* ru (Alexandre Prokoudine)

What ever happened to...

Labyrinth? You know, that mind mapping tool I started working on, before the need to make some money took hold of me? Well, it's still going. Of late two superstars have taken control and are doing some amazingly awesome work, fixing loads of bugs and adding exciting new features.
They are Martin Schaff and Matthias Vogelgesang. As of this weekend, a new version is being prepared, with version 0.4 release candidate 3 (when I started writing this, it was RC1) being made available. In this release, there's a few new features from 0.3.
  • Translation and zooming of canvases

  • Add initial support for text attributes (bold, italics and underline). Though this isn't very good at the moment.

  • Add proper Win32 build stuff

  • Links can now have variable strength

  • Navigation of thoughts using the arrow keys

  • Menu entries are now insensitive when they're not available

  • Add foreground / background colouring for thoughts

  • Import and export maps in XML

  • Export as SVG

  • Export as PDF

  • Save configuration of the main window across instances

  • More bug fixes than you could shake a stick at

Hopefully with all this awesome work, a 0.4 release is imminent. Oh, and you can get a source tarball of 0.4 rc 3 from this link or this link (GNOME FTP). As ever, if you want to get involved, join the mailing list and jump in! Oh, and if you know Martin or Matthias, buy them beer and thank them for the work!

1. Yes, I screwed up the ftp locations on Sorry.
2. This is only a release candidate. It should not be going into distributions yet. 0.4 proper is on it's way soon.

All the cool kids are doing it

WebCore. In Yelp.
It doesn't look much, but it it

* Blazing fast. Startup goes from 2.8s to 1.9s. Startup limitation is now in yelp code (which I can work on)
* API rocks. It's like a real gtk+ API. I can understand what's going on in it.

* People will expect the choice now.
* Frags apparently don't count as links, which means we'll have to deal with all events. Which sucks.
* WebCore apparently doesn't play nicely with libxslt. More on this in a minute.
* Scrollbars have gone AWOL.

Currently, the patch resides in bugzilla. It's ugly and disables lots of features. Once it's cleaned up a bit and more works, I'll consider (maybe!) landing it in SVN.

The problem with WebCore and libxslt. Any help most gratefully appreciated. The issue appears when trying to parse the next document after WebCore is initialised. The sequence goes something like:
Yelp starts
Initialise TOC
Initialise and pages requested
Create window as well as html
(When user requests doc): Initialise new page.

When I do all this, it works beautifully up until the final step. Then, things go a bit squiffy:
"/usr/share/gnome/help/platform-overview/C/platform-overview.xml:1: parser error : Document is empty

/usr/share/gnome/help/platform-overview/C/platform-overview.xml:1: parser error : Start tag expected, '<' not found

Except the XML file definitely exists and is valid (I can display it normally). Things get even more fun for man and info pages, where the first step is to load the stylesheet using
"transform->stylesheet = xsltParseStylesheetFile (BAD_CAST stylesheet);"
This fails miserably and the entire program grinds to a horrible halt. So, anyone with experience of WebCore and / or libxslt want to comment and / or explain WTF is going on? There's a drink in it if you can solve it.