Duane's Brain

My Advent Of Code

By Duane on Dec 3, 2024
Red Car Christmas Tree

I remember when I learned to code. It was the early 1980s, I was maybe 11 years old. Home computers were barely a thing yet - our elementary school classroom had inherited one from the high school.

I remember the first time I saw let a=a+1 and it blew my mind. I could get my head around the algebra, that a was a variable that held a value, like 15. So how could 15 = 15+1? I remember complaining about it to my parents, who had no idea how to help me, and my teacher, who patiently taught me the concept of the left-hand and right-hand side of a statement and how they are evaluated differently.

It was magic and I loved it. As a freshman in college studying computer science I got to read Joseph Weizenbaum’s paper on the “compulsive programmer” where I saw this:

The computer programmer, however, is a creator of universes for which he alone is the lawgiver.

And boy did I live it. I read Steve Levy’s Hackers. I’d found my people. I’d found my passion. I loved this. Need the computer do something? Just tell me what you need and turn me lose, I won’t lift my head until I have your answer.

That was thirty years ago. I’ve had a long career as a professional software engineer, spent many hours at the keyboard writing many thousands of lines of code. But somewhere the passion started to slip away, no matter how good I game I talked. I’d always tell people how lucky I was to get paid for doing what I loved, but did I still love it? Did I love solving other people’s problems, to other people’s standards, just because I was getting paid for it?

Even my pet projects suffered. I still tell people that my happy place is “hands on keyboard.” Like many, I have no shortage of ideas. I’m always coming up with some new piece of code to try. But each of them comes with a bar it has to pass — what’s the value? Is it a portfolio project? Can I put it up on a public server somewhere (and if so is it going to cost me anything)? Can I make money with it? Somewhere along the line I began to use the phrase “toy programs” for anything that didn’t achieve those levels. Something you coded just because you wanted to, that had no other value? Toy. I don’t have time for toys.

Then I got laid off, and I got my time back. Any unemployed software engineer will tell you that they now feel compelled to give themselves a crash course in every technology they don’t know. Am I a good enough Ruby programmer? Should I learn Python, or Go? How about React? I don’t know what my next job will want so I have to know all the things, even though I know that “well, I taught ____ to myself over the last few months” will never register as meaningful experience, regardless of intensity. Did you get it out to production, hit it with real volume? Work with a team of stakeholders? Probably not. But we do it anyway.

Enter Advent of Code. I’d known about this December project where you get a little assignment to finish every day of the month, but had always dismissed it as a toy. Why would I do that? If I was going to code I wanted to code things that benefitted me in some material way.

Man, was I wrong. I decided that now is the time to try Advent of Code for myself. I chose Python, because my Python skill is right on that edge of “Sure, I know it, I can read it, but I haven’t used it recently.” So I might as well refresh my knowledge, yes?

The assignments are indeed simple, and that’s the point. “Here’s a file with two columns of numbers, sort them, pair them up, then find all the pairs where the first number is less than the second.” That’s a random example, not an actual assignment. Nothing rides on the answer, except that original feeling of “I had a question, and I wrote code to find the answer.” The

© Copyright 2025 by Duane Morin. Built with ♥ by CreativeDesignsGuru.
Icons by Icons8