Getting stuff done
My life has changed so much over the past year, on both a personal level and professional. I created my blog because I wanted to be better at what I do, I found it to be an incredible motivational tool especially since I made a commit to myself (and others) about posting. When I started, I wanted to post at least once a week and I ramped that up to twice a week in the middle as I felt I could do more. I mostly kept my promises which I’m very happy about and it just illustrates the power of blogging and making things public.
If you have been following me for a whole you probably could guess I also promised myself to brush up on my algorithms and data structures also. During the past year I read The Algorithm Design Manual cover to cover which taught me a lot and really changed the way that I develop software, I used to struggle determining an algorithm’s time complexity for example but now it’s a piece of cake.
I also released my first app on the Play Store, a widget to aid in Korean language vocabulary acquisition built primarily for myself. I have another app which I’ve been working on but I’ve put it on hold due to other work.
I became active on Stack Overflow and had a great time in the process, it’s such a cleverly designed system how it encourages good/helpful behaviour by making it fun. I went really hard at this for a while managing to rack up a whopping 468 points on one day.
It’s only been a year but I’ve redone the look and feel of the site twice. I didn’t have much experience actually designing software before this as I’m not a designer.
Pretty huge difference looking at the shots, for the first redesign I was a little scared to jump in and heavily change the Blogger template but for the second one I got my hands dirty.
Blogging, what I did right
Here are a few things I think were done right.
If you can’t explain it simply, you don’t understand it well enough.
A lot of my posts are actually little research projects where I am interested in a particular technology or technique so I spent a few hours to a weekend researching it and then explaining it to the world in my own words. Before my blog I just completely lacked motivation to understand something fully when investigating new technologies. This is really different when you’re writing an article that’s written by yourself, you need to make the material quality as it affects your image.
When you’re a bit of an OCD when it comes to organisation like myself you stop to think about things like at what level should I be labelling my posts.
For example I could label a post about the different between an interface and a class in C# with “.NET, C#, VB.NET, class, interface, code, programming, tips, comparison, …”, I’ve always found this sort of tagging not particularly good because your users will be completely overwhelmed by the thousands of tags in your list and resort to searching which would return the same results anyway. Instead I went with a much more restrained approach only considering really big keywords that I think would be useful to a user.
Blogging, what I did wrong
This was my first blogging experience, naturally I made a few mistakes along the way.
I started off doing my code format in Visual Studio, copy and pasting to Word and then copying and pasting into Blogger which preserved the VS styles. I knew this was bad but I didn’t really know what people did in these cases (and didn’t want to figure it out when I was writing my first few posts). I remedied this later by including Google prettyprint and writing my code in
I’m kicking myself a little because I still don’t have a search facility on the blog. It was enabled for a few months but I got rid of it when I did the second redesign. Unfortunately the Blogger widget is made with tables (yes, tables Google!) and as you know tables aren’t the best for styling and accessibility so I got rid of it. This will probably be of more use to me than anyone else because I frequently use a good number of the articles as references. I just haven’t gotten around to re-enabling and trying to style it in a nice, responsive way.
Most popular posts
Here is a list of the most popular posts to date (based on +1s/likes), naturally listed in reverse order to heighten suspense.
I redesigned the site in September first, a short period after that I realised I totally hate white text on dark background so I gave it another go in January. This time I really went all out, redoing the logo, giving the menu another level of navigation, making it responsive, adding some high pixel density graphics and paying attention to the typography. I was really happy with the result. Since then I’ve only done a few small tweaks, nothing major.
I went with a new format with this post, normally my posts are code snippets with brief technical discussions or more in a more reference-like format. This one was a full blown knockout tutorial using a running example.
A little explanation on the difference between using mixins and placeholders in Sass.
Pretty much the first thing I tried to do after installing a few apps was figure out how to organise my start menu. Seeing as it was not immediately obvious, I made a little tutorial.
I wrote a series on sorting algorithms which was really fun, this was one of the more in-depth ones containing three different implementations of merge sort.
This came about purely because I discovered that
List.Capacity existed and was curious about the memory implications of using it. Originally it just explained
Lists in C# but I some addition research for
ArrayLists in Java after coming across this question on Stack Overflow and included that in the post.
A little after I used the
System.Threading.Tasks library for the first time, I wanted to share how super easy to use I found it.
Part of my series on data structures which explained how min-heaps and max-heaps work with an accompanying implementation.
By far the most popular post. A detailed look at how triangles work in CSS.