humancode.us

Dave’s tenets of software engineering

October 24, 2024

Here are some tenets of software engineering that I’ve gathered through the years. I’ll probably add to this list over time as I think of more.

Above all, empathy

All software that stand the test of time come from a place of empathy: it serves some human being well in one form or another. Your best code arises when you have a picture of its user in mind; it could be a person on their phone, a developer using your library, someone trying to maintain it after you’ve moved on. Empathy gives you the fundamental value system to help you make your decisions.

Develop a sense of suck

The corollary of having empathy is developing an instinct for spotting things that suck. It’s hard to define what suck is, but you know it when you see it: a hostile UI, an awkward API, “the smartest newbie” kind of code that tries to be super clever, etc.

Resist designs that suck. Push back hard if you’re on a team. Designs that suck are the embodiment of technical debt. Learn to smell the suck before it’s integrated into your code base.

But I caution: don’t over-rely on detecting suck, lest you turn into a curmudgeon. Remember, empathy and the sense of suck are two sides of the same coin. You mustn’t neglect one in favor of the other.

Read more…

No technology is inevitable

October 22, 2024

The “inevitability” of technology—that some tech has to be developed because someone will think of it eventually—is a crock of bullshit we’ve all been fed by greedy capitalists.

I heard an example once that illustrates this principle well for me. If you know where this example originated, please do write me an email and let me know.

I can imagine a shit-in-eye machine: a machine whose sole purpose is to take a piece of literal shit, and places it in your eye. That’s all it does: it puts shit in your eye. Is anyone going to make and sell this machine? Of course not, despite the fact that I have thought of it, because it’s a stupid and harmful idea, and no sane person would want such a product.

No technology is inevitable. Just because you thought of it, doesn’t mean it has to be made.

Robots should not look like people

October 11, 2024

We already live among robots; machines that autonomously relieve us of tedious chores have existed for more than a century. We lived among robots when James Watt sold steam engines that milled wheat tirelessly all day. Our cars have lane-keep assist, adaptive cruise control, and automatic headlights. At home, we have washing machines, rice cookers, thermostats, and automatic floor sweepers. In factories, robots make and assemble everything from ramen noodles to automobiles. Robots are already everywhere.

But none of these robots look like people; and that’s for a good reason: their shape is dictated by their purpose. They are optimized to do one or two jobs very well and economically, and as every generation of robots get better at what they do, their shapes become more optimized for their intended jobs.

So why do a certain class of folks continue to lust after a future of robots that look like humans?

While humans are fantastic generalists, we are not very good at any repetitive chore. Human-shaped robots will not only inherit our flexibility, but also our limitations. Our lanky, limbed bodies evolved to satisfy evolutionary pressures that robots aren’t subject to, so why bother making robots that are constrained to the human form, teetering on two tiny feet, doomed to never be very good at any task in particular?

Read more…

The proof of passion is time

October 5, 2024

The proof of passion is time.

Not just the days you spend working on something, but also the tiny moments you spend thinking about it when you’re away. The daydreams in which you mull the next step, the long showers wherein you ruminate about how you’d go about it.

The proof of love is time.

It’s when something distracts you as it bring your love to mind, and takes up a tiny bit of time in the middle of your day. It’s when you think about what you should pick up while you’re already about, because it may benefit your love. It’s the hours you spend observing, listening, learning, in order to know that love more deeply.

Read more…

Thoughts on AI art

October 4, 2024

Thoughts on #AI art, from my conversation on Mastodon:

Art is, fundamentally, a form of communication; that to me is what differentiates art from natural phenomena such as “nature” and math, within which we can still find beauty, but do not expect an author on the other side.

AI art breaks this contract in the most fundamental way: it is math that’s designed to feign humanity. It mimics communication, setting an invitation for the viewer to comprehend and communicate, only to yank the rug from under their feet—gotcha, you’ll find only random numbers here. This is what I mean by “dishonest”. It’s fundamentally a bait-and-switch at the most meaningful, human level.

I’m not as concerned about procedural art, because…it’s obvious what it is. A Lissajous pattern on an Apple II is as beautiful as a poster of plotter art, but it’s up front with me: the art is in the author’s choice of math, not in the image itself.

< Newer Posts