Skip to main content


Showing posts from 2013

What is Programming?

I was thinking about what I'd talk about if I ever gave a presentation at a conference and then I thought: "Hey, that's what blogs are for."  So here's the basics of what I'd talk about.
What is Programming? A lot of people get into programming without really ever asking this question.  Honestly, most people just assume I'm some sort of computer version of a magician, or worse, a computer version of a factory worker.  I like to think of myself as a techno-mage, but to each his own I suppose.
The sad truth is that I've met programmers who couldn't correctly answer this simple question.  I've met people who've been programming for decades who couldn't answer it.  That disturbs me a little.  I mean, sure, it's not like the people you would explain it to would care anyway.  To them you're often just tech support.  But it matters to me.  When I meet another programmer who can't give me the correct answer to this question, it tel…

My Home Server Setup

I talk a lot about concepts and theories on this blog, but it's rare that I talk about the way I do things.  In order to provide some insight into my life and so that you can understand my perspective before assuming anything about me, let me discuss a little about my home coding environment.

Windows Server 2012
At home I use Windows Server 2012 for my hosting.  Years ago I hosted on Windows 7 with IIS and even had an ubuntu server for a while.  I use Server 2012 because it's the latest and greatest from Microsoft and it keeps my skills up to date and my resume fresh.  I also use it because it's based on Windows 8, so it works well with touch-screens.  It makes it easy for me to remote in from my phone or tablet and not have to worry about a mouse or keyboard.
Virtual Box
I need Virtual Machines.  Whether it's for testing, or for hosting services that just don't host well on Windows.  I use Virtual Box for all my virtual machines mostly because it's free and I ne…

Documentation? You mean tests?

"I hate writing documentation!"
I've seen more than a few programmers say this.  To be honest, I've been guilty of saying it occasionally.  This post isn't about convincing you to like writing documentation.  I already wrote that post.  This post is about something I was talking to a coworker about just the other day.

Tests are documentation
I don't just mean that like when other programmers say it.  "Tests are one form of documentation."  This is much bigger than that.  When you test correctly and thoroughly, it's better than documentation.  That's when sh*t gets real.  I talked a bit about testing before, but what I said was only a piece of the whole.  Tests are the best form of documentation there is.  When you test code you don't understand, the test is a window into what you were thinking at the time.  It shows how the code works when it's done, but only by showing how you figured it out.  How many times have you looked at a pie…