Monthly Archives: May 2013

Fixing RDNS_NONE with Spamassassin

After filtering spam with Exim, I wanted to add Spamassassin to do content based filtering. While testing the spam filtering, I ran into a bit of an issue: I encountered a spam score factor in every single e-mail: RDNS_NONE with the score of 1.3.

Doing a quick Google turns up some less-than-useful documentation pages and a lot of people with the same problem, yet no solution. So let’s go hunting…
Continue reading

LXC tutorial

LXC is the new container virtualization technology of the Linux world. It’s free, it’s fast and it’s open source. Although it’s meant to replace OpenVZ, it’s not quite there yet.

Despite this fact LXC is an immensely useful tool to run various applications in mostly separated environments. As with all new technology, no in-depth documentation exists to date, so bear with me as I endeavor to show you how it is all put together.
Continue reading

Proper time handling with PHP and MySQL

Few developers actually know that not only character encodings but also time handling can cause you headaches when it comes to PHP and MySQL. Contrary to popular belief, PHP’s time handling actually works quite reasonably if you know how time actually works. If you don’t, you may be in for a big surprise when you add 3 days to a date and end up with a date 4 days from now. The answer lies within the *NIX time handling.

Continue reading

I find your lack of faith disturbing

Fixing the Dependency Injection Container in PHP

I’ve been developing PHP well over a decade now and I came to develop a distaste of a phenomenon that has been ravaging the community for quite some time: the lack of code completion. Editors like PHPStorm do an amazing job at discovering variable types, but even they can’t cope with one thing: the Dependency Injection Container.

Framework designers place modularity of their systems above their developer’s convenience, which results in a lot of f-words being thrown while developing. So I went out on a quest to bridge the gap and enable code completion for the Dependency Injection Container.
Continue reading

Supercharging your sitebuild work with SASS and PHPStorm

Sitebuild is a pain in the neck, no small part due to CSS’ inability to use variables, includes and such. Most of the time we also constantly need to upload stuff to a server. I’ve been a PHPStorm user for almost a year now and even though it has already been an awesome IDE for PHP, with version 6 it became even more awesome. (Full disclosure: I am in no way affiliated with JetBrains.)

I’ve recently started to create a new theme for my WordPress and I’ve found a really comfortable way for working with these tools. Even though I’m going to take WordPress as an example, the techniques described here are applicable to just about any sitebuild process.
Continue reading