
Well, its that time of the year again - I rewrote my website from scratch, the fifth time actually...  

The first version was made with Dreamwaver 4 (I even had a ~500 page book)

![version 1](/data/images/log/ms_de_v1.jpg)

With version 2 I decided to write everything manually. On one side because I wanted to have more control over the HTML, but also because the dreamwaver page was horrible to maintain.

![version 2](/data/images/log/ms_de_v2.jpg)

But my hand-made website had also a few problems. Mainly it looked horrible, so the next version was more design focused.

![version 3](/data/images/log/ms_de_v3.jpg)

While v3 was definitely the visually best one yet, it was also a clusterfuck of multiple hastily written php scripts and stylesheets.
Also a lot of graphics didn't really fit together and I did a lot of ugly css hacks. Not speaking of the amount of work it took to add - for example - a new blog post.

With version 4 I decided to go more professional. I used the popular [php framework yii](http://www.yiiframework.com/) to get a bit of order in everything.

![version 4](/data/images/log/ms_de_v4.jpg)

But yii was a bit overkill and while making new blogposts etc was faster than before it still was annoyingly cumbersome. Especially because most of the time I had to to it first locally to test the php changes (and clone the current server database to my local db beforehand) and then upload it only to add the new content - again - to the server db.  
Also it seems that I'm not a fan of bootstrap.

So the v5 rewrite is now completely my code - no frameworks and no unnecessary scripting (javascript or php). I focused on keeping the code simple so that the occasional changes are easy to do for me.
Also I wanted to make a lightweight website, no unnecessary javascript, optimized images and faster page load.  
Most of the data (e.g. blogposts, project-euler, books) is no longer in a database but directly in the code, this way a simple `git clone` on the server fetches all data and I can easily test stuff locally.

![version 5](/data/images/log/ms_de_v5.jpg)
