brbrown (@brbrown) profile picture

I'm an educator, a sound editor, a sound artist, geek, nerd, student, mentor, lover of horror films, music and so much more

Charleston
Joined August 2008
Photo by brbrown (@brbrown)Photo by brbrown (@brbrown)Photo by brbrown (@brbrown)Photo by brbrown (@brbrown)Photo by brbrown (@brbrown)Photo by brbrown (@brbrown)Photo by brbrown (@brbrown)Photo by brbrown (@brbrown)Photo by brbrown (@brbrown)Photo by brbrown (@brbrown)
JetBrains IDEs are now powered by libghostty! This brings huge feature and performance improvements to JB terminals! Based on their own annual reports, that's over 12.5 million active users across all platforms about to get a libghostty-powered terminal. blog.jetbrains.com/platform/… I'll repeat myself: libghostty is and was always the primary goal of the Ghostty project (I said this in the first public talk I ever gave about Ghostty). The importance and impact of a free, liberally licensed, high quality terminal emulator library that runs anywhere and everywhere dwarfs any single terminal emulator application on its own. I've estimated Ghostty's (GUI, not libghostty) own users at around a couple million. Overnight, 6x that are using a libghostty-powered terminal. From one integration. Happy to see this, happy to hear JetBrains had a positive experience, and looking forward to continuing to improve and ship a stable libghostty tag soon!
99
162
20
3,344
123,842
Libghostty progress in the past 6 months. It's amazing that NOTHING IN THIS LIST was true 6 months ago, and now its ALL VERY REAL. I remember bringing up the idea of libghostty 4 years ago and most people saying "but why." I did it anyways. And here we are! Text reproduced in case its easier to read this way: As a reminder, libghostty is the highly portable, embeddable library that provides core terminal emulation, render state, and more. I always felt that a free, high qualty, lightweight, reusable terminal emulation core would benefit the developer world more than any single GUI application. And that is playing out! It is and always was my true purpose with the Ghostty project (I said this in my first ever talk about Ghostty!). I've jokingly said many times that Ghostty GUI is just a glorified tech demo for libghostty. That's not fair though, because GUI is great and there are really talented people working on it. Since I started the project, Ghostty has always gotten people saying "I don't understand why you'd start a terminal emulator today." Well, the answer is libghostty. It's truly unique and its enabling something special (imo!). Highlights of libghostty since 6 months ago (none of the below was true 6 months ago): - Libghostty has nearly 100% coverage of all of Ghostty's core (and you can compile with flags to remove any of these features for size/safety): libghostty.tip.ghostty.org/ - Libghostty now builds and is tested (in CI) for: Apple (macOS, iOS, visionOS), Windows (MSVC and GNU), Linux, FreeBSD, Android, WebAssembly, and freestanding (i.e. direct on hardware with no OS). - Libghostty has bindings in pretty much every popular programming language: C, Zig, Go, Swift, Python, Rust, .NET, etc. - Libghostty's memory requirements have dramatically shrunk to enable the portability above. There's still work to do but a single empty terminal now takes 90% less memory. And at scale I've proven 10,000 active (input/output happening) terminals on a Linux server with 4 cores and 8 GB of RAM. - Libghostty powers all JetBrains IDE terminals, over 12.5 million active users. blog.jetbrains.com/platform/…... - Libghostty is the most popular core behind the wave of venture-backed "agentic" terminals and editors, such as Herdr, cmux, and many others. - Libghostty is being discussed and has been verbally accepted to replace the terminal core in Neovim: github.com/neovim/neovim/pul… (work still to be done) - Libghostty powers a really popular and powerful terminal emulator for emacs (Ghostel): github.com/dakra/ghostel - Libghostty's speed is used by Antithesis to fuzz popular terminal programs and has directly led to hundreds of bug fixes sent upstream to programs such as tmux, btop, shells, and other terminal emulators. :) - And so much more: github.com/Uzaaft/awesome-li… Libghostty is really successfully turning into the tide that raises all boats. As it becomes more popular, Ghostty itself gets more performant and stable, and so does everyone else. It is also a vehicle for delivering modern terminal emulation to the widest source possible. I plan on tagging libghostty 1.0 in the next few months and declaring ABI stability at that point!
72
76
12
1,675
85,864
Good reminder to avoid compiling regular expressions from unrestricted user input whenever you can. Even setting RCE aside, ReDoS is a real risk with backtracking engines. If you must, quote the input, use a linear-time engine like RE2, or bound match time.
3
3
1
24
4,469
brbrown retweeted
21 people, a single meeting a week, no quarterly goals, no pull requests, no mandatory code review, no titles (except one dictator), a hundred releases a day, bugs fixed in minutes, famous for killing features. @sqs and @thorstenball on how the Amp team works:
23
51
31
680
509,184
brbrown retweeted
One issue in realizing AI productivity gains in software projects is that AI is breaking our ability to estimate software projects. The truism that every project will expand to fill the time allocated is 100% true. The solution was to make teams estimate timeframes and then try to stick to it. The team always underestimates the time they need, which created a forcing function to make the project actually pull together and finish the hard thing. But in the last year I think we’ve seen a > 100% speed up in software productivity. Managers and senior engineers are still internalizing it. The result is that project estimates are very lax. And as a result we don’t realize the full effect of the productivity because we have unintentionally padded schedules. The unlock for software productivity is realizing how much faster things are and expecting that pace.
17
5
30
3,738
brbrown retweeted
The purpose of estimating software projects is not business planning its to create a self imposed deadline that creates social pressure for teams to finish the project. This sounds insane. When I was an engineer I hated estimation and deadlines. My feeling was, it will be done when it’s done and we don’t know when it will be done. I would obnoxiously give a probability distribution whenever asked if we would ship on time. But in reality, in a complex project with many people or teams, people need a good deadline, one that is aggressive but not insane. This is what lets everyone involved solve for what really matters, cut things that don’t matter, and push to complete something really hard. It’s a silly social convention, but it really helps. In fact setting aggressive but not insane deadlines, slipping them when needed but holding them when possible, is one of the key capabilities in engineering management.
There’s a kind of polite fiction at the heart of the software industry.
33
37
11
726
28,053
I often get emails from junior engineers asking me what to do. Here's what I just wrote to one of them
75
293
45
3,915
221,501
🥳 Woot, woot, finishing the week on a high note: #Hardwood can now write Parquet files directly to S3, with parts uploading in the background while you write. Just missed 1.1.0.Beta2, so it'll ship in CR1 shortly. Big thanks to Chandan Dhamande! hardwood.dev/dev/how-to/writ…
3
2
1
31
3,038
Great time in Berlin! Today at @scaladays, @danielciocirlan and I presented our new web framework called eezo. Model routes and entities using #Scala case classes and derivation. Drop us a ⭐️ on GitHub and contribute! Here is the site 🌐: eezo.io/
2
17
2
50
3,148
these guys got the memo about docs.divio.com/documentation… 👍💯
1
2
10
355
Powered by OSC7501! The implementation seems obvious, but @almonk went into the dungeon for weeks toiling over TINY details around when exactly to show different UI states and it feels amazing. Everyone at Superlogical all agreed we've never used any activity inbox in any context before because they're all too noisy or degrade to "email but worse" (e.g. GitHub notifications). So our benchmark was: can we build an activity inbox that we actually use? Like I said, on the surface I think this visually looks unsurprising, but its not as simple as "program has activity lets show an attention icon." Lots of heuristics and other signals as input to decide what exactly to show when. This is also the first task in the 4 months of Superlogical existening that I've seen Al say "this is hard." The man was sweating over this one. SO FAR, this one is passing the test and testers so far seem very pleased. But we're still iterating hard.
New for Rex testers. 👁️ Activity Mode shows you active and idling processes and agents for quick context switching, and some extra metadata. We're working our way slowly through the waitlist. Our priority is building quality software, so we're admitting testers in batches of 50 or 100 at the moment and addressing any feedback with the group before adding the next wave.
63
13
7
777
60,518
Like it or not, modern sw engineering is no longer done without LLMs (AI) and will no longer be done without. Whoever doesn’t want to use AI, no problem: but you won’t be hired at 99.9% of startups+Big Tech+ambitious companies, even today It’s as part of sw dev as the keyboard
🗞️ if your team is too busy doing their 'normal job' to experiment with AI, you're preparing them to be replaced ghuntley.com/replaced/ In this post, I guess this's the last time I'll say it. AI use is no longer optional if you wish to be employed. What follows is advice for current employees and hiring managers on how to hire in 2026 to source AI-first candidates.
100
96
13
1,531
103,876
This is awesome. hatip: Ionuț on corecursive slack proofsandprompts.com/2026/10…
2
4
285
So many folks sleep on the sheer throughput of a warmed-up JVM. Yes, time to peak performance is a real cost. But for any long-running service it's noise, and with Leyden’s AOT work, the warm-up time gets smaller and smaller.
7
2
62
9,121
brbrown retweeted
48 hours to Claude Code support. ty @AnthropicAI
Claude Code v2.1.295 supports OSC 7501 (program status). Incredible speed @AnthropicAI supporting this protocol which will help hundreds or thousands of downstream applications! They had access to Rex and verified through Rex it works. 🥰
29
12
3
775
63,961
Claude Code v2.1.295 supports OSC 7501 (program status). Incredible speed @AnthropicAI supporting this protocol which will help hundreds or thousands of downstream applications! They had access to Rex and verified through Rex it works. 🥰
78
41
16
2,187
169,140
I've published a new, general-purpose terminal specification that gives any program a way to tell the terminal what it's doing: idle, working, waiting, finished, or failed, and why. It is easy to implement on both sides. I've written more about why: mitchellh.com/writing/progra… The problem this solves is generic and applies in compelling ways to all sorts of use cases (e.g. package managers, build tools), but it really rears a hideous head when it comes to AI and the "agentic inbox" problem. I found over 250 different agent orchestrators (with various goals) that all individually implement a heuristic based approach to detecting whether things like Claude Code are working, blocked, done, etc. If you look at @herdrdev's commit history, you can see around 10 compatibility changes to detect Claude Code within just the past 3 months. (This isn't a dig at Herdr! They're doing great work with what they have, and everyone else is doing the same thing). Heuristics are not the way. And over-indexing on agentic use cases isn't the way, because this problem is really interesting for other tools too: Homebrew, Terraform, Cargo, etc. etc. Proprietary protocols and out of band APIs are not the way. They have an O(N) integration problem and require extra work to work over SSH or within local VMs/containers. The program status specification (OSC 7501) solves this in a reliable, deterministic way that is general-purpose and can be easily adopted by the entire industry. Read more: mitchellh.com/writing/progra…
128
204
59
2,673
173,192
brbrown retweeted
What it means to be a great engineer is likely changing. Often the best engineers love “clean” hard problems that have a lot of technical depth but have simple elegant solutions. But for a long time messy hard problems that involve a lot of slog, have had more economic value. With AI, this is even more true as the solution to clean, hard problems are getting closer and closer to free.
The thing I learned this year is that when engineers say they like working on “hard problems”, they actually don't. What they like is puzzle solving, and having a repertoire of patterns that they can pattern match onto traditionally hard problems, usually involving databases or something with scale, etc. And they know that the industry used to pay you a lot for how deep and broad this repertoire was. Unfortunately, in 2026, well, you have a cheat code machine that has infinite breadth and depth for pattern matching. So the question is, do you actually like hard problems? Because there are now hard problems that are a complection of engineering, product, society, culture, politics, and they are fairly intractable, probably unsolvable! Because if you do want to work on those actually hard problems, there is so much money that people will pay you for it. But you’ll have to face that truth about yourself first.
9
20
280
20,638
Say hello to Rexie, our mascot for Rex! Superlogical public testing is beginning. We’re working through our mailing list in the order people signed up. Initial testing is limited to macOS but that’ll expand quickly. Welcome, new testers. superlogical.com/updates/pub…
104
108
35
2,342
140,470