Sign in

Ian Grunert

@iangrunert.bsky.social
51 followers 60 following 54 posts
PostsRepliesMedia
Ian Grunert @iangrunert.bsky.social · 09/08/2026
The alternative in New York seems to be playing music over portable speakers; I’d prefer more people using headphones.
000
Ian Grunert @iangrunert.bsky.social · 30/06/2026
@alexreardon.bsky.social bugs.webkit.org/show_bug.cgi... I think a couple of your drag reports for WebKit just got resolved; might be worth retesting when the next Safari Technology Preview is out.
bugs.webkit.org
318055 – Drag image of DOM elements with CSS transforms aren't rendered correctly
120
Ian Grunert @iangrunert.bsky.social · 07/04/2026
I thought return_call_indirect had to do a runtime table load + type check, whereas br_table was on a label index where the labels are known upfront?
100
Ian Grunert @iangrunert.bsky.social · 07/04/2026
I'm surprised return_call_indirect is reasonably quick on wastrel. I think it'd be possible to use br_table as a tail call - the code would be similar to the switch based interpreter without returning to the main opcode dispatch loop between each instruction.
100
Reposted by Ian Grunert
Lalit Maganti @lalitm.com · 05/04/2026
I just published a deep-dive into the 250-hour build behind syntaqlite, a SQLite formatter and LSP I built using AI agents. AI agents were the only reason built this after 8 years of wanting but there's a psychological toll to AI-assisted engineering. The post-mortem: lalitm.com/post/buildin...
lalitm.com
Eight years of wanting, three months of building with AI
For eight years, I’ve wanted a high-quality set of devtools for working with SQLite. Given how important SQLite is to the industry1, I’ve long been puzzled that no one has invested in building a reall...
1621038
Ian Grunert @iangrunert.bsky.social · 05/04/2026
It's tempting to re-prompt the same session to fix up the work, but I think unless it's really trivial it's better to start a fresh session / context.
010
Ian Grunert @iangrunert.bsky.social · 05/04/2026
"No sense of time" also applies to being very eager to write lots of code; most people would feel that a change that's getting too large / taking too long, take a step back and rethink the approach. I had similar experiences with refactoring for this project: iangrunert.com/2026/03/22/w...
iangrunert.com
Writing a JS Engine using Claude Code
Over the past 2 months, I’ve been working on a JavaScript interpreter using Claude Code. It’s been an interesting side project, to learn about the weird corners of the ECMAScript spec while figuring o...
100
Ian Grunert @iangrunert.bsky.social · 05/04/2026
Yeah I think you might be able to do the br_table without returning to the top level dispatch loop? Not sure how you'd convince the compiler to do that though.
010
Ian Grunert @iangrunert.bsky.social · 05/04/2026
I think this might be lowered to a return_call_indirect wasm instruction, which pushes to the value stack. For a tail recursive it'd be return_call which'd be faster. I guess you might be able to get a block per opcode function and use br_table? No idea if you could coax the compiler to do that.
110
Ian Grunert @iangrunert.bsky.social · 01/04/2026
Great, wide-ranging episode. Not just about the technical pieces, but about (slightly unorthodox) decisions on how to build, grow, and retain the company behind it.
010
Reposted by Ian Grunert
Scott Jehl @scottjehl.com · 30/03/2026
New on the Squarespace Engineering Blog! Squarespace & Web Standards: How We Helped Bring HTML Video & Audio Lazy-Loading to Today’s Browsers. I'm real proud of the teamwork that went into this. Stay tuned for part 2 next week, which will cover dev best practices for using this new HTML standard.
engineering.squarespace.com
Squarespace & Web Standards: How We Helped Bring HTML Video & Audio Lazy Loading to Today’s Browsers — Squarespace Engineering Blog
At Squarespace, many of our core products are built on web standards, and our engineers are constantly pushing the boundaries of the web’s capabilities. Occasionally, those boundaries reveal a limitat...
34319
Ian Grunert @iangrunert.bsky.social · 24/03/2026
Read more about writing a JS Engine using Claude Code here: iangrunert.com/2026/03/22/w...
iangrunert.com
Writing a JS Engine using Claude Code
Over the past 2 months, I’ve been working on a JavaScript interpreter using Claude Code. It’s been an interesting side project, to learn about the weird corners of the ECMAScript spec while figuring o...
110
Ian Grunert @iangrunert.bsky.social · 24/03/2026
Claude Code is great at "duct tape" work. Here's an example of a refactor + build config task. Input: Could we compile quickjs libregexp to wasm, call it via wazero, and use it as a replacement for regexp2 which can actually handle some of the unicode edge cases? github.com/iangrunert/g...
github.com
Replace regexp2 with QuickJS libregexp via WASM/wazero · iangrunert/gojiscript@452e170
Replace the dlclark/regexp2 regex engine with QuickJS's libregexp compiled to WebAssembly and called via wazero (pure Go, zero CGO). This gives full ECMAScript regex compliance including Unicod...
110
Ian Grunert @iangrunert.bsky.social · 23/03/2026
Over the past two months, I wrote a JS Engine in Go using Claude Code. It's passing ~44000 Test262 tests, almost reaching parity with QuickJS on Test262. iangrunert.com/2026/03/22/w...
iangrunert.com
Writing a JS Engine using Claude Code
Over the past 2 months, I’ve been working on a JavaScript interpreter using Claude Code. It’s been an interesting side project, to learn about the weird corners of the ECMAScript spec while figuring o...
040
Reposted by Ian Grunert
Eric Lengyel @ericlengyel.bsky.social · 17/03/2026
New blog post: A Decade of Slug This talks about the evolution of the Slug font rendering algorithm, and it includes an exciting announcement: The patent has been dedicated to the public domain. terathon.com/blog/decade-...
1127386
Ian Grunert @iangrunert.bsky.social · 17/03/2026
There's no e-mail marketing team more optimistic than Mattress Firm. Just bought a mattress? Want another one?
011
Ian Grunert @iangrunert.bsky.social · 16/03/2026
It's odd to me that V8SloppyMode is used on ~92% of page loads, while V8StrictMode is used on ~82% of page loads. Must be a lot of mixed strict and sloppy JS on the same page? chromestatus.com/metrics/feat...
chromestatus.com
Chrome Platform Status
001
Ian Grunert @iangrunert.bsky.social · 02/03/2026
github.com/WebKit/WebKi... The WebKit change was reviewed, however the backslash before the exclamation mark prevented the merge queue automated tooling from replacing the Reviewed by line to reflect that.
github.com
Fix GC thread terminology in comments to reflect multiple GC threads by ruthvikkonda · Pull Request #58714 · WebKit/WebKit
f634318 Fix GC thread terminology in comments to reflect multiple GC threads https://bugs.webkit.org/show_bug.cgi?id=307897 rdar://170377922 Reviewed by NOBODY (OOPS\!). WebKit's garbage coll...
110
Ian Grunert @iangrunert.bsky.social · 26/02/2026
Sometimes it gets confused when rebasing and introduces a commit that undoes all the changes. Pretty easy to catch on review, though.
000
Ian Grunert @iangrunert.bsky.social · 25/02/2026
The WebKit team at Apple is taking a different approach to achieve more safety; I take that as signal that their colleagues on LLVM aren't prioritizing implementation of profiles. www.youtube.com/watch?v=RLw1...
youtube.com
C++ Memory Safety in WebKit - Geoffrey Garen - C++Now 2025
YouTube video by CppNow
140
Ian Grunert @iangrunert.bsky.social · 23/02/2026
This trick might fit into this series: > Can we plan to execute each phase in a separate agent session? This would help manage the context window. iangrunert.com/2026/02/14/c...
iangrunert.com
A trick for Claude Code context windows
A big part of the job of working with Claude Code currently is task breakdown. This serves two purposes:
020
Ian Grunert @iangrunert.bsky.social · 22/02/2026
Very neat! How did you come across this video?
110
Ian Grunert @iangrunert.bsky.social · 15/02/2026
iangrunert.com/2026/02/14/c... Claude successfully implemented a very complicated 16-phase refactoring plan using this one weird trick.
iangrunert.com
A trick for Claude Code context windows
A big part of the job of working with Claude Code currently is task breakdown. This serves two purposes:
020
Ian Grunert @iangrunert.bsky.social · 12/02/2026
Link to 2025 schedule is broken
110
Ian Grunert @iangrunert.bsky.social · 09/02/2026
If you don't already have one, I'd hold off on buying an Apple TV right now. Should get updated really soon. buyersguide.macrumors.com#Apple_TV
buyersguide.macrumors.com
MacRumors Buyer's Guide: Know When to Buy iPhone, Mac, iPad
This page provides a product summary for each Apple model. The intent is to provide our best recommendations regarding current product cycles, and to provide a summary of currently available rumors fo...
140
Ian Grunert @iangrunert.bsky.social · 05/02/2026
Good tips in here even if you're running a single window of Claude Code. We're only scratching the surface of how we can use this technology in our discipline. www.anthropic.com/engineering/...
anthropic.com
Building a C compiler with a team of parallel Claudes
Anthropic is an AI safety and research company that's working to build reliable, interpretable, and steerable AI systems.
010
Ian Grunert @iangrunert.bsky.social · 31/01/2026
When did JavaScriptCore overtake LibJS on test262 execution time on test262.fyi? @goose.icu
test262.fyi
test262.fyi
daily runner of test262 for many engines
120
Reposted by Ian Grunert
Scott Jehl @scottjehl.com · 07/01/2026
Been deep in some browser & standards contributions lately and feeling renewed love for this idea that when companies need a certain feature, they can build it one-off, or they can propose (and prototype) a way to build it into browsers for everybody. Latter’s more approachable than many think!
0203
Ian Grunert @iangrunert.bsky.social · 07/01/2026
youtu.be/0nlNX94FcUE?... > “I had this vision that I was gonna sit in cafés and study physics, which was my passion at the time” - Sergey Brin www.youtube.com/watch?v=GmJI...
youtu.be
Big ideas begin here: Sergey Brin at Stanford
YouTube video by Stanford University School of Engineering
010
Ian Grunert @iangrunert.bsky.social · 06/01/2026
000
Reposted by Ian Grunert
Justice Of Toren One Var @jyn.dev · 16/12/2025
new jynpost jyn.dev/i-m-just-hav...
jyn.dev
i'm just having fun
programming isn't a competition
66918
Reposted by Ian Grunert
Slow Rush @slow-rush.bsky.social · 09/12/2025
Super Exciting Announcement: #Steam page for my multiplayer falling sand game is now LIVE at store.steampowered.com/app/3816900/... Announce Trailer: www.slowrush.dev/signs-trailer 2 years of hard work, but now the real work begins :) #fallingsand #indiegame #indiegamedev #indiedev #gamedev
54621
Ian Grunert @iangrunert.bsky.social · 22/10/2025
Congrats! You should take more than a week off.
110
Reposted by Ian Grunert
Firefox for Web Developers @webdevs.firefox.com · 09/10/2025
As an experiment, we (the Firefox team) wanted to try a new way to get feedback on which Interop proposals matter most. So, here's a web app where you can rank the proposals you care about, giving us data we can use when reviewing which ones to champion. interop-rank.jakearchibald.com
interop-rank.jakearchibald.com
Interop Feature Ranking
Rank the web platform features you care most about
18247113
Ian Grunert @iangrunert.bsky.social · 06/10/2025
"Hit testing will hopefully be defined in a future revision of CSS or HTML." - 4 August 2011 www.w3.org/TR/2011/WD-c...
w3.org
CSSOM View Module
120
Reposted by Ian Grunert
Brian Kardell @bkardell.com · 02/10/2025
New blog post: Under-investment A few weeks ago I made a comment on the socials about how surprising it is that there's so much stuff in the web platform that needs more attention than it gets. @davatron5000.bsky.social asked if I could expand on that, here's something bkardell.com/blog/underin...
bkardell.com
Under-investment
A lot more words on a short statement I made last week on social media...
0145
Reposted by Ian Grunert
Kickstarter United @kickstarterunited.org · 02/10/2025
‼️🚨KICKSTARTER WORKERS ARE ON STRIKE🚨‼️ As of 8am this morning, the workers of Kickstarter United/OPEIU Local 153 are on strike. WE ARE NOT ASKING FOR A BOYCOTT! Creators and allies, please continue using and supporting the platform.
Kickstarter United is on strike!
We are not asking for a boycott! Creators & Allies: Please continue to support & use the platform
swipe for ways to show your solidarityWhy We're Striking
A codified 4-day work week.
We simply want to protect the way we've been working for over 3.5 years. The 4dww has proven benefits, such as increased productivity and improved employee satisfaction. It's part of what makes Kickstarter a special, innovative place to work.
Fair pay for our lowest-paid workers.
We're fighting for livable minimum salaries for roles that are undervalued by the market but crucial to keeping Kickstarter running. We believe none of our workers should struggle to make ends meet.Creators
Show your solidarity by:
Continue using the platform like normal
When something breaks, complain loudly that it is management's fault for causing the strike
Include our logo and strike info on your project
Send a letter to KSR leadership urging them to meet our demands & end the strike bit.ly/KSRUletterCommunity Allies
Show your solidarity by:
Support your favorite creators on the platform like normal
Send a letter to KSR leadership urging them to meet our demands & end the strike: Creators
Show your solidarity by:
Continue using the platform like normal
When something breaks, complain loudly that it is management's fault for causing the strike
Include our logo and strike info on your project
Send a letter to KSR leadership urging them to meet our demands & end the strike bit.ly/KSRUletter
Donate to our solidarity fund: bit.ly/KSRUdonate
Attend a rally or picket either in-person near you (NYC and Seattle) or virtual
111166907
Ian Grunert @iangrunert.bsky.social · 11/09/2025
The Apple WebKit team has still been working on C++ memory safety, beyond just changing / expanding their use of libpas. Type confusion bugs remain an issue, and I imagine they don't want to rely exclusively on the 1/16 crash chance for what allocators + MIE covers. www.youtube.com/watch?v=RLw1...
youtube.com
C++ Memory Safety in WebKit - Geoffrey Garen - C++Now 2025
YouTube video by CppNow
010
Ian Grunert @iangrunert.bsky.social · 03/09/2025
I like the idea because it reduces the time tax. If everyone gets it, there's no need to waste time jumping through hoops to prove continued eligibility. www.theatlantic.com/politics/arc...
theatlantic.com
The Time Tax
A six-month wait for unemployment insurance. A paperwork nightmare over an insurance reimbursement. Drug tests for cash benefits. Why is there so much red tape in American life?
120
Ian Grunert @iangrunert.bsky.social · 03/09/2025
OpenAI CEO of Applications worked with the Statsig CEO at Meta, I think in part they’re trying to rebuild their old organization.
010
Ian Grunert @iangrunert.bsky.social · 26/08/2025
bsky.app/profile/nyme...
010
Reposted by Ian Grunert
Recurse Center @recurse.com · 25/08/2025
Thinking about applying to a Recurse Center (RC) batch? If you want to spend 6 or 12 weeks building what excites you (compilers! games! languages! research! machine learning! art!) within a community of thoughtful, curious peers, come join our info session this Thursday! lu.ma/86a0fqdn
lu.ma
Recurse Center Info Session · Zoom · Luma
Thinking about applying to a Recurse Center (RC) batch? If you want to spend 6 or 12 weeks building what excites you (compilers! games! languages! research!…
01210
Ian Grunert @iangrunert.bsky.social · 19/08/2025
ANT MA'AM
100
Ian Grunert @iangrunert.bsky.social · 12/08/2025
Facebook paid $33 - $34 per user for Instagram back in 2012. There's less growth available for Chrome, but it still feels like ~$10 per user is low. www.wsj.com/tech/perplex...
wsj.com
Exclusive | Perplexity Makes Longshot $34.5 Billion Offer for Chrome
In mounting an unsolicited bid for Google’s browser, the three-year-old AI startup seeks to take advantage of uncertainty over a pending antitrust ruling.
010
Ian Grunert @iangrunert.bsky.social · 30/07/2025
Not surprised they changed the headline. The top voted comment, predictably: ‘No Way To Prevent This,’ Says Only Nation Where This Regularly Happens
010
Ian Grunert @iangrunert.bsky.social · 16/07/2025
More "What Do People Do All Day?" than "Oh, the Places You'll Go!"
040
Reposted by Ian Grunert
André Arko @indirect.io · 01/07/2025
years after working with a team that was vehemently against deleting any test, no matter how flaky, I have assembled my counter-doctrine: you should delete tests andre.arko.net/2025/06/30/y...
andre.arko.net
You should delete tests
We’ve had decades of thought leadership around testing, especially coming from wholistic development philosophies like Agile, TDD, and BDD. After all that time and several supposedly superseding movem...
58521
Ian Grunert @iangrunert.bsky.social · 27/06/2025
A good product people want to use looks like a failure when the goal is 100M DAU in 2 years.
010
Ian Grunert @iangrunert.bsky.social · 20/06/2025
@alexreardon.bsky.social might have a couple of drag & drop bugs, though I wouldn't be surprised it it's mostly Blink and WebKit bugs left at this point.
020
Reposted by Ian Grunert
Yaron Minsky @yminsky.bsky.social · 28/05/2025
A new Signals and Threads just dropped, with @ianthehenry.bsky.social! This one is about building tools for traders, but it also has some fun dives into Ian's personal projects, including bauble.studio and janet.guide. Anyway, more here: signalsandthreads.com/building-too...
bauble.studio
Bauble
1237