Nerd Food
About
Nerd Food is a sporadic "column" I used to have on my blog and has now been moved here. It contains a number of essays I have made on programming. Not all essays were copied here, as some were specific to a given technology that is no longer useful (e.g. old versions of Ubuntu, etc).
These essays one day will be published in book form. When they do, the next section will be its introduction.
Introduction
The unexamined life is not worth living. – Socrates
As we mature, we tend to introspect more and more, to spend time thinking about the path of one's life. Those little twists and turns across life's graph, some with dramatic consequences, others less so. When in this frame of mind, it is good to read what we had once written, if nothing else because it allows us to judge just how far one has deviated from those noble ideals of youth.
Having lived most of my life in the technology space, I somewhat unwittingly ended up narrating my own evolution across it and, to an extremely limited extent, its evolution too. As such, it seemed only fair to collect all of these writings — whatever their merits are in a literary sense — in an easy to parse from to facilitate reading.
This book thus contains a selection of essays by yours truly on software engineering, spanning a period of just over a decade and a half. It is made up mainly of blog posts taken from my haphazard column "Nerd Food", as well as a couple of other early essays which never saw the light of day.
Essays
Title | Date | Summary |
---|---|---|
Gnome: A User Perspective | Circa 1999 | Early essay opining on the then raging war between KDE and Gnome |
My Emacs and I | Circa 1999 | Early essay around the time I discovered Linux and Emacs. |
On Optimization | Thursday, December 14, 2006 | Optimization is a key aspect of software products |
On World Domination | Friday, March 23, 2007 | Will Linux ever dominate the world? |
On Maintenance | Thursday, May 24, 2007 | Maintenance is the most important aspect of software development. |
Merging and Branching Procedures | Monday, June 04, 2007 | Procedures for managing branches on a software product. |
Take a Walk on the Server Side | Saturday, September 22, 2007 | My views on how to developer server side applications. |
On Evolutionary Methodology | Wednesday, June 11, 2008 | Extrapolating a software development methodology from Linux. |
On the UbuntuBox | Thursday, June 19, 2008 | Wherein we prophetise something like a chrome book. |
2009: Year of World Domination? | Sunday, February 1, 2009 | How the Linux desktop will win, part deux. |
On MinGW, Cygwin and Wine | Friday, May 18, 2012 | Contextual explanation of these three projects. |
C++ times, they are a changin' | Sunday, April 21, 2013 | How C++ 11 is great but also caused an upheaval. |
Start-ups at the Gate: Trends in the Technology Industry | Thursday, September 25, 2014 | How FinTech startups will come to dominate the financial world. |
The Package Management Saga | Tuesday, December 22, 2015 | How Dogen experimented with different C++ package managers. |
Pull Request Driven Development | Friday, December 11, 2015 | Organizing software development around pull-requests. |
On Product Backlog | Sunday, January 17, 2016 | Why the product backlog is extremely important. |
The Strange Case of the Undefined References | Thursday, June 16, 2016 | Investigation of a strange linking error. |
The Refactoring Quagmire | Wednesday, January 03, 2018 | How Dogen got itself into a quagmire and then out of it. |