On Perfection

This is a bit of stream of consciousness with some light editing. I wrote it quickly on my iPad, so it’s pretty rough. It’s better than nothing though.

I’ve always thought of myself as a perfectionist especially when it comes to the code that I write and the projects that I work on. This tenancy can be useful since it has allowed me to dive deep into many topics, but it also limits my productivity. I’ve spent so much time learning how to model data and implement data access layer code that I never had the opportunity to build anything of consequence with what I learned. I know quite a lot about Java and the JVM, but it only comes in handy once in a while.

Factorio is one of my favorite games. It’s a game with a simple premise. You’re stuck on an alien planet and need to get off of it by building a factory which can ultimately produce a spaceship.

I found that the game perfectly captures many aspects of programming. One thing that it made me realize is the clear trade-off of doing something right versus a quick-and-dirty hack to just get some item in my factory on the production line.

I’ve noticed that I’m much more critical when reading code not written by me. I’ll give myself a pass because I had to get this code shipped today, or because I was focused on fixing the real problems. I like writing good code. Not necessarily because it has any concrete, intrinsic value, but because writing good code makes me a programmer. I do think that there are many advantages to my functional, OOP, data-oriented style.

It can be especially crippling when I have a deadline and perception that I’m unable to do things right. It’s oft said that the best is the enemy of the good, and that’s something that I truly struggle with. Why would I do something if I can’t do it my way — if I can’t do it perfectly? Obviously I’d do it because it needs to be done, but that’s not something I get motivation from. That’s not why I’m a programmer. I’m a programmer because I enjoy making things that work, with code that I can take pride in.

Recent posts from blogs that I like

Herald of Impressionism: Charles Daubigny 2

As a member of the Salon jury, he ensured the young Impressionists were accepted. He led the way in painting fruit trees in blossom, and a series of innovative nocturnes.

via The Eclectic Light Company

LLMs reward expertise

In the 2010s, if you had technical gaps (say, you couldn’t write CSS), you had to either rely on a skilled colleague or just hope that the answer to your exact problem was out there on the internet. Today, everyone can write sort-of-okay CSS by delegating the task to an LLM. LLMs make everybody into...

via Sean Goedecke

AI in Linux

The role of AI tools (LLMs, mainly) in Linux is under discussion, or it was, until Linus Torvalds “put his foot down” in support of the use of AI in Linux kernel development. I can identify two major ways in which AI is used for Linux kernel development: authoring code and reviewing code. There are,...

via Drew DeVault