jrop

Joined 9 years ago

Karma
161
Submissions
77
Member since
Mar 17
meet.hn/city/40.4774818,-104.901361/Windsor

Socials: - github.com/jrop - gitlab.com/jrop - reddit.com/user/jrop2

---

View on Hacker News

Recent submissions

Comment · 16 days ago
What strange times. A few years ago seeing a headline like this, my jaw would have literally dropped. Instead I'm wondering what kind of software projects will have meaning in the future if this headline feels common.
Comment · 21 days ago
Comment · 1 month ago
An Introduction to General Systems Thinking by Gerald Weinberg. I've found his writing style to really land with my brain.
Comment · 1 month ago
Yeah I though llama.cpp had this during the very early days, if my memory serves me correctly.
Comment · 1 month ago
Comment · 1 month ago
I forget the story, but isn't this the origin story of one of solutions to one of the hard problems in mathematics? The story goes that the student shows up late, and misinterprets the final slide to be homework, and it turns out that the professor was showcasing a hard problem. Thinking that the slide was homework, the student takes it home and solves it.

EDIT: In 1939, George Dantzig was a graduate student at UC Berkeley studying under the statistician Jerzy Neyman. He arrived late to class one day, saw two problems written on the blackboard, assumed they were homework assignments, copied them down, and turned in solutions a few days later. He apologized for being late -- the problems had seemed "a little harder than usual."

Comment · 2 months ago
Ha! Well done, sir.
Comment · 2 months ago
The approach you're describing (redesign the protocol) is one path. Another is to sidestep the protocol entirely by using a platform that already owns its rendering surface and happens to run in a terminal: my preference is Neovim.

Let me get the caveats out of the way first: this only makes sense if you already live in Neovim. The whole ergonomic case is muscle memory you already have. If you're not a Neovim user, you're just buying another learning curve. Also, the language is Lua (not Rust) so it won't appeal to the ratatui crowd on that front, and there's no proper layout system yet.

Neovim [0] renders to its own buffer system (extmarks, floating windows, virtual text) rather than emitting ANSI escape codes. Under the hood it's still a terminal app, but from the UI author's perspective you're not fighting terminfo, CSI sequences, or varying terminal support. You get proper cursor tracking, scroll regions, and editable text areas out of the box.

On the UI framework side, morph.nvim [1] provides a React-like component model (h(), state, reconciliation) on top of Neovim. It's not a general answer the way ratatui is, but for the slice of devs already in Neovim (there are dozens of us!), it's a pragmatic way to get GUI-framework-like ergonomics without the terminal protocol fight.

For a sample of what TUIs in this paradigm can look like, I've been working on tuis.nvim [2] (Docker, K8s, SystemD services, process management, and more all as native Neovim buffer TUIs).

[0] https://neovim.io

[1] https://github.com/jrop/morph.nvim

[2] https://github.com/jrop/tuis.nvim

Comment · 3 months ago
Glad I'm not the only one who does this.
Comment · 4 months ago
An old favorite. "How stupid can you get, animal?"
Comment · 4 months ago
I really prefer to lock the version numbers instead:

    mise use -g somepackage --pin
I can commit/rollback to known good versions. To upgrade:

    mise up -il
Not so long ago, I was outspoken against mise. I've since come around. It truly is a fantastic tool.
Comment · 5 months ago
That is a valid point of view. For me, however, I have found a huge productivity boost being able to stay in Neovim for extended periods of time. That's not to say that my way is the only right way, but the more I'm able to accomplish in Neovim, the less friction I personally experience.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton