Older blog entries for mjg59 (starting at number 38)

Things that have happened recently:

  • Laptop died. Replaced it. Little excitement.
  • Visited the US and Canada. Came home again. Some excitement.
  • Dasher heading for Gnome 2.6. Great excitement.
  • IBM launched the X40. Much excitement.
  • Became a student again, and have a nice office. Moderate excitement.

Things that are happening:

  • Off to FOSDEM next week. Forecast: beer, potential excitement.
  • Debconf in May. Forecast: beer (though I have no idea what beer is like in Brazil), potential excitement.
  • GVADEC in June. Forecast: duty free whisky in order to avoid punative taxes on crap Norwegian beer, potential excitement.

Hacking on a Qt version of Dasher because it's probably more maintainable on MacOS X than the current Cocoa stuff is. Entertained to discover that the Carbon API allows you to write accessible applications, but doesn't seem to allow you to write applications that make accessible queries. And faking keyboard input looks astonishingly painful. It's like they've come up with an interface without any of the good bits of X, but with all the bad bits. Multiple APIs make Matthew inclined to engage in homicidal activity. I'm not hugely enjoying the Qt experience, though a large part of this is probably down to Designer - people who think that MDI is a good idea should be forced to use it on an 800x600 display for a while. I've already got a window manager that lets me stack windows usefully, replacing it with one that snaps them into each other is a regression. A large one. A sufficiently large regression that, were it to be turned into a phallic object and inserted into the developers of the software concerned, they'd be really quite unhappy.

XServer is unhappy about working with acceleration on Radeons on PPC. Which is a shame, because that's my only vaguely desktop machine at the moment.

Academics tend to release stuff under crackful licenses. The amount of code I've looked at over the past month saying "This code is in the public domain. You may not use it for commerical purposes" is quite terrifyingly large. One of these days, I'm going to have to write something quite insulting about it.

libtool still makes my eyes bleed.

Hacked together a GPE interface for Dasher - it's mostly just the GTK2 code with a new Glade file and a couple of #ifdefs, but I needed to write a new settings store to use XSettings rather than gconf.

I hate having to go near xlib. Hatehatehatehatehatehatehatehatehatehatehatehate.

Spent some time figuring out what name_len=(name_len+3)&~3 was supposed to do. Having a room full of hackers is helpful.

Shouting questions into the air reveals that we have the useful bits of Google with natural language parsing and lower latency here at the moment.

Dasher

Released 3.2.0. Finally. It's got integration with gnome-accessibility (pass --with-a11y to configure), gnome-speech (pass --with-speech to configure) and it'll even give you a nice Gnome-style about box if you want (pass --with-gnome to configure). We're aiming for inclusion in Gnome 2.6, which would be pretty sweet.

(Especially if we end up on those 200,000,000 desktops in China...)

In other news, portability remains tediously irritating in odd ways - I was greatly impressed with the way that different implementations of iconv have differing ideas about the constness of the first argument. Shifted a bunch of code over to glib rather than deal with the pain of differing Unix directory entry parsing semantics. People selflessly dealing with this portability thing on my behalf make me happy. In any case, we run happily on Solaris now.

(Sun's Gnome still needs extra patches from sun.com in order to make it possible to actually compile anything, entertainingly)

Off to the Gnome summit on Friday - first time in the US. Then Philidelphia for further Dasher evangelising, Toronto to meet the Gnome Onscreen Keyboard guys, Boston in order to visit The Other Cambridge, and then New York for a couple of days of "holiday" (where I try to see as much of a major city as possible in 48 hours).

Only a month or so left of Dasher work before I head back to academia. I'm planning on spending the time looking at features for portables and getting the GPE port back into shape, and then with a bit of luck getting the QTopia one to actually behave usefully. What larks.

Moved house. BT were supposed to provide ADSL from the 10th, but are instead under the impression that it was supposed to be the 18th. Coincidentally, this is the day after it was supposed to be disconnected from the other line. I worry that they may have attempted to be clever.

In further news, mail starts bouncing before then. Joy.

Fucking cretinously stupid telco.

Dasher

Another meeting with the ACE centre people, and much discussion with the rep from a Swedish eyetracker company. I've implemented the eyetracker mode (within the "normal working area" we use the raw coordinates, but outside that we map the x coordinate further to the left - this means that looking further up to try to find the letter that you've just missed slows the rate at which you're heading forwards, and things Just Work(tm)), which seems to be a great improvement for eyetracker users - it has the nice side effect that you can glance at the letters further to the right without flying towards them at high speed. Customisable colour support is nearly finished, speech is nicely integrated, application control functionality is pretty much complete. Looking good for at least a beta release by the end of the month, at which point I can concentrate on Gnome integration and try to get it into 2.5.

GFDL alternatives

Pabs3: Well, uhm, there's the GPL?

Dasher

Discovered that XFree >=4.0.2 includes keysyms for the entirity of Unicode. This isn't really documented anywhere. If X_HAVE_UTF8_STRING is defined, XStringToKeysym on anything looking like U0041 will give you a keysym in the range 0x01000000+unicode value. Assign that to a keycode and Bob's your uncle. Rewrote Dasher to use this in preference to the at-spi code (it'll fall back to using at-spi if X_HAVE_UTF8_STRING isn't defined, but currently it requires CVS at-spi and still doesn't work terribly well), and now I seem to be able to input arbitrary interesting characters into applications if I'm using a UTF8 locale. Hurrah, eh?

<Krystof> dasher and dashboard between them seem to have the zeitgeist sewn up <Krystof> maybe I should call my next project dashfoo

UKUUG was good - lots of enthusiastic people, food and drink. Despite my best efforts I didn't quite get to spend the entire conference hung over. Edinburgh still has too many hills. Entertaining to discover that their goth community appears to overlap with London about as much as the Cambridge one does, with the result that half the people I met I knew at one or two removes anyway (note: Not A Goth). Dasher talk went well, though I should really try to get out of the habit of rewriting chunks of the core code at 3AM the previous night (it works now, of course...) and no alphabetti spaghetti thrown at me. Mildly surprised to discover that there was a 3 page article on Dasher in Linux User and Developer. They've taken screenshots of the old, ugly interface. Grr to them. It's pretty good otherwise, though.

Devious thoughts involving trust metrics and Dashboard. I'm worried that I'm getting excessively close to winning buzzword bingo based only on my own interests.

forrest: Either your hardware is fucked or your X server is fucked. If you're using the binary Nvidia drivers, stop.

Gah. Must get up and head for Heathrow. Norwegian knowledge status: poor.

Dasher

Windows hacking this week. I'd rather be using an axe to do it, but never mind. This picture shows Dasher synthesising text entry events - this one shows Dasher controlling Visual Studio's menus. I'll probably make a new release in a couple of weeks after the next bunch of stuff is dealt with:

Other

Debcamp next week, Debconf at the weekend. I'm heading to Oslo on Sunday. Should try to learn some Norwegian, really. UKUUG at the end of the following week - I'm giving a presentation on Dasher there. Not sure which day yet. Maybe I should start thinking about writing a talk more than half an hour before I'm on this time?

Playing with Nat's Dashboard - first C# application I've had to build, so much fun in tracking everything down. It's alarmingly fun - this is a picture of what it looks like on my system. It's just pulled out an appropriate bookmark and a bunch of relevant files based on the username of the user who's just IMed me. Much, much coolness.

29 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!