Sunday, December 4, 2016

Welcome

So, hi.  My name is Brian Hurt, and welcome to my latest blog.

First, a word about me.  I write code for a living- I'm a programmer.  If I decide to get fancy, I might even call myself a software engineer, whatever that means.    I've been banging around this industry for 20+ years now, ranging from the very low (I've written device drivers.  Heck- I've written BIOSes.  Not the plural.  I'm stupid some ways) to the very high (I've been paid to program in Ocaml, Clojure, and Haskell- I've been so high on the abstraction layers that presumably there's hardware under there somewhere, but I don't have to deal with it).  But my attitude is very much that I'm here to write code and chew bubble gum, and I'm all out of bubble gum.

If there's one lesson I've learned from all my years in the industry, all I've seen and done, that I want to impart, it is just this: that theory matters pragmaticcaly.  That ideas matter.  That knowing how things work matters.  Because that's all theory is- ideas.  Ideas, and pre-cooked solutions to hard problems.  I'm no academician.  Heck, I really need to finish that undergraduate degree one of these days.  I'm a practitioner whose learned the theory, because it was useful.  And my experience is that while there may well be theory that has no practical value, I haven't encountered it yet.

And, just for the record, I find myself writing a sort routine, or a tree balancing algorithm, or a priority queue, or some other "Algorithms and Data Structures 101" thing every 6-8 months or so, for one reason or another.  Generally because the standard library doesn't work the way I want it to work, and it's faster for me to just bang out a sort routine that works the way I want it to work than to contort my code to be able to use the standard library.  Though the point of teaching you that is to teach you how to evaluate and understand algorithms and data structures- which is something I use every single day- even the literal skills are useful on a regular basis.

So that's the point of this blog, and it's subject matter.  It's a forum for me to discuss the theory I've learned, and how I'm applying it to real world, day to day problems of a programmer.  And, more than likely, rants about technology or the industry.  I'm going to keep politics and philosophy, as well as more personal topics like what music I like and what I had for lunch, off the blog.  You're welcome.