Older blog entries for rossigee (starting at number 40)

Had a great day today. Outdoors. Away from computers.

I rigged my hang-glider, and pre-flighted it. I haven't unpacked it for nearly a year, but everything was just fine. It was a peachy day, and we regularly saw red kites circling, and at one point we saw a gaggle of about 20 sailplanes heading away from the top of a few seperate thermals well above Oxford.

John flew the tug, and aerotowed the Class 5 boys up to about 2500ft a time. Richard managed an out and return to Headington, near Oxford, from our take-off right next to Wheatley (about 45 mins airtime). Brendon got taken up right into a convenient thermal and it wasn't long before he was out of sight, heading towards Didcot. Nick did a circuit, but I don't think he had so much luck with the thermals and only lasted about 30mins.

Dave went up next, but about 300ft he seperated from the tug. Both craft made it back to the field, and it turned out that a tiny piece of grass found it's way into the carb and got stuck in the jet. Basically, it wouldn't rev up above about 4000rpm, but it needs to develop at least 6000rpm to power itself and the wing behind without sinking out. John realised he had began to sink out, and that it wasn't revving out properly, so he had to 'flush' Dave. Dave found himself cut free at about 300ft, with the tow rope dangling down from his chest. Worried that the tow rope wound catch on a fence below and drag him in, he released it and started concentrating on using his remaining height to get back to take-off. He just about squeezed in over the hedge.

So, we've fixed the engine and are scouring the nearby fields for our 'mislaid' tow rope. Eventually, we find the rope and so I'm thinking about getting clipped in and having a go, when we get a call from Brendan. He's had a bad landing in a field near Chalgrove, and he's broken his arm. The gang mobilise, with Dave and Richard diving into a car, and Nick shooting off in the tug (easier to find a downed glider by air). Apparently, Nick managed to land right next to Brendan, but for some reason, said it wouldn't be possible to take off out of the field, and that they'd need to dismantle it, put it on a trailer and drive it back to the hangar. Flying over for today!

So, after all this drama, all I managed to do was rig my glider, pre-flight check it and confirm that it's still airworthy (actually in pretty good nick), before having to pack it all away again. However, I had a very enjoyable day (away from the computer for a change!), and I'm looking forward to trying again in a week or two.

Patching gettext to expose it's file parsing and writing functions. (http://www.golder.org/~rossg/tmp/gettext-0.14.1.exposed.patch) - Strangely, I seem to have achieved basic functionality by simply patching it to install a handful of it's header files into $includedir/gettext-0.0. It's a dirty hack, but it should prove the concept. - Potential problem: if while eusing gettext's parsing routines, it chances upon the 'error' function, exit() is called. Looks like gettext will need patching further to make the error handling in certain functions a bit more 'caller-friendly'. I expect it'll be a case of having everything report errors back to caller somehow, then hooking a error handler in further up the stack so that the caller does the 'exit'. Hopefully, this can be done without breaking API/ABI compat. It seems a bit odd that the gettext guys don't seem to have anticipated this use-case scenario.

Patching gtranslator to use gettext's innards for the reading/writing PO files. (http://www.golder.org/~rossg/tmp/gtranslator-gettext.patch - against gtranslator CVS) - Compiles OK using '#include <gettext-0.0/config.h>' (and a couple of other gettext innards) to hook into the newly exposed gettext API, and '-lgettextpo' lets it link successfully. I've now dropped various fields from GtrMsg, replacing it with a pointer to the 'message_ty' structure for each message. I've also re-wired everything to use this structure instead of the old GtrMsg fields, and it compiles. Still got some work to do on the parser (it currently segfaults), but it looks like I might finally get round to killing this 'plural forms' thing and a few other parser-related issues at the same time.

I take back what I said when I agreed with Ali that Nautilus is getting worse. I actually started using Nautilus a bit over the last few days, after finding the 'close parent windows' feature. I became curious to see just what I could do these days if I wasn't so handy with a terminal, and I was pleasantly surprised. Once I'd gotten used to things and set up a couple of bookmarks, I realised how easy some jobs are now. I managed to mount my camera flash card, copy it to my laptop, open the folder up in gthumb, put a copy on the family Samba server so my mum and dad could have a look on their machine. I also managed to browse to my brother's computer, see a load of his music and open it in Rhythmbox. There's probably a couple of people now thinking 'duh? so what', but last time I tried doing stuff like this with Nautilus, I had problems (I can't remember exactly what, except that I recall it wasn't trivially fixed). Still room for improvement, but it's impressive already.

Spent most of the day out on the bike, showing Mee some of the nicer parts of the countryside and finding shops that sell spare parts for remote control gliders, so I can get mine fixed up and go flying one day soon. The wind's looking good, and I need to take Mee out every day, or she'll be fed up of watching me work every waking hour of the day. At least her vegetable patch is coming along now.

It's been a rough few days. I went to see my accountant, and realised I'd slightly underestimated my tax bill for last year. That put my budget out by 2000 quid. However, I then found out that the UK to Thai exchange rate has improved, so the land I'm looking to buy will turn out to be about 1000 quid cheaper than I had planned. The main problem is that the abundance of work that I was told would be available on my return to UK has slowly degraded into stories of 'they haven't paid up for the last job yet' and 'we're waiting for our client to commit before we can start', which has meant that most of this month has been a non-earner (well, I only managed to invoice a couple of hundred quid). Still, I should start seeing some action next month.

So, I've mostly been playing. Playing with subversion, trying to get myself more familiar with setting up a private CA and signing SSL certificates for web and mail services etc, working on my Harmony library and using it to develop a more reliable and useful homepage, and a few other bits that may prove useful for some upcoming jobs.

I also did some tedious jobs that I've been putting off for a while, like going through my 'birthdays calender' in Evolution (1.5), and making sure I have a contact record for each person, with an up-to-date birthday field. As Evolution has a 'Contacts' view, the birthday calendar will become redundant (or can be generated from the contacts database). I also moved all the old (2000-2003) information out of my main calendar into 'archive' calendars to reduce the size of my main calendar (for when I can get gpe-multisync to sync stuff with my iPAQ). I know the GPE project needs some help in this area, but I really should get on top of my other responsibilities first (e.g. gtranslator and some of the GNOME sysadmin jobs I've started but not finished).

I also saw one of the new ZX6Rs out on the road the other day. Seeing that, plus discovering my real tax liability has made realise that, as much as I love my bike, I'll have to sell it before I go back to Thailand. Instead of wasting money trying to get it shipped over to Thailand, I might as well stick with the CBR400 I've already got there, and save up for a new ZX6R. Actually, just looking at their site, based on where I'll be living a quad might be a bit more practical :)

Congratulations to Ali for trying to fork GNOME. Fair play to him for exercising his rights under the GPL. Now at least (after all these years) he has his own project space in which to rant on about his issues, rather than finding it necessary to keep winding people up on the GNOME mailing lists.

Seriously though, I do respect this attempt. In a way, he is finally attempting to do something productive about his gripes himself rather than persistently trying to persuade other people that what they think is wrong. Either way, the end result is that he is exercising his right to take what he wants out of the software and make whatever he wants out of it, use and develop it for his own purposes and make it available for others to do the same if they wish. If he feels this will be a productive route for him, then he's welcome to follow it.

However, as usual, the his post is unnecessarily bloated, is full of inconsistencies and goes off on weird tangents in places. The introductory paragraphs seem fairly straight and to-the-point, but when elaborating on the points in his bullet point list, he seems unable to explain himself clearly. I tried to objectively review some of the points he tries to make. Actually, some of his point are valid, even if they're not exactly breaking news.

I though that his complaint about UI consistently was fair enough, but the HIG was proposed long ago as the solution endorsed by the main developers. At the end of the day, we cannot force everyone who develops a GNOME application to agree on the HIG or develop or accept patches to conform to it, so it will take time. The core desktop apps should at least conform. There will probably be a few more revisions of the HIG out before we get anywhere close to that goal. However, unless anyone has any better ideas, progress is being made so we should move on. Again, he seems to be unhappy with progress and is harping on about old problems that already have a solution in progress.

And yes, Nautilus going spatial did seem like a step in the wrong direction. Nothing much I can say about that except - it's real shame. I remember seeing Nautilus demoed at GUADEC 2000 and thought - that's going to rock. Despite the *huge* amount of work that's gone into it, sadly I still find it very annoying to use. A moment ago, I tried using it to browse to a windows share on my network, and it insisted on opening four new windows to get there. Before, I could change this to 'open in same window', but now it seems I cannot. That's not progress in my opinion. However, at the end of the day, despite not working exactly the way I would like it to, it does work and allows me to do what I wanted to do. Nautilus could (and did used to) do better.

He also correctly mentions that some code forks can result in useful merges later (such as with gcc and XFree86). However, the people responsible for such useful code forks were highly skilled engineers, with a deep understanding of software engineering and of their goals, and such achievements were accomplished through a lot of hard coding work, and by presenting demonstrable, concrete results. In other words, these useful forks weren't accomplished by simply posting lists of personal gripes and a handful of patches in public places and hoping that others will join in.

I found it difficult to take the rest of Ali's post too seriously. For example, there's no way anyone would prefer Latex to Docbook for technical documentation. GConf is like the Windows registry because modern desktops need such a configuration interface, and (IMHO) GConf is an excellent implementation of this. His issues of bloat are matters of perspective and opinion (one man's feature is another man's bloat), and inefficient code can always be optimised, given enough time and effort. He says that 'GNOME must touch everything' and then goes off on one without a concrete example - I haven't got a clue what he's trying to say here at all! Not content with slagging off the GNOME and KDE developers and architecture, he also takes an unqualified swipe at the freedesktop.org standards, and saying they're a waste of time. Someone please pass me the heavy duty clue stick.

So, good luck to him, but I can't see an army of developers lining up to help him produce 'Ali's GNOME' any time soon, nor can I see many people wanting to use it if he succeeds.

Wednesday already. Still not found any confirmed work, so chased up a couple of people who promised some. One said 'we should hear back from the client next week', another said 'I'll send you through a spec by the end of the day'. So, I arranged a meeting with my tax guy to sort out my UK tax affairs while I'm here, and took Mee out for a ride on the pushbikes for an hour or so. Then, I escaped on my own down to Jon's house for an hour or so and played around with his new beatbox toy for a bit. I noticed the computer I sorted out for him last year gathering dust in the corner. He said it got a virus, and hasn't worked since, so I offered to give it a service for him.

He dropped it by our house, and I set to work with the hoover. Jon's flat rarely gets cleaned, and the dust that had built up in the fans etc was incredible. Then, I booted it up on the network and transferred his music and data off to the home Samba server. It was a Win2K 'professional' (!) install, with loads of random crappy third-party software installed, plus the fallout from some virus - it needed formatting and starting from scratch. I briefly toyed with the idea of installing Linux/GNOME, but he did say he would need to run Cubase on it. I installed WinXP, and used the 'Add/Remove Programs' control panel to remove Internet Explorer and Outlook Express, and installed Firefox and Thunderbird in their place. I'm very impressed with them, and am considering doing the same on my dad's computer (and grandad's). I also removed Messenger, and installed Exodus. It all works, and he'll probably be surprised to hear he can come and pick it up tomorrow.

Despite being all patched up, he doesn't have any virus software installed. I don't agree with antivirus software - it can't protect against viruses it doesn't yet know about, it slows computers down by having to checking everything for viruses it does know about. Viruses can only survive and spread due to flaws in the design and implementation of a particular operating system. I explained to him that by replacing MSIE and MSOE, I've only reduced his chances of his computer getting infected, not elimated them. He should obviously still keep his updates applied and his fingers crossed!

This evening, we watched Head of State with Chris Rock, which I thought was very amusing. Yesterday, we saw Starsky and Hutch, which was also very amusing. I should also mention Hidalgo, Hellboy and 50 First Dates, which I saw on the planes from Bangkok to London, which were all good films. Mind you, there aren't many films I don't like. I'd never make a good film critic!

Fixed the GNOME mail archive search!


Indexes still being rebuilt.

Todays blog comes to you from the small toilet. I am sat on the throne with my iPaq 5450, reading advogato, planet GNOME and some other news sites using the Minimo browser, doing some shell work on a remote computer using rxvt and ssh, and composing this on what appears to be a cut-down version of gedit (gpe-edit). All good!

I ended up losing my patience a little with Ali. He just can't help himself. I figure the 'reply all' button on his mail client must be getting as worn out as people are fed up of listening to his rants. I filed a kind of counter-complaint about his behaviour, and I think (hope) he got the message. I don't feel good about the whole episode, but I feel I have done what many people may not have had the front to do, and hopefully we can all now get a little piece without his constant wind-me-ups.

I also managed to break the GNOME mailman mhonarc mail archiving a little bit, and struggled yesterday to identify the problem. My understanding of the whole setup is now much better, and a few seconds ago I think I figured what I'd cocked up, and it's all working again now. Now to see if I can fix up the namazu indexes and get the search facility working again.

Mee seems to be getting a little fed up because I haven't had much time for her with all this drama going on. Luckily we've got a busy weekend of social activities, so she should cheer up. Her English is getting rapidly better though.

I'm now annoyed at letting myself get dragged into another stupid argument which spilled over from desktop-devel-list@gnome.org to foundation-list@gnome.org, because of a highly opinionated and excessively verbose someone who seems to enjoy stirring things up within the GNOME community.

I remember this guy first turned up on #gnome a few years ago using the nick 'oGALAXYo'. He starting out by slagging off GNOME to all the developers and started listing all the problems he was having with it on the channel. He was advised to use appropriate support channels, such as bugzilla and the project mailing lists, but had decided to himself that they were all a waste of time and that bothering people on #gnome was the best way to get things done. I ended up /ignoring him, and he hasn't caused me much bother since. Until this dropped into my inbox. In my opinion, this guy brings shit-stirring to a whole level. Do a google search for 'oGALAXYo' and 'gnome' and just see how he winds people up.

I agree with Alan Cox (although he misunderstood my position) - at the end of the day Ali is a developer, and Mark was a bit 'short' with Ali. But I can sympathise with Mark was trying to better the signal/noise ratio on a busy list he is responsible for, and was simply pointing out a better place for it. Although not condonable, I think it was understandable that he lost his temper, because (IMHO) Ali is someone who seems to enjoy making a public nuisance of himself.

So if you're reading, Ali, I'd still love to know why was it so important that you made people realise that you were annoyed by Mark? What has this achieved in relation to your intentions wrt to the HIG? And, as Glynn says, why should personality conflict be a problem for the foundation to deal with? Even if it is in the charter, do you feel righteous to have wasted all these people's time because of your little playground squabble with Mark? Actually, I'd rather not hear it. End of story.

Once again, I fail miserably to regularly make an advogato journal entry, and when I do get round to it, it's down for a few weeks. Looks like I haven't made one since I was in England last. Ten months have passed, since then.

I've been to Thailand, moved off Samui island and bought some land on the mainland. I'm now back in the UK (with Mee, my Thai girlfriend) looking for work to pay off the land and build a house, and to let Mee meet my family etc and see what life is like back here. Who knows, one day maybe the crazy Thai politicians will make it unviable to live there. If we can't find a nicer country to live in, we'll have to go back there to live (god forbid!), and I'd like to see how she handles the pace of western life (she's only just beginning to learn English too).

Paid-work wise, things are looking good, with a few potentially promising new PHP development projects in the pipeline, coming from two sources, plus a couple of weeks standby cover for an old company I used to work for while their guy goes on hols. Should mean we have enough to take Mee for a few rides around the country to see England (Scotland, Wales and Ireland too, if possible), and enough to put a safety reserve back in the bank. If all goes well, it should even lead to plenty of work to keep me going when I return to Thailand in three months time.

Open-source wise, I washed up some of my favourite PHP classes into a decent rock for myself and other web application developers to smoke. For now, I've called it Harmony, and it simply consists of a few common classes and an example website. The website provides the facility to log in, authenticating users against an enterprises' LDAP database. Once logged in, links are provided according to the groups the user is in. If they are in the 'admin' group, they have the facility to create new users and groups, and maintain them. Most of the PHP scripts that support the site use XSLT as a templating mechanism to convert a generated result fragment into an XHTML page (or other). That's about as far as I've got so far, but it's useful enough to start creating sites with.

It's certainly an interesting approach, and I'm not sure if there are other people out there doing something similar, but I'm hoping that people give it a try and give me some feedback. I'm currently in the process of setting up a website to release it (GPL), which will include a demo site where people can log in and play admin with a dummy LDAP backend, and see some of the other modules in development. Really, I need to square it off so I can use it to finish developing the revamp for my main homepage (and my personal homepage). My main homepage is flaky and useless, and it's nearly two years since I updated my personal one!

It's all based on code I wrote and used in a couple of projects already in daily use. I'm just trying to document it and package it up a bit, so that I and other people that have to maintain my future projects can easily apply bugfix releases and/or work out what's going on etc. Still a few design flaws that I can't figure out (such as a nice way to handle i18n - I want to see my website and homepage viewable in English or Thai using a combination of gettext (the easy bit) and standard XML/XSLT methods (still struggling with this).

Anyway, GNOME Thai translation seems to be rolling along nicely at the hands of native Thais, so I've diverted that portion of my spare time to helping the GNOME sysadmin team out after their (not-so-recent now) server compromise. Still lots of big important tasks on the to-do list, but between us several of the jobs have been completed and slow progress is being made on the remainder. I should also be able to leverage my work on Harmony (if I quickly knock up some stylesheets and one or two PHP subclasses) to implement an web admin interface for managing the GNOME LDAP server (used for CVS accounts/authentication etc), and perhaps the mirrors database too to make that side of things easier to automate and delegate.

Sadly, still haven't had time to nurse gtranslator. I'm also getting twitchy fingers at the thought of helping the GPE developers get multisync working with the GPE addressbook/calendar/tasklist, so I can sync between my iPaq and my laptop, although I think I'd fall into the bottomless pit of time mismanagement if I started on that route. Also getting twitchy fingers reading recent discussions about getting the 2.6 kernel working on the iPaq.

Nice not to have to use a 56k dial-up connection and be tethered to a wall. I'm still tethered by my power cable (I'm not paying 200quid each for new laptop batteries), but having wireless DSL just about everywhere I go is a real blessing.

Got to go take care of Mee now, as she's got bored of the jigsaw and the knitting that was keeping her occupied, and as it's Friday night, I suppose I'd better go introduce her to my friends, entertain and translate things for her.

31 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!