a brief history of blogging

I have maintained a blog, on and off, for a long time (since 2005). During that time I have used a wide variety of blogging platforms (Blogger, WordPress, Typepad, Drupal, Tumblr, Django, Posterous, Jekyll, Ghost, Nikola, Hugo)

My blog was a personal blog. Looking back, some posts were essentially micro-blogging (trite one-liners), link blogging (interesting, amusing BBC news stories), endless analysis of Manchester United together with some longer form articles.

Hardly any of my content was technical despite the fact I was an IT consultant. With hindsight, there were a few reasons for this:

  • I worked all day staring at a screen working on technical issues. I also travelled a lot in the UK and Europe so when I finally arrived home, my immediate thought wasn’t always ‘I really need get my laptop out and blog about that database performance issue’.
  • ‘Imposter syndrome’ - whatever topic I thought of, someone, somewhere at some time would have already blogged about the same topic (normally Tim Hall) - better and more intelligently than I ever could. So who would ever read my post and, moreover, what was the point ?
  • ‘Laziness’ - I am inherently lazy. I freely admit it. It’s not necessarily a bad thing. In fact, I think most developers should be lazy (think scripting, think VM’s). A technical post takes time because, to have any value, it has to be accurate. Also, it probably needs to include screenshots. Taking a series of screenshots and posting images to a blog is a very time consuming and tiresome exercise. It will also pose a significant issue for the imminent migration to the next blogging platform. A technical post requires much more time and effort than posting about Manchester United’s latest victory or the film I saw at the weekend.
  • Work. To be honest, this was a minor issue but often I had a nagging doubt that if I had some useful technical knowledge to share, then perhaps I should share this with my colleagues who worked on similar technical issues rather than chasing page views on the Internet. There was also the issue of anonymity; obviously I could mask my identity, my employer’s name and the customer name but was this ethical ? Did it breach the corporate social media policy’ ?
  • Separation - I did occasionally conquer these various self-imposed mental barriers and post a vaguely technical post about Siebel CRM or Oracle. However, while the minuscule element of my readership who were interested might have commented ‘At last, a technical post !’, I imagined the wider audience (the other six readers) scratching their heads saying ‘Well, where’s the joke here ? What did he have for breakfast ? Screw that, I’m unsubscribing’.


Clearly, I could have overcome all of these issues by maintaining two separate blogs; a personal blog and a technical blog but, like I said, I’m lazy.

I have a love hate relationship with Twitter. I really dislike the adverts and inserted content and for me, it represents a very dangerous distraction and potential time-sink.

However, a lot of the wonderful APEX community use this platform so I was forced to sign up for the 17th time purely to follow the APEX folks who post valuable content (tagged #orclapex) and freely share their knowledge and expertise.

One of my favourite APEX bloggers, Jon Dixon, indirectly drew my attention to Hashnode.

My private email message to Jon (reproduced here without permission) sums up my initial thoughts on Hashnode

Thanks for inadvertently pointing me at hashnode. I was completely unaware of this platform but I like it as it’s Markdown, hooks into GitHub and has a community.

This was useful as I always wanted a technical blog that was separate from my inane stream of consciousness that I post elsewhere.

However, a technical post does take a good deal of time (checking, testing, screenshots, iterating) but ultimately is satisfying I think.

I decided to dip my toe in the water with a post I originally posted on an internal Confluence Wiki.

This was an interesting exercise in itself. My original article was rather rushed and missed out crucial steps (grants on a package).

As I was forced to revisit the original post and review each step from scratch in a clean, vanilla environment, guess what, things didn’t work as I described.

Another benefit was that Jon posted a comment saying ‘Thanks’ which was appreciated and also privately emailed me with a couple of suggestions for minor improvements.

That, to me, is the whole point of a development blog - to hopefully share useful technical knowledge with others but also to have a peer review and learn something new yourself.