Back into image coding


It’s been a long time since I have written any serious imaging code — basically since I started my current job I simply haven’t had the time, and have found other coding persuits to be more interesting. Hence the handover of Panda to Evan.

This last weekend though I had a good reason to start caring about images again. The experimental ov519 driver for Linux which is out there is a bit odd because the driver delivers JPEG compressed data through the /dev/video[0-9]+ device file. This is because that’s what the underlying hardware does. This doesn’t match the requirements of the published video4linux interface however.

I’ve therefore whipped up a minimal video4linux application which twiddles the ioctls, reads the JPEG compressed data, and then decompresses it. Well, that’s the theory at least — the in-memory decompression is this afternoon’s task, and I haven’t finished it yet.

The next step after that is a simple kernel module which takes the decompressed data from user space, and offers it back up via a video4linux device file. That means that all the video4linux applications which you have grown to love will continue to work, new applications can be written that know about JPEG, and the decompression doesn’t have to be done in kernel. It appears that the dude who wrote motion has a simple kernel module which I can leverage as well.

Very cool, and it’s nice to make some visible progress for once.

On the work front, we’ve stopped design on my latest project, and started coding. It feels really good to actually get to write some code for once, and my moral is improving. The first milestone was met today, basically on time…

On the organizations front, LCA 2005 seems to be progressing well (given that we’re just less than a year out from the conference now), there’s lots happening with Linux Australia regarding the Free Trade Agreement with the US and other things, and AUUG is progressing with getting their annual conference under way. I need to chase some AUUG issues up regarding contacting Australian computer science departments to let them know about the conference, but I’ll be looking into that this evening.


My poor TiVo


The three week old Seagate disk in my TiVo died yesterday. I’m picking up the replacement disk today:

Apr 21 17:52:57 (none) kernel: IDE: calling handler with
dma_running, altstat=0x51
Apr 21 17:52:57 (none) kernel: IDE: read command for sector 3299234
bailed with DMA running
Apr 21 17:52:57 (none) kernel: hda: unexpected_intr: status=0x51 {
DriveReady SeekComplete Error }
Apr 21 17:52:57 (none) kernel: hda: unexpected_intr: error=0x40 {
UncorrectableError }, secCnt=26, LBAsect=3299336
Apr 21 17:52:57 (none) kernel: Stopping immediate on Ide
Apr 21 17:52:57 (none) kernel: hda: tivo_dma_intr_direct: status=0x51
{ DriveReady SeekComplete Error }
Apr 21 17:52:57 (none) kernel: hda: tivo_dma_intr_direct: error=0x40 {
 UncorrectableError }, secCnt=26, LBAsect=3299336



Had a very productive meeting with a gentleman from the Department of Communications, Information Technology and Arts about the intellectual property provisions of chapter 17 for the free trade agreement. It seemed to be quite a worthwhile meeting, which was nice.


A busy few days


Well, I’ve had a busy few days. I had breakfast with the Australian olympic men’s hockey team, had a paper accepted for OLS, and finished building the pantry in my kitchen. More details as they come to hand.


Panda 0.5.4 released


(Evan has taken over maintaining Panda, although I will be dropping in from time to time to add code still)

Subject: [panda-development] Panda-0.5.4 Released
Date: Monday 12 April 2004 11:28 pm
From: Evan Nemerson 

Hi everyone,

I've just released Panda-0.5.4 via Savannah and SourceForge. I will make an
announcement via Freshmeat as soon as the files are available via

The release can currently be downloaded from:

As you may already be aware, the most important change in 0.5.4 is that the
library is now available under the terms of either the GPL or LGPL (your
choice). In order to accomplish this, the TDB code was removed, and either
Enlightenment DB or Berkeley DB (version 4) must be linked to in its place.

Other changes include the addition of link annotations (internal and
external), pkg-config support, and an RPM. The main point of this release,
however, was the licensing issue.

The time has begun to begin thinking about the next release of Panda, and
though I do not have a time frame, I do have a few features I'd like to

*	Improved font handling, using FreeType. I would like to be able to embed
 and use arbitrary fonts, supporting line and page wrapping of text boxes.
 *	Support XMP metadata, noteably Creative Commons licensing data.
*	Bindings for different languages, such as PHP, Python, etc.
*	Comprehensive documentation, using DocBook XML
*	Stronger Windows support

If you have any other ideas you would like to see integrated within the
library, please send a message to

The files for this release can be found at:


TiVo video extraction


I found that the OzTivo 3.0 1.3 release didn’t work out of the box, and that I had to upgrade the versions of the mfsstream and mfscat modules that I had installed with TiVoWeb. Then it all just worked. You can find more instructions here.


Nigerian 419 scam


Last time I asked Kristy over for dinner, the email started with the subject line “Wanna come over for a hot date?”, fear not for my marriage, Catherine was there too. Apparently this nearly set off Kristy’s spam filter. Therefore, the only logical conclusion is to try to draft an invitation to dinner which would set off the spam filter. I therefore present:

    ATTN.: President / CEO
    I presume this letter will not be of a surprise to you.
    Your company was introduced to me by International Chambers of
    Commerce and Industries, but this business was not disclosed to
    Chambers of Commerce and Industires.
    I am LARRY TOFUALOTOYOU an employee of Federal Government of Nigeria
    owned Coporation, Nigeria Chicken Tandori Corporation (NCTC).
    Few years ago, the Federal Government of Nigeria instructed the
    corporation (NCTC) to award contracts on behalf of Government for
    building of a Refinery in the Northern part of Nigeria. In respect of
    the above, I and three of my co-employee of Nigerian Chicken tandori
    Corporation was appointed as the contract awarding committee of the
    corporation (NCTC) to deliberate on the best foreign companies to
    handle the building of the Refinery, after much deliberations within
    the members of the committee, the contracts was awarded to some
    foreign firms to carry out execution of the projects, but before
    awarding this contracts, the four members of the contracts awarding
    committee have secretly agreed to over-inflate the actual contract
    value with the tune of ONE DINNER AT MY HOUSE which we shall use a
    reliable foreign company to claim.
    Now, the contract are complete and the actual value has been paid off
    to the original contractors that executed the building of the
    Refinery, we have decided to choose your company to act as the actual
    beneficiary of the over-inflated sume of ONE DINNER AT MY HOUSE.
    Secondly, your compnay will be front to get all nessesary approvals
    and formalities that justifies you as the actual beneficiary for the
    concerned Government Ministrires before the fund will be transferred
    into your account.
    1. You will retain 20% of the total sum transferred into your account
    for your contribution towards the business.
    2. 70% will be for the four Government officials that originated the
    3. 10% will be set aside for deduction of all the expenses which will
    be encountered by you and us during the cause of proceszing the
    nessesary approvals from the Government Ministries for the transfer of
    the fund into your account.
    In you are interested in this transaction, kindly handle the matter
    with SECRECY and ask for more details by contacting us through the
    email address is message was sent from.
    Best regards,

Hmmmmmmm? The other intesting thing is that I couldn’t find a 419 email in my archive of recent spam, I had to web surf to find a sample of the offer and grammar… What happened to them all?

Next time a Viagra spam!


Minding the kids at home


It’s pretty hard to get much done when chasing the kids around the house. My big achivement, apart from playing with klife a little is to rediscover frozen yoghurt… It’s yummy.

I’m writing this whilst listening to MP3’s in an effort to avoid having to be in the same room as Seventh Heaven. It’s just way too cutsey for me. I’m listening to Du Hast. I don’t speak German, so I had to surf to find out what on earth I was listening to.

Lots of interesting things seem to be happening at the moment:

  • The free trade agreement that the Australian government entered into without considering open source at all seems to suck, but there are things you can do about it.
  • There are Microsoft employee blogs popping up all over the place. It makes me wonder if there was an official edict to start blogging, or if a blanket ban was just lifted or something. An example is the Channel 9 blog, which seems to be trying to make Microsoft seem a little more caring and personal. To whit:
      Channel 9 started as a personal story from one of us about fear of flying. Lenn realized after years of dealing with it, that it was actually a fear of the unknown. The fear was conquered through learning. The more transparency into what it took to fly a plane, the more the fear went away. Lenn got to know pilots who flew planes everyday, and every time he flew he turned on Channel 9 on the in-flight audio system to listen in to the cockpit.
      We think developers need their own Channel 9, a way to listen in to the cockpit at Microsoft, an opportunity to learn how we fly, a chance to get to know our pilots. Five of us in Redmond are crazy enough to think we just might learn something from getting to know each other. Were we wrong? Time will tell.
      Join in, and have a look inside our cockpit and help us fly the plane.
      Welcome to Channel 9.

    It’s a pity about all that video on the site. The site seems to have happened because of the how to hate Microsoft from Robert Scoble.

  • Some analysis of what Google appears to be up to. A couple of things occur to me here. I’m told that Google keeps their web search database basically in RAM (cause that was it’s nice and fast), and that they have 100,000 machines. The smallest disc you can get these days is around a 20gb, and a Linux install takes around a gig (probably less for a secure machine with everything turned off, but this is back of an envelope maths). That means Google must have around 1,900,000
    gig of spare storage to throw at the email storage problem. Wow.

MRD on the FTA


In the words of MRD:

“The US-Australia “Free” Trade Agreement (FTA): Linux Australia just released its
position paper on the FTA and the
negative effect it will have on Open-Source in Australia. This is a
very important issue, so if you are in Australia, consider writing a
letter to your local member of parliament, submitting something to
the senate committee considering this treaty, or raising awareness
of the issues in your local IT community. Our mailing list will soon
provide details on how you can get involved – but don’t wait – the
senate committee submission period closes soon.”

Rusty and our
independant legal advice think you should care about this issue too.