







There’s this popular idea among developers that when you face a problem with code, you should get out a rubber duck and explain, to the duck, exactly how your code was supposed to work.
SpaceDucking — Practice software testing
Duck-themed practice apps full of deliberate bugs, plus a members-only bug database.

Making tools for game developers — Codecks
Rather than use a tool that assumes order and fails when faced with the reality of game development, we're building a tool that assumes chaos and, in spite of that, reduces the stress that comes with it.

The peril of laziness lost | The Observation Deck
In his classic Programming Perl — affectionately known to a generation of technologists as "the Camel Book" — Larry Wall famously wrote of the three virtues of a programmer as laziness, impatience, and hubris: If we’re going to talk about good software design, we have to talk about Laziness, Impatience, and Hubris, the basis of good software design. We’ve all fallen into the trap of using cut-and-paste when we should have defined a higher-level abstraction, if only just a loop or subroutine. To be sure, some folks have gone to the opposite extreme of defining ever-growing mounds of higher level abstractions when they should have used cut-and-paste. Generally, though, most of us need to think about using more abstraction rather than less.
Software development is a losers game
Great code doesn’t save you, but bad code will kill you #HoskWisdom

Refusal in Language Models Is Mediated by a Single Direction
Conversational large language models are fine-tuned for both instruction-following and safety, resulting in models that obey benign requests but refuse harmful ones. While this refusal behavior is widespread across chat models, its underlying mechanisms remain poorly understood. In this work, we show that refusal is mediated by a one-dimensional subspace, across 13 popular open-source chat models up to 72B parameters in size. Specifically, for each model, we find a single direction such that erasing this direction from the model's residual stream activations prevents it from refusing harmful instructions, while adding this direction elicits refusal on even harmless instructions. Leveraging this insight, we propose a novel white-box jailbreak method that surgically disables refusal with minimal effect on other capabilities. Finally, we mechanistically analyze how adversarial suffixes suppress propagation of the refusal-mediating direction. Our findings underscore the brittleness of current safety fine-tuning methods. More broadly, our work showcases how an understanding of model internals can be leveraged to develop practical methods for controlling model behavior.

Rationally irrational
I waste a lot of time sweating small details of code. Stuff that has absolutely zero impact on anything quantifiable. It took me a long time to stop feeling bad about this. I’m not talking about tu…
Sung Kim (@sungkim.bsky.social)
I like this quote on code review: "The idea that humans will reliably look through code to find the increasingly rare issues that automated tools miss seems like a fantasy." By Marc Brooker, AWS.
Visual design rules you can safely follow every time
You do not have to follow these rules every time. If you have a good reason to break any of them, do. But they are safe to follow every time.
Teaching how to code is broken
Typically: * Chapter 1: Types * Chapter 2: Variables * Chapter 3: Operators/Math * Chapter 4: Control structures * Chapter 5: Arrays * Chapter 6: Functions * Chapter 7: Structs * Chapter 8: Classes and Objects * Chapter 9: Methods * Chapter 10: Inheritance and Polymorphism * Chapter 11: Some advanced thing X * Chapter 12: Some esoteric thing Y * Chapter

The Failure Mode of Clever
So, apropos of nothing in particular, let’s say you wish to communicate privately with someone you’ve not communicated with privately before, for whatever reason you might have. And, wa…
Why we committed to a zero-bugs policy - Linear
When we tell people that Linear maintains a zero-bug policy a common response is disbelief. It may sound like a ridiculous approach, but we do it because no other way makes sense.


Stay away from my trash!
If writing the code is the easy part, why would I want someone else to write it?

Peter Steinberger 🦞 on Twitter / X
Here’s your monthly reminder that you shouldn’t be prompting coding agents anymore.You should be designing loops that prompt your agents.— Peter Steinberger 🦞 (@steipete) June 7, 2026