Elektrine lite

← Feed

Mitchell Hashimoto

mitchellh@hachyderm.io

<p>Co-founder of Superlogical. Creator of Ghostty. 👻 Prev founded HashiCorp, created Vagrant, Terraform, Vault, and others.</p>

Posts

  • Post #4247345

    The Ghostty non-profit has signed our first long-term paid contributor via a 12-month agreement with @vancluever@hachyderm.io. He&#39;s a top-quality engineer, has been part of the Ghostty community for years, and has consistently demonstrated an extremely high quality and judgement bar. He is the creator and maintainer of z2d, the vector graphics library that Ghostty uses. He has contributed upstream to Zig and Arocc dozens of times. The way Ghostty contributor contracts work is that there is...

  • Post #4149095

    RE: https://hachyderm.io/@mitchellh/116993012549857824 If you&#39;re interested in &quot;how&quot; or &quot;why&quot;: the major culprit is that each row in Alacritty has 32 bytes of metadata and each cell is 24 bytes. In Ghostty, every row and cell is represented by exactly 8 byte each. How? The first major culprit is styles. Alacritty stores the full cell style alongside each cell (foreground, background, underline, etc.). Ghostty stores a 16-bit style ID and de-dupes all styles into a look-...

  • Post #4025614

    Wrote up a practical introduction to SIMD using a real example from Ghostty. SIMD has a reputation for being complex, but the common case follows a simple, repeatable shape and shouldn’t be scary! Everyone should know at least this much. https://mitchellh.com/writing/everyone-should-know-simd

  • Post #4017556

    Ghostty and libghostty are now on Zig 0.16! This was done by a [paid!] contributor over a few weeks. Through this process, the Ghostty non-profit also paid for hours to contribute over a dozen patches upstream to Zig, translate-c, and arocc which help the entire ecosystem. Really amazing work (not by me!) and happy to be upgraded. :) translate-c: https://codeberg.org/ziglang/translate-c/pulls?q=author%3Avancluever&amp;type=all&amp;sort=relevance&amp;state=closed&amp;labels=&amp;milestone=0&amp;...

  • Post #3997646

    LLVM21 is a stinker and has worse codegen in general, and a bug forced disabled loop auto-vectorization. Turned out to be a blessing: we clearly identified areas we were over-reliant on implicit compiler optimizations and were able to explicitly restructure our code to what we really wanted. The result is that we now have clean generic SIMD subroutines in places we previously relied on auto-vectorization. And we did it better and as a result produced faster code (see below). Pure ASCII throughp...

  • Post #3700452

    Ghostty is getting automatic scrollback compression, resulting in 70 to 90% less physical memory usage. It happens incrementally when idle, so it had no measurable effect on IO throughput. I&#39;m not aware of any other mainstream terminal that does this. Demo video: https://www.youtube.com/watch?v=ZVAnhimPh8k The gains let us increase the default scrollback limit from 10MB to 50MB, because on average a full scrollback will still compress smaller than the prior limit. More history, for free. (&...

  • Post #3632699

    Ghostty is now indisputably the fastest terminal emulator at IO throughput, by a very large margin. On ASCII, Unicode, and CSI tests, Ghostty is more than 2x (double!) faster than any other leading &quot;fast&quot; terminal. These changes are directly in libghostty, too, so everyone wins. `time cat 150MB_ascii.txt`: - Ghostty nightly: 575ms - Ghostty 1.3.2: 1.5sec - Alacritty: 1.2sec - Kitty: 1.7sec - Warp: 3.8sec - iTerm2, Terminal: stopped after 60s `time cat 150MB_unicode.txt` (mixed langua...

  • Post #3373891

    My family is donating another $400,000 to the Zig Software Foundation. Zig is exceptional software. I use AI every day. Zig has one of the strongest anti-AI policies in open source. We disagree on some things, but respect doesn’t require agreement. https://mitchellh.com/writing/zig-donation-2026

  • Post #2846503

    Our family grew yesterday to 2 kids! A healthy baby boy and healthy wife post labor. ❤️

  • Post #2846502

    I strongly believe there are entire companies right now under heavy AI psychosis and its impossible to have rational conversations about it with them. I can&amp;#39;t name any specific people because they include personal friends I deeply respect, but I worry about how this plays out. I lived through the great MTBF vs MTTR (mean-time-between-failure vs. mean-time-to-recovery) reckoning of infrastructure during the transition to cloud and cloud automation. All those arguments are rearing their u...

  • Post #2493881

    AI eliminated the natural barrier to entry that let OSS projects trust by default. People told me to do something rather than just complain. So I did. Introducing Vouch: explicit trust management for open source. Trusted people vouch for others. https://github.com/mitchellh/vouch The idea is simple: Unvouched users can&amp;#39;t contribute to your projects. Very bad users can be explicitly &amp;quot;denounced&amp;quot;, effectively blocked. Users are vouched or denounced by contributors via Git...

  • Post #2299022

    The default source view for forges like GitHub today should be a derived tree of categorically related subsystems/components plus an agentic search bar, not the literal filesystem layout. Something close to this: https://haskellforall.com/2026/02/browse-code-by-meaning I now default to finding what I need in codebases via agents. They do a better job finding the details I usually miss by just manually reading the files. I always backstop the search with &amp;quot;link to how you found this&amp;...

  • Post #2167754

    AI slop is good, actually. Slop is what enables fast parallel experimentation. The etiquette and skill is understanding the boundaries of where slop exists and the extent to which it should be cleaned up and how. A few examples: I’m working on the internals of some system right now. The API and GUI of this thing is fully zero shame slop. It’s horrible. But it lets me focus on the core quality while shipping a usable piece of alpha quality software to testers (transparent about the slop fronten...

  • Post #2144351

    I&amp;#39;ve developed a lot of plugin systems, and the OpenAI ChatGPT plugin interface might be the damn craziest and most impressive approach I&amp;#39;ve ever seen in computing in my entire life. You create an OpenAPI manifest for your API with human language descriptions of what each endpoint, parameter object, and response object does. And... that&amp;#39;s it. You let the model figure it out from there. That&amp;#39;s quite a DX achievement.

  • Post #2070051

    Love this post by Antirez on developing Redis Array support. Its a great showcase of thoughtful AI usage and how AI can empower even the best developers while still producing high quality work. https://antirez.com/news/164

  • Post #1859111

    Libghostty can now be used to fuzz TUIs, thanks to Oskar and Antithesis. They already found bugs in multiple including btop. I always imagined libghostty would be useful for testing TUIs, super happy to see this is both practical and valuable. https://wickstrom.tech/2026-04-30-bombadil-terminal-experiment.html This is another example of where speed matters! &amp;quot;Why does Ghostty need to be so fast?&amp;quot; Well, if you&amp;#39;re running hundreds or thousands of unit tests that each us...

  • Post #1768452

    A couple months in and Vouch in Ghostty is working extremely well. Our PR quality is up and the rate of PRs has not gone down at all. Getting a vouch is easy, and the minimal barrier to entry easily filters most. Look at this 5min interaction that saved hours of future anguish.

  • Post #1754702

    Ghostty is leaving GitHub. I&#39;m GitHub user 1299, joined Feb 2008. I&#39;ve visited GitHub almost every single day for over 18 years. It&#39;s never been a question for me where I&#39;d put my projects: always GitHub. I&#39;m super sad to say this, but its time to go. https://mitchellh.com/writing/ghostty-leaving-github

  • Post #1746421

    Simdutf released v9 which includes the ability to use it without libc++ at runtime (via a cleanup of my work). Really glad I could help get this upstream, a big win for all libghostty-vt users as we eliminate a major dependency for free. https://github.com/simdutf/simdutf/pull/962

  • Post #1645155

    Nothing screams &amp;quot;Linux graphics stack&amp;quot; more than this block of code in Ghostty&amp;#39;s Linux initialization routine.

  • Post #1645154

    https://ghostty.org 👻

  • Post #1512761

    Huge W for Zig from the Kimi K2.6 announcement. https://www.kimi.com/blog/kimi-k2-6

  • Post #1343969

    I&amp;#39;ve contributed a patch to the venerable simdutf library by @lemire so that it can now be used with no dependency on libc++ at all. Libghostty is already updated so it now only depends on libc. I blogged about it here: https://mitchellh.com/writing/simdutf-no-libcxx

  • Post #1339003

    Ghostty 1.3 also discloses a CVE that impacts every prior Ghostty release. For that reason alone (amongst the many other benefits), I highly recommend upgrading. We didn&#39;t change any system requirements for 1.3, so everyone on 1.2.x can upgrade. https://github.com/ghostty-org/ghostty/security/advisories/GHSA-4jxv-xgrp-5m3r

  • Post #1123573

    @thejtoken been blogging and talking about this stuff for over a year now at least. Been a daily user ever since.

  • Post #1123572

    @thejtoken Ghostty has a lot more hand written stuff for sure but it’s all so intermixed in my workflow now nothing is black and white. Eg even if I wrote it by hand I may have reviewed with AI or done research or whatever.

  • Post #1123571

    libghostty for Rust! Some Ghostty maintainers came together and made a really high quality Rust crate in front of libghostty-vt. The repo includes a full port of Ghostling (full terminal in a single Rust file!). The API is beautiful. https://github.com/Uzaaft/libghostty-rs/

  • Post #1123570

    We now build binary &amp;quot;xcframework&amp;quot; packages for libghostty on every commit for macOS and iOS. They&amp;#39;re available via GitHub releases and blob storage. Just drop them into Xcode or in a Package.swift and you&amp;#39;re ready to go. No Zig headaches. No build step. https://github.com/ghostty-org/ghostty/pull/12149

  • Post #1123569

    The Building Block Economy. https://mitchellh.com/writing/building-block-economy The most effective way to build software and get massive adoption is no longer high quality mainline apps but via building blocks that enable and encourage others to build quantity over quality.

  • Post #1123568

    Updated the libghostty-vt CMake files to make cross-compilation as easy as one (or a few lines). Since libghostty only depends on libc/c++ and Zig bundles libc when used as a c/c++ compiler, you can get full cross-compilation easily. The Zig toolchain is paying huge dividends! This would&amp;#39;ve been true even if libghostty wasn&amp;#39;t written in Zig, its just a fun coincidence that its written in Zig too. But Zig the C/C++ compiler on its own is amazing (a frontend for clang but with a t...