Conrad Irwin
banner
cirw.in
Conrad Irwin
@cirw.in
Builder of tools: Currently zed.dev, previously superhuman.com, pryrepl.org, etc.

https://cirw.in
Reposted by Conrad Irwin
hate it when programs present you with a text input and it's NOT READY FOR YOU TO TYPE IN — like wdym?? I'm a meatbag full of water! You're a monster running at 4.5 GHz!!! How am I waiting on you!
November 14, 2025 at 10:39 AM
Reposted by Conrad Irwin
i think rust teaches us to fear dynamic dispatch because it looks ugly to box dyn, but my hottest bevy take is that we haven’t yet begun to fully explore the potential of function pointers in components
November 11, 2025 at 6:09 AM
Reposted by Conrad Irwin
I've been running stable since I left @zed.dev but this one got me downloading preview to get early 🤩 nice @cirw.in

github.com/zed-industri...
git: Branch diff by ConradIrwin · Pull Request #40188 · zed-industries/zed
Note: It would be really nice if we could also show this information in the git panel, but the branch was getting long lived so I wanted to merge as is. Release Notes: git: Adds the ability to vie...
github.com
October 30, 2025 at 8:34 PM
Anyone with a complicated set of GitHub Actions YAML files have ideas on a good structure to avoid insanity?

Seems like "put all the scripts into .sh" files is a good start; but the whole lot is quite tangled

Asking for a friend... github.com/zed-industri...
zed/.github/workflows at main · zed-industries/zed
Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. - zed-industries/zed
github.com
October 20, 2025 at 8:08 PM
Reposted by Conrad Irwin
I collaborated with @cirw.in at EuroRust to make a Zed extension for Roto! It's based on the tree-sitter grammar and supports syntax highlighting and generating an outline. It can be installed via Zed's regular extension manager.

Thanks @cirw.in!
cc @nlnetlabs.bsky.social

#rust #rustlang
October 16, 2025 at 9:03 AM
Reposted by Conrad Irwin
And the first day of #eurorust25 wraps up with some amazing story time with Conrad Irwin (@cirw.in) talking about software, speed and how it all affects human experience! 🔃🤌🏼👏🏼
October 9, 2025 at 4:29 PM
My voice-to-text model just transcribed "stack of abstractions" to "stack of obstructions".

I guess it's the same. 😭
October 5, 2025 at 10:02 PM
Reposted by Conrad Irwin
ooh my talk on cancelling async #rustlang got featured on LWN! Thanks @pietroalbini.org for linking me to it
Canceling asynchronous Rust
Asynchronous Rust code has what Rain Paharia calls a 'universal cancellation protocol', meanin [...]
lwn.net
September 24, 2025 at 10:15 PM
What if typescript was right about union types...?
cirw.in/blog/typescr...
What if typescript was right about union types...?
cirw.in
September 20, 2025 at 5:18 AM
A better for loop? cirw.in/blog/for-yield
A better for loop?
cirw.in
August 23, 2025 at 4:40 AM
Reposted by Conrad Irwin
🦀 Talk by @conradirwin.bsky.social, Software Engineer at @zed.dev

Modern computers are fast, but modern software rarely pushes them to their limit. Conrad will share how Zed’s GPUI can render a new frame to the entire screen every 8ms.

Book your ticket ➡️ eurorust.eu/talks/render...
EuroRust 2025 – October 9 & 10, Paris & online
EuroRust is a 2 day conference for the European Rust community – October 9 & 10, 2025 – in Paris & online
eurorust.eu
August 13, 2025 at 10:00 AM
Reposted by Conrad Irwin
Makes sense! Also reminds me of this classic: pages.cs.wisc.edu/~remzi/Naur....
pages.cs.wisc.edu
August 14, 2025 at 2:31 PM
Finally figured it out well enough to write it down. zed.dev/blog/why-llm...
Why LLMs Can't Really Build Software - Zed Blog
From the Zed Blog: Writing code is only one part of effective software engineering.
zed.dev
August 14, 2025 at 2:23 PM
Reposted by Conrad Irwin
I first wrote up the idea for this 6 years ago, but it took a huge amount of work to actually turn it into reality. Thank you to Orion for the heavy lifting, and all the other Automerge contributors for making it happen!
pvh.ca pvh @pvh.ca · Jul 15
Automerge 3 is here: the heart transplant is complete! Huge improvements in memory usage and (in most cases) correspondingly big performance improvements too. Backwards compatible on disk and the network so there's no reason not to upgrade today: automerge.org/blog/automer...
Automerge 3.0 | Automerge CRDT
Automerge is a local-first data sync engine that makes it easy to build collaborative apps. Today we're excited to announce version 3.0 of Automerge!
automerge.org
July 15, 2025 at 11:10 AM
Are there any statically compiled languages with a typescript-like type system (that can use values in types)?

I love rust's exhaustive enum's, but I don't love that they're not just structs, and so you *have* to use a match statement to extract values instead of if…
July 15, 2025 at 3:45 AM
In the modern world, we should refer to it as "unplugging a flower", not "picking" one.
July 10, 2025 at 9:23 PM
Finally added `U` to Zed's vim mode; Closing in on being able to complete vimtutor. Only a few things left:

* `%` matching in plain-text files
* :set ic
* :<range>w
* :r <filename>

!!!
July 9, 2025 at 3:43 AM
I've (finally) written up the spec for CONL Schema conl.dev/schema.html

(next steps publish the language server so it's useful; but feels nice to have found a *significantly* simpler model than JSON schema)
CONL Schema
conl.dev
July 4, 2025 at 7:03 AM
Really love building little details like this. Notice how in the search bar the newlines show up (instead of hiding your multiline content off-screen...)
June 27, 2025 at 4:48 PM
If `git config --global user.email` reads my email from ~/.gitconfig; what does `git config user.email --global` do?
June 12, 2025 at 7:52 PM
If you missed my talk at Rust week, or just need to hear the jokes for a second time, it's now online! www.youtube.com/watch?v=5z9D...
Rewriting Vim in Rust: Lessons Learned - Conrad Irwin
YouTube video by RustNL
www.youtube.com
June 12, 2025 at 6:39 PM
To garbage collect or not? cirw.in/blog/garbage...
To garbage collect or not?
cirw.in
May 9, 2025 at 9:13 PM