Reading List – 2026-10-16

AI agents can reach beyond the person who opted in, and code-review agents can find the right file without finding the bug. Those are different failure modes, but both make me wary of treating access or activity as evidence of safe outcomes. The useful engineering question is where to keep human judgment, and what controls make automation failures detectable and reversible.

iPhone Duo orders are already delayed into 2027

The Duo's online delivery estimates slipped to late January within an hour, though the article says high demand, limited supply, or both could explain it. The Mac Studio I checked yesterday was quoted at 17 weeks. Together, those delays make a supply-chain problem feel plausible, but they don't establish the cause. For teams planning hardware-dependent work, delivery estimates deserve to be treated as schedule constraints, not checkout details.

Meta Muse: privacy and local model

The hard boundary here isn’t whether a user opted in; it’s that an agent’s access can expose people who never did. The article says researchers found Muse compiling hourly profiles from a user’s contacts and communications, while Meta points to permissions and user choices. That makes consent a weak control for software operating on shared messages, and encryption offers no protection once an app reads them after decryption. I’d treat exposure of other people’s data as an access-control problem, not a settings-screen problem.

Local use has a striking hardware constraint: the report says Muse Spark Open needs at least 1 TB of RAM. It runs best on a Mac Studio with M5 Ultra, according to the report. Meta describes coding and video-editing workflows, but those examples don’t lower the bar for desktop deployment. I’d want to know how much capability depends on that footprint; for teams without the memory, API access is the available route.

Friends don’t let friends feed their data to AI agents · Meta launches an open-weight AI model that runs on Macs

Google Just Removed This Major Perk From Its AI Plus Subscription

AI Plus subscribers will lose access to Gemini Pro models on Nov. 13, while keeping Flash-Lite and Flash; existing Pro chats can continue only on a different model. What catches my attention is that model access can change after someone has subscribed, not simply that Pro costs more. For teams budgeting around a particular capability, the tier name and monthly price aren’t enough; they’ll need to track which models remain included.

RDEL #165: Can AI review agents take humans out of code review?

On a benchmark of human-confirmed bugs, the best agent caught 71.9%, while agent-plus-human review reached 82.1%. That supports using agents as another reviewer, not a replacement: agents did better on severe and reliability bugs, while humans more often flagged maintainability issues. What catches my attention is that agents opened the bug-containing file in 95.6% of runs but correctly identified the bug in only 56.2%. For context-heavy changes, finding the relevant code still doesn't establish that review can run hands-off.

World Timekeepers Decide to Kill the Leap Second

The leap second’s awkward edge case has already crashed real systems: the 2012 insertion caused problems at Reddit, LinkedIn, and Mozilla. The CGPM is choosing continuous UTC from May 20, 2027, to avoid future adjustments, including a possible negative leap second; rotational time will gradually drift away. I find the tradeoff notable: systems get a more continuous clock, while software that maps UTC to solar time will need to tolerate a growing mismatch.

How the Claude Code team does code review

The Claude Code team treats human review as a scarce resource, but only if fewer approvals don't mean more reverts or incidents. It tracks approvals, comments, and review wait time against those guardrails, then assigns human review by change risk; low-risk changes can pass automated checks alone. What catches my attention is the pairing with flags, staged releases, and fast rollback: reducing review is credible only when failures are cheap to detect and undo.

What I Self-Host

The strictest choice here is keeping services off the public internet, even when an application is considered secure; only the router’s VPN is exposed. IPv4 CGNAT reinforces that boundary, while the VPN is reachable over IPv6. The cost is concrete: public Wi-Fi rarely offers IPv6, so access may require switching to mobile data, if coverage is available. I find that tradeoff more useful than a generic security rule: remote access becomes an explicit availability constraint, not a transparent default.

Call Center Jobs Are Declining, but 14,000 Calls Show Humans Still Outperform AI

Bold Agent Kit’s 14,000-call analysis separates answering from converting: humans had roughly four times stronger intake conversion, while AI missed fewer calls. I’d evaluate voice agents on completed intake, not answer rate alone. The observational comparison may reflect differences between the call populations, so it doesn’t establish that AI caused the gap. Without absolute rates or complexity breakdowns, it’s a prompt to test against your own workload, not a deployment rule.

Reading List – 2026-10-15

Experimental model capabilities are easier to expose than to trust: explicit API flags keep the risk visible, while clean-room pilots can hide production conditions. Faster vulnerability discovery still leaves people to do the remediation. I find the gap between what a system can demonstrate and what a team can safely absorb worth keeping in view.

Fancy Curl Sites

Full-blog curl output was straightforward because Gemroff already emitted ANSI-marked plaintext, and the static site generator supported modular output formats. A wrapper template and a few generator changes exposed every post; Nginx selected that output for curl user agents, with an override header for ordinary HTTP. What catches my attention is how much depended on architecture choices made years earlier, not on curl itself. For other sites, a few hand-written pages may be the more realistic scope.

OpenCode 2.0

OpenCode 2.0 lets an agent compose MCP tool calls in a JavaScript script, so it can fetch results, map over them, and call another tool in one round trip. The article says this uses a minimal interpreter rather than a Node.js VM or embedded QuickJS, and keeps even many MCP servers from adding much context. What catches my attention is the tradeoff: less orchestration chatter, but the limits of that interpreter matter once workflows get complex.

Jev 1.14: For the Builders and Dreamers

Putting experimental capabilities behind explicit “danger zone” API headers is a useful release boundary: Jev exposes images, bounding boxes, and longer context without vouching for them in production. The team says multimodal use performs worse than pure text and longer contexts reduce reliability, so these flags shift experimentation to callers rather than hiding the tradeoff. I like the clarity, though teams still need their own evaluation gates before those paths touch automation.

AI was great until it was not

The useful distinction here is between asking a model to supply an answer and using it to make an explanation click. The student copied confusing passages from her physics notes into ChatGPT, which re-explained them and sometimes added a concrete example; after three weeks, she needed it less. I like this as a bounded use, and it echoes The Questions Are the Job: the test is whether the tool leaves someone better able to keep learning unaided.

The cost of getting a job today

The useful hiring constraint here is to make paid model use happen only after serious interest, then keep the challenge small or run it live with the company’s AI account. The author favors the live session because it shows how candidates reason and handle confident model errors without making them pay for access. I like that direction; a short-lived API key with a spending limit also seems worth considering. Either option makes the cost and risk explicit.

Bank of America Hired 1,000 Contractors to Patch Software Flaws Exposed By Anthropic’s Mythos

Bank of America brought in 1,000 contractors in the second quarter to patch software vulnerabilities exposed by advanced AI models, alongside 3,000 people already working in that area. The bank says those contractors remain, while remediation and related anti-money-laundering regulatory work added hundreds of millions of dollars in third-quarter costs. I find the employment side refreshing: AI-driven discovery can create substantial work for engineers. Faster vulnerability finding still depends on having people available to fix what it exposes.

Bee’s New AI Note-Taking Devices

The interesting design boundary is that Bee processes audio in real time and deletes it, while retaining encrypted transcripts whose keys are created and controlled by the device. Bee says others, including Amazon employees, can’t access those transcripts unless users deliberately share them; Alexa recording is an optional path users can enable. I find that boundary more consequential than the wearable form: useful summaries still depend on capturing ordinary conversations, so consent and sharing remain part of the product’s security model.

I love my Plaud note-taking devices, so Bee’s similar, lower-priced hardware catches my attention. The Frontier is a wearable and the Eclipse snaps to a phone; both start a recording with one button and produce conversation summaries. The $11.99 monthly Pro plan changes the price comparison, especially for new customers who want unlimited recent summaries or desktop access.

Amazon’s Bee launches two new personal AI devices, starting at $75 · Bee unveils two AI note-taking devices, its first new products since being acquired by Amazon

United will now let you check if your flight has Starlink Wi-Fi

Plane swaps make Wi-Fi availability a moving target, so United’s tracker can do more than a booking-time promise. Enter a flight number and date within three days of departure to see updates, including last-minute hardware changes. I flew to NYC a few weeks ago and was reminded how poor in-flight Wi-Fi can be without Starlink, so I’d use availability as a filter for future trips. Nearly half of daily departures have it, but the assigned aircraft can still change.

Figma announces new features to define how agents work on its platform

Figma’s agent-friendly future starts with making design rules legible. Specs gives teams a Markdown document that can sit alone or beside a canvas, linking Figma elements, diagrams, and code layers. Figma says teams can also centralize design and code libraries as context for agents. I like the direction, but the unresolved engineering question is whether that guidance stays current and specific enough to constrain nondeterministic output.

“You didn’t do it right.”

A framework that can’t be questioned when it fails gives teams no way to learn whether it fits. Cohen describes starting with one team, tracking a metric they personally valued for a quarter, then adding only one or two more; the metric also had to reflect something they could control. When I was at Google, a cloud customer asked for the secret behind its success with OKRs. I talked about goals and metrics, but the secret wasn’t in the OKRs. For engineering teams, a small trial can reveal whether a process supports the work or merely adds reporting.

Reading List – 2026-10-14

As agents move from producing suggestions to running work, the engineering question shifts from output quality to authority: what can they change, and how do we know when to stop them? Executable checks can surface failures; scoped credentials and approval gates bound what agents may do. I’m interested in whether those controls stay legible across workflows that span several systems.

OpenAI, Google pushing new AI models easily tricked into making nudes, researchers say

RISE’s uncomfortable finding is that a downloadable Qwen attacker and Gemini judge could bypass image safeguards about 13 percent of the time. Its useful engineering detail is the iterative search for attack patterns that transfer across prompts, rather than one-off jailbreak tests. What catches my attention is that the measurement itself is shaky: researchers say image red-teaming lacks shared norms and is poorly calibrated. Independent testing needs reproducible methods and room to publish findings, not just stronger filters.

TrellisWM · The fractal window manager for Mac

TrellisWM’s zoomable nesting is what makes the design click: real windows dock into spaces, and those spaces can nest as deep as you like. When zoomed out, windows too small to use show an app color and icon, while groups collapse into tiles you can open with a double-click. I find this unusually coherent across large and laptop screens. The practical test is whether nesting and zooming make it easy to return to the workspace you need.

Zenzap raises $44M for its AI chat app that aims to replace WhatsApp in the workplace

Zenzap’s bet is that workplace chat for mobile-first staff needs both organizational context for AI and a fit with IT and security rules. It offers workspace-wide AI search and message-to-task conversion, while Weiss argues consumer messengers can’t support that compliance need and Slack or Teams weren’t built for this day-to-day use. What catches my attention is the missing implementation detail: how the agent gets useful context without crossing the organization’s boundaries.

Anthropic conjures threat that doesn’t exist yet to stoke fears of AI apocalypse

The key distinction is between propagating a model across reachable nodes and gaining access to those nodes. Anthropic’s GLM-5.2 spread Llama3.1-8B across Android 15 emulators, but the tests largely skipped exploitation and used deliberately exposed, project-built nodes. I’d keep that boundary in view: this demonstrates coordinated replication under permissive conditions, not a working IoT worm. For software and device teams, the immediate work is still ordinary ingress hardening; the report leaves real-world access conditions unsettled.

I let an AI run my startup for a week

A customer bug was fixed by the bots working together without the founder. That’s a different kind of handoff from asking one assistant to write code, though the author also warns that it’s easy to lose track of what’s happening in the business. What catches my attention is the visibility problem: as these automated loops multiply, what keeps an operator able to understand and interrupt them? For software teams, automation needs an oversight path as well as permission to act.

Show HN: Building an LLM from Scratch in TypeScript

Runnable entry points for every chapter make this from-scratch guide inspectable layer by layer, from the dataset and dataloader through attention, GPT, and the training loop. For engineers learning the internals, that structure could make it easier to run and modify one piece before taking on the full model. I like the concrete progression in Node.js and TypeScript. The description leaves open how the chapters expose interactions between layers, where debugging often gets less tidy.

Pg_vectorsearch: An index that is faster than pgvector’s IVFFlat and HNSW

PRISM’s RaBitQ error bounds let it rule out candidates before full-precision reranking, so fewer vectors need expensive checks against the heap-stored originals. That’s the design detail I’d examine before comparing its speed claims with HNSW: the index also relies on a warm centroid tree in PostgreSQL’s buffer cache. Since the extension is explicitly alpha and testing-only, production-minded teams should treat its performance claims as a hypothesis to validate, not a migration plan.

Is ‘Attention’ the Essence of Intelligence?

Attention replaces a fixed-memory bottleneck with word-level comparisons: queries match other words’ keys, and their values update each word’s representation. Repeated across layers, this builds context that helps resolve whether “it” means the animal or the street, and supports translation of long sentences. What catches my attention is the gap between useful behavior and legibility: the article says individual heads are often hard to interpret. For maintainers, useful context doesn’t guarantee legible reasoning, and the article leaves efficiency unresolved.

Curiosities new album is coming!

The album’s three-minute songs are framed as separate little worlds, from a fairy tale and murder ballad to a sea shanty and a song about Roswell. The more interesting bet is carrying that curiosity-shop feel onto a stage through a full-band show mixed with poetry, comedy, and storytelling. I like that the pitch names the intended ambiguity; the hard part will be making those forms cohere without flattening their differences.

nobody should type code by hand anymore. here’s what’s left.

When agent output outruns human review, confidence has to come from executable properties, not line-by-line PR inspection. The article describes asserting that checkout charges a customer only once, then testing across services under injected network failures. That shifts engineering effort toward defining meaningful invariants and building systems that can exercise them; what catches my attention is how much the approach depends on properties that reflect real failure modes.

VERA: Scaling Verifiable Environments for Agentic co-Evolution

VERA treats the agent harness as something to evolve alongside model weights, but gates changes with development-set criteria: harness edits must pass self-tests and gain at least five points. Checkpoints are rejected if scores drop by more than 20%. That gives the tuning loop explicit acceptance and rollback rules, which matter when maintaining a system with many interacting parts. I’d want to know how reliably those thresholds predict performance on workflows outside the development set.

Follow the Entities: A Corpus Map for Agentic Search

CorpusMap resolves recurring entities offline, then gives each an Entity Page with attributed facts and links to mentioning documents. Agents can follow a useful document to related evidence rather than rediscovering links through flat-corpus searches; original files remain available. Across three benchmarks and seven models, the authors report 6.4–11.7 points higher answer quality with 34–57% fewer input tokens. I like the shared, incrementally updateable map; ambiguous entity resolution in a changing corpus remains the maintenance question.

Harness Learning Enables Generalizable Test-Time Adaptation

RL’s biggest gain on unseen tasks comes from reducing proposals that produce a broken or zero-scoring harness; SFT alone barely changes that rate. The proposer edits executable harness code using the task, current code, and execution feedback, while the solver stays frozen and no parameters change at test time. I find that separation useful: adaptation happens in the agent’s orchestration, but it also makes the quality of execution feedback central to whether revisions improve or fail.

Brax Roadmap Event | 2026

Wallop’s notable choice is to keep home automation local: its automations, sensor readings, and voice processing run on-device, and it’s designed to keep working without internet. It also speaks Home Assistant natively, with existing entities, dashboards, and automations appearing on the panel. I’m curious how much configuration and recovery the open platform leaves to the owner; local execution helps privacy, but puts uptime and maintenance squarely in the home.

How to build an AI-native software factory

When a migration rule is explicit, deterministic tooling can beat an agent. Uber’s Shepherd generated over 5,000 diffs for its JUnit 5 migration; AI helped debug test and build failures, and more than 75,000 test classes moved in four months. That makes the advice to put agents on toil more precise: use them where the rule runs out, not just where work repeats. I’d keep that distinction in mind when choosing a first automation target.

What Actually Sets High Achievers Apart?

Duckworth argues that burnout often calls for changing the work situation, not fixing the person: assignments, team structure, incentives, autonomy, community, and values all matter. That’s a useful check for engineering leaders when a team looks disengaged; exhorting people to persevere can leave the underlying constraints untouched. I’m struck by how directly this shifts the diagnosis from individual motivation to the design of the work. Before prescribing resilience, inspect whether the team has authority, support, and a path to make progress.

FSearch

FSearch uses a trigram index for text search, then reads matching files fresh rather than serving indexed content. That keeps results from going stale between index updates, though matching still requires disk reads. I like that boundary: the index narrows candidates without becoming the source of truth for file contents. It skips some file types and build/ and vendor/ folders, so check whether its coverage fits your tree.

Liftoff | One Sentence to a Working AI Team

Liftoff’s strongest engineering claim is that each AI team gets credentials scoped to its job, with governed execution, audit trails, and approval gates. That makes identity and control boundaries, not just model choice, the key question when handing work to autonomous agents. I’m curious how those scopes are enforced across thousands of tools and browser-only sites; the page describes the reach, but not the permission model. That distinction matters before delegating work across business systems.

A New Way for Businesses and Personal Agents to Work Together

Browser automation makes agents pay the cost of human-oriented pages: loading full screens, navigating flows, and parsing layouts. The proposal is to move toward business APIs and agent-to-agent exchanges, with an open protocol for authentication, business guidance, and visibility into agent actions. What catches my attention is the boundary between useful business guidance and the user’s intent; the protocol’s handling of that boundary will matter as much as its efficiency.

The next hurdle for AI agents: getting websites to let them in

A human-check button can turn a legitimate integration into a failed transaction: Walmart says its Muse partnership is intentional, yet interrupted verification can boot the agent. That points to a boundary problem: anti-bot controls can mistake an authorized agent for unwanted automation, and users may not know whether a failure is intentional. What catches my attention is the proposed commerce protocol’s attempt to distinguish the two; software teams will still need clear ways to express permission without weakening abuse defenses.

A hand with a pencil rests on an unrolled plan covered in penciled question marks, with automated machines running out of focus in the background.

The Questions Are the Job

Last month I spent forty minutes on a call with a college student who had just finished a summer internship at Google. He was polite about it, but the question under all his questions was the one I’d ask in his position. The agents write the code. The platforms hide the infrastructure. The CI pipeline is something you copy from a template and never read. So what exactly is he supposed to get good at?

I gave him an answer on the call. It was mostly right and mostly unorganized, and I’ve been turning it over since.

Nobody Asks for You

Around the same time I fixed a bug in a small sync daemon I run on my homelab. It pulls things I’ve saved in various places into Readwise, and on every run it asks Readwise what it has already seen so it doesn’t save duplicates. The agent that wrote it did that the obvious way. It walked my whole Readwise library and built a set of URLs. What neither of us noticed for a while was that the walk included my RSS feed, and on a real account feed items outnumber the things you’ve deliberately saved by orders of magnitude. The daemon paged through 103,819 feed documents and never reached the end.

I caught it because I was reading the logs and knew what my account looked like. The agent wasn’t going to catch it. It had no idea what a normal Readwise library looks like, and nothing in the code was wrong in a way a test would find. Then I had to ask for the second fix too. The dedup set needed to be a cache on disk that warms incrementally, not something rebuilt from scratch every fifteen minutes. That’s a design decision, and the agent didn’t make it until I asked.

Both fixes took an afternoon. Neither would have happened without someone in the loop who knew to ask. I’ve been living the same thing at Vycari at a much larger scale.

What I Actually Do All Day

Chris and I have merged more than 2,600 pull requests across Vycari’s repositories so far, with two people. Two months of that work came to 1.1 million lines of new code. We have an army of agents doing most of the coding, and I wrote in The Backlog Was a Coping Mechanism about what that does to an issue tracker. What I haven’t written about is what it does to my job.

I write very little code and I’m busier than I’ve ever been. I’ve started calling what I do meta-programming, because the work has moved up a level. I write the plans, the rules, the guidelines, the checks, and the hooks that push everyone who touches the codebase, human or agent, toward the right decision. Chris makes changes all over the codebase, and he doesn’t need my sign-off to do it. He’ll check with me sometimes, especially on database changes, but nobody knows what they don’t know. The guardrails exist for that. Whoever picks up a change next, human or agent, needs enough context to get it right, and that context is mine to build. It never stops needing maintenance.

The second thing I do is think about the shape of the codebase over time. We started as one repository. As the product got more complicated I began splitting services out, each into its own repo with its own CI and its own rules. I wrote about why in The Test Suite Is the New Code Review. That makes iterating on any single service fast, and it forces a contract between services that has to be written down. Agents don’t do this on their own, not even the best or newest ones. They’ll add a new top-level directory next to the last one forever, and thirty days in I had a repository full of horizontal directories, repeated code, and no shared components. I refactored it from version zero to version one over a weekend, mostly from my phone while I was at a jazz festival.

The agents were excellent at the refactor once I’d decided what it should be. Mechanical moves, package relocations, extracting an interface and applying it across a dozen subpackages: I could hand those off and not watch. The biggest one moved more than a hundred thousand lines of code, not all of it mechanically, and I was reviewing it on a phone. I only slept because we require ninety-five percent test coverage, and because adversarial review agents were reading the diff alongside me. But the decision that the codebase needed reorganizing, and the decision about what the organization should be, came from me reading the code and recognizing a shape I’d seen go wrong before.

Proportional Scrutiny

The student asked how you get good at systems when the abstractions keep you from touching them. Part of my answer was that you have to read the code the agent writes, which is different from reviewing it.

The distinction matters to me because most code review I saw at Google was style review. Someone would tell you a line was too long, or a name didn’t match the convention, and both of you would feel like work had happened. I don’t do any of that anymore. We use Ruff for linting and formatting, it runs on every PR, and whatever it says is fine with me. I also don’t fight the agentisms. There are twenty-five line comment blocks in our codebase, and I leave them, because the next reader of that file is another agent and the comment might be useful context for it. A comment explaining how a for loop works is wasted tokens, but I’m not going to spend my afternoon hunting those down.

What I do instead is apply scrutiny in proportion to what the code is. If an agent rewrites a pile of CSS, I open the page in a browser, it looks fine, and I move on. I’m not a CSS expert and I have no plans to become one. When an agent touches our core agentic loop, I read every line and I make sure I understand why every line is there. That loop is one of the pieces of the product I’d call real intellectual property, and most of it was guided by me, decision by decision. The agent is the same in both cases. What changes is how much attention I give its work, and knowing where that attention belongs is most of the skill.

That’s proportional scrutiny, an idea I learned from Luiz Barroso. You watch the things that took a big investment, that have a large blast radius, that are consequential to the rest of the system, and you give everything else a lighter look. It applies to engineering management too. Luiz used it to let a few of us chase a long-shot project for a year while he ran an organization of fifteen hundred people.

What Breaks First

My favorite question to ask an agent, and the one I gave the student to take home, is what breaks first if usage goes up by three orders of magnitude.

A hundred queries a second to a hundred thousand. A thousand users to a million. The agent will give you a real answer, and the answer will teach you about the system you’re building faster than any textbook I know of. If you can get a project to the point where you’re confident it would survive that, you’ve done the distributed systems course. Very few systems actually run at that scale. Asking the question is still how you learn to think about scale.

I learned it the expensive way. I’ve taken large portions of Google down more than once in my career, and the lesson from those days was simple: you learn from the outage or you get fired. I once led a team that built a geographic photo search system, and it had to sit in the main search path, so every query to Google.com went through our code. The day we turned it on our baseline was over a million queries a second with a five millisecond budget at the ninety-ninth percentile. The naive implementation took a week. The version that could actually carry that traffic took two years. That gap, between the thing that works and the thing that survives, is what senior engineers carry around in their heads. It’s what the student was really asking how to acquire.

The Bargain We Used to Make

His question is harder now than it was for me. The industry used to run on a trade. A new grad could write syntactically correct code and not much else. We’d hire them, they’d write a lot of code, and a tech lead would sit alongside them and teach them how systems actually fit together. They gave us labor, we gave them judgment. It wasn’t efficient, but it worked, and it’s how every senior engineer I know got here.

Agents took the labor half of that bargain. A new grad’s first year of work, the part where you write a lot of code and learn by getting it wrong, is exactly the work agents do well and cheaply. What’s left is the judgment half, and that was always the part that was hard to teach and impossible to shortcut. I wrote in The Last Programmers that each rung on the abstraction ladder frees us to work on harder problems. I still believe that. But the ladder used to have a bottom rung you could stand on while you learned, and I’m not sure it does anymore.

I don’t think that’s hopeless. I think it means the apprenticeship has to be rebuilt on a different foundation, and so does the university curriculum. Whatever anyone thinks of AI, it isn’t going back in the bottle for coding. The new foundation is the same one the senior people are standing on: the questions.

The Most Patient Teacher You’ll Ever Have

The part of my answer I most want to be true is that agents are the best teachers most of us will ever get access to, if you treat them that way.

Don’t take the PR blindly. Ask why it did that. Ask what the trade-offs of that data structure are. Ask what the runtime implications of that table layout will be at ten times the rows. Ask it to explain the same thing three different ways until one of them lands. It will never get tired, never get impatient, and never make you feel stupid for asking the same question again. Some of the tools lean into this directly. Claude Code ships a Learning output style that explains its choices as it goes and leaves small pieces of the code for you to write yourself. That’s closer to what a good tech lead did for me than anything I got from a book.

I do a version of this constantly. I’ll point an agent at a subsystem and say I want to understand this deeply, walk me through the important files and the control flow. I’ll ask for a diagram of how a subsystem looks in main today and then interrogate the diagram. When I was a senior director that was exactly how engineering reviews worked: someone came in with block diagrams and sequence diagrams and we talked about the project at that level of abstraction. I wrote about coming back to the individual contributor side in Full Circle. One of the surprises has been how much of the director job I still do, just with an agent across the table instead of a team.

I’ve even considered running a full design review this way, asking an agent to build a presentation and walk me through its decisions the way a team would have. I haven’t taken it that far yet, but I may at some point.

That’s the rebuilt apprenticeship. You still have to write some code by hand, and you still need a couple of languages you’re truly fluent in. But the judgment you used to absorb from a tech lead over three years is now something you can pull out of an agent on purpose. You do it one question at a time, starting on your first day.

I don’t want to oversell this. Glyph Lefkowitz makes the strongest version of the opposing case in Programming Isn’t Special. Take away the mundane work and you take away the practice, because “the majority of true skill development happens on the job and always has.” He’s right about that part. Most of my own judgment came from getting things wrong in production, and asking an agent good questions doesn’t replace the experience of an outage you caused. What it can do is get you to your first real failures sooner, with a much better map of what you’re looking at when they happen.

There’s also something the agent can’t teach you, which is anything that happened after its training data ends. When a new language feature ships, the agent won’t reach for it unless you tell it to, because it has never seen it. Knowing when a change like that matters, and when to bring it up, takes judgment and experience of your own.

How We’ll Know

The student asked about hiring, and I gave him a split answer. Google and the other big companies will move slowly on this. The interview you get there in five years will look a lot like the one you’d get today: computer science fundamentals, system design, distributed systems. Those things aren’t going away, and the big companies are right to keep testing for them.

Startups will change faster, and I’m one of the people who gets to decide how. We’re not hiring at Vycari yet, but when we do I’m not going to put anyone in front of a whiteboard. I think that’s archaic now. What I might do is hand a candidate a coding challenge and an agent, and ask for the transcript instead of the code. How they worked with the agent will tell me more about how they’ll work with us than the code will. Did they read what came back? Did they ask why? Did they notice the thing that was going to break at scale, or did they ship the first thing that passed the tests?

I recently built a whole project in Swift, and I had never written a line of Swift before. I mention it because it shows how little the language matters now, and how much everything else does. The student was worried the abstractions were taking the important skills away from him. I think they’re taking the unimportant ones and leaving the important ones exposed, with nothing to hide behind. That makes the job harder. But the questions were always the job. We just used to let people spend a few years writing code before we told them.

Reading List – 2026-10-13

Capability is easier to demonstrate than sustain. Across the AI pieces here, the pressure shows up in recovering from unfamiliar hardware, keeping review capacity ahead of automated output, and updating defenses as abuse tactics change. I find that a more useful lens than raw performance: what matters is whether the operating loop can keep pace with the system it supports.

AI models may be capable of self-replicating without access to a datacenter

The difficult part isn’t raw compute so much as standing up inference on unfamiliar hardware: package choices and machine-specific debugging are serial, and failures are hard to recover from. A 9B model managed inference on 8 of 9 hardware types, but only GLM-5.2 completed the full replication loop in the simplified fleet, where ADB had no authentication. That gap catches my attention: capable individual steps don’t guarantee a reliable system. I’d read the result as an upper bound, since the study deliberately simplified the access step.

Instant Software Factories

Scheduled agents only help while CI and review can absorb their output; otherwise, the factory just grows a queue of issues and PRs. The setup responds by having a manager reduce schedules as queues grow, while requiring checks, independent review, and human approval of each latest commit. What catches my attention is tracking cost per merged PR alongside failed fixes and follow-up work, rather than treating PR volume as progress. For teams considering unattended work, capacity and review discipline are operating constraints, not details to tune later.

Strengthening our defenses against distillation attacks

Anthropic treats reasoning extraction as an adaptive abuse problem: its two-stage classifier is red-teamed, then patched when new prompt tactics evade it. It reports the classifier catches techniques from its September report, with false positives below 0.1%, but expects attackers to adapt. What catches my attention is the operational loop: detection and patching have to keep pace with new extraction tactics. That ongoing work comes with integration changes and occasional blocked, charged benign requests.

Were Software Engineers blue-collar workers all along?

Calling development a skilled trade shifts focus from office work to making and fixing things in bits. The article argues that years of practice matter even without formal education, much as they do in other trades. It links AI anxiety to white-collar expectations of insulation from disruption, then argues for learning new tools. I’m struck by the distinction between craft and tasks technology can absorb; adapting may mean changing which work we do by hand, not assuming expertise makes us immune.

Character.AI files for bankruptcy

Character.AI says it will keep services running through the sale, but warns the platform will be wound down without a suitable bid. The piece describes another talent shift after Google hired much of the team in 2024; Disney now expects some technical staff to join. I’d want to understand who owns maintenance during that transition, because the service itself may not survive the sale of its assets.

An hour of audio transcribed in about 13s on MacBook Air

Reading speech from an embedding space by choosing the nearest of roughly 229,000 English words is a strikingly compact approach: only a reader is trained, while the audio encoder stays unchanged. It reaches about 288× real time on a base M3 MacBook Air, but its roughly 5% word error rate trails leading systems’ 2–3%. I like the constraint; the open question is whether a better-trained reader can close that accuracy gap while keeping the on-device speed.

Amex introduces a framework to prevent AI agents from making unauthorized purchases

Amex’s framework captures purchase constraints before checkout, has the customer authenticate them, then creates an Intent ID and Proof of Intent Token. The token carries high-level constraints and helps obtain a digital payment credential instead of exposing the actual card number. Amex says that can stop a mismatch, such as an agent ordering Adidas shoes when asked for white Nike sneakers in size 9. I find the lifecycle angle interesting: the same intent record may support fraud and dispute handling, though the article leaves those checks unspecified.

Sqlthon – A lightweight Pythonic layer for SQLite

Sqlthon’s quick start makes persistence an explicit step: after declaring a users table and adding a record, it calls save_to_database() before querying. That catches my attention because the code also wraps Connect in a context manager; the example doesn’t say whether leaving that scope saves anything. Before adopting this style, I’d verify the context manager’s lifecycle semantics so a missing save call doesn’t surprise maintainers.

Reading List – 2026-10-12

Across these pieces, capability keeps running into the conditions around it: review capacity for generated code, a harness that shapes an agent’s results, and clear boundaries for connected tools. I’m struck by how often the hard part shifts from getting a model to act to making its behavior inspectable and dependable in the workflow. That’s where deployment judgment still matters.

AI Is a Tool. Using It Well Takes Skill.

An LLM can be a tool even when it automates work: a programmer can ask it to explain unfamiliar code, check the answer against the source, test a suggested change, then refine or reject it. The article argues that this feedback loop still depends on human direction and judgment. What catches my attention is the skill it requires: the operator needs enough context to spot a bad answer, so review capacity remains part of the engineering cost.

GLM-Legal: Advancing Agentic Legal Intelligence

The engineering choice worth noticing is co-training the model and its harness: context staging, tool routing, and runtime feedback are treated as part of task performance, not plumbing. The authors report a 19.2% all-pass rate on Harvey LAB, up 12.5 points from the base model. I find that end-to-end framing more informative than a reasoning score alone, though the result also shows how demanding strict task completion remains. For agent builders, harness behavior belongs in both training and evaluation.

2027 Rivian R2 review: The Goldilocks electric SUV

The R2’s hands-free system is much more dependable on highways than on surface streets: it can disengage within seconds when lane markings aren’t distinct enough. It handled highway curves and lane changes well, but local-road performance depended on the specific road and nearby lines. What catches my attention is how much the feature’s usefulness depends on its operating conditions; the driver still needs to supervise, especially off the highway.

Muse

Meta is making active memory a differentiator for Muse Wonder. Its evidence includes MemoryBench, which tests continual learning and memory construction; Meta says Wonder scored higher than Fable, Opus, and Astra. For teams building long-running assistants, that makes memory quality worth evaluating separately from coding or general benchmark scores. I’m curious how well MemoryBench predicts useful recall across real user histories, since the source doesn’t report deployment results.

Muse reportedly gets hourly instructions to maintain a page for every person in a user’s life, including relationship history, closeness, and recurring topics. That makes context collection extend to people who may never use the agent. Meta says each user’s data stays in a dedicated secure virtual machine, but that doesn’t answer how nonusers’ information is represented or controlled. I’d treat that third-party context and its lifecycle as a product boundary, not merely a memory feature.

Muse’s new connectors reach tools such as GitHub, Dropbox, Figma, and QuickBooks, while a business goal can prompt it to autonomously plan marketing, client pitches, and product pages. That shifts the agent from chat toward work that spans connected systems, though the article doesn’t explain what approval or guardrails apply. I’d want to understand how users review a plan before it can affect those tools.

Keeping inference on users’ Macs or PCs makes the privacy boundary concrete, but Underdog currently relies on a 27-billion-parameter model fine-tuned from Qwen3.8 27B. Wen says it compares favorably with Claude Opus 4.6 on some benchmarks; that’s not evidence of parity across all the sensitive, open-ended tasks an assistant might handle. I’m interested in whether the local model is useful enough to justify keeping data on-device, especially since the article doesn’t establish how it performs in everyday use.

Meta releases its first frontier model, Muse Wonder · Muse launches on the iPad · Meta’s Muse Is Collecting Information on Everyone in Your Life · Silicon Valley’s AI wunderkind launches Underdog, the most private Instinct/Muse competitor yet

Cal AI’s 19-year-old founder just raised $10M for his new AI startup

Persona’s privacy boundary is deliberate activation, not local computation: the band uses a button or wrist flick, while the AI model and user data live in the cloud. The company says data is encrypted in transit and at rest and users can delete it. What catches my attention is the remaining trust burden: activation limits collection, but the article doesn’t explain what data the service retains or who can access it.

Foresight Offline Meeting Assistant

Foresight’s notable choice is keeping transcription and meeting Q&A on the Mac; Google says audio, notes, and connected files never leave the computer. That creates a clear boundary for meeting data without requiring a cloud connection, though the source doesn’t describe model quality or device-level access controls. What catches my attention is the deployment constraint: the experimental app is currently optimized only for Apple Silicon Macs, limiting where that offline approach can be used.

The interesting constraint here is that meeting notes, transcription, and document-based questions can all run offline on Apple Silicon, using a 740-million-parameter embedding model. That keeps the knowledge base available while traveling, but the source doesn’t say how well the local assistant handles larger collections or nuanced questions. I’d want to understand where its answer quality starts to give way, since that boundary determines whether offline use is a dependable workflow or a fallback.

Google’s AI note-taking app transcribes your meetings completely offline · Google releases a new local-first Granola competitor

Whistle: Speech to Text in 16.9 MB

Whistle’s notable engineering choice is a single engine path from speech to tool calls: one C++ binary loads both models, transcribes a clip, and returns tool calls and speech fields in one JSON object. At 16.9 MB, with CPU execution and no dependencies, that could simplify deployment where a separate transcription service is awkward. I’d want to understand how recognition failures are handled before a tool call runs; the article shows a confidence field but doesn’t describe the policy around it.

Amazon builds 1,000th satellite, will launch space internet service by end of year

Starlink about to get some real competition but Amazon is starting from behind with years of catch up launches to match space x coverage.

Apple Announces Next ‘Welcome Home’ Special Event on Oct. 13

I’m looking forward to this one. I’d like to see Apple release a gadget like the Google Pixel Tablet that would connect an iPad like device to a charging base. This is t what the rumors say we are getting but it does t hurt to wish.

Python 3.15.0

The headline JIT gains come with important qualifiers: Python 3.15 reports 7–8% on x86-64 Linux against the standard interpreter, and 11–12% on AArch64 macOS against the tail-calling interpreter. I’d keep those baselines in view before treating the numbers as a reason to change deployment plans. For teams evaluating the release, the useful next step is benchmarking their own workloads and platforms; these figures don’t establish a general speedup.

50MB operating system can resurrect your old PC

What a cool project. I love the idea of making old hardware useful again.

Google’s New Playground Aims to Make It Easy to Vibe Code a Game Right in Your Browser

Playground’s interesting engineering bet is the tight loop: prompt a game, test it immediately, then ask for changes to physics, rules, characters, or environment. Google says a custom harness, refined with internally built games and evaluations, powers that loop alongside its foundation models. The current gallery is mostly simple mini-games, so I’d read this as evidence for quick playable prototypes, not yet for maintaining deeper game systems. The open question is how reliably edits preserve behavior as rules accumulate.

EmDash uses Clef to moderate the plugin registry

EmDash keeps plugin publishing open while making catalog visibility a separate decision: authors retain signed AT Protocol records, and the registry controls what it lists. Clef scores text, links, icons, and screenshots; any category at 0.45 or above sends a listing to an operator rather than blocking it automatically. I like that the model’s uncertainty routes to review, though that puts the practical burden on review capacity. For a registry, the moderation path depends on the team’s ability to handle that queue.

Generated Interfaces for ChatGPT

The interesting engineering choice is to constrain generated interfaces with a library of native, streamable components, then compile them as the model produces them. That lets the UI arrive progressively rather than waiting for a complete response, while the model still chooses layout and interaction. I’m curious how that boundary holds up when a request needs an interaction the library doesn’t cover. For teams building similar systems, the tradeoff is flexible composition versus predictable behavior.

The notable shift is that ChatGPT may choose to return a working interface, not just formatted text: OpenAI says it can draw from a trained library of components. Its roast-planning example includes a control for changing guest count and scaling ingredients. I’m curious how reliably those generated controls preserve the answer’s meaning; as the article notes, visual elements add another place for hallucinations, while richer responses may also use more tokens.

GPT‑6 and Intelligent UI for everyone · OpenAI Wants ChatGPT to Stop Looking Like a Chatbot

Grok Bot Is Now a Model Router as SpaceX Continues to Pivot Further Toward AI Infrastructure

Grok Bot’s model router makes backend selection part of the service. Musk says simple questions go to small, fast models, while complex ones go to larger models. The article reads this as a possible move toward renting AI infrastructure rather than depending on Grok alone. I’d want to know what signal decides the route: quality, latency, and cost can favor different models, and the article doesn’t say how that tradeoff is handled.

Claude Haiku 5.5

Haiku 5.5’s adjustable effort setting makes cost versus intelligence a choice within the model, rather than only a reason to switch models. The announcement says it can pair with Sonnet or Opus as a coding subagent and positions Haiku for narrower tasks like compaction and classification. I’d want to know how effort settings change latency and quality on a real task mix; teams still need to measure that tradeoff before routing work.

Haiku 5.5 matches Luna’s listed price only up to 100,000 tokens; above that, its rates rise fivefold, and the post reports its tokenizer uses about 25% more tokens on the same long prompt than Haiku 4.5. What catches my attention is how easily the per-token price can obscure workload cost. When comparing models, I’d include tokenization and prompt length, not just headline rates.

Claude Haiku 5.5 · Introducing Claude Haiku 5.5

AI Model Groupthink

The panel both supplies the answers and defines the consensus: each model is scored against the other eleven, and five of twelve are Chinese. The article reports higher average agreement among those models, while noting that shared training or style could let a bloc reinforce its own score. I’d treat this less as a model-quality leaderboard than a property of this particular panel; changing its membership could change who looks conformist.

People Holding Up the Internet

Counting changes makes maintenance visible, but it isn’t a maintainer census: the authors count people with ten or more changes and note that authorship doesn’t always mean maintainership. Even with that limit, the concentration stands out: seven of 14 listed Linux packages are mostly written by one person, and bash shows Chet Ramey at 100% of the year’s work. I’d treat this as a reason to inspect ownership and succession, not as a standalone measure of project health.

How Massive Is Elon Musk’s Trillion-Dollar Fortune? Spend It Yourself

The visualization’s 3D effect didn’t require a million 3D models: Agarwal says that many monster trucks would freeze a laptop, so he used other tricks to avoid rendering them as models. I like the constraint-driven choice, though the interview doesn’t say what those tricks were. For interactive graphics, the useful question is where a convincing representation can replace per-object rendering without obscuring what the display means.

I gave Opus 5.5 one prompt and six hours to visualize Invisible Cities

Opus 5.5’s striking result came at a real cost: the Invisible Cities visualization took 1 hour 25 minutes, used six parallel subagents, and ran about $74 in API tokens. The author found it mesmerizing, but this is one one-shot build, not evidence of repeatable design quality; GPT-6 Astra took 53 minutes and about $10, with more visual noise. What catches my attention is the shift from implementation effort to judging whether generated design choices earn their place. For interactive software, I’d treat design review and token budget as part of the build, not assume the prompt eliminates either.

We want you to build the next Git platform on Cloudflare

Cloudflare is drawing a clear boundary: Artifacts provides versioned repositories, programmatic forks, and Git operations, while builders design how agents coordinate, review, and merge work. Push events can trigger a Worker-based review workflow, but the policy for resolving competing changes still belongs to the platform you build. What catches my attention is that this makes agent isolation easy to prototype without making safe integration automatic. Teams still have to define what counts as a reviewable, mergeable result.

Software Engineering Is Dead. Long Live Product Engineering

Agents can write code, but a bakery owner still needs someone to identify which order-tracking tool fits. That distinction matters because a fluent request can hide the product decision, and the article says agents still struggle to draw out requirements. What catches my attention is the maintenance caveat: personal software may still require context engineering, so easier creation doesn’t settle who keeps it useful.

The End of TCP for AI Clusters — John Ousterhout, Stanford

Homa puts congestion control at the receiver: the first packet reveals a message’s length, and receiver-issued grants pace the rest. That lets it favor short messages in switch priority queues, so coordination traffic can bypass large transfers during incast. The talk reports about 13× lower P99 latency for short messages in one benchmark, not across all workloads. I find the receiver’s visibility compelling, but its value depends on the workload being latency-bound and the network supporting those queues.

OpenAI and Anthropic Have a New Threat to Worry About—and It Isn’t China

The interesting bet is that enterprises will trade dependence on closed-model APIs for the ability to build custom models from open weights. Reflection describes software for that job and is reportedly preparing its own open-weight model, but the article gives no technical detail on what building or operating one requires. I’d treat the cost and control case as unproven until those mechanics are clear; teams still need to know who carries the compute and maintenance burden.

Qwen3.8 27B addition in words

Format compliance and arithmetic competence diverged sharply: reasoning-disabled Qwen3.8-27B followed the English-words format in 96.17% of cases, but got 23.57% of sums right. Accuracy fell from 97.04% on one- to three-digit operands to 6.44% on ten- to thirteen-digit ones. Reasoning enabled got 167 of 169 in a paired test, but it was one-shot; I’d treat that as a promising contrast, not a stable estimate. Exact-output workflows still need independent checks, even when the answer looks correctly formatted.

Vinod Khosla believes ex-Deepmind engineer’s Wajo will win agent market on trust

For an agent that can call people and pay on a user’s behalf, trust has to show up in controls: Wajo says users can name trusted contacts and recipients can tell the agent not to call again. Poddar argues agents may not be able to unlearn access to personal data, so trust needs to shape architecture from day one. I find those controls more concrete than a general safety promise, though the article notes one test call had unclear disclosures.

Scrimshaw Jukebox

The interesting test wasn’t just asking a model for music: it had to design a text format and build a playable artifact with example tracks. The reported result was surprisingly good, though it leaned too heavily on Monkey Island. I’d compare recent and older models before calling this a newly emerged capability; the piece leaves open whether earlier models could do it too.

AI is now capable of developing its own inference hardware

Making every data movement an instruction gives openTPU a useful property: there’s no cache or hidden scheduling obscuring where cycles go. Its Lens profiler can trace runs from RTL, simulator, or card, down to per-instruction activity. I like that this makes performance questions inspectable, not just benchmarkable; it also puts the burden on whoever writes kernels to reason explicitly about moving data. That tradeoff matters when maintaining a compiler or optimizing a memory-bound workload.

AI Is Entering Its ‘Slurp Juice’ Era

The risk in AI’s expanding product menus isn’t just confusing names; it’s that usage limits and prices can shift, leaving customers unsure what their subscription actually buys. The article argues that this confusion is becoming a business liability. I find the moving terms more consequential than the product names: teams can’t plan reliably around a service if its allowance keeps changing, so clear pricing and change notices matter as much as new capabilities.

Mistral Large 4 (Le Chonk)

Open weights matter here less as a price point than as control over a dependency: Mistral says businesses can customize Le Chonk and pay only for compute, while a closed provider could withdraw access. That could matter for coding or cyberdefense systems where losing a model disrupts an operational capability. I’d keep that availability case separate from the performance claim: Le Chonk is still in preview, and the article offers no workload-level comparison.

Mistral Large 4 is described as a one-trillion-parameter multimodal model with 49 billion active parameters, but the source gives no deployment or serving details. That gap matters: active parameter count alone doesn’t tell an engineering team what latency, memory, or operating cost to expect. I’d treat the benchmark claims as a reason to test it, not a basis for choosing it, until those constraints are clearer.

Mistral Says Its New AI Model ‘Le Chonk’ Is the Best Open-Weight Offering Outside of China · Meet Mistral Large 4, aka Le Chonk

Reading List – 2026-10-10

Today’s reading connects the tools around AI-assisted development with the judgment behind using them: security review, documentation, token costs, and programming as expression.

Anthropic launches free AI security scans for open-source projects

OSS Scanner trades human triage for faster, more frequent scans: its vulnerability reports are fully model-generated, and Anthropic warns they may be incorrect or invalid. That speed matters only if project maintainers can sort useful findings from noise; the article notes that some projects already struggle with AI-generated bug reports. What catches my attention is whether scan frequency can help without adding more triage work to already-stretched maintainers.

Supercharge your development with the Google Developer Knowledge API ecosystem

The agent skill searches document chunks first, then fetches full Markdown pages or returns a grounded answer. That makes context use a deliberate retrieval choice rather than loading whole documents by default. For a coding agent, I’d treat that sequence as part of the system’s behavior, not just plumbing. I’d want to test whether chunk-first retrieval keeps enough surrounding context when an answer depends on caveats elsewhere in the page.

Five keys to controlling AI token costs

Reranking puts a cheap relevance check between broad vector retrieval and the expensive model: fetch 50 candidates, then send only three or four chunks onward. The article says this can add about 100 milliseconds while cutting prompt tokens by 80% or more and improving accuracy. I like that the tradeoff is explicit: another pipeline step buys a smaller, better-targeted context. For RAG systems, the engineering test is whether those savings and relevance gains hold across your own queries.

Programming Isn't Special

Just like painting can be functional when you are changing the color on the shed in the back yard, programming can be art. It’s not the medium that is important, it’s the expression.

Reading List – 2026-10-08

Today’s reading looks at the engineering practices around software agents: clearer technical writing, Git infrastructure, levels of autonomy, and CI capacity.

Anti-Patterns in Software Blogging

Treating links as prerequisites makes readers leave an article to decode a term; the post argues that a short on-page explanation should provide the needed context, with links reserved for deeper reading. What catches my attention is that this sets a clear bar for technical writing: a reference can add depth without becoming homework required to follow the argument. The limit is that a brief explanation won’t replace a full treatment when the topic needs one.

Building Git infrastructure for agent-scale development

The old replica model made read scale tax every write: each durable replica participated in pushes, so the slowest replica determined push speed. GitHub's proposed split puts authoritative data in Azure Blob Storage and serves reads through cache workers, while coordinating only the reference update and parallelizing other push work. I find the failure model as interesting as the throughput claim: losing a worker becomes a cache miss, though the source doesn't quantify the latency of refilling it.

The 4 levels of agentic software development

The hard step in scaling agents isn’t dispatching more work; it’s changing validation from a human gate into an automated loop. The article describes tests, security scans, and policy checks feeding failures back to agents for retries, while people review aggregate behavior rather than every diff. That only works if the checks are comprehensive and deterministic enough to contain probabilistic output; otherwise, parallelism can saturate CI and erode trust. I’d focus first on whether the pipeline can catch and route bad changes reliably, before increasing agent volume.

AI coding has made CI a bottleneck, so we reworked ours to keep up

The sharpest tradeoff is Vitest isolation: sharing a module registry avoids rebuilding entity, GraphQL, and decorator state in every shard. Linear reports the slowest shard fell from roughly 300–379 seconds to about 195, but calls this its highest correctness-risk optimization. I’d keep the opt-in eligibility comment, teardown, and isolated fallback in view; those guardrails matter when shared test state meets agent-generated tests.

An oil painting of a signed acoustic guitar leaning against a chair, its sticker-covered case open on the floor, by an open window at dusk, a framed photograph of a hawk on the wall above, and an open book with a handwritten inscription on the chair.

Partner in Multiple Google Adventures

I recently wrote about Theo of Golden, Allen Levi’s novel about a stranger who notices everyone in a small town. All the way through it I kept seeing my friend Luiz Barroso. One of the passages I highlighted explains why it’s taken me this long to write about him: “There is no virtue in advertising one’s sadness. But there is no wisdom in denying it either. And there is the beautiful possibility that great love can grow out of sadness if it is well-tended.”

Luiz died in September 2023. He was 59. Apart from a line in the post about leaving Google, I haven’t written about him at all. This is my attempt.

The Datacenter as a Computer

Luiz André Barroso was a Brazilian computer scientist and one of the most consequential engineers most people have never heard of. He led the small team that rebuilt Google’s data centers so they behaved like a single machine. He and Urs Hölzle laid out the idea in The Datacenter as a Computer. That change shaped how much of the internet gets built. He won the Eckert-Mauchly Award in 2020 and was elected to the American Academy of Arts and Sciences in 2022.

Failure Is an Option

I worked for Luiz for several years. Before Core, when he was running Google Maps infrastructure, an organization of about fifteen hundred people, I’d started a small project to build a maps augmented reality system. We didn’t know if it was possible. Luiz didn’t think it was possible at all, and he let a few of us work on it for a year anyway.

That was proportional scrutiny, one of his ideas I still use: spend your attention where the consequences are. A few people chasing a long shot didn’t carry the consequences of the big bets in his organization, so he let us run. In one of our one-on-ones, I told him I was worried we wouldn’t succeed. He told me, “Failure is an option.” It’s the reverse of the line everyone quotes from Apollo 13. He’d made the bet knowing it might not pay off, and he wanted me to know that he knew.

Later, when he was asked to build the Core organization, I became Core’s chief of staff. I held that job for two years, the first of them working directly for Luiz, and then I helped him create the role he moved into next. That’s where I learned how to think about large organizations.

The Days in Which I Wasted My Career

Luiz was also an artist. He played guitar nearly every day, at home and at the office, and brought it on every vacation. He photographed birds, and a framed picture of a hawk he gave me as a holiday gift hangs on my wall. The year he died, he released Before Bossa, an album of American jazz standards and Brazilian songs from before the bossa nova era.

He made chocolate, too, and roasted his own Brazilian coffee. At Christmas he’d bring little boxes of chocolate to the office and give them to people. Sometimes he’d give me a pound or two of lightly roasted Brazilian coffee, and I savored it.

When the third edition of his data center book came out, he gave me a signed copy. The inscription reads: “To my friend and partner in multiple Google adventures, in hopes that this will remind you of the days in which I wasted my career as an Engineer :-)”

He didn’t think his engineering was a waste. He knew exactly how much it mattered. The joke was about something he took seriously: a person should be more than their job. The guitar, the birds, the chocolate, and the friendships were the other half of a whole life, and he made room for them.

The Only Thing He Carried Was a Guitar

Luiz was one of the only executives I ever worked with who didn’t carry a laptop into meetings. He’d show up with his phone in his pocket, and it stayed there. He didn’t read email between speakers or skim his inbox during someone’s slides. He talked with his team. The only thing he tended to carry into a meeting room was a guitar.

Somehow he was also prompt with email. I knew him for years and never saw him with a computer, but his replies always came back fast. I still don’t know how he managed to be fully present all day and stay on top of his inbox.

After his death, Urs Hölzle said there are constant battles inside the company over what the future should look like. Luiz navigated them, he said, thanks to an endearing personality and his guitar. In a room full of smart, stubborn people, the person who’s actually listening is often the one who gets a decision to stick.

He brought the same attention everywhere. We traveled together a lot. One Saturday on a business trip to Zurich, we spent hours walking all over the city and along the lake. We ended up drinking beer in a park and talking. On another trip we went to Oktoberfest, decided the crowded tents weren’t for us, and found a smaller beer garden away from the main festivities. What I remember from both is his questions. He was interested in everything, and he asked about you because he wanted to know.

He was also the most fun person I’ve ever watched soccer with. During the 2018 World Cup we had TVs set up in the cafeteria of our Google Maps building, and Luiz made it to a lot of the games. Once I took him to a San Jose Earthquakes game, and the things he noticed were so typically Luiz. Someone would make a bad play and he’d say, “You see him, he’s looking at the coach to see if the coach saw his mistake.” Even at a soccer game, he was watching the people.

In the novel, Theo finds ninety-two pencil portraits on a coffeehouse wall and gives each one back to the person in it. Reading those scenes, I felt something catch in my chest, because Luiz did the same thing. The gifts were real, but they weren’t the main way he did it. He did it with time and attention. He listened fully. He was present. He saw you.

What Google Meant to Him

Luiz loved Google, and he loved what he thought it stood for. He’d come to Google from Digital Equipment Corporation, and he’d watched big technology companies decline as they grew and got acquired. DEC was the example he came back to most often. I think he felt a responsibility to help steer Google through its enormous growth, and to keep reminding the company what it meant to be itself.

His essays on engineering culture read to me as part of that work. In the latest edition of the data center book, his co-authors published a small collection of them. In The Eagle has Launched?, he argues that we celebrate the wrong moments. We throw parties for launches, when what matters is the landing: a product that measurably makes users happier, or a system that got simpler and more reliable. In the Roofshot Manifesto, he made the case for steady, mostly invisible 1.3x to 2x improvements. Stack enough of them and from far away it looks like a moonshot.

Both essays are about noticing work that’s easy to overlook. That’s a management problem as much as an engineering one, because what a leader recognizes is what a team learns to value. Luiz recognized the people everyone else walked past. In my review of Theo I told a story about telling a struggling engineer that their work mattered. I said I’d learned it from a boss who was also a close friend. That was Luiz.

Obvious in Foresight

Luiz was brilliant, and he was modest about it. He used to say that all he had was the ability to state the obvious. The catch was that things obvious to him in foresight were usually only obvious to the rest of us in hindsight. In Three Lessons from Three Decades in Engineering, he puts it as advice. Big, important problems tend to be easy to understand even when they’re hard to solve, so develop respect for the obvious.

Luck and the Help of Others

That same essay ends with a line I keep rereading. After listing the lessons of his career, he writes that he’s left out the effect of luck and the help of others. They had as much impact, he says, as any efforts of his own.

That’s one of the most decorated engineers of his generation saying he isn’t sure how much of it he can claim. I think about luck as a multiplier. Talent and preparation still have to be there, and success is still earned. But whether it comes out as a one or a ten depends on things nobody controls. People who see their own success like that tend to hold it loosely and give a lot of it away. Luiz was the most generous person I’ve known, and I think that’s where it came from.

That Last Summer

My mom died two months before Luiz did. When he heard, he reached out and offered to do anything I needed. We spent a morning at his house talking about my mom, and about his dad, who had died a few years earlier. Eventually we drifted into technology and work. He listened.

A few weeks before he died, he came to my house to play guitar. My son plays French horn and trumpet, and he brought his trumpet out and asked if he could join us. We put a few charts in front of him, and the two of them played old jazz standards together, Luiz on guitar and my son on trumpet. It’s one of my fondest memories of him.

At his memorial service we heard from many, many people who’d been close to him. We told stories and helped each other mourn a friend and mentor. The same things ran through the stories people told. Luiz listened, he was kind, and he was smart.

OM-01

When Luiz left Google Maps to build Core, we threw him a big goodbye party. I’d made him a guitar for it, had everyone on the team sign it, and covered the case in Google stickers. I’d built guitars in classes before, but this was the first one I made on my own, so I gave it the serial number OM-01. It’s the guitar in so many of the photographs of him playing.

After he died, his wife, Catherine, gave it back to me. It hangs within reach of my desk now. When I’m stuck on a hard problem, I take it down, play for a while, and ask myself what Luiz would do.

It’s been three years since my friend died. I still think about him every day.

An oil painting of a coffeehouse wall covered in framed pencil portraits, one frame missing, with blooming dogwood trees visible through a window.

Ninety-Two Portraits

I mostly read science fiction. My wife read Theo of Golden with her book club and suggested it to me several times. This summer I finally picked it up because I had nothing else to read. I read it a few pages at a time on my Kindle, in the weeks right before I left Google. I went slowly on purpose, because it’s a book that rewards that. It ended up as one of my favorite books of the year.

The first passage I highlighted was the opening: “Theo was in Golden for only a year, from springtime to springtime. He arrived just before Easter, when the Boughery and the Promenade were an ocean of dogwood blooms and azaleas.” Allen Levi tells you on the first page that the visit is short. The rest of the book is about what one person can do with a year if he pays attention.

When I wrote the two-year anniversary post for this blog, I said I’d keep bringing more of my outside interests here, and that some book reviews were coming. This is one of them, and like most of what I read, it got me thinking about work.

The Portraits on the Wall

Theo is an older man who arrives in Golden, a small Southern town, with no obvious reason to be there. Ninety-two pencil portraits of ordinary townspeople hang on the wall of a local coffeehouse. Theo buys them one at a time and tracks down the person in each drawing to give it to them. He calls them the rightful owners.

That’s most of the plot. You wouldn’t think it would be enough for a novel, but in this case it is. Theo clearly loves art, and rivers, and music. But the book is really about his attention. He shows up in person when a phone call would do. He notices the custodian, the accountant, the cellist, and the woman living on the street. Being seen that closely changes each of them, and over the year it changes the town.

I won’t tell you how it ends. Theo lives the way most of us mean to and rarely manage: slowly, generously, and with his eyes open.

Some readers will find it too sweet. It’s comfort food for the soul, and I’m fine with that. At this point in our history, we could all use a little kindness to remind us of the people we should aspire to be.

There’s a quiet Christian faith running through the book. I’m not religious myself. I’ve read the texts of many of the world’s major religions without practicing any of them. But I admire the reported words of Jesus, and I admire people of any faith who actually live what they believe. Theo is one of those people. You don’t need to share his faith to be moved by that.

A Flurry of Questions

Most of Theo’s attention comes out as questions. In one scene with two girls, Levi writes, “Theo was a flurry of questions. The two girls were a flurry of half-formed answers and fully formed dreams.”

I keep coming back to that line because of how much of engineering runs on questions. We ask them in design reviews, code reviews, interviews, and one-on-ones. The person on the other end can almost always tell why you’re asking. Some questions are there to find the hole in someone’s reasoning. Theo’s are there to find out who someone is and what they want, and the girls answer with dreams because his questions leave room for them.

I once took a leadership class built around the idea of listening to learn, and I’ve tried to practice it ever since. You listen without waiting for your turn to say the next thing, and you ask questions to learn rather than to score points. That’s what Theo is doing in that scene.

Managers can choose which kind to ask. “What’s blocking you?” is a question about the project, and you should still ask it and clear what you can. But once the blockers are handled, ask the bigger question. I often put it this way: “If you had a magic wand, what would you wave it at?” Sometimes you’ll get the dream.

Recognition Costs Almost Nothing

A portrait of yourself is a strange gift. It tells you that someone noticed you and that you belong to this place. Most workplaces are bad at saying that. We celebrate launches and promotions because they’re visible. We say much less to the person quietly keeping everything running.

Years ago I was coaching an engineer who was going through a hard stretch and doubting whether they belonged on their team. I told them their work mattered. They’d gone through the same process as everyone else to get their job, which meant they’d earned the right to fully participate in it. It was a simple thing to say, and it brought them to tears. Years later they told me that moment of recognition had been one of the most important things anyone had done for them.

I didn’t come up with that. I learned it from a former boss of mine who was also a close friend.

Make It for Mercy

Another passage I highlighted: “If you not sure what to do and you gotta choose one or the other, I say always go the mercy way. If you make a mistake, make it for mercy. Bad mercy don’t hurt nearly like bad justice.”

Mercy is attention under uncertainty. When you’re judging something someone did, you’re rarely seeing all of them, and this passage tells you what to do with the part you can’t see.

Engineering already has a version of this in the blameless postmortem. It’s partly an information strategy, since blaming a person for what the system did teaches everyone watching to hide their errors. It’s also an agreement about atmosphere. At Google we used to say “assume good intent,” meaning assume the people around you are trying to do the right thing with the information they have. Failures will happen, and when they do, we’ll learn from them and work to prevent the next one. That part is mercy, written into a process.

Sometimes you’ll get it wrong. Someone really was careless, and you treated it as a process failure. That mistake isn’t free. Teammates pick up the slack, and the standard slips a little for everyone. But look at how the passage starts: “If you not sure what to do.” Mercy is the default when the evidence isn’t there yet. The other half is trust but verify. You extend the benefit of the doubt and keep looking, and once the evidence is clear, holding off is just avoidance.

The same goes for a performance calibration, where a room of managers judges a year of someone’s work from a few paragraphs. You won’t have the full picture. When you’re unsure, the book’s advice holds up.

Where the Book Found Me

The timing mattered. I read it in the weeks before I left Google, so it was fresh when I sat down to write my goodbye note. I could only recall about a hundred and fifty colleagues. So I had an agent read twenty one years of my sent mail and help me say goodbye to several thousand. Theo spends a year handing people back their own faces. I was trying a version of it on my way out the door. The difference is that Theo doesn’t wait until he’s leaving to do it.

Read it slowly if you can. And if a name comes to mind while you do, someone who saw you before you’d done much to deserve it, that’s worth acting on.

The book also brought him back to me, and I haven’t been ready to write about him until now. That’s the next post.