Happy bday to me!

Forgot all about posting last tuesday that I'm really getting old (26). Had a nice relaxed day with lots of presents and a dinner at a nice Thai restaurant thanks to the misses. This weekend I'll have a dinner with the family, and we'll have a bbq/party next weekend.
These last few weeks have been rather quiet, compared to other years where you have the end-of-the-year course deadlines. I've been spreading my wings a bit into other areas: doing research into Google/Yahoo APIs, playing around with Arduino (example, 6MB uncompressed mpeg2 warning), working on learning python-ogre (and writing/converting tutorials) and fooling around with the gc-linux wii proof-of-concept (but I'm not much of a kernel hacker). Aperte does R&D too, you know! :)
I also got a load of books via Amazon. "Don't make me think" was on the top of my list thanks to Jure, and I must admit being rather ashamed of my website "designs" even after only reading the first few chapters. Definitely on the required reading list for anyone calling themselves a web developer...
Oh, and yes: I'm getting gray already.

Posting photos directly from your Nokia 95 (Lifeblog/Atom Post)

Since I got my Nokia 95 some months ago I had been frustrated at not being able to directly upload my photos to Gallery2 from my phone. So I dove into the LifeBlog / Atom Post protocol to see how it works.

I hacked together a quick example available here, that allows you to post photos directly from your Nokia 95 to your webserver (using the LifeBlog protocol). I probably will only use it in the case of a single photo, as the Nokia photo-browser isn't really handy for uploading multiple photos at once, but someone else might have a use for it or want to integrate it in his/her blog.

I wrote it in PHP5, as one day I might modify the old Gallery2 nokiauploader plugin to be compatible with LifeBlog using this hack, but at the moment I can't be bothered anymore. It works, next!

OpenSSL \o/

We were for a few days in Gent (Belgium). Had a nice stay, great weather too.
Right now every self-respecting Debian administrator is busy fixing the FUBAR with OpenSSL. There isn't much official help out yet, but the Debian SSLkeys wiki-page should be enough for most.
I did have one problem however: on one of my servers my ssh host-keys were vulnerable, even after regenerating the keys and purging/reinstalling ssh/openssh-server/openssl. In the end it was due to libssl0.9.8 being a later version than the update in etch (probably from testing), thus it wasn't updated properly even though openssl was. Goes to show that it is worthwhile to stick to stable proper, especially for a production server...

PDF fontfilter

Been rather busy with a number of projects for clients these last few weeks, but now that quite a few of them have been launched I can sit back and focus on some interesting side-projects.

For two projects I've written a PDF report generator that uses a combination of dompdf and pdftk to output very nice CSS-styled reports from generated HTML. Dompdf is quite nice, even though it does take its time to do more complex HTML-to-PDF conversions. Pdftk is used as dompdf can't handle more than a few pages at a time, it seems (lots of OOM issues).

A rather annoying problem however is that pdftk, when concatenating PDF files, doesn't remove duplicate embedded font objects. This isn't an issue when you're talking about a couple of pages, but these reports can easily get to 50+ pages due to a multitude of fonts easily hit the 10MB mark.

Instead of hacking dompdf or pdftk, I instead wrote a small pdf-fontfilter script (you can find it on my projects-page) in python to remove the duplicate font-objects from the PDF. Using this small script, those 10MB PDF files are easily reduced to about 700KB, without any further modifications and with the same visual result.

Although using the Adobe PDF reference manual made things a lot easier, it is plain that PDF is a document format that stems from a couple of decades ago. PDF files are generated to be as efficient as possible for the reader to parse, but this does make it more interesting for those wanting to generate or modify PDF files. Especially the cross-reference section at the end of every PDF document shows this.

Another interesting tidbit: xpdf happily works with badly-formatted PDF files that Adobe Reader chokes on. With all the bloat in Adobe Reader, you'd think that they would be able to do their best to fix broken PDF documents...

IBM internship report online

Last week I had a final discussion for my internship. My results weren't uncontroversial, to say it mildly, but I hope to have woken up some people with my 'fair and balanced' criticism.

You can find my thesis/report on my docs-page, together with a link to the dutchgrid presentation (slides and video) I held a few weeks ago. I've also placed my VGFS-code online (see projects) but do check out the README for a big fat disclaimer.

If all goes well this will have been my last post tagged with IBM and Studies. I've been mulling about a few new projects to kick off, but more on those later. It's time to get productive again.

Back from DIME

Those two days in Strasbourg for the DIME conference were over before I knew it. The presentation on wednesday-morning went well. I'm always much too nervous before a presentation, but before I knew it I was all out of the Alka-linux CDs I made for handing out. All in all the reception of our project was fine, but there's still enough to improve on.

Giulio and the other Italians had other presentations too, but it was good to meet and get to know each other. Although I live and breathe by my email like you probably do, it is a poor means of communication compared to discussing things face to face: Nothing beats the terror you see in the face of an Italian when you ask for a cappuccino after noon :)

Syndicate content