Daft Error Message of the Day

"Dr Watson Postmortem Debugger has encountered a problem and needs to close. We are sorry for the inconvenience"

The pulseaudio problem described earlier wasn't. I managed to uninstall pulseaudio and Ubuntu is still crashing. Eech, this is not good.

Permalink
   

Rant

Why the hell do people insist on sending "please remove me" mail messages to mailing lists? I mean, if they are on a mailing list that they don't want to be on, have they considered the possibility that other people are in the same boat.

This has happened to me twice today, once on a local UCU mailing list and, once, on a conference mailing list.

Roll on universal identifiers for scientists. We can use them for blacklisting. Anyone sending a "please remove me" mail message will be right up my list, I can tell you.

Ah, that feels better.

Permalink
   

Pulseaudio

The maddness of Linux sound continues to plaque me. Pulseaudio is crashing Gnome on an hourly basis. It get an obscure message like this in my /var/log/messages.

pulseaudio[14900]: pid.c: Stale PID file, overwriting.
pulseaudio[14900]: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
pulseaudio[14900]: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted

I've tried adding myself to the pulse-rt group on the basis of a 2 year old message about Hardy, and setting ALSA manually in the sound options. Eeech, this is not good. Haven't had this level of instability since, erm, RedHat 5.

I tried removing pulseaudio entirely. Sadly, Ubuntu-desktop depends on it. So, removing it would fix the crashes but in a way which, I feel, rather defeats the point.

Permalink
   

Lua

So, I've been using Lua for a couple of months now; I thought that I would learn it because it's been ages since I learned a new language, and it's got a reputation for being small, clean and fast.

On the whole I think it's lives up to it's reputation. It's a nice langauge, leaning more toward the functional than OO, at least in the way that I write it.

Syntactically, it's very simple and regular which is a good thing; there are a very places where I would have simplified it still further. For example, both of these are legal:

print( "hello" )
print "hello"

which is a nice syntactic short-cut, but then it only works with a single argument,

print( "hello", "goodbye" )
print "hello", "goodbye" -- ILLEGAL

Probably I would not have allowed the shortcut.

Lua has a pattern syntax for regexp-like searching, but in a desire to keep Lua small, it's a pretty weak; more over, it's not a standard syntax at all, and lacks familiarity. Of course, Lua makes it easy to link in a regexp library, but I think that they should have standard extensions — i.e. if you are going to link in a regexp library choose this one first. To some extent, this already happens — the Math.power function is not guarenteed to work as it forces the linking of the ansi C math library.

Almost all of Lua is based around tables — hash maps effectively — which also serve as arrays. This is okay and, of course, you can build anything you want from this; but, combined with the lack of types, I find myself asking questions like, is this a table of tables, an array of tables or a table of arrays? Too much knowledge is implicit. Table handling is also a bit limited; there's no support for taking slices of tables (when used as an array), nor functions like "contains" or "first index".

On the whole I think it fulfils it's purpose; it's great for small and simple code. The worry is that people will get carried away and start writing enormous applications in it, for which it is just not suited. Small languages have a habit of becoming big. As it is, though, it serves as a nice, relatively low-level language.

Permalink

Page by Phillip Lord
Disclaimer: This is my personal website, and represents my opinion.
Tech