Deconstructing the Instruction-Data Dichotomy
Deconstructing the Instruction-Data Dichotomy In the software engineering discourse, a pervasive myth has long shaped our understanding of code and its relationship to data. This myth posits a clear, binary separation: code consists of instructions that operate on extrinsic data. It’s a comforting notion, one that neatly compartmentalizes the complexities of programming into active agents (code) and passive recipients (data). This dichotomy has become so ingrained in our collective consciousness that it often goes unquestioned, forming the bedrock of how we conceptualize, teach, and practice software development....
The Art of Technical Debt
The Art of Technical Debt: When to Embrace It, When to Refactor A specter is haunting software, the specter of technical debt. Read any discussion space where software engineers are present–Stack Overflow, the-website-formerly-known-as-Twitter, Mastodon–and you’ll see “technical debt” discussed in terms ranging from frustration to contempt. The more level-headed commentators will acknowledge that technical debt is an inevitability, but generally with a sense that it’s a manifestation of living in an imperfect world....
Observability from the beginning
Observability From the Beginning Eventually, every piece of software we build and deploy in production generates some user experience that requires us to examine the state of our application as it’s running in production. Maybe when we first launch some system, we can wrap it up in a VM or a container and fling it into the world, but eventually we find that we need more detailed information about our application’s actual running conditions....
Code Review as Literary Criticism
Code review as literary criticism It’s 9:30 AM on a Tuesday and I’ve just sat at my desk with a cup of coffee. I open up Slack, and ping goes the notification bubble in my taskbar. I have a DM asking for a PR review. I open the PR, and as I settle in and open my mind to the text as it scrolls lazily past me, I am teleported. But for once, not to a land of bytes and abstract syntax trees....
The Raft Consensus
The Power of Simplicity: Why Raft Conquered Consensus The distributed systems world has witnessed a fascinating phenomenon: the rise of the Raft consensus algorithm. More than just gaining a foothold, Raft has become the de facto standard for new distributed applications that require consensus across stateful actions. From etcd, the backbone of Kubernetes, to Redpanda Data taking on the established Kafka, this simple algorithm is powering segment-defining systems. But what makes Raft so special?...
The Big Picture of AI
The Big Picture of AI: Why You Don’t Need to Know Every Detail In the whirlwind of current AI advancements, trying to keep up with every new change can be dizzying. But unless you’re an active researcher in the field, you really don’t need to. You just need to keep abreast of the aggregate, because that’s where the real story is for the rest of us. Large Language Models (LLMs) have created a paradigm shift in computing....