OOP: the worst thing that happened to programming 

In this article, we will try to understand why OOP is the worst thing that happened to programming, how it became so popular, why experienced Java (C#, C++, etc.) programmers can’t really be considered great engineers, and why code in Java cannot be considered good.

Unfortunately, programming is quite far from being a science (just like me), so many terms can be interpreted differently. — Read More

#devops

Towards interplanetary QUIC traffic

Have you ever asked yourself which protocols get used when downloading pictures from the Perseverance Mars rover to Earth? I hadn’t thought about that either, until I came across an intriguing message on the internet, back in April 2024:

I’m looking for someone knowledgeable of quic/quinn to help us out for our deep space IP project. Would be of part-time consulting. Please dm me if interested.

The message itself is quite short and somewhat jargon-y, so it took me a few readings to fully realize what the project was about:

— Working with QUIC: an internet protocol for reliable communication (i.e., what we typically use TCP for).
— Working with Quinn: the most popular Rust implementation of the QUIC protocol.
— Using QUIC to communicate between Earth and computers that are far, far away (e.g., other planets).

Business was going well on my end, and I didn’t have much time to dedicate to another consulting engagement, but… How could I say no to an interplanetary internet project? I had contributed to Quinn in the past1, so I felt well-equipped to help out and decided to actually do it. This article provides a record of the adventure so far. — Read More

#devops

Humans, AI, and the space between

Software engineers, product managers, and UX designers each imagine a future where their contributions grow stronger while others’ might seem to fade. Everyone is eager to see how AI can expand their capabilities and impact. The excitement around this shift risks repeating an old mistake: creating silos. This time, it’s one human working with agents in isolation. And silos rarely lead to great products. The real opportunity lies in combining human strengths to build richer collaboration among diverse thinkers, guided and enhanced by intelligent tools. — Read More

#devops

The real problem with AI coding

The problem with AI coding isn’t technical debt. It’s comprehension debt.

And most teams don’t realize it until it’s too late.

…When you write code manually, you build up a clear mental model of the logic and trade-offs as you go. Every line you write, you understand why it exists. You see the edge cases. You know what alternatives you considered and rejected.

When AI writes code for you, that process inverts. You’re reverse-engineering someone else’s thinking after the fact. It’s like trying to learn calculus by reading a textbook instead of solving problems yourself.

… [V]olume amplifies the comprehension problem. You’re not just reverse-engineering one function. You’re reverse-engineering entire systems. — Read More

#devops

The New Calculus of AI-based Coding

Over the past three months, a team of experienced, like-minded engineers and I have been building something really cool within Amazon Bedrock. While I’m pretty excited about what we are building, there is another unique thing about our team  – most of our code is written by AI agents such as Amazon Q or Kiro. Before you roll your eyes: no, we’re not vibe coding. I don’t believe that’s the right way to build robust software.

Instead, we use an approach where a human and AI agent collaborate to produce the code changes. For our team, every commit has an engineer’s name attached to it, and that engineer ultimately needs to review and stand behind the code. We use steering rules to setup constraints for how the AI agent should operate within our codebase, and writing in Rust has been a great benefit. Rust compiler is famous for focusing on correctness and safety, catching many problems at compile time and providing helpful error messages that help the agent iterate. As a juxtaposition to vibe coding, I prefer the term “agentic coding.” Much less exciting but in our industry boring is usually good. — Read More

#devops

Introducing vibe coding in Google AI Studio

We’ve been building a better foundation for AI Studio, and this week we introduced a totally new AI powered vibe coding experience in Google AI Studio. This redesigned experience is meant to take you from prompt to working AI app in minutes without you having to juggle with API keys, or figuring out how to tie models together. — Read More

#devops

Code like a surgeon

A lot of people say AI will make us all “managers” or “editors”…but I think this is a dangerously incomplete view!

Personally, I’m trying to code like a surgeon.

A surgeon isn’t a manager, they do the actual work! But their skills and time are highly leveraged with a support team that handles prep, secondary tasks, admin. The surgeon focuses on the important stuff they are uniquely good at.

My current goal with AI coding tools is to spend 100% of my time doing stuff that matters.  — Read More

#devops

Reasoning Is Not Model Improvement

When OpenAI released o1 in 2024 and called it a “reasoning model,” the industry celebrated a breakthrough. Finally, AI that could think step-by-step, solve complex problems, handle graduate-level mathematics.

But look closer at what’s actually happening under the hood. When you ask o1 to multiply two large numbers, it doesn’t calculate. It generates Python code, executes it in a sandbox, and returns the result. Unlike GPT-3, which at least attempted arithmetic internally (and often failed), o1 explicitly delegates computation to external tools.

This pattern extends everywhere. The autonomy in agentic AI? Chained tool calls like web searches, API invocations, database queries. The breakthrough isn’t in the model’s intelligence. It’s in the orchestration layer coordinating external systems. Everything from reasoning to agentic AI is just a sophisticated application of code generation. These are not model improvements. They’re engineering workarounds for models that stopped improving.

This matters because the entire AI industry (from unicorn valuations to trillion-dollar GDP projections) depends on continued model improvement. What we’re getting instead is increasingly elaborate plumbing for fundamentally stagnant foundations. — Read More

#devops

Claude Code is unreasonably good at building MVPs

The most valuable code I’ve written in the past six months is code I fully intend to throw away. This isn’t some zen programming philosophy or agile methodology talking point. It’s the practical reality of using Claude Code to build prototypes and MVPs.

Here’s what’s fundamentally changed: the time from “what if we built X” to “here’s a working version of X” has collapsed from weeks or months down to hours or days. That compression doesn’t just make development faster. It changes what kinds of ideas are worth exploring in the first place. — Read More

#devops

Google’s URL Context Grounding: Another Nail in RAG’s Coffin?

Google’s hot streak in AI-related releases continues unabated. Just a few days ago, it released a new tool for Gemini called URL context grounding. 

URL context grounding can be used stand-alone or combined with Google search grounding to conduct deep dives into internet content.

In a nutshell, it’s a way to programmatically have Gemini read, understand and answer questions about content and data contained in individual web URLs (including those pointing to PDFs) without the need to perform what we know as traditional RAG processing. — Read More

#devops