On writing your own blogging software.

Posted by Sjoerd Job on Aug. 14, 2014, 7:52 p.m.

Some people believe that writing your own blogging site is the modern day equivalent of writing 'Hello world!'.

As I am currently writing my own blogging app in Python, it makes sense to revisit this statement to give my own thought about it.

If a developer wants to run a blog, he has two choices: roll his own, or use another ones software. Do what you want to do.

The initial thought was: "I want to write a weblog". Of course I could have settled with an off-the-shelf solution, and perhaps I should have chosen that option. Instead, I decided to go with writing my own blogging solution. Not because I knew the other options were insufficient, but because I wanted them to be. I wanted to write something I could easily get used to. Something that wouldn't allow me to enter raw HTML, or write in some ridicilous language called Markdown or RestructedText. I wanted to write in LaTeX. Why did I want to write in that? Because I can!

So, given the strong desire to roll my own blogging engine, I was left with no other choice than to defend myself. That is not something I am really good at. However, that does not really matter. What matters is that I had a plan, a masterplan if you would call it that. I wouldn't start to defend myself. I would let my work show itself. It wouldn't be an enterprise grade blogging engine, with top performance. I was, and still am OK with that. I won't get enough visitors anyway.

Now comes the point I am done defending my choice. To be quite honest, I can not defend you spending time on reinventing the wheel. On the other hand, I don't need to defend me spending my own time on that. It is my time, and it pleases me to write something that I can use.

I have always wanted to write my own blogging software. I have done it once before, in PHP of all languages (I did not know that much better, back then). Now, I am writing it on top of Django. Some might claim that Django is a bloated web framework. I am not quite sure I agree, I might eventually. For now, it allows me to develop something fast, without it taking that much of my time. Instead of having to focus on how the sessions will be handled, or on explicit SQL commands, I can spent time focussing on what really matters: the layout and functionality of the site itself. For now, that means I can focus on my LaTeX2HTML converter. It might have been done quite a lot of times, but it is educational to write something like this.