linux.conf.au 2008 Mini-Conf Selection

So, last night a group of us sat down and went through all the mini-conf proposals for linux.conf.au 2008

There were a lot of proposals. There were also a lot of good ones.

We’re not announcing anything yet… but in the interest of openness… here’s the procedure.

We started out as any responsible group of selectors would…. looking at the proposals over beer:

dsc_8260.JPG dsc_8261.JPG

a few jokes thrown in… frank discussion and all that. But really, we came to the conclusion that it’d been all done before and we needed to somehow narrow down all the excellent suggestions…

Luckily, the pub we were meeting at had the right facilities!

dsc_8262.JPG

And we went about selecting a few more…

dsc_8263.JPG

Of course, there are simply some mini-confs that we all agreed were a must have…  although nothing was certain…

dsc_8266.JPG

One of the more hilarious suggestions of the evening was to force somebody to organise a PostgreSQL miniconf, convince Marten to hold a MySQL company meeting in Melbourne around Jan 2008 and have all of MySQL AB come and sit in the back of the room for the PostgreSQL miniconf.

MySQL Storage Engine API Gotcha #42

(Filling 1 through 41 is an exercise left to the reader… I just like the number 42)

handler::info can be called on a handler that has never had ::exeternal_lock called. So if you rely on a call to handler::external_lock to set up something (e.g. a pointer to a transaction object), you may explode in a heap.

See: Bug#26793

Backup and Recovery (the book)

A little while ago now, I did some tech reviewing of a book called Backup & Recovery… specifically MySQL related things (and MySQL Cluster). Curtis was kind enough to send me a copy of the book as well – and I’ve been reading the rest of it bits at a time since I got it.

I’m rather impressed… it gives a good mix of overview and digging deeper on just about every way to back up and recover systems. It also discusses several products that I didn’t know about (and have partly investigated now because of it).

It also has good sections on process: as in how to decide what to backup, encouraging the use of checklists and all that. Heck… recently when doing a restore I realised I never backed up /boot (annoying, not catastrophic… as I know my way around).

I recommend getting a copy of it if you need to back up and restore systems and don’t know everything already.

MythTV and poor quality DVB reception

So… I’ve been getting really poor DVB reception recently. I mean bad…. as in next to nothing is getting recorded… and anything HD is more noise than image (or sound).

A symptom of this is that the mythbackend (and indeed frontend) can crash when processing really bad MPEG2 (recording) files. So, if you get poor reception and crashing frontend/backend.. this is probably why.

Even loading the list of recordings from MythWeb can be problematic (as it has to generate the preview image).

Just something to watch out for… hopefully i’ll track it down a bit and be able to file a sensible bug report.

Another positive review for Practical MythTV!

Over at fosswire.com, there’s a review of Practical MythTV. Here the copy of the book was provided by our publisher, Apress – who are getting some copies out there to people to look at and review (and the reviews are positive which is great news for us!).

You can get Practical MythTV from Amazon for under $20USD at the moment… which is pretty cool.

reading maildirs…. fast…

So, for a side project i’m hacking on, i’m wanting to read in Maildirs really fast (and then pump them into something else… for current purposes I’m just putting everything in one file.. getting the read speed up is of current importance).

I’ve done a bit of experimenting and my current method (which seems to be as fast as any):

  1. read the directory (cur)
  2. sort by inode number
  3. foreach 1000 inodes:
    1. sort by start block number
    2. read message

This makes a couple of assumptions:

  • sequential inode numbers are close to each other on disk (making stat(2) cheaper)
  • mail messages are small… likely to be in 1 extent, so start block is a good metric for locality.

Oh, some of this is specific to XFS… which is what I care about (and it turns out you don’t need to be root to get an extents list for a file on XFS).

Eat My Data: @ luv Tuesday 3rd July

Tomorrow night (that’s Tuesday the 3rd of July) I’m speaking at LUV (Linux Users of Victoria). I’m presenting “Eat My Data: How Everybody Gets File I/O Wrong“.

This is another one of my (possibly futile) attempts to get people to care more about data integrity when writing software – and the less futile attempt to make users cry*.

* over lost data, not spilt milk.

UPDATE: date is Tuesday the 3rd . Turns out I can’t use /usr/bin/cal