founder @nuanced_dev prev 7 yrs @github, @uwaterloo writing about AI, code, and how humans actually understand software

rent free in your head
Joined August 2009
we made a document editor for building software with agents write a spec. get comments from an agent that has read your codebase. work through the decisions, then have it build. Introducing Nuanced Canvas.
6
7
4
19
1,925
this is exactly why we built Nuanced Canvas nuanced.dev agents produce code at a rate that quickly outpaces human understanding, but figuring out what to build, thinking through tradeoffs, and maintaining a clear mental model of our software are still hard. we need better tools for thinking, not just faster tools for executing.
If AI makes you 10x faster at coding, why is your team not shipping 10x faster? Amdahl's law has the answer... The law says the overall speedup is capped by the part you did not speed up. With `p` as the fraction of the work you accelerate and `s` as the speedup on that fraction, speedup is computed as attached. Now plug in some numbers. Say writing code is 30% of the time from idea to production, and AI makes that part 10x faster. The overall speedup is 1 / (0.7 + 0.03), which is about 1.37x. Even if coding is half of the cycle, you get about 1.8x. These numbers are illustrative, so use your own, but the shape stays the same. The rest of the cycle is still there: - Figuring out what to build - Aligning product, design, and other teams. - Code reviews, which are now more than ever - CI and CD takes the same wall time as before. - Debugging and incidents, where code that nobody on the team wrote line by line takes longer to understand. In fact, it can get worse than Amdahl predicts. Faster code generation increases the load on every stage after it, so the review queue grows and the bottleneck shifts. A team that writes 10x more code with the same review capacity is just building a bigger queue, unfortunately So if you want the team to actually ship faster, measure the whole path from idea to production and find where work waits. Then apply AI there too: review, test generation, flaky test triage, deploy safety checks. Otherwise, you have optimized the part of the system that was never the constraint. Speeding up the typing was always the easy part :)
1
4
337
ayman nadeem retweeted
The trajectory is clear
New on our Frontier Red Team blog: using Claude to formally verify software at large scale. Formal verification can prove that code is free of certain bugs, but historically it has only been feasible for small codebases (or required a lot of expert time). With AI models, however, this is beginning to change. In collaboration with @theoremlabs, we used Claude to prove security properties in over one hundred real-world open-source libraries over the span of a few weeks. Read our research in full here: anthropic.com/research/forma…
6
17
1
112
6,427
ayman nadeem retweeted
today in trying to be more ambitious: i asked for 100 ms startup time on our electron app. it did not go how i'd hoped we're building a markdown editor for building software with agents @nuanced_dev. i'm a big fan of @zeddotdev and have always wanted to build an app that starts as fast as possible. i close and open apps many times a day, i prefer to quit an app i'm not using to protect my mental context so upon reading @felixrieseberg's post last night, i went about actually being more ambitious with startup speed. it already starts fast, i'd previously profiled it to around 420 ms which feels solid. Opus 5.5 said that was probably the limit without going native. but felix said to be unreasonable so i was unreasonable. i asked for 100 ms. and let me tell you, not all software is free. not even close. eking out performance gains is not something you can hill climb in a night. Fable 5.1 did manage to get it from about 420 ms -> 320 ms with a modified electron the funniest direction Fable took was a hybrid where a native window starts fast and gets replaced with electron soon after. it technically hit 158 ms, but you're looking at the wrong ui for most of it. i checked the demo video and it looked insane, the native ui didn't match the electron ui and you just see a flash of it before electron takes over the only way to get lower is going native or compiling typescript directly to a binary. i'm excited about scriptc but it's early and nowhere near able to compile a monster like electron. felix is a maintainer on electron so he may have thoughts the models can crank away but there's a limit without better libraries. we need everything to be faster! we need electron -> binary compilation, maybe @jarredsumner will ship that with @bunjavascript but it sure won't happen with one agent cranking away in a night next experiment is stripping electron down even further, will report back!
2
1
1
4
457
i think what’s tough about codex right now is the mental overhead of relearning where everything is. everything is compressed into chat, but the buttons keep moving. i was making gifs for the prod launch, and sometimes there’s a download link, sometimes i have to locate the file in finder, sometimes i have to ask for it. same thing i’m trying to accomplish, different ways to get there. even how to interact with a preview isn’t consistent. i get that dynamic interfaces sound cool in theory, but chat is a difficult form factor for this. discovery has to be really intuitive, because otherwise i’m figuring out how to use the tool all over again while trying to finish something.
4
521
5. The document is alive. Specs often become outdated as the software changes. In Canvas, I can return to the same document to revisit a decision and edit the section I want to change. The document is an ongoing interface to the software.
1
1
57
Nuanced Canvas helps you read and write about your software, and then the agent implements your changes in an isolated Git worktree. You review the diff and ship a PR. Available for Mac. nuanced.dev/
1
52
We built Canvas around five ideas: 1. I need to understand my software. Sometimes I’m still figuring out what I want, and the agent hands me a complete plan that has me reviewing its conclusions before I’ve formed my own. Writing helps me work through those decisions myself before the agent steps in.
1
3
120
Try it: nuanced.dev At GitHub, I loved writing specs and working through teammates’ comments before coding. I wanted to bring that experience to building with agents.
1
2
141
it's an incredible feeling when someone appreciates your direction setting
it's an incredible feeling when the direction is clear and it's just a matter of grinding it out to show the world what we see
3
335
AI gave me more builders and less time to think. AI doesn't eliminate complexity. building software will always stretch the limits of our cognition. as our tools become more capable, we will take on more ambitious problems. but while AI expands what we can build, our attention remains finite and we still have to decide where to spend it. I want to spend it on the software itself, on understanding the problem, deciding what to build, and thinking through the consequences. I want to stay with a problem long enough to get into flow, hold the pieces in my head, and work toward a coherent solution. too often that concentration gets broken up by coordinating agents, reconstructing context scattered across chat threads, and keeping up with their activity. by the time I return to the problem, I have to find my way back into it.
1
4
308
we had Kafi BBQ cater our rehearsal dinner and it was so good! my texan in-laws loved it.
James stopped by Kafi BBQ in DFW, where their halal take on Texas barbecue has earned national recognition and the title of Best BBQ in Dallas from the Dallas Observer.
7
524
i’ve been speaking urdu to my 3 mo old daughter narrating our little life to her, and finding myself dissecting a language i’ve spoken my whole life but never really thought about. just realized even our days of the week are this odd mix of sanskrit, farsi, and arabic peer (monday): farsi mangal (tuesday): sanskrit budh (wednesday): sanskrit jumeraat (thursday): arabic + sanskrit jumma (friday): arabic hafta (saturday): farsi itwaar (sunday): sanskrit three different linguistic traditions coexisting in one calendar
6
27
1,087
urdu’s full of remixes. it doesn’t just borrow vocabulary from different languages but also stitches them together into new words badtameez = bad (farsi) + tameez (arabic) khushnaseeb = khush (farsi) + naseeb (arabic)
1
1
158
the word for book (kitaab) is a masculine noun in arabic but feminine in urdu. this is because urdu’s vocabulary is full of arabic + farsi, but its underlying grammar is indo-aryan so the words borrowed from those langs end up following a completely different set of rules
1
1
113
my husband ordered 4 potatoes on instacart but we somehow received 4 bags of potatoes truly moved by the number of ways there are to eat a potato.
1
12
720
ragebaiting erodes trust. i get why it works. outrage gets attention. but when you’re constantly manufacturing it for engagement, people start questioning whether you believe anything you say. eventually, even when you have something important to say, no one takes you seriously
2
7
572