Nate Dickson Thinks...

Small Thoughts for a Quiet World.

About a year ago I read about the Pi-hole project. For those of you who haven't heard of it, the gist is that you install it on a Raspberry Pi (hence the name) and then use that Raspberry Pi as your network's DNS server. It's a very specialized DNS server that blocks some 130,000 known advertising servers (and counting). And your home network becomes much more advertising-free. The project is designed to be easy. You run one script, adjust a few values, and it's up and running. I didn't put one together until three days ago. Why not? Because I fell into what I call The Adafruit Trap. I adore I love all the tricks, tools, and toys they make available. I love the tutorials they publish; I love the bundles they sell, I love the enthusiasm for tinkering that radiates off the site. I want to make it clear here: the problem isn't Adafruit, it's me. I never want them to change what they're doing. I'm writing this to help change what I do. Okay. Let's move on.

So, here's how the Adafruit Trap works: Step One: I find a project I'd like to try. In this case, it's setting up a Pi-hole server. In my initial research, the task looks accomplishable, and fun, and useful. Step Two: I look for guidance on how to make it happen. Because they write such excellent tutorials, Adafruit comes up high in the search rankings. Step Three: I read of all the really cool ways I could make my simple project So much fancier. In this case, by adding a sweet little OLED display to a Raspberry Pi Zero that has the stats on how many ads are blocked right on the device. This is a legitimately cool idea, and I want to do it! But I don't have the money to buy the OLED display right now, so I postpone for a while. And a while longer. And then get distracted by something else. Until the next time, someone mentions the Pi-hole project around me.

So here's the thing. I had a Raspberry Pi 3 sitting around, unused because it was part of another project for which I could never quite afford all the parts. It's already in a case, with SD card and power supply all set up. True, it doesn't have a sweet little OLED screen displaying how many ads it's blocked, but...what if...

What if I got a Pi-hole server working instead of waiting until I could do it “perfectly”?

One of my friends calls this the “Pinterest Trap,” where you look for inspiration on Pinterest, and everything is so perfect that it scares you off of even trying. In other words, the exact opposite of what tutorial sites are trying to do.

So how do you get over it? Good question! I don't know. So far my answer has been what I said above. I just forced myself to do what I can with what I had where I was instead of waiting for everything to be perfect.

I'm in the final week of my last accounting class ever. I'm pleased with this. In two weeks I will have mostly forgotten everything I've ever known about managerial accounting. I'm less happy about that, but that's the nature of the game. At least I have my notes.

But here's what I'm not going to forget:

My professor in this class is an excellent teacher. I've been thinking about his teaching style all session, trying to identify the things that make his style so impressive, and here are some things I've identified.


He loves this topic, and that enthusiasm comes through in his teaching. One of the most common phrases in his lectures is “now this is interesting...” and you know what? He's right! When he points out something that interests him I get interested. I start thinking about how full absorption moves costs compared to variable costing. He is telling stories using numbers.

On the other side of the coin, he's fully aware that there are people in his class who don't love variance analysis on static budgets vs. actuals. So he works to “motivate” us (his word) to want to learn the topics with stories, concrete examples, and, when the situation demands, MegaBlocks to demonstrate how costs move through a system. It works. I don't love cost accounting, but I understand it far better than anyone would have any right to expect.


Our professor knows what it's like to be a student in his class. He knows this because he listens to feedback. He monitors his emails and answers incredibly quickly. He has moved deadlines, changed assignments, and given extra tutoring sessions because people asked for help. He listened and worked to do what is best for the person asking, and the class in general. He treats us with respect, and it's effortless to respond in kind.


I've never had a professor in any of my classes who is so open about how much he's learning. Our professor asks for feedback and asks to follow up questions about the input. He tells us what he's trying to do and why he thinks it is the right choice, then asks for our opinions.

Which isn't to say he's a pushover. I spent three hours studying for Part I of a four-part take-home final last night. I expect to spend another three hours for part II tonight. The class is hard. But no matter how hard it is I know it's fair. I know that my professor has thought through what he's asking of us.

I'm never going to be a college professor. (Probably.) But there will always be opportunities to teach others, and when they come up, I hope I can be as dedicated and competent in my teaching as this professor is in his.

#MBA #teaching

I've made no secret that I'm getting a (GASP) business degree and therefore leaving my life as a full-time developer behind. My manager asked me “what are your long-term plans?” and my response was “well, I'm not getting an MBA to keep being a developer.”

But as much as I want to move into a role where I can lead developers, I still love the joy of technology, the thrill of learning new things and making these machines do what I want them to do.

For example:

Command Line Awesomeness

So much fun stuff is going on there — a customized status bar with emoji-enabled weather report in the bottom of the tmux window. Ranger and iTerm2 are working together to give me a full-color image preview in a terminal. Things like this highlight the joy of computers: With some time, patience, and a lot of third-party apps, you can make these things do what you want.

#tmux #ranger #cli #commandLine #iTerm2

It was foggy at the train station the other day. On a whim, I pulled out my camera and opened the BitCam app. Something about approaching a train in the fog felt like an early 90's noir adventure game to me. So I took a series of snaps going from low-res to high to color to full camera resolution, just for fun. I kind of like them.

Hercules graphics on an 8086.

VGA on a 486 DX2

iPhone 7

#photography #technology #time

I see this as I walk around downtown, near my office building. I have so many questions.

Everyone should care, passionately, about something, some cause, some plan to make the world better.

But nobody can care about everything. We all need to pick our battles so that we have the energy to fight them. Find the place where you can do the most good, and commit to that.

I love winter. I love the early nights, the chill in the air, the close, warm feeling of being snug at home. I love snow in the trees and the yard. Winter would be perfect except for one thing:

Driveways and sidewalks.

You can't just not shovel the snow off your concrete. That's not an option as a civilized person. I walk whenever and wherever I can, and when I'm walking in the winters I realize how much public utility there really is in our personal patches of sidewalk. Also, you've got delivery people who need to come to your door, guests, friends, and even me and my family. I need to clear that concrete so people are safe.

So Here's the Actual Lesson

When you're shoveling snow there are a few secrets:

  1. If possible, do it when there is still daylight left

Okay, turns out there's only one secret. But it's a potent one. I used to get frustrated, trying to figure out why my neighbor's sidewalk and driveway always looked like he cut the edges with a razor, while mine looked messy, covered in ground-down footprints and tire tracks, and crumbly edges that kept dumping powder back on my driveway I had just cleared. Eventually I would give up and go in, calling it good enough.

Then I'd look back outside a few hours later, surprised to find that it had been good enough. All the powder melted off, all the footprints and tire tracks had softened and I could get rid of them quickly.

The sunlight on wet, dark concrete heats that concrete juuuuust enough to melt snow (unless it's really cold, in which case you're on your own. Sorry!), so if you get the concrete exposed it does a lot of work for you. It doesn't work if you don't shovel, of course. Snow is reflective, so if you don't put in the work you don't get any benefit.

But you don't have to be perfect! Often we are super-critical of our own efforts and see every possible flaw in what we do while idolizing the work or results of those around us. And that can lead us to despair or depression or just giving up before we even start.

Instead if we just get in there and get started, we will get far better results than we would ever have imagined.

Before diving into computer science I briefly studied (human) linguistics. One of the facts they taught us had to do with the number of words in a language and the number of words it took to express something in that language. The more words you have available to you, the fewer you need to express a thought.

Put another way: the greater the range of words from which you can select, the greater the odds of you knowing a single word that expresses the thought you want to convey, and thus the fewer words you need to express your thoughts.

Put another way: the size of a language and the length of a sentence in that language are inversely proportional.

Put another way: eloquence obviates loquaciousness.

Study By The Fire

Just because I have to be studying doesn't mean I have to be at my desk. Sometimes it's nice to mix school work with a pleasant environment.

Like many of you, I end up doing free tech support for friends and family and neighbors, etc. etc. The most common—and most dreaded—question I get asked in that role is

Why is my computer slow?