humancode.us

Respect running code

August 20, 2025

One big red flag in a developer for me is when they complain about how much some old code sucks, when that code is still running and doing its job.

Shitting on running code tells me that a developer has little respect for the work that came before them, and little empathy for the developers who wrote that code, under different constraints, with different tools, in a different time. It’s good to want to improve things! But it should be done with a healthy appreciation of what already works.

Can old code become obsolete? Sure, but that happens after they are replaced by something better, not while they’re still operating (and we all know not every replacement is actually better).

Technology marches on. People learn new ways of solving problems. Tools improve. Organizations and resources change. To judge something written many years ago against the circumstances of today is misguided and—dare I say—disrespectful of those who came before.

PS: And don’t shit on old code even after they’re obsolete. Treat them with respect. Thank them for a job well done, and let them take their place in the history books.

Defederation doesn’t work against large instances

August 16, 2025

Access and communication across diverse servers is important, and people do depend on it to keep in touch with their friends and audience. But the safety and dignity of vulnerable people is more important. Knowingly putting your vulnerable members at risk by placing them within reach of a known-bad-actor server is unconscionable. Privileged people need to fucking deal with it when communication is severed to stop abuse; the safety of vulnerable people takes precedence.

Having said that, I think smaller instances defederating from larger ones remains disproportionately painful for the smaller instance, and largely ineffective in changing the behavior of the larger. Ideally the answer is to never let any instance (or small set of instances) become large and dominant, but I don’t know how to achieve that end in the real world.

Read more…

Say no to surveillance

August 9, 2025

Every one of these for-profit public-surveillance companies will:

  1. Surveil and collect more data than initially agreed upon
  2. Sell said data to brokers
  3. Sell access to said data to law enforcement
  4. Train AI models on said data
  5. Sell derivative products that infringe on their users’ liberty (i.e. pre-crime prediction, profiling)
  6. Retain data longer than they agreed to, either through negligence or intentional data-retention laundering.
  7. Get hacked, releasing personally identifiable data to the criminal web
  8. Get sold to another company that will use the data for things the initial contract never intended

This happens every time. Every damn time.

Say no to surveillance. No short-term “safety” benefit is worth this enshittification.

Read more…

Conspiracy thinking exists on the Left

August 9, 2025

Garfield meme: You are not immune to propaganda

Conspiracy thinking, magical thinking, reductive thinking, just-so thinking, disinformation, and plain old cult behavior also exist on the left.

Stay vigilant, stay curious, ground yourself in verifiable reality, and focus on people, not abstractions. There is no single -ism that solves all of our problems. There is always something new we don’t yet understand.

Reality is messy. We must deal with it as it is.

Complex, AI-generated software projects will never happen

June 25, 2025

Complex software projects made up of mostly AI-generated code isn’t going to happen. And one reason I say that is because the code AI generates has no intent behind it.

Senior software devs spend an extraordinarily large amount of time reading existing code and asking not just how they work, but why they were written that way. Reading long-maintained, complex source code is more than mere reading comprehension; it’s closer to literary critique. You’re constantly trying to understand the thought process and motivation of whoever wrote that code, in the hopes of gaining insight into their frame of mind.

Well, AI code has no motivation, thought process, nor frame of mind. While the code it generates might work correctly (a bold assumption) at the point it was extruded, there is no plausible way of maintaining that code, and at some point of complexity (sooner than you think!) maintainability becomes critical.

Read more…