frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Libghostty is coming

https://mitchellh.com/writing/libghostty-is-coming
305•kingori•5h ago•71 comments

Markov chains are the original language models

https://elijahpotter.dev/articles/markov_chains_are_the_original_language_models
80•chilipepperhott•4d ago•24 comments

Android users can now use conversational editing in Google Photos

https://blog.google/products/photos/android-conversational-editing-google-photos/
80•meetpateltech•2h ago•61 comments

How to draw construction equipment for kids

https://alyssarosenberg.substack.com/p/how-to-draw-construction-equipment
17•holotrope•36m ago•2 comments

Find SF parking cops

https://walzr.com/sf-parking/
195•alazsengul•1h ago•117 comments

Launch HN: Strata (YC X25) – One MCP server for AI to handle thousands of tools

90•wirehack•4h ago•48 comments

Go has added Valgrind support

https://go-review.googlesource.com/c/go/+/674077
397•cirelli94•10h ago•100 comments

From MCP to shell: MCP auth flaws enable RCE in Claude Code, Gemini CLI and more

https://verialabs.com/blog/from-mcp-to-shell/
75•stuxf•4h ago•24 comments

Always Invite Anna

https://sharif.io/anna-alexei
326•walterbell•4h ago•23 comments

Mesh: I tried Htmx, then ditched it

https://ajmoon.com/posts/mesh-i-tried-htmx-then-ditched-it
114•alex-moon•7h ago•78 comments

Nine things I learned in ninety years

http://edwardpackard.com/wp-content/uploads/2025/09/Nine-Things-I-Learned-in-Ninety-Years.pdf
827•coderintherye•16h ago•316 comments

x402 — An open protocol for internet-native payments

https://www.x402.org/
167•thm•5h ago•90 comments

Getting More Strategic

https://cate.blog/2025/09/23/getting-more-strategic/
126•gpi•7h ago•18 comments

Restrictions on house sharing by unrelated roommates

https://marginalrevolution.com/marginalrevolution/2025/08/the-war-on-roommates-why-is-sharing-a-h...
247•surprisetalk•5h ago•287 comments

Thundering herd problem: Preventing the stampede

https://distributed-computing-musings.com/2025/08/thundering-herd-problem-preventing-the-stampede/
18•pbardea•20h ago•7 comments

Getting AI to work in complex codebases

https://github.com/humanlayer/advanced-context-engineering-for-coding-agents/blob/main/ace-fca.md
103•dhorthy•5h ago•104 comments

Structured Outputs in LLMs

https://parthsareen.com/blog.html#sampling.md
173•SamLeBarbare•9h ago•80 comments

OpenDataLoader-PDF: An open source tool for structured PDF parsing

https://github.com/opendataloader-project/opendataloader-pdf
64•phobos44•5h ago•17 comments

Zoxide: A Better CD Command

https://github.com/ajeetdsouza/zoxide
279•gasull•14h ago•174 comments

Agents turn simple keyword search into compelling search experiences

https://softwaredoug.com/blog/2025/09/22/reasoning-agents-need-bad-search
48•softwaredoug•5h ago•19 comments

Zinc (YC W14) Is Hiring a Senior Back End Engineer (NYC)

https://app.dover.com/apply/Zinc/4d32fdb9-c3e6-4f84-a4a2-12c80018fe8f/?rs=76643084
1•FriedPickles•7h ago

Shopify, pulling strings at Ruby Central, forces Bundler and RubyGems takeover

https://joel.drapper.me/p/rubygems-takeover/
273•bradgessler•4h ago•153 comments

YAML document from hell (2023)

https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell
169•agvxov•10h ago•111 comments

Denmark wants to push through Chat Control

https://netzpolitik.org/2025/internes-protokoll-daenemark-will-chatkontrolle-durchdruecken/
17•Improvement•36m ago•2 comments

Show HN: Run Qwen3-Next-80B on 8GB GPU at 1tok/2s throughput

https://github.com/Mega4alik/ollm
86•anuarsh•4d ago•8 comments

Processing Strings 109x Faster Than Nvidia on H100

https://ashvardanian.com/posts/stringwars-on-gpus/
159•ashvardanian•4d ago•23 comments

The Great American Travel Book: The book that helped revive a genre

https://theamericanscholar.org/the-great-american-travel-book/
6•Thevet•2d ago•0 comments

Smooth weighted round-robin balancing

https://github.com/nginx/nginx/commit/52327e0627f49dbda1e8db695e63a4b0af4448b1
17•grep_it•4d ago•2 comments

Show HN: Kekkai – a simple, fast file integrity monitoring tool in Go

https://github.com/catatsuy/kekkai
41•catatsuy•5h ago•9 comments

Permeable materials in homes act as sponges for harmful chemicals: study

https://news.uci.edu/2025/09/22/indoor-surfaces-act-as-massive-sponges-for-harmful-chemicals-uc-i...
93•XzetaU8•10h ago•82 comments
Open in hackernews

Libghostty is coming

https://mitchellh.com/writing/libghostty-is-coming
304•kingori•5h ago

Comments

asadm•2h ago
ooh a web version would be insanely cool.
jasonjmcghee•2h ago
Such incredible news. I'm absolutely going to use this.
jrop•2h ago
I've been keeping an eye on this in the hopes that text-reflow (edit: including for scrollback) could be solved in Neovim-based terminals [1]. I'm loving the innovation Ghostty is bringing to the terminal space.

1. https://github.com/neovim/neovim/issues/33155

jez•2h ago
Do you consider yourself a neovim terminal power user?

I tried a while back to invert my workflow (from tmux driving neovim to neovim driving terminals) because I thought it might be easier to only ever have one buffer open for a given file, instead of attempting to open a file in a given pane only to realize that it's already open in a different neovim instance in a different pane.

When I was testing that stuff out I don't think I noticed particular issues with text reflow that would benefit from being solved by swapping to libghostty, rather my pain points were just about how to adjust to the different paradigm. I'd be curious to hear more about someone who is all in on Neovim embedded terminals (and possibly how libghostty might make it better).

jrop•2h ago
I do indeed live in the terminal (all day due to work), but tmux adds too much value for me to do all terminal management in Neovim (tmux session-management being what I use most). I've just encountered too many visual "glitches" in the Neovim terminal to rely on it for everything. That's not to say, however, that I never use the built-in Neovim :terminal.

> I thought it might be easier to only ever have one buffer open for a given file, instead of attempting to open a file in a given pane only to realize that it's already open in a different neovim instance

This is not a problem in my config:

    vim.api.nvim_create_autocmd({ 'FocusGained', 'BufEnter', 'CursorHold' }, {
      pattern = '\*',
      command = 'silent! checktime',
    })
Since `'autoread'` is by default `on` in Neovim, this seamlessly reloads the buffer if the underlying file has been updated on disk.
jez•1h ago
I think my problem is when I realize that I had unsaved changes open in a different neovim instance. If the file was not dirty in any other open neovim instances then I don't have the same problem.
khamidou•1h ago
I'd be curious to hear more about how tmux helps you — I tried it and besides keeping a permanent session open on a remote server to me I didn't find much use for it compared to regular terminal tabs
c-hendricks•2h ago
I'm all in on Neovim terminals, having a remote development setup means it keeps my terminal with my neovim window (I use nvim-qt).

Also not sure how ghostty would help, haven't noticed text reflowing issues.

It's not bad, a little awkward getting used to:

- you might want a plugin to give you a "persistent" terminal across all tabs

- I still haven't found a way to clear scroll back while a command is running

- I had to set up mappings for easier exiting terminal mode (c-\ c-n really sucks)

- I had to set up events so whenever a terminal buffer is focused it immediately enters insert mode. While I love vim, I've never wanted modal editing in a terminal

iammrpayments•2h ago
I wish they had used something like this in Shopify, instead they decided it was a good idea to embed VScode in the browser in case users want to make a small modification to theme files, it even has a 5 second boot time.
ComputerGuru•2h ago
What’s a user-friendly mouse friendly modeless cli text editor you can compile to wasm?
Wingy•1h ago
micro?
bigwheels•2h ago
This is super cool, it will be so nice to have a truly omni-platform terminal emulator that can even conceivably extend to iOS and Android.

Aside: I didn't realize Ghostty was written in Zig, wow. The first Zig-thing I'm aware of using on a regular basis. It's amusing the repository structure looks exactly like a Golang layout, haha.

https://github.com/ghostty-org/ghostty

ldemailly•1h ago
It doesn’t (look like a go layout) and that’s a good thing because pkg/ src/ etc aren’t good go directories.
trial3•2h ago
i desperately want to use ghostty but cmd+f support is just such a dealbreaker. excited about this development though!
jrop•2h ago
It's on the roadmap: https://ghostty.org/docs/install/release-notes/1-2-0#roadmap
trial3•1h ago
oh, incredible! i'll keep my eyes peeled and will be switching to it from iTerm the moment it's available
esafak•1h ago
Can someone explain why this was not one of the first features added? Who doesn't want to search their history? There must be some complication.

Mitchell raised the issue himself two years ago: https://github.com/ghostty-org/ghostty/issues/189

SG-•38m ago
probably because you never volunteered to code it up.

but really not all features can make it in 1.0

nhumrich•57m ago
I have heard this from a lot of people, yet here I am, using a terminal that supports this, and have yet to ever do it. Can you help me understand what workflows you depend on Ctrl+f for? I wonder if I am missing something big.
esafak•50m ago
Don't you ever need to search through a program's output; e.g., to find what failed? Otherwise you'll have to remember to tee everything to a file every time you run a command.
Tossrock•51m ago
You could run tmux inside it and bind cmd f to copy-mode + /
timeon•29m ago
> i desperately want to use ghostty

Is there any particular reason?

yankcrime•9m ago
You can map something like cmd+shift+f to open the entire buffer in your default text editor, this has been sufficient for a lot of folks - myself included - while we wait for native scrollback search to land.
hackitup7•2h ago
I love how this guy founds + takes public + sells a multibillion company and then just goes right back to hacking. Legend.
rwmj•2h ago
And hacking on tty software too, the geekiest corner of the Unix tech stack.
buildbot•1h ago
I love ghostty and use it daily, somehow I missed it was by Mitchell Hashimoto! Very cool to see.
krferriter•1h ago
I had tried it briefly previously but in the last couple months I think I have made the permanent switch from iterm2. It's so much snappier and simpler and also reliably handles text reflowing when a long line wraps, which was a constant problem I had in iterm2, where it would insert fake newlines when copying out text that was wrapped.

I also like that I can have my config in a little plaintext file and just drop it onto a new computer and get the same keybindings. I am using the terminator keybindings for creating and navigating between split panes.

qaq•1h ago
100% Legend love Ghostty btw :)
kortex•1h ago
Hashimoto is an absolute wizard, but what I find most compelling about him is his absolutely uncanny ability to segment and abstract systems and interfaces in a way for maximum composability and minimal entanglement. He's like the walking embodiment of Rich Hickey's Simple Made Easy philosophy. It's like he designs software systems in such a way that they have no choice but to operate correctly and predictably.

Also I just tried Ghostty for the first time. With iTerm2 and the Zsh/Powerlevel10k theme, there's an extremely brief but perceptible lag from running a command and the render. In ghostty it feels actually instant.

carwyn•2h ago
How does this compare to https://gitlab.gnome.org/GNOME/vte/ ?
loeg•1h ago
The ghostty version probably doesn't write the entire scrollback buffer to disk (given its lack of dependencies).
Narushia•1h ago
Vte is GTK-only, while libghostty aims to be cross-platform.
tristan957•1h ago
libghostty will eventually export a Terminal widget that can be used in GTK as well, so in that regard they serve a similar purpose.
duskwuff•47m ago
For that matter: how does it compare to libvterm (https://www.leonerd.org.uk/code/libvterm/)?
mitchellh•26m ago
libvterm is great. Ghostty supports many more features, but the most important I hear from other libvterm users are that it's missing scrollback and reflow on resize, which are both pretty major pieces of functionality.

Example: Neovim is considering the switch to libghostty-vt when its ready. https://github.com/neovim/neovim/issues/33155

jdorfman•2h ago
The passion and attention to detail Mitchell has for developer experience is beyond me. I remember the first time I used Vagrant (2011, Santa Monica California) like it was yesterday it was that impactful.

I never thought in a million years I would even think of ditching iTerm2 but when Ghostty dropped I installed it and fell in love.

drob518•2h ago
Kind of surprised that we haven’t created this library before now. But glad to see it coming.
Biganon•2h ago
On the very day ghostty refuses to load my theme because themes now start with an uppercase letter; the same day I'm no longer able to enter `^` (a caret) for some reason. Not to mention the multiple times where the clipboard suddenly and completely stopped functioning, in the last few weeks.

I love ghostty, but if it keeps suddenly failing for no apparent reason I might have to go back to wezterm.

paraboul•1h ago
Chill, there was literally one single update since the initial launch. It's not like it's getting breaking changes every day.
SG-•1h ago
damn, you should ask for a refund.
ralgozino•1h ago
You seem to be using tip. Switch to using a stable release (1.2 is the latest one) instead if you don't want to be exposed to potential issues.

FWIW I've using tip since the closed beta and never had major issues.

HellsMaddy•1h ago
Super exciting. I hope to be able to embed a Ghostty-backed terminal into my Rust app in the future. Amazing work as always, Mitchell!
NotaRat•1h ago
I love the idea of libghostty making terminal tunnels cleaner and less leaky, because I hate messy pipes.
x0n•1h ago
problem: we have ten different VT terminal parsers

solution: write a new VT terminal parser to replace the other ten

result: we have eleven different VT terminal parsers

hamdouni•1h ago
Mandatory reference

https://xkcd.com/927/

Pet_Ant•1h ago
I really want a little adapter that can plug into a monitor to make it a dumb terminal. Instantly on, no full OS, just a VT100 or something.

I've looked into it with a PiZero and some HATs but I'd like something made by smarter people. This would be perfect for that.

Ideally just some dip-switchs to set the terminal to emulate and set the display resolution.

ldemailly•1h ago
Then what would you do? serial port? ssh? what is your terminal connected to if you don’t have an OS?
Pet_Ant•54m ago
Serial port or serial port over "ethernet"[1] (technically it's 8p8c[2]).

My router doesn't have a video port, but it does have a dummy terminal port. I had to scrounge a video card for my server to set it up, but it does have a serial port [3]. So that would have been nice.

Also would be nice for a modern remake of dumb terminal with abandoned monitors.

[1] https://www.cabling-design.com/references/pinouts/EIA-TIA-56...

[2] https://en.wikipedia.org/wiki/Modular_connector#8P8C

[3] https://serverfault.com/a/529159

eigencoder•1h ago
I was really excited to try ghostty, but the text looks blurry when I place it on my mac's external monitor
tdhz77•1h ago
I enjoy ghostty and zellij. Zig and rust built.
sigalor•1h ago
Will there also be a React component? Or is this not intended for web frontends? I was wondering, because Vercel et al. were mentioned in the beginning.
PokestarFan•1h ago
They mention it's compiled to WASM.
zenlot•1h ago
I use ghostty daily now. Switched recently. In macOS I can re-map now caps lock to be cmd and it works for cmd+c. Everything else is great, sensible defaults and what's not easily customizable.

Gruvbox light theme looks great too.

The fact it's written in Zig is awesome too, if you ever question if Zig is ready, ghostty is your answer to that.

Not seeing myself going back. It's great experience.

Tip: if you combine your ghostty flow with aerospace, it's nearly perfect setup for your keyboard only experience on mac.

epolanski•37m ago
Other huge projects are Clickhouse and Bun.
nasretdinov•25m ago
ClickHouse is written in C++ (un)fortunately. Although I do think that Zig would fit it quite well too
sdairs•19m ago
Yeah ClickHouse is written in C++, though rust is also possible https://clickhouse.com/blog/rust - would be cool to see zig!
ordinaryradical•17m ago
I think you’re thinking of TigerBeetle, not Clickhouse, which is a quite performant db with a fascinating simulation-tested story and proof of performance / safety.
Igrom•1h ago
I want to use this to modernize vterm in Emacs. If I could only synchronize the terminal cursor and the Emacs point, and preserve lines as lines, not split them...
sigbottle•1h ago
How easy would it be to implement a tmux shim application that just has line numbers natively in the pty itself for copying?

Tmux copy mode is already great, my one gripe is no line numbers.

This script https://gist.github.com/Nimmidev/2cf4d5cc80dce32d0240ec7b3cf... is pretty good, but I still get frequent bugs with it, and also it just doesn't work in fullscreen mode (2 panes).

The core issue is that it's allocating a new tmux pane with the sole goal of mirroring line numbers; it would be nice if they synced up in the same pane, avoiding the above issue.

Piping it into neovim is an option that you can do on both neovim and zellij. zellij loses colors, and neovim is probably the best solution to this problem but then again I don't want to have to remember to turn on/off line numbers every time and I personally like one-off panes. Separation of responsibilities, I guess.

Long-winded rant to basically say: would a standard like this solve my issue easier? From what I understand of terminals, I would need to parse the underlying pty, maintain a scrollback buffer internally in the wrapper shim, and also be able to dynamically adjust toggling line numbers on/off.

If I'm doing this kind of translation, how "leaky" will the abstraction be until I'm basically re-implementing the logic in my middle layer, assuming that "for free" I can get the translation both in and out from the pty?

I've been trying to look closer at TUI tools, but that's what really bothered me. Given just how god awful the VT protocol is, you could get the state machine parsing correct, but the developer still has to learn basically every little quirk that was added over the years, no?

(And before someone makes a false equivalence, no, this isn't the case even with languages like c++ - I'm still learning quirks about it to this day, but I don't have to learn the entire thing to build proper, robust code. It does not seem the same with something like the VT protocol. So yes, I'm aware that some learning should take place, but I'm wondering how structured of a developer experience this will end up being.)

on_the_train•1h ago
I have a confession: I don't know the difference between a console, terminal (-emulator?!?), shell, bash and all these things. It's all just a black window with text for me. I've never understood why people talk so much about git shell when my normal windows cmd/Powershell can do just the same git commands. I'm also a prolific and successful software engineer. These two things shouldn't mix. So please tell me what I missed in life when these things are completely alien to me.
vinceguidry•1h ago
Really looking forward to this, writing my own personal editor in Ruby and not having a library for parsing terminal input is leading me to write my own kitty keyboard protocol parser (which ghostty implements) and having to hand-code lookup tables is driving me batty. I really don't like the idea of using an existing TUI framework as none of them actually implement the kitty protocol.

* https://sw.kovidgoyal.net/kitty/keyboard-protocol/#

dagi3d•59m ago
I recently ditched VS Code in favor of Neovim and thanks to Ghostty transition has been a success. As a Mac user I use the cmd key in tons of shortcuts and it just worked out of the box, no need to send weird escape sequences
AceJohnny2•49m ago
> excellent feature compatibility such as parsing Kitty Graphics Protocol or Tmux Control Mode, and more

Oh oh oh!!!

> https://github.com/ghostty-org/ghostty/issues/1935

awww...

(while ghostty can parse Tmux Control Mode stuff, it doesn't actually implement the full feature. My dependence on iTerm2 remains...)

mitchellh•46m ago
Ghostty has the capability to parse Tmux control mode (and this blog post is about libghostty-vt). Ghostty the GUI is missing the capability to map that to GUI elements. But Ghostty understands Tmux control mode today: https://github.com/ghostty-org/ghostty/blob/main/src/termina...
phkahler•34m ago
License: This is a perfect example of a project I think should be LGPL licensed and not MIT. Why? Let's suppose he's successful and libghostty become ubiquitous. What happens then? At some point you will be using a closed source version of it on Windows or MacOS or whatever - how do you know it's not logging in the background? The potential for this exists today in every commercial terminal emulator, but why make it easy to take something ubiquitous and backdoor it? On the flip side, what's a good reason for it to be MIT licensed?
valadaptive•21m ago
Am I missing something? The LGPL only applies to the library itself--you can dynamically link to it from proprietary code. So in this hypothetical scenario, someone could just write a terminal emulator (or IDE, or what have you) that dynamically links to libghostty and put as much telemetry in it as they wanted, couldn't they?
phkahler•4m ago
>> Am I missing something?

No, you're not but I did! So GPL then. Maybe I just wanted to make up a scenario. I'm not sure why MIT/BSD have become so popular, they have their place but I don't think they have any place in software infrastructure.

10000truths•26m ago
Sounds like a feature-complete successor to libtmt:

https://github.com/deadpixi/libtmt

MonkeyClub•23m ago
Through TFA I ended up perusing Hashimoto's blog, and from that moved on to "The Tao of HashiCorp".

Curiously, it hasn't been discussed on HN before, so I started a thread to get HNers' thoughts on it:

https://news.ycombinator.com/item?id=45351378

tennysont•21m ago
Interesting!

The nix package for ghostty is broken/unavailable on MacOS at the moment, but installing the brew cask (`brew install --cask ghostty`) and a basic config file:

```

font-family = Monaco

theme = dark:Catppuccin Frappe,light:Catppuccin Latte

```

Got me almost everything I used from iTerm2. Nerdfont just worked (in iTerm I think you have to use the `Use a different font for non-ASCII text` setting)

tambourine_man•9m ago
I really want to like Ghostty but:

- Still no ⌘F for find.

- No way (that I know of) to select previous output or specific string and copy with only keyboard shortcuts.

- No ⌘. sending CTRL-C (muscle memory and being advertised as native to the Mac is what one would expect).

- Fonts still don't render as nicely as in Terminal.app. I've fiddled with `font-thicken-strength` and it's close, but not quite. Probably impossible or very hard to replicate due to its Metal rendering nature, but when all you do is look at text all day, it matters.