Improving Django performance with better caching

The Django cache middleware is great, but has one drawback. If you are caching views (which can give a nice performance boost) Django will only use the path segment of the URL to create a cache key. If you are an avid reader of RFC 3986 you may remember that a URI consists of multiple components; path and query being of special interest here. The problem is documented in ticket 4992 (Update: it is now in Django). Continue reading

November 3: Twitter friend icon impersonation week begins

For a long time I have been amazed how much expression you can get into the twitter icon. It is only 48 by 48 pixels but many of my contacts manage to squeeze a lot of style in there. So, starting on monday november 3 I will change my twitter icon once every day trying to impersonate people who follow me on twitter. At the end of the week I’ll publish all icons side by side for your viewing pleasure. Anyone else up for the challenge?

(note: if everyone in my feed does this there might be a slim possibility to see all my followers looking like me. Apart from me, who will look like someone else. Ah, the excitement!).

Serialization formats don’t matter

I mean, if working with RDF has taught me one thing, it’s that converting between two different forms of serialization is trivial—it’s the underlying model that matters.

Exactly! And still, many who are in the integration business think that XML schemas is the only product required to exchange data between multiple parties. The serialization format(s) should be based on the use cases of the information. And even in a small organization use cases tend to pop up all the time demanding new formats. Most SOA-people see a problem with multiple serialization formats but I am thinking that it is almost insignificant these days if you have a well defined model.

Hello OpenGL World in Ocaml

I swear, if I read one more programming tutorial that starts with a recursive factorial function instead of a simple “Hello world” I’ll pray for perpetual nigerian spam on their inboxes. So, I was delighted to try out some Ocaml stuff today that didn’t involve factorials. Continue reading

The broken state of EU legal information on the web

In my pet project eurlex.nu I find a lot of weird stuff when scraping documents from the official website eur-lex.europa.eu. The most recent specimen – Final adoption of amending budget No 4 of the European Union for the financial year 2008 – has the publish date 80/80/2200. That’s almost two hundred years into the future with an invalid day/month combo on top. This leads me to believe that the system is in such a broken state that even simple date validation isn’t implemented.

Someone delivered a really poor software project for our tax money. I would love to redo the european legal information website with proper standards (e.g. validating HTML, RDF and proper semantics).

Oh well…