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.
The nerds would do sooo much better for ourselves if we could build a momentum behind comments like this.
Finding mechanistic (& programmatic) sympathy counts for so so much! Shapes the arch of software so much! But it's such invisible unknown work to most people, not so overtly clear & obvious but something that constantly builds day after day, person after person, incremental 0.2% gains compounded by lack of friction.
As well as just promoting good practioners, it feels like discourse about software architecture has really fallen off. We are deep inside rabbit holes specific to this framework or that, and there's only occasional popping out to free air to bring back some observations from the burrows. Ideally we'd have many more volumes of Architecture of Open Source Applications (2011), for example, to really dive into what is, to give us some common referents to learn from and talk about. https://aosabook.org/en/
This is all so core, so worth getting deep on & looking how things are assembled, what the interfaces and modules and shapes look like, what the tradeoffs were. But it remains chiefly an arcane art, one that most developers much less most businesses haven't developed a refinement or taste for.
> As well as just promoting good practioners, it feels like discourse about software architecture has really fallen off.
My observations of 20+ years in tech is that tech, collectively, chases the easiest thing to do, then complains it doesn't work without the self-reflection to realize that the very pursuit of doing/understanding as little as possible dooms the result from the beginning.
They spend years of often-needless/excessive effort to avoid weeks of studying that would move them forward.
To add... The missing scrollbars feel painful to me. I don't even want them for scrolling, really. I want the visual reference for:
"How much content is in this window"
and
"Where am I in that content"
I still use it daily but it means I have to switch tools for certain things, and reading log files or log output is one of the more common reasons I switch.
I should probably look into trying to get the scrollback info into my statusline, No idea how easy or hard that is - so if someone has done it, feel free to shoot me pointers.
Centralized logging, a la Splunk is the gold (with what they charge, probably platinum) standard here. Watching someone who knows what they're doing at a Splunk console for a distributed system they understand is a thing of beauty. It's just a shame they charge so much.
Same here, scroll bars are literally the one missing feature keeping me from making Ghostty my daily driver. But the release notes roadmap mentions they will add them for 1.3. Waiting with anticipation.
Maybe I'm misunderstanding your request but do you not pipe outputs into a pager? (Less, more, batcat, etc) I feel like I'm probably not understanding the context though.
I'm still not quite sure what you mean. You can still {|,>} output from a program, so less and grep still help.
Or do you mean when you inevitably forget? Well then yeah you're at the mercy of your terminal but as others mentioned ghostty has a hack to help as well as some other terminals. But this should also help reinforce why you should pipe more often and write to files (or tee). It sucks but not making the same mistakes in the future and learning better habits will help you write better code and use better practices.
But that's the age old problem of "you can't analyze the data you didn't record" and that's a footgun you'll experience in every programming language, every experiment, and across many parts of life. Better to record and throw it away than not record and regret it.
It IS recorded. It's right there in scrollback (Literally the default buffer to record). It's easily accessible with most tooling, including nice scrolling, mouse support, find/search, etc...
Except in Ghostty, it's not so accessible. No find, no scrollbars.
Although deciding when to do that would be easier if I had a better indicator for just how much scrollback content exists. Ex - if it's 3 pages... I'll just scroll through it. If it's 3000 pages... time to dump to file.
So no - by default I use a pager... just about never. Why would I when I have absolutely everything in scrollback by default 99.9% of the time?
---
Don't confuse your preferences with "correct" :P
I'm doing just fine with code and best practices, I'm simply stating that this is a rough edge on an otherwise lovely tool.
In the latest version Shift + ctrl + alt + j copies the entire screen and opens it in what I assume is $EDITOR (maybe this can be configured). Or just shift + ctrl + j to copy the screen to temp file and pate the path. Either way, it then just becomes configuring it to use a pager by default, or `shift+ctrl+j` and then | less. This is similar to how kitty does search, by essentially outsourcing it to an external pager. I was put off by it at first, but it's very much in the UNIX philosophy.
There's a few things like this but I'll give a pass because how new it is. Were this a mature project I'd be upset at incompetence, but given how young it is I think it's too early to be harsh.
Plus, they're very open about what they're doing and prioritizing. As another commenter said, it's coming soon. For the rest, open feature requests, you might have needs that others didn't think of or even realize they needed
I find the search through a file actually makes sense.
If you don't know, you can send the log to a file, and open that file to look through it. More powerful than just a search next, as you can have instance counts, search with regexp and all the bells and whistles and it virtually stops the logging.
At first I thought the same as you, now I've become quite partial to this concept. I hope they don't remove this.
I honestly didn’t even realize it was missing until I was reading this thread, cause I’m always in a zellij session which has a “search in default editor” key.
Pop the whole scrollback in helix, where I can search, select, jump around, paste stuff into a scratch buffer. It’s slick. It’s got a normal search too. But yeah I haven’t used a built in emulator search in a while I guess!
Because maintaining is not as fun as starting? Because other people can maintain a well structured project but not as many people can start something from scratch? Because his skills can be better used elsewhere?
That sounds like the Google philosophy though, where smart people come up with ideas and write the initial implementation (then get promoted) and other less smart people take over, and you end up with a mess that had great potential like Bazel?
My understanding is that this is not a philosophy at all, it is an incidental result of a bad set of misaligned incentives, where to be promoted you need to start something new or drive growth and post launch maintenance/growth is weighted much less
This could also end up like Fabrice Bellard's projects: yes he is no longer maintaining tinycc, but as a result we are now getting ffmpeg, qemu, and more.
That sounds like what Drew DeVault does (did?). He made sway, aerc, and others but largely doesn't work on them now AFAIK, passing off work to other people such as emersion.
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.