Today I LearnedRSS

April 2025

Rough Idling

https://flak.tedunangst.com/post/rough-idling

Frustration at the state of software being interminably busy doing nothing of value.

What's in OpenBSD 7.7?

https://flak.tedunangst.com/post/Whats-in-OpenBSD-77

What's in OpenBSD 7.7? Essentially just an AMD GPU driver with a small Unix OS wrapped around it at this point.

I've kind of wondered for a while when the graphics card will just subsume the motherboard like a reverse integrated graphics stack.

Lecture Friday: Practical Data Oriented Design (DoD)

The thing that takes a bit to understand about Data Oriented Design is how the name implies it should be similar to some sort of code aesthetic like Object Oriented Programming. You go looking for the abstractions and intellectual virtues to structure code around but you never find any. It seems hard to understand because you keep trying to put it alongside philosophies like functional programming, procedural programming, and object oriented programming. The problem is it doesn't fit. You're comparing dogma to empiricism. It's like getting the intellectual tradition of Francis Bacon suddenly injected back into software development after a few decades concerned with moral purity and virtue. Turns out, you can measure things that matter to users and your code comes up wanting because you're not as good a developer as you think you are.

Unstructured Thoughts on the Problems of OSS/FOSS

https://www.gingerbill.org/article/2025/04/22/unstructured-thoughts-on-oss/

Great set of thoughts that bounce the problems around open source back and forth. I'm still lost in the quagmire. Can't say this really points the road beyond out. More thoughts on the table may be able to help us discern the way forward.

Some Surprising Code Execution Sources In Bash

https://yossarian.net/til/post/some-surprising-code-execution-sources-in-bash/

Works on bash and ksh. Zsh isn't impacted. So, it turns out [[ "${num}" -eq 42 ]] allows remote code execution. Yeah, I didn't know that one. For any non-trivial program you really should be using something other than a shell script. My dividing line continues to be arrays. If you need an array to solve the problem in a shell script, you really should be using a different language to solve the problem.

A New Oral Culture

https://www.oblomovka.com/wp/2025/02/12/a-new-oral-culture/

Interesting thoughts when you think about how it relates to project documentation.

The Best Programmers I Know

https://endler.dev/2025/best-programmers/

Not much I learned from this one, but always worth sharing things for those getting started.

🦕 RansomLook 🦖

https://www.ransomlook.io/

Added this one to the links page, but you really need to be aware just how bad the problem with ransomware has become. We're talking hundreds of organizations a month.

How to Report Bugs Effectively

https://www.chiark.greenend.org.uk/~sgtatham/bugs.html

The key to a good bug report is helping them recreate the problem. If you know how to reliably recreate it, a developer can usually fix the problem. So take the time to figure out the simplest way to cause the problem to happen before reporting it.

13 Things I Would Have Told Myself Before Building An Autorouter

https://blog.autorouting.com/p/13-things-i-would-have-told-myself

I always love someone rubbing real performance engineering work in the face of developers who think Rust or C++ just magically make your garbage code fast or those who think interpreted languages can't possibly be fast enough. Developer skill continues to be the dominant factor in real world application performance.