Thomas D (@tthomasdd) header
Thomas D (@tthomasdd) profile picture

cloud agent platform @mercury

Boulder, CO
Joined February 2015
Photo by Thomas D (@tthomasdd)Photo by Thomas D (@tthomasdd)Photo by Thomas D (@tthomasdd)Photo by Thomas D (@tthomasdd)Photo by Thomas D (@tthomasdd)Photo by Thomas D (@tthomasdd)Photo by Thomas D (@tthomasdd)Photo by Thomas D (@tthomasdd)
Launching this is the highlight of my career. I've spent a decade building investment advice products and the systems that govern them, and applied all the lessons learned here. The result is a new portfolio primitive with an elegance at every layer, from front-end to back-end. Would love feedback. DMs open!
Bond ladders are now live in Mercury Treasury. Tell us what you spend in a month and what you want to invest. Your portfolio arrives fully built, earning up to 4.21% as of 11/06/2026.
2
2
6
206
Save Jensen. This would be an Apple firing Steve Jobs level of idiocy from NVIDIA’s board if they did that, and a grievous harm to the United States of America. The dude truly is the visionary driver of the future of tech from the gaming GPU era to CUDA to AI supercomputers.
Breaking: Nvidia’s board is preparing to oust CEO Jensen Huang after he had two extramarital affairs, including one with a suspected Chinese spy. on.wsj.com/4jcpr01
1,293
878
342
11,160
631,629
Thomas D retweeted
these people are getting way too lazy. what did he even type into opencode "say ok"
49
34
8
2,685
100,461
Thomas D retweeted
📽️ My talk from New York is now online ghuntley.com/answer/ Security is the new bottleneck. I took the moment at the conference to talk about engineering, not AI hype. Instead of rambling about software factories, I focused on engineering itself. By making security incident response fast, delivery gets faster too. The answer to AI is engineering, not AI. 1. The "Security take-off" is the new normal. Attackers scan and exploit new commits automatically, so publishing code online is now unsafer. To stay secure, you'll need more inference capacity than your attackers on autonomous purple teaming. Most companies have not factored the cost of inferencing for defence into their operational budgets yet. It's going to be exorbitant. 2. We don't need most libraries anymore. Libraries existed because code was hard to write. It isn't now. - I keep a trusted core (kernel, DNS, crypto). For everything above that, I have an agent build it or I vendor it. - "If you have to tool call a human on GitHub, that's not AGI." 3. Hard tools are now easy to use. Patching felt hard because every project brings its own build toolchain, CI job and artifact repo, separately for each language. Nix has solved that since 2003, but it was too painful to learn. - Agents remove the learning curve. Ask for Nix (or Bazel or Buck2), and you get it, with no multi-year upskilling project that nearly got every eng leader fired because you had to convince the organization of ROI, upskill humans with a huge investment of time before payoff. - Question your old assumptions: "The language sucks, I don't care, I just want the outcome." 4. One source of truth for every environment. In the talk, I show my nix-demo: a single devenv file defines developer laptops, CI/CD, agent sandboxes and production Docker images. - No need to set up a separate team for agent sandboxes that copies environments you already have. There's no drift between environments, and onboarding or replacing a lost laptop takes minutes instead of 48 hours. - It's like nvm or pyenv for every OS dependency, including native libraries reached through FFI. - Nix's dependency graph also builds leaner Docker images than stacked layers. 5. Demo: a git that can't force-push. When I enter the demo environment, git goes from 2.54 to my patched 2.55, which can't force-push. To make it, I asked Claude to "use Nix and create me a custom overlay that removes force push." - It's one patch, applied everywhere: my laptops, agent sandboxes and anything that uses git as a transitive dependency. It's the old way open source was shared, back in the slackware days, as patch files, before "get it merged upstream and consume the compiled artifact" became a thing after GitHub. - Agents hill-climb toward their goal and will do destructive things to get there. The best way to stop a model from doing something is to remove the capability from the underlying system. 6. Patch the planet. You don't have to wait for upstream to merge your fix. A Nix overlay can patch any package, even the kernel, and roll it out across the fleet. mise and Homebrew can't do that. - Transitive dependencies are where this matters. OpenSSL lives inside Nginx and Postgres, which is why no one used to patch it by hand. With one source of truth, Nix rebuilds everything that depends on it. CI builds once and pushes to the cache, and developers and sandboxes download from it. - When the incidents hit, I asked Claude whether my fleet was affected. It said yes, then updated the pins and applied the patches, and the rest rebuilt itself. I didn't lose any sleep. 7. Notes in AGENTS.md can be used for cleanup tasks instead of Jira tickets. So I asked the agent to add a note to AGENTS.md: remove these patches in seven days. - The next agent working on that machine read the note and removed them once upstream had shipped a fix. Nobody had to remember to do it. - These two tricks, an overlay patch plus a self-expiring note, are my standard response to every security issue. 8. My loop agents get sudo on disposable Nix machines, so they can inspect everything from databases to system journals. That's safe because the machine was built to be thrown away. - NixOS tests start whole fleets (web servers, load balancers, VLANs) and check the network rules. Every change is tested on infrastructure identical to production from day one, and preview environments come for free. - My hard rule: never give agents root on production hosts and never connect them to production databases. Copy the data and lock down outbound network access instead. 9. Deterministic checks, not skills. Ralph was never just about loops. It was about stopping the loop from closing on bad code. - Pre-commit hooks block code that doesn't compile. Static and semantic analysis enforces architecture rules, for example the SQL layer must never reference the API layer. Checks like these replace much of the need for code review. - Unit tests only cover what you thought to test, so I use property-based testing to search for the edge cases you didn't think of. At @AntithesisHQ we built two open-source tools for this: Bombadil, which stress-tests web apps against properties like "the user can always log out" and should replace Playwright, and Hegel, which brings Hypothesis-style property testing to every language.
30
19
6
251
12,426
Someone I know asked Astra to play Factorio. It wins, but it takes forever and guzzles tokens. If you ask Astra instead to “design a system to win Factorio,” it builds software that runs 1000x faster. Mechanistic software gives you cheap leverage, and LLMs can write mechanistic software on demand.
68
104
39
2,390
119,587
Thomas D retweeted
Today’s my first day @OpenAI after my sabbatical, and it feels like the right next chapter 🔥 Had one of the most generative periods I’ve ever had. Now, I’m feeling sharp and ready to go at it. Excited to swarm on the most impactful problems with an exceptional team 🥰
86
3
1
293
11,791
Thomas D retweeted
🗞️ the world hasn’t figured out yet that you can literally just fix everything with a Nix overlay In this blog post, I go into how I use Nix, why you should use it, and in the tweet below is a runnable demo showing all of the concepts in this post ghuntley.com/nix/
20
25
13
351
43,178
Thomas D retweeted
Many people in tech have made, or are about to make, large sums of capital. I want to make a petition for more philanthropy towards historical buildings- specifically Churches Every year, dozens of historical Churches fall into disrepair around Europe. Hundreds of these deconsecrated buildings are up for sale I don't believe you need to be Christian to recognise the value in saving these buildings. You just have to respect history. It is a travesty to see these buildings- that were the cradle of communities and our civilisation- fall into disrepair or even get demolished These Churches should not become financial assets- not yoga studios, not backdrops for light shows, not a rental opportunity. We should allow them to remain as sacred spaces- the preservation of our history is enough When you take on these sorts of projects, people will say, "Oh, but these are money drains! They will just need continuous repair- and you'll have nobody to sell them to!" Consider perhaps that in this you will find the whole point You could save a Church for low six figures. A very wealthy person could save a lot of them. I have taken on one, and it has been one of the most beautiful and meaningful projects of my life
54
74
16
970
85,747
Thomas D retweeted
We’ve increased dungeon kill XP by 50% in WoW Forever. Thanks for the feedback, all! Link to blue post:
418
134
44
5,644
367,595
Replying to @theo
3
20
2
1,055
35,353
Thomas D retweeted
This is a conspiracy theory but I'm like 95% sure I'm right. Reasoning traces for Opus 5.5 read like a shitty quantized open weight model then SOMEHOW the right answer comes out in the end.
Replying to @RhysSullivan
Ignore reasoning traces from Opus 5.5. They do not represent what the model is actually thinking. I swear they're just there to fuck up distillation
212
85
31
5,150
461,859
Thomas D retweeted
Replying to @GergelyOrosz
I have been trying to champion a definition of software factory that lands on the pre-ai definition of the word, potentially with agentic steps replacing some of the human steps. This is different from that “dark factory” idea or the tokenmaxxing thing. With that definition, what i read when you say this is something like “most companies don’t need ci” But I fear the term software factory is already dead and that nobody can agree on its meaning beyond “things that help you get software built” which could apply to 100 different interpretations
11
3
1
36
3,182
the ai slop posters list is now fully synced with @ryanvogel’s list - we’re up to ~780 identified accounts making this app worse. if you haven’t yet, point your agent at the list and have it mute and block the accounts on it daily nitter.gq/i/lists/21166591768940…
289
73
66
1,605
185,004
2027 will be the year literally everything will burn down. it will be a glorious bon fire. and once we have paid for the past 40 years of software sins, we will rebuild it. hopefully for the better. pwn.ai/blog/firecracker-esca…
23
39
10
633
30,688
Thomas D retweeted
so far this is working great. i tried this in the past and it wasn't as great. some details - we have long running sessions per project - opus is told to do all work in deepseek subagents - be strict about scope when creating a task - ask for proof of work instead of a summary - do a one step review of the diff to make sure it's not totally off opus is amazing at this role
the team is experimenting this week at switching all our subagents to deepseek flash and using opus 5.5 only on the primary subagent
101
46
17
1,980
90,530
Subagents are the biggest cause of AI failures In most harnesses: 1. Main agent writes a summary of what it knows 2. Subagent starts from that summary only, and makes assumptions 3. Subagent works and sends back a new summary of what it did Same flaw as compaction: all summaries are lossy. This is how your assistant makes emails you never wanted, or purchases what you told it just to get the price of So I tried something new: checkpoint agents The initial agent has complete context of what needs to be done. And that input is already cached Fork the session where it is. Send the fork ahead to do the task and it will do exactly what the main agent would have done; their context is identical What is even better is when the fork finishes, the cache of the main agent is kept warm by the subagent (they share the same prefix) I measured it on a 137k-token session with Opus 5.5: → Main agent does it on its own: 67 s, $0.38, context +8-17k → Checkpoint: 117 s, $0.68, context +2k → Classic subagent: 123 s, $0.57, context +4-5k But here is what I found: avoiding large input is even more important than keeping cache. And most subagent tasks were done better either in series with retrieval, or split up to be parallel over fresh sessions from the start I do not think there is a place for subagent delegation at all. There should either be a super-agent that orchestrates and does no work, or a long running agent that can retrieve from previous sessions, not a worker that completes tasks partially and delegates the rest to other workers Don't design harnesses based on our assumptions of human behavior
201
124
65
1,903
224,639
Thomas D retweeted
a year ago at @aidotengineer Code Summit I spoke about Research Plan Implement, how to apply context engineering to your coding agents, and why every concept in AI is doomed to suffer "semantic diffusion". That talk has over 600k views and changed the way engineers everywhere think about building with AI On thursday next week at 5pm, I'll be doing the ultimate mash-up talk: "Twelve Factor Factories: Design Patterns for Agentic Engineering" should be a fun one, see y'all there 🙂
40
9
1
200
9,056
Thomas D retweeted
gm to everyone currently playing wow at an airport gate
17
2
113
5,968
Rob is one of the voices I trust most on engineering Bend2 looks good eh
After 10 days of using Bend2, I am thoroughly hooked. Migrating core TypeScript logic to Bend's functional style, with laws and proofs, feels very satisfying.
27
46
4
1,204
93,497
Thomas D retweeted
hot take: you don't need a software factory, and i don't love the term. it's just marketing all you need is good software engineering and investing your tokens in the right places. the more deterministic the better (and token efficient)
all the companies selling you a software factory produce a shockingly tiny amount of software
438
576
180
8,090
495,376