Older blog entries for moray (starting at number 14)

2 Jan 2003 (updated 2 Jan 2003 at 04:20 UTC) »

I just uploaded to Familiar a little program for GPE that I mostly wrote while I was in Marrakesh: it's a fixed-point Julia/Mandelbrot set generator, gpe-julia.


Pretty simple, but quite fun to play with; I've filed it as a 'game'. It's written in plain C - five years ago I wrote an equivalent program in ARM assembly (under RISC OS), but given that the C compiler isn't doing anything especially stupid, I nowadays recognise that it's neater to write something portable.

27 Aug 2002 (updated 27 Aug 2002 at 02:00 UTC) »

I haven't got much more of my thesis written in the past few days, and I'm meant to be sending another chunk to my supervisor on Wednesday. Which means I'll need to do a lot tomorrow, somehow. I know the overall structure of what I need to write, it's just a matter of realising enough things to talk about in the right order. I still need to finish off the final bits of programming too. However, over the weekend I fixed my likelihood calculation for P(Q|O) for HMMs, and fixed my simple Markov model to be able to correctly do a more precisely equivalent calculation than before, so it's a good thing I hadn't already tried to write up the relevant sections.

Free software

I've been unwillingly but fairly successfully stopping myself from doing non-work-related coding, and from spending too much time discussing GPE stuff on IRC. I did find time last night, however, to reply to the backlog of technical support queries from people who'd read my Linux-on-laptop page. And today I found myself arguing the 'free fonts' thing again, though I'm unsure it's worth following up a new reply which snips most of the points I made and tells me, 'Debian is a waste of time.' (Sigh.)


While I was reading through the GNOME Human Interface Guidelines I came to the section on colour-blindness, which links to Vischeck. I found it interesting to see there images adjusted to simulate how they appear to colour-blind people, and images adjusted to make contrasts visible to colour-blind people that they otherwise wouldn't be able to make out.

That all reminded me that I had trouble with a few of the colour-blindness test cards when I was a child, and a search brought up several sites with Ishihara test patterns and other similar images. I certainly don't 'pass' all these tests, but this is of course desparately inconclusive - my monitor's definitely not colour-calibrated, for a start. It would be interesting to find out tomorrow if my flatmate gets any further with the same images on my screen: given that she's female, she's very likely to have 'normal' colour vision.

8 Aug 2002 (updated 8 Aug 2002 at 03:29 UTC) »

I wasted a significant amount of time over the past couple of days trying to persuade PhotoGroup to go full-screen using _NET_WM_STATE_FULLSCREEN rather than by asking GDK for the screen size and setting the window size to be the same. (It turned out the problem had been that the window type I'd previously set, to get rid of the window borders, was conflicting with the full-screen setting and preventing it taking effect, rather than that I was doing anything wrong in my xlib code.)

You might ask why I bothered, given that the new method is more complicated and won't work in some window managers? Well, I was rather fed up that when I tried to look at my own photographs the pictures were getting displayed using both monitors, and therefore had a huge gap exactly in the middle....

(The new method does the right thing for me, because my window manager, Sawfish, knows that the single Xinerama screen is really two bits of hardware.)


More GPE tidying up for the forthcoming Familiar release. At some point today I was discussing how we should let the user set the screen brightness/rotation - we had a GPE-Screen for this, but it assumed the user was logged into X as root, something which unfortunately used to be true in Familiar, but which we're of course heavily discouraging. Then I remembered that a while ago I had written a little GTK app for this. Anyway, pb pointed out the obvious, so I checked the sources into CVS, tidied things up a bit, and made the minor changes needed so it would link against libgpewidget. Now we have a screen settings program, at considerably less effort than it would have taken to fix GPE-Screen.

4 Aug 2002 (updated 4 Aug 2002 at 01:17 UTC) »

bah, galeon crashed while I was writing this.


I've been doing a fair amount of GPE work to get things ready for the 0.6 Familiar release. As well as checking my own packages for bugs, I've been doing some general tidying up. For example, I patched gpe-bootsplash to be able to display the splash screen upside-down - the H3800 series iPAQs have their screens wired up that way, for some reason - and I applied the patch I'd previously posted to bugzilla so that the gpe-login package now provides a confirmation dialog when you ask to log out, rather than just immediately killing off your session.

GPE hacking has happily become rather less hassle recently - while I was down in London I picked up a PCMCIA sleeve for my iPAQ, so I can now plug in one of my wireless network cards. Before that I had been using usbnet (which would decide to die after too much was transferred) or PPP-over-serial (which is just too slow).

I've also acquired a Stowaway keyboard, so I'll have to put together a little GPE program to control that at some point.


This weekend I finally got around to implementing an Hidden Markov Model system for my project - the bit that's important here uses the Viterbi algorithm to find the globally-most-likely state sequence (rather than just the most likely outcome at each time step).

For those who don't know, my project's about getting the computer to learn to harmonise music, by feeding in a training set of harmonisations (I'm using Bach chorales as my test data). What I'm doing with the HMM is treating harmonies as an underlying sequence of states, which are emitting a melody note at each time step. After building a model from training data, the program can reconstruct a hidden state sequence for a new melody, and use this to fill in the other voices.


It was my birthday last week, but seeing as it was the first Thursday of the month I was at the Edinburgh Linux Users Group as usual - though that was at least partly a pragmatic decision, since EdLUG would have depleted any other event I'd tried to schedule for the same time, especially since it was meeting outside the city centre, in Leith, to avoid the Festival crowds.

I finally got round to doing the whole GPG keysigning thing, which Dougie seemed disproportionally amused about.


Bumped into someone on IRC yesterday who I knew years ago; he persuaded me to go through to scotlug in Glasgow this (Thursday) evening. There were a couple of talks on the agenda, one about email and calendaring systems, and the other from someone working on Grid Computing. In the pub afterwards I chatted to the Grid guy (meanwhile the person I was meant to be visiting had disappeared).


I haven't done that much new GPE stuff in the last couple of days (just checking up on a couple of bugs and making sure I'd uploaded the latest versions to the unstable package feed). But while I had a play with my iPAQ on the train to pass the time I was pleased to see how nice it's all starting to look, especially since mallum has put up a Matchbox window manager version with Xft support. ;)

There are some screenshots I've taken over the last few days at http://gpe.handhelds.org/screenshots.shtml - there's also an Aqua-style theme, for those of you who like that sort of thing....

I'd been seeing redraw problems in GTK+ 2 applications - sometimes, for example, the pixmaps on GNOME 2 apps' buttons wouldn't appear, or Nautilus file icons would get drawn in the wrong positions. Anyway, having been informed (by Owen Taylor) that this was a known XFree86 bug with Matrox cards, I've now installed the experimental X 4.2.0 Debian packages, and will see if this fixes the problem. (I haven't seen it yet since restarting X, anyway.)

I've been doing a little more work on gpe-soundbite and keylaunch, and trying to remember to build packages for the unstable feed whenever I add something significant....

With the current packages, you can now press the iPAQ's record button to start recording, and either hold it as long as you want to record or press it again when you're done. Assuming you don't cancel the GSM-compressed output will be saved to an automatically-named file in your home directory - before long we should have some sort of 'interesting file' support in GPE so that it's easier to find files you've created, without having to look through the proper directory tree if you don't want to.

Well, I have had time to do a little programming for GPE, a new set of programs to provide PDA functionality to Linux palmtops, using GTK+ as the underlying toolkit.

After fixing a bug in the GPE library, I wrote a little interface for gpe-soundbite, a program for taking audio notes, which it saves out under GSM compression. Philip Blundell had already done the initial work to get libgsm working, though he'd also left me a couple of bugs.... ;)

It also looks as if the nicely-small 'keylaunch' program pretty much what we need in terms of key bindings (well, button bindings, since we're mostly talking about the four little buttons on the front of the iPAQ, and one on the side). Unfortunately it doesn't look for a global configuration file, but only looks at a single location set at compile time, and the configuration format itself isn't that great, so we may end up forking something off rather than just using it directly. There's already a buttond program in Familiar, but that tries to read the hardware directly rather than listen for X keysyms - which won't work unless you're root.

Hm, I seem to have been spending lots of time recently discussing things on the GPE IRC channel, when I should have been working.... I guess I was just pleased to find that other people have come round to my opinions about how we should be developing PDA-type software for Familiar. Some people had already been using GTK, but now they're also agreed that for these small devices (e.g. iPAQs) we should be coding in C (rather than, for example, Python, which some of them had been using).

Anyway, things have been moving forward pretty quickly in the last few days, and hopefully after my project supervision tomorrow I'll find time to start to contribute GPE code....

3 Apr 2002 (updated 3 Apr 2002 at 22:44 UTC) »

One essay done....

Started on the other one today, but haven't got very far yet; I'm still trying to sort out how to justify including the various topics I want to cover.

Oh, and sab39, not all cam.ac.uk people use their CRSIDs on every system.... ;-)

- ex-mma29

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