Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Nolan Lawson

@nolan@toot.cafe
mastodon 4.7.3
  • Open on toot.cafe

toot.cafe admin, dev at Socket. Creator of https://pinafore.social. Formerly Salesforce and Microsoft Edge. The web is for everyone.

10145 Followers
475 Following
50 Posts
Joined April 04, 2017
Website:
https://nolanlawson.com
Pronouns:
he/him
Patreon:
https://www.patreon.com/user?u=5535137
Header:
https://flic.kr/p/owsn7U
Open post
Nolan Lawson @nolan@toot.cafe
· 2mo ago
"The mean means nothing" by Farid Zakaria https://fzakaria.com/2026/07/27/the-mean-means-nothing This is the kind of stuff you learn when you go really deep on performance. The visualizations are excellent too.
fzakaria.com
22
0
13
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
New post: "We mourn our craft" https://nolanlawson.com/2026/02/07/we-mourn-our-craft/ No comment on this one.
We mourn our craft
Read the Tea Leaves

We mourn our craft

I didn’t ask for this and neither did you. I didn’t ask for a robot to consume every blog post and piece of code I ever wrote and parrot it back so that some hack could make money off o…

157
23
112
2
Open post
Nolan Lawson @nolan@toot.cafe
· 3mo ago
"Understanding is the new bottleneck" by @geoffreylitt@mastodon.social https://www.geoffreylitt.com/2026/07/02/understanding-is-the-new-bottleneck.html I'm going to try some of these techniques. If you don't understand the code, you won't get shower-ideas or dream-ideas that make the code better.
geoffreylitt.com

Understanding is the new bottleneck

17
4
5
0
Open post
Nolan Lawson @nolan@toot.cafe
· 2mo ago

"Understanding is the new bottleneck" by Geoffrey Litt https://www.youtube.com/watch?v=WkBPX-oDMnA

One of the most useful talks on AI coding I've seen. I've been using the explain-diff-notion skill for a week, and it is *awesome*.

Understanding is the new bottleneck — Geoffrey Litt, Notion

9
1
1
0
Open post
Nolan Lawson @nolan@toot.cafe
· 3mo ago
"The Short Leash AI Coding Method For Beating Fable" by @taoeffect@crib.social https://blog.okturtles.org/2026/07/short-leash-ai-method/ Great advice in here. I don't really understand the idea of "software factories" where you're completely hands-off. Seems like a great way to no longer understand the codebase.
blog.okturtles.org
14
2
3
0
Open post
Nolan Lawson @nolan@toot.cafe
· 2mo ago

"The Dark Night of Mathematics" by Kirwin Hampshire https://kirwinhampshire.substack.com/p/the-dark-night-of-mathematics

This is similar to what I was getting at in "We mourn our craft." Seems mathematicians are going through the same stages of grief.

kirwinhampshire.substack.com

The Dark Night of Mathematics

What are we really doing?

7
1
3
0
Open post
Nolan Lawson @nolan@toot.cafe
· 3mo ago

"Goodbye, forever, probably" by Salma Alam-Naylor https://whitep4nth3r.com/blog/goodbye-forever-probably/

There's a vibe shift going on, and I don't think enough people are talking about it honestly. This is raw and brutal but it's a good read.

I was never in DevRel, but I used to get a lot of joy out of "here's how you do X" -type blog posts. I don't see the point in it anymore. Just ask your agent to do something if you need help. It's all feeding off of my and others' years of content anyway.

Goodbye, forever, probably.
whitep4nth3r.com

Goodbye, forever, probably.

I’m leaving developer relations and developer education. Rather than disappear completely unannounced, I wanted to tell you why.

11
2
5
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago

"Why Senior Engineers Let Bad Projects Fail" by Lalit Maganti https://lalitm.com/post/why-senior-engineers-let-bad-projects-fail/

No notes, 100% correct on all counts.

lalitm.com
40
4
27
0
Open post
Nolan Lawson @nolan@toot.cafe
· 6mo ago

New post: "The diminished art of coding" https://nolanlawson.com/2026/03/22/the-diminished-art-of-coding/

I'm still exploring the themes from "We mourn our craft." This post could maybe be summarized as "go touch grass," or more precisely: "go touch poetry."

The diminished art of coding
Read the Tea Leaves

The diminished art of coding

Programming is an art. It’s less like fine art or music and closer to architecture or carpentry – combining form and function – but it is an art. If you don’t…

23
5
9
1
Open post
Nolan Lawson @nolan@toot.cafe
· 3mo ago

"You might not need… a service worker" by Jay Freestone https://www.jayfreestone.com/writing/you-might-not-need-a-service-worker/

Service workers are incredibly powerful but also incredibly complicated. I feel like a lot of people went through the journey of "This sounds nice, but it caused an incident and I couldn't wrap my head around it, so I just ripped it out."

jayfreestone.com
6
1
3
0
Open post
Nolan Lawson @nolan@toot.cafe
· 3mo ago
"What Is Your Job Now" by Farhan Thawar https://www.youtube.com/watch?v=ByOF8qByGHU This almost perfectly matches my thoughts on the topic. The most important part is the slide showing that the time spent writing code is compressed, but the time for planning and validation has increased.
6
1
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 7mo ago

I've read a lot of articles saying "I'm so tired of talking about The Thing Everyone's Talking About." I imagine my own feed is pretty boring to some people.

I don't feel that way at all. I feel like a meteorite just struck the earth and little green men started spilling out, and now suddenly they're popping up everywhere you go, and it's like… I'm supposed to talk about something else? Like gee, some weather, huh?

20
3
2
0
Open post
Nolan Lawson @nolan@toot.cafe
· 6mo ago

"Comments" by Alan Jacobs https://blog.ayjay.org/comments/

"90% of those who comment do not read your post at all: maybe the title reminded them of something they want to say on a related or semi-related subject, or maybe they’re just hanging out with other people who comment and you have nothing to do with the occasion."

Absolutely blistering, and largely true in my experience. Especially true of Hacker News comments.

blog.ayjay.org
13
0
3
0
Open post
Nolan Lawson @nolan@toot.cafe
· 6mo ago

"Eight years of wanting, three months of building with AI" by Lalit Maganti https://lalitm.com/post/building-syntaqlite-ai/

Lots of good advice, and matches a lot of my experience.

lalitm.com
12
1
9
0
Open post
Nolan Lawson @nolan@toot.cafe
· 2mo ago

"Big Tech’s War on Human Achievement" by Gregory Conti https://www.compactmag.com/article/big-techs-war-on-human-achievement/

"Soon we may have less reason to care who 'wrote' a paper with an AI’s help or who inaugurated a theory by prompting Claude than we do about who was riding Secretariat when he won his triple crown."

Big Tech’s War on Human Achievement
Compact

Big Tech’s War on Human Achievement

Just a couple weeks ago, Secretary of State Marco Rubio made conservatives cheer when he delivered a sharp rebuke to communism not only for the atrocities committed in its name, but for the picture of human life underlying it.

2
1
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 7mo ago

"The Structure of Engineering Revolutions" by @johnallsopp@indieweb.social https://webdirections.org/blog/the-structure-of-engineering-revolutions/

I feel like I've been waiting half a year for someone to write this essay. This makes more sense out of everything I've been reading, thinking, and feeling for the past few months than just about anything else I've read.

Web Directions Conferences (and more)
webdirections.org

Web Directions Conferences (and more)

Conferences for web and digital professionals, in person and online

14
6
9
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
"The phenomenology of agentic coding" https://neonvagabond.xyz/articles/the-phenomenology-agentic-coding.html An incredibly dense but rewarding read that makes me wish I had taken more undergraduate philosophy courses. It's amazing to me that people still write like this on the internet.
neonvagabond.xyz
16
0
5
0
Open post
Nolan Lawson @nolan@toot.cafe
· 6mo ago
Replying to
There's a lot of chatter about how vibe coding is going to fill the world with junk code. I think that's absolutely happening right now, but I'd bet it's largely because people take the first draft of an LLM's output and ship it straight to prod. That's absolutely bananas to me. Instead, you can use an army of LLMs to meticulously hunt for dumb bugs in your code (whether AI- or human-written). I guarantee you they will find weird bugs you never thought of (often nitpicky, but still).
8
2
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 6mo ago
Replying to
This is essentially inspired by this article, which was a lot more scientific than my methods: https://milvus.io/blog/ai-code-review-gets-better-when-models-debate-claude-vs-gemini-vs-codex-vs-qwen-vs-minimax.md The weirdest part is that originally I tried to write a bash script to do the above, and it was too flaky and error-prone. Then I just wrote a Claude skill, so effectively the script is markdown. (The meta-reviewer is the main agent, the Claude reviewer is the sub-agent.) This proved much more resilient.
milvus.io
6
4
2
0
Open post
Nolan Lawson @nolan@toot.cafe
· 5mo ago
Replying to
I *really* look forward to using shadow DOM in, like, ~3-5 years after all this stuff has been ironed out. In the meantime, its advocates are doing true heroics to harmonize it with the rest of the web platform. But it's really a slog, and it's hard for me to remember fondly all the effort I put into getting basic stuff to work across shadow boundaries
4
2
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 5mo ago
Replying to
I don't want to dismiss the hard work that people are doing to make the web platform more cohesive. And of course competing interests and priorities will always make the web "lumpy": https://paul.kinlan.me/the-lumpy-web/ But still, as a web developer, it's exhausting. This site doesn't even cover @font-face, ARIA IDref, submit buttons in forms, focus libraries, browser extensions, styling… the list goes on and on. When you work with shadow DOM, you're opting into pain.
Modern Web Development with Chrome

The Lumpy Web

Wrinkles, Crinkles and lumpy bits.

4
10
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 6mo ago
Replying to

What this process can't do:

  • Tell you if your original idea was a bad idea
  • Tell you if the added complexity is worth the benefit
  • Tell you if any customer actually wants the feature

What it can do:

  • Find dumb bugs
  • Question your assumptions
  • Make you realize there are so many dumb bugs that the feature is probably not worth it in the first place

If the agents are having a field day tearing apart my PR, then I usually reconsider the entire premise.

4
0
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@thereisnocat@toot.cafe In my darker moments I am not unhappy to be near the tail end of my career.
4
0
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 5mo ago
Replying to
@rauschma@fosstodon.org Yeah you basically dodge all the "bad parts" of web components if you do that. Another strategy is to abuse s so that nearly everything is light DOM.
1
3
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 5mo ago
Replying to

Oh man I almost forgot about:

  • elementtiming
  • ARIA semantics where the parent-child DOM relationship matters (e.g. list / list items)
  • scoped custom element registries

I'm having flashbacks to all these battles. Really hard to say I miss them.

1
1
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@suricrasia@lethargic.talkative.fish I replied on my blog, and I really appreciated your kind words! Our humanity will endure, and I will try not to lose sight of it. Thank you for the lovely way you expressed it.
2
0
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@JanMiksovsky@fosstodon.org Sure yes, I believe a new craft will replace the current one, and that the two will share a lot of similarities. I am not a total doomer, but this post was for me to grapple with my sadness, so I allowed it to be a bit melancholy. I have plenty of colleagues who are totally gung-ho about the new craft and have no sentimentalism for the old craft, but that's just not me. 😅
2
0
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@dzervas@infosec.exchange This is exactly where I'm at. I covered this a bit in a recent post (https://nolanlawson.com/2026/01/31/building-a-browser-api-in-one-shot/) where I marveled at how, with one prompt, I could build someone that previously would have been a proud open source project for me, with stars and issues and PRs and all the rest, but now… I just don't care. It's disposable. Anybody can create another one on-demand. I don't even know what to do with my open source code anymore.
Building a browser API in one shot
Read the Tea Leaves

Building a browser API in one shot

TL;DR: With one prompt, I built an implementation of IndexedDB using Claude Code and a Ralph loop, passing 95% of a targeted subset of the Web Platform Tests,…

2
0
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 6mo ago
Replying to
@njoseph@social.masto.host To be clear, I'm talking about my own vibe-coded PRs. IMO if people are sending you vibe-coded PRs that need this kind of review, then they should have done it themselves.
1
1
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 6mo ago
Replying to
@joshua@pigeons.club I go back and forth on this. Sometimes I wonder if it were better if I were at the start of my career, because then I wouldn't feel so nostalgic for the old way of doing things. Overall though I guess it is interesting to live through times of such upheaval.
1
0
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 7mo ago
Replying to
@varx@infosec.exchange I think if you're not impressed by my IndexedDB example, or the C compiler or other browser examples, then you might not be impressed by an experiment with much more nebulous goals. 🙂 I propose we agree to disagree and check back in a year!
1
1
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@varx@infosec.exchange If your question is "Can LLMs generate a production-ready browser that I would trust today?" then the answer is obviously no. However, the fact that it can get within spitting distance with a single prompt should give one pause. It's easy to see how this story ends. More important I think is your first point – "good enough" or "worse is better" has been a defining trait of most software for a long time. I think we can both agree that we'll see a lot of crap software shipped this year. 😆
1
3
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@varx@infosec.exchange For sure, the test I mentioned above was in response to a known use-after-free in Firefox. That said, I find it interesting that a lot of people seem to be saying, "AI can do _other_ people's job, but the thing I'm a specialist at? No way." This could be construed as a variant of the Gell-Mann amnesia effect (experts can spot the BS) or just cope. I'm not sure, but I do know that many people at the security company I work for are taking claims like this seriously: https://socket.dev/blog/the-next-open-source-security-race-triage-at-machine-speed
socket.dev
1
1
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@varx@infosec.exchange The Web Platform Tests are a pretty high bar of quality. If you read through them, most of them are about bizarre edge cases that, yes, include security, e.g. https://github.com/w3c/IndexedDB/issues/476 The code is probably awful when it comes to maintenance, reusability, etc., but I'm starting to wonder if any of those values matter anymore. There are of course exceptions, e.g. a common joke in W3C circles is about the "hit testing spec" that doesn't exist, but WPTs are otherwise pretty exhaustive.
GitHub

Transactions should be marked as inactive during key serialization · Issue #476 · w3c/IndexedDB

Chromium (bug), Gecko (bug), and WebKit (bug) all make transactions inactive during structured serialization of object values. The spec addresses this in the "clone a value" algorithm (see also str...

1
2
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@dotsie@mastodon.social @richard5mith@mastodon.online @gregr@mastodon.social Yep exactly although in retrospect the 2023 version was already quite capable. I refused to believe it until it became clear that you just needed to chain enough of these dumb things together to do what I do. To their credit, I had colleagues who saw this much earlier than me.
1
0
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@fahrni@curmudgeon.cafe Thank you!
1
0
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@varx@infosec.exchange Honestly, you don't even need 6 months. The future is here; it's just not evenly distributed.
1
1
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@numist@xoxo.zone @matt@toot.cafe Yep exactly, this is what I was going to say. I'm fractionally more productive today, but I can already see that my biggest bottleneck is trying to run more than 3 damn instances of Claude Code in my terminal when my web app uses one port and the codebase is shared and my laptop only has so much CPU/RAM. These are all dumb and easily solvable problems with more agents running in containers, and every company is madly scrambling to try to build that.
1
2
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@JamesWidman@mastodon.social I get where you're coming from. To be clear: this post is not really a plea to anyone in my audience to stop resisting, become a "collaborator," etc. It's really a conversation between me and myself from a ~year ago. You can make of it what you will.
0
1
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@richard5mith@mastodon.online @gregr@mastodon.social I understand it only because I was there with them until a year ago. At this point, I can't deny the evidence of my eyes. That doesn't make it any less painful.
0
1
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@janpet@ruby.social @varx@infosec.exchange It does matter because Claude for example spits out duplicate, verbose code that makes things hard for later-Claude to understand (too many tokens, context rot, etc.). My fear is that it doesn't really matter because Claude is also effective when you just tell it "DRY this code," "make this more succinct," etc.
0
0
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@matt@toot.cafe Hah, no worries! You're my friend, I don't mind you pushing back. Maybe someday I'll be embarrassed of what I wrote; wouldn't be the first time. 😛
0
0
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@varx@infosec.exchange I get the skepticism; there is a lot of junk and bunk out there. My experience comes from working at a small startup where people are already pushing the boundaries of multi-agent orchestrations and whatnot. I tried to cover this in a recent post; I think my experiment is pretty conclusive. Honestly you could try the experiment yourself with newer models or more loops and probably make the number shoot up: https://nolanlawson.com/2026/01/31/building-a-browser-api-in-one-shot/
Building a browser API in one shot
Read the Tea Leaves

Building a browser API in one shot

TL;DR: With one prompt, I built an implementation of IndexedDB using Claude Code and a Ralph loop, passing 95% of a targeted subset of the Web Platform Tests,…

0
13
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@megatronicthronbanks@mastodon.social Just the other day a coworker sent me a Rust-based C compiler that Anthropic built, which is apparently capable of compiling the Linux kernel: https://github.com/anthropics/claudes-c-compiler I understand where you're coming from, but it really feels like game over to me at this point.
GitHub

GitHub - anthropics/claudes-c-compiler: Claude Opus 4.6 wrote a dependency-free C compiler in Rust, with backends targeting x86 (64- and 32-bit), ARM, and RISC-V, capable of compiling a booting Linux kernel.

Claude Opus 4.6 wrote a dependency-free C compiler in Rust, with backends targeting x86 (64- and 32-bit), ARM, and RISC-V, capable of compiling a booting Linux kernel. - anthropics/claudes-c-compiler

0
6
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 6mo ago
Replying to
@Cheff@mastodon.gamedev.place Formatting nits are indeed silly, and I'm happy for tools like prettier and eslint to catch that. I think what's being called into question these days is even higher levels of polishing – DRY, KISS, separation of concerns, etc.
0
2
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 8mo ago
Replying to
@JamesWidman@mastodon.social @matt@toot.cafe Matt, I cannot credibly cheer on the resisters because I'm no longer one of them. Believe me, I was one of the most annoying anti-AI voices inside of Salesforce (anyone who worked with me will attest to this), but I just don't have the fight in me anymore. I see it as a lost cause. I admire people who fight for what they believe in, though, so I think it's the job of the anti-AI crowd to persuade the rest of us, push to regulate LLMs ala James above, etc.
0
2
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 5mo ago
Replying to
@peterreeves@mstdn.social There is some good stuff, like that shadow DOM "explains" parts of the web platform like and details/summary. And declarative shadow DOM can be used to build high-perf out-of-order rendering similar to Facebook's BigPipe. But overall yeah the fact that shadow DOM shipped without accessibility support for ten years does not reflect well on it.
0
0
0
0
Open post
Nolan Lawson @nolan@toot.cafe
· 5mo ago
Replying to
@kleinfreund@mastodon.social @rauschma@fosstodon.org I don't think "light DOM slots" will ever be a thing, except as a compile-time authoring concern. Something is either a child element or a slotted element – it can't be both. That said, "light DOM components" can already do a lot with their children, which is kind of what "HTML web components" are designed to do.
0
1
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 03:57:00 UTC