Enhancing Python unit tests further with decorators

Decorators in Python are awesome. In follow-up to my previous post on a missing feature in Python’s unittest module in comparison to PHPUnit, here’s the implementation of PHPUnit’s @expectedException annotation in form of a Python decorator


Endless scrolling based on a simple HTML pager

We had a little brainstorm today at work at how endless scrolling could be best implemented utilizing progressive enhancement. Here’s my idea and a proof of concept. And a good example of progressive enhancement in pure form, if I may say so. The concept When I think of endless scrolling, I see it as just […]


PHPUnit style dataProvider in Python unit test

PHPUnit has a handy feature with which you can provide testdata to your tests. This is called a data provider, and is implemented by annotating a test with @dataProvider methodName. Python’s unittest module doesn’t seem to have such a feature.


Introducing Spritzer: A CSS sprite generator

CSS sprites are pretty useful in web development. The general idea is you use one big image that contains all your icons and other interface-related images and use that image as a background for your HTML elements, shifting it’s position such that the right portion of the sprite is displayed. This technique is becoming more […]


About MySQL, UTF-8 and saving headaches

One of the most confusing topics ever in web development history is character sets. MySQL has a lot of features to help you with this, but when things go wrong, it can be a real pain to get it solved. Read this and fear no more.


HTML5 WebSocket Server – Work in Progress

So, I thought I’d devise a websocket server in Python. I’ve been tweeting some stuff about that too, but as soon as I wanted to publish the source code, I accidentally deleted websocket.py, instead of websocket.pyc (which I didn’t want to occur on github). That was quite dumb…


10 must-have key and mouse binding configs in Openbox

In openbox, you have a configuration file in ~/.config/openbox/rc.xml in which you can pretty much configure all the shortcuts you need in a lifetime. Here’s my top ten configurations, along with their code.


“Taxonomy” does not direct course of implementation

A taxonomy is an ordered, parent-child (or ‘tree’) structure, used to classify a set of data in groups and subgroups. Any relation to a subgroup implies a relation with the parent group(s). This phenomenon is also called classification, but has recently been popularly called “tagging”. However, though tagging implies taxonomy, not all taxonomy is tagging. […]


Arch Linux: the better hobbyist’s distro

I made the switch from Debian Unstable to Arch Linux for my home desktop a few weeks back. I’m both impressed and pleased.


Python: an introduction for PHP (and other) programmers

I love Python. It is clean, it simple and it evolves in a natural and healthy way. I have been working with PHP for over 10 years now, but Python stole my heart. Ahhhww 😛