Four years
Four years have passed since I posted my first article on the blog. Time for a retrospective!
My year
This was a pretty big year for me once again, with the highlight being that I started working at Microsoft. It’s been a really great experience being able to spend the majority of my time working on an OSS project, on a tool I use and adore no less.
On the blog side of things, I’ve managed to put out 16 articles which were fairly well distributed throughout the year, no major downtime in particular like last year. This was more than last year (14) and the year before as well (13), so I’m pretty happy with that.
New stuff
Just like last year, I made a lot of improvements to the site as a whole:
- Created a program that syncs code from GitHub. This tool saves me a lot of time syncing code between the open source GitHub repos and the blog posts. I hope to open source this when I get some time to clean it up and make it more useful for general consumption.
- Added support for multiple language code snippets.
- Moved from MathJAX to Katex for performance reasons
- Added many more code samples to various articles, including Ruby and Python samples.
- Added a 192x192 favicon
- Add Projects page
- Upgraded pathfinding visualiser to Polymer 1.0
- Added sorting visualiser
- Added abbr-touch demo
- Added heading anchors for easy linking to article sections
- Many wording improvements and fixes to code examples
Sorting visualiser
Over the last few weeks I’ve been busy in my spare time putting together the sorting visualiser page and integrating the visualisations into the individual sorting articles.

I had always felt a better visualisation was missing from the sorting algorithm articles as the static images can only go so far at converying the message. This project utilises the js-sorting project which is the same repo that all the sorting code samples are pulled from. It was a fun little challenge trying to keep the sorting algorithms as clean as possible for use as code examples, while also allowing sorting visualiser to listen in on the internals.
Analytics insights
Here are some interesting stats on the traffic to the blog, comparing them to last year.
Traffic source
- 86% organic search
- 9% direct
- 3% social
- 2% referral
- < 1% email & unknown
Browser
- 71% Chrome
- 16% Firefox
- 5% Safari (↑ was #4)
- 4% Internet Explorer (↓ was #3)
- 1% Opera
- 1% Edge (new)
Form
- 92% desktop
- 7% mobile
- 1% tablet
Location
- 26.79% United States
- 14.44% India
- 5.20% United Kingdom
- 3.52% Germany
- 3.06% Canada
- 2.09% Russia (↑ was #9)
- 2.07% Brazil
- 2.00% France (↓ was #6)
- 1.88% Australia (↓ was #8)
- 1.79% Poland (new)
Most popular posts
Here were the most popular posts of the year (bold posts were published this past year):
- Handy adb commands for Android published 14 January 2014
async
vsdefer
attributes published 26 February 2014 (↑ was #3)- ASP.NET MVC display and editor templates published 16 December 2012 (↓ was #2)
Func<>
andAction<>
basics in C# published 5 August 2012- Triangles in CSS published 11 Match 2013
- Binomial heap published 19 January 2014 (↑ was #10)
- Bucket sort published 15 June 2015 (new)
- Fibonacci heap published 15 June 2014
- Determine if a string is a palindrome published 21 February 2014 (new)
- Passing parameters to jQuery event handlers published 14 June 2012 (↓ was #6)
Some interesting call outs here:
- Passing parameters to jQuery event handlers has dropped significantly in the amount of traffic it received this year, probably signaling less interest in jQuery as a whole with the emergence of technogies like Babel and module bundlers like WebPack.
- Binomial heap, Bucket sort and Fibonacci heap which I consider some of my best articles are performing well in search results.
My favourite posts this year
These are my favourite posts for the past year:
- AVL tree - Another one of my deep dives into a data structure. This article has a significant amount of illustrations to aid in understanding, when I wrote this I also started creating general content that all tree articles could share. You can see this in the Which binary tree is best? and Representation sections which are shared between multiple tree articles.
- Colours and formatting in Gnome/Ubuntu’s Terminal - An detailed look at the customization of colours in
gnome-terminal
. - Bucket sort - A look at the bucket sort algorithm.
- Find the median of two sorted arrays - Analysis and answer for the interview question of the same name.
- Giving better answers on Stack Overflow - A collection of tips for answering questions on Stack Overflow that I found to be useful while I was a heavy contributor on the site.