Recent submissions

Comment · 1 year ago
If you work with LLM agents, you will immediately be able to tell this issue is written by one. The time cost of this sort is almost certainly not real, as others have pointed out.

I’ve had agents find similar “performance bottlenecks” that are indeed BS.

Comment · 1 year ago
I think exposing a C lib would be very nice. Feel free to open a discussion or issue on the Github.
Comment · 1 year ago
Oh no - where at?
Comment · 1 year ago
Oh that's cool. `find` is another tool I thought could benefit from io_uring like `ls`. I think it's definitely worth enabling io_uring for single threaded applications for the batching benefit. The kernel will still spin up a thread pool to get the work done concurrently, but you don't have to manage that in your codebase.
Comment · 1 year ago
You would have to write your IO to have a fallback. The Ghostty project uses `io_uring`, but on kernels where it isn't available it falls back to an `epoll` model. That's all handled at the library level by libxev.
Comment · 1 year ago
I didn't include `busybox` in my initial table, so it isn't on the blog post but the repo has the data...but I am 99% sure busybox does not have locale support, so I think GNU ls without locale support would probably be closer to busybox.

Locales also bring in a lot more complicated sorting - so that could be a factor also.

Comment · 1 year ago
Yeah, I wrote this as a fun little experiment to learn more io_uring usage. The practical savings of using this are tiny, maybe 5 seconds over your entire life. That wasn't the point haha
Comment · 1 year ago
Comment · 1 year ago
I've discussed with Mitchell a bit in the past on this, but there are a few ways to opt in to this. First, let's imagine there is some escape sequence that tells the terminal to ignore some set of escape sequences.

1. The shell could have a keybind (say, ctrl+enter) which runs the command with (for example) only styling enabled (CSI m sequences).

2. You could write a wrapper around any program to do the same. The shell doesn't need to know anything about the system, but instead you have a wrapper that disables and then reenables said sequences.

3. A program itself can opt in by turning on the feature at launch. This allows CLI / TUI developers to "safeguard" their programs from malicious attacks.

Comment · 1 year ago
I understand the fear of living near such a heinous crime, but you have to see the difference between the two situations. Random crime is scary, but is random. All signs point to this being an assassination. Brian Thompson wasn't the victim of a random criminal, nor was he murdered by some person he has a connection with. He was assassinated. So the right question is why do we investigate assassinations differently than murders? And to me, the answer is clear - an assassination has far larger societal implications than a murder.
Comment · 1 year ago
It could definitely work for that. You have to think of zig in this context as a build system which can download and compile C/C++ codebases.
Comment · 2 years ago
Exactly - these should be reported along with any other input event as an escape sequence. There are other comments on this post that link to how this is done.
Comment · 2 years ago
Comment · 2 years ago
I've been daily driving Ghostty for over a year now, and have been a somewhat regular contributor. As a TUI library author, I've worked with several terminal authors on bug fixes and implementing features - Mitchell is among the nicest to work with. Happy to see this project launch as 1.0!
Comment · 2 years ago
Ghostty has both mode 2027 and kitty image protocol

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton