2014
← Welcome to tl;drEngine top replacement →
  Blogging about the blog
Sun 27th April 2014   
The new blog engine is alive!

It took quite some time1, and probably has some bugs, but I guess it has reached a good enough maturity level.

Hopefully I will now be able to finish the last part of My Software History without feeling like punching through my monitor!

Good riddance WordPress

This is the 40th article in this blog.

The 39 previous ones were all written directly in the web editor in WordPress.

My first articles were short, did not contain many pictures, and did not really have anything advanced in term of editing; but the more things progressed, the longer the articles became, and the more I needed tools to help with that.

At this point I started to add plug-ins and change themes:
  • Akismet, which is supposed to be one of the best anti-spam comment system, and which unfortunately misses so many of these that you have to review your blog regularly
  • All in one Favicon, because by default WordPress just shows the grey W icon
  • FD Footnotes, because by default there is not support for footnotes
  • MCE Table Buttons, which I installed in hope it would actually help editing tables
  • Syntax Highlighter, because when you show code in a blog, you want it to look like actual code and not just pre-formatted blocs of text
  • WP-cache, because by default WordPress is not particularly fast, and it gets worse when the content starts to be significantly large
At this point, the WYSIWYG2 became basically unusable and kept breaking the formatting, so I had to start using the Text editor instead of the Visual one.

Then the update hell started.

I already had the problem with PhpBB, and I guess it's probably a common problem to all software that has an external web interface, basically if you stop updating the software stack there is a large probability that your website will become a malware delivery system; if not worse3.

At some point I had to update WordPress or its plug-ins more often than I could write articles.

The final straw was the content corruption.

The longer my articles were, the longer it took for WordPress to update the preview page, and the more often I had to review the entire content to see if there was not some randomly broken tag or copy-pasted elements at the end of the page.

I had to do something about it.

The Not Built Here Syndrome Strikes Again

I did a quick review of the alternatives, but really nothing matched my need, so I did what the typical software developer do: Write my own

There are some reasons behind that madness, some will probably disagree with the rationale, but I'm in accord with myself and it's what matters most:
  • I already had made some quickly hacked sites for the OSDK, the Oric 30th birthday page and for The 2D Game
  • I wanted to get better at PHP, and the best way to learn is to practice on something that motivates you
  • Something that I could install on a standard LAMP4 set-up, without any additional software
  • Something easy to backup or manually fix if things go bad, which basically means no database
  • No need for any updates: If the site is left unattended for a decade that should not make it hackable
  • Easy to edit with any text editor
So during the Easter break, I cloned The2DGame site, and modified it to replicate most of the WordPress features I was actually using.

It's still far from perfect, the CSS needs some improvement, there is no caching at all, but the core of it is working.

I finally managed to import all the WordPress comments to the Disqus system, so basically it's now usable if not yet feature-complete

Open Sourcing

I will at some point make the entire source code available, but I want first to use my own system for a while, fix the things that will necessarily annoy me, add the missing markup commands, and most importantly make it possible to customize.

When the time will be right, I will ask who wants to try it, and ask for feedback.

Licence wise, it will probably be something like a Creative Commons or WTFPL depending of my mood at the time :)


1. Well, it's software development, what did you expect?
2. What You See Is What You Get
3. I can think of a total take over of the web-server and possibly your entire network infrastructure
4. Stands for Linux+Apache+MySQL+PHP
comments powered by Disqus