Blog Archive


Android: PuzzleChess game

Date: 29 Dec 2011
Tags:

I like to play with unfamiliar stuff. Not that I’ve never written an Android or java application, but this one is a bit different. It’s a simple game I’ve made while I was looking at (real life) puzzle game where you have to switch knights from a chess-game from one position to another. Not really hard, but not very simple either. I knew there are plenty of puzzle games like this out there, so I decided to create a simple game-engine that allows to create those games easily. The result: a 90% finished game called PuzzleChess. This blog-post is trying to find the last 10% of the game :)


Facter: ZendServer

Date: 28 Dec 2011
Tags:

When you are dealing with Zend Server on a puppetized machine you can run into trouble: Zend Server uses it’s own packages for maintaining things like PHP etc so when you are installing PHP, you might end up with the PHP version of your distribution instead of the ZendServer. We actually run into trouble once where we have 3(!) different PHP versions installed on the same server. What could possible go wrong!


php 5.4 + htrouter: Your personal Apache 2.2 compatible server

Date: 22 Dec 2011
Tags: [ htrouter ]  [ php5.4 ]  [ webserver

Version 5.4 is soon to be launched as the next new stable release of PHP. Granted, there will not be major changes like we saw in version 5.3, but it will still have some nifty new features. Two of the most important ones: traits and the internal web server. This post is about the latter one. The new web-server makes it possible to run your PHP code through your browser even when you don’t have your own web-server like Apache or nginx installed. It has got some advantages, but this of course has raised some serious discussions: should PHP even be distributed with a web-server and if so, how can we make sure that it won’t be misused as a production server? Well, we really can’t forbid people to (mis)use this, but we hope most of us will use common sense.. The project in this blog-post however, can be considered as “The Enabler”. It can be a powerful tool for developers, but makes it easier for people to misuse the web-server. Time of course, will tell if this will be the case, but I think I’ve created a (simple) tool that will create the new Dr Jeckyl web-server into a Mr Hyde… What could possibly go wrong? :-)


New company website is online

Date: 13 Dec 2011
Tags:

Ok, so it’s not he most beautiful website you will ever see. Nor will it be the one with the most content. But it’s my company website, and I’m proud of it. Even if it was only a matter of installing WordPress, finding a theme, do a little bit of tweaking and adding some content. However, I’m happy to say that at least I have a point where (future) customers can find information about me and the things I can do for them on a freelance base.


Book review: Confessions of a public speaker

Date: 12 Dec 2011
Tags:

I’m not exactly sure where I got the link to this book. It was probably a tweet or IRC-posting from somebody, but it actually was because of Amazon’s take-a-look-inside that made me buy the book. The few parts of the chapters I read where not only funny, but had lots of interesting tips & tricks for me as a (wannabe) speaker.


SPL: Using the iteratorAggregate interface

Date: 04 Dec 2011
Tags: [ iterators ]  [ PHP ]  [ spl

The SPL is one of hardest things to grasp for most PHP developers. But why is this? The lack of documentation inside the manual, the fact that there are not many real-life examples, or maybe it’s just too hard? In this post I will try to explain a bit more about the “iteratorAggregate” interface. Together with its more famous brother Iterator, they are currently the two only implementations of the Traversable interface, which is needed for objects so they can be used within a standard foreach() loop. But why and when should we use the iteratorAggregate?


Compatible code: starting with symfony2

Date: 01 Dec 2011
Tags:

Because learning new stuff is just one of those things I need to do on regular basis, I’ve decided to dive into another framework than the ones I’m used to. Having dealt with mostly Zend Framework 1 on a daily basis, and CodeIgniter which is the one I deal with a lot inside the Joind.In project I’d like to contribute to, I’ve decided to give another framework a chance. A framework that is on the shortlist for a long time now: Symfony 2. The tl;dr: winning!


Goodbye Enrise, Hello world

Date: 07 Nov 2011
Tags:

You close one door, you open another. And though it makes me sad to part with a company, the people and all the stuff they do, I never have regretted a single career-move I’ve made in the past. The Enrise door is about to be closed and I’m ready on opening another door. Excited and sad times truly run in parallel.


Don't make your database a slave to your ORM

Date: 29 Oct 2011
Tags: [ databases ]  [ orm

ORM’s, or object-relational mappers, are a great way to convert (mostly) relational databases to classes in a object oriented language. It takes care of SO many things you do over and over again: fetch records from a table, populate an object, implement getters and setters, update or add records when needed etc. A lot of this work can be abstracted away by using patterns like ActiveRecord, table gateways and/or data mappers. An ORM will even abstract away this further as a whole and let you only deal with the resulting (domain) models. There is no immediate need to interact with any data storage of any kind. Who would not want this!?


Netiquette gone wild: how not to use social media and email

Date: 28 Oct 2011
Tags: [ netiquette

Oh man.. The amount of stuff you can see and that cannot be unseen on twitter and email is just massive.  And even though it looks like total anarchy out there, some (social) rules should be taken into account. After all: you are dealing with others who do or do not share your point of view. Netiquette was something that was considered a good thing back in the days. The amount of emails I currently see that responded to somebody “not following netiquette”  these days are pretty much decreased to zero, while years ago, people not obeying were reprimanded.  Especially now with all the media outlets we have at the tip of our fingers: shouldn’t we go back to those basics again? Pinkies up!


ZendCon 2011 retrospective

Date: 26 Oct 2011
Tags:

If there is a top-3 of conferences, ZendCon will be present in that list. It’s probably *THE* conference to be when it comes to PHP development, so how awesome is it when not only you can visit ZendCon, but are invited to speak about one of your favorite subjects? Answer:  VERY awesome :)


LAMP-stack? Forget it! It's a LAMPGMVNMCSTRAH-stack now...

Date: 26 Oct 2011
Tags:

Back in the good old days - and in internet-time, this actually means just a few years ago - people were quite happy with their LAMP stack: Linux, Apache, MySQL and PHP. With this quartet, or a variation on it like PostgreSQL instead of MySQL, we could do everything: create a blog-site, setup an e-commerce web shop, making a guestbook, you name it and it was there..

But times have changed… radically. More and more information is available and must be processed quicker and in more difficult manners than before. Do you accept a web shop where you cannot even do faceting search? Not really. But those systems can be more complex than they appear and lot of components must be used in order to get things working and working fast. In fact, there are so many components that we cannot speak of a LAMP stack anymore. A better name would probably be a LAMPGMVNMCSTRAH stack..


Creating partitioned virtual disk images

Date: 11 Oct 2011
Tags: [ cybos ]  [ ext2fs ]  [ losetup ]  [ mount

Using a disk image is very easy: download the file, mount it through a so-called “loopback” device and your OS will see the image as it was an real harddisk, CDR or DVD. When I needed to test the IDE-drivers, the partitioning-functionality, the ext2 drivers etc, I wanted to use just such an image so I can quickly make modifications and check how the actual structure looked like, just by reading the disk image file. This is a great help when it comes to debugging.


Creating MCollective clients in PHP - The hard way

Date: 01 Oct 2011
Tags: [ marshal ]  [ mcollective ]  [ PHP

If you haven’t heard of MCollective, think of.. The Borg.. Except without the laser-eye, or the spaceship-cube, or the scary voices. Come to think of it,.. it doesn’t really have anything to do with the Borg, except they are both a collective, and you are in charge.. just like the Borg-queen. And everything else is futile..


Book review: Pro Puppet

Date: 22 Sep 2011
Tags: [ book review ]  [ puppet

If you have read the book “Pulling strings with puppet”, a lot of this book might sound familiar to you already. Not really a strange thing since it’s from the same author. But because the book was written in 2007, a new update was in order and the new Pro Puppet book they’ve release so much more than an update: it’s a complete reference for beginning to the most expert puppeteers.


Book review: The geek atlas

Date: 29 Aug 2011
Tags:

I got this book as a present from last year’s PFZ workshop day (thanks again guys), and is filled with 128 (get it?) places around the world interesting for geeks. I have to admit that even though a lot of places were unfamiliar for me, so it gave some nice new items for my todo list.


Book review: VMWare vSphere 4.1: HA and DRS technical deepdive

Date: 27 Aug 2011
Tags:

I bought this book even before I’ve ever installed vSphere, and still it’s comprehensible. Let’s pretend it’s because of the book, which is very easy to read and not only tell you how to setup certain parts of vSphere, but also WHY.


Book review: Simly Einstein: Relativity demystified

Date: 27 Aug 2011
Tags:

If repetition is the key to learning, you will learn a lot from this book. It keeps on repeating the most important aspects which in a way is good, since you will not forget them. The book itself gives a global view on Einstein’s special and general relativity theorems in a very simple and comprehensible way. There is little math involved, except for the last appendix of the book and still that is high school math that makes sense to everybody. So can a book about relativity do without math?


These are busy times...

Date: 15 Jul 2011
Tags:

Not a lot of updates lately, but by no means I’m sitting still. The last few weeks lot of stuff has happened, and even more is to come. First of all, my second article has reached the PHP|Architect magazine. This time about the deflate-algorithm. Not an article that comes in handy in your daily work probably, but definately worth reading to find out how things work from the inside.. It’s kind of a how-stuff-works for computer-geeks.


Asynchronous operations in REST

Date: 02 Jun 2011
Tags:

REST is hot! But doing REST right is more difficult than most people think. Idempotent methods, hateoas, RMM levels… All terms that a REST developer should know and master. But from a learning (as I do too, by the way) developer perspective, it looks pretty simple: use HTTP methods like get, post, put and delete, map them onto resources, call the underlying database models and you’re done: a fully RESTful API in just 5 minutes. But off course, when you actually have created a RESTful API, you find out very quickly that nothing could be more difficult. One of the more common problems when dealing with REST might be asynchronous operations. Let’s find out how to deal with those…