hi there! i'd like you to try out a tui i made for browsing hackernews. it's built using opentui and also effect (learning experiment). i really like it and i think you will too!
As an aside, 'meaningful' is an obtuse adjective to use there; and it's typical of text generated by Claude.[0] I seem to see it a lot more frequently than pre-AI (~2022). Maybe my next project will be statistically analyzing word frequencies in HN comments pre-AI and post-AI.
Thanks for you concern, I typed that message out by hand and genuinely meant it. The terseness stems from the use of a mobile phone, not Claude. As it happens, I don't have an Anthropic account, nor do I possess an OpenAI one. If you look at my comment history, you'll notice I've been around for a while (as I noticed, have you).
I think a lot of the focus on AI output poisoning future models' training has left their effects on our reasoning/ vocubulary neglected, which is why I brought it up.
How we define words, what connotations they evince and the qualities they exude, simultaneously limits and enables thought.
Ha, mine's weirder, I think? I wrote a React-like renderer in Lua that renders into Neovim buffers[1], then built a pile of apps on top, including an (unfinished/experimental) HN reader[2].
And this is why people aren’t going out of the loop any time soon. A normie asks the bot to make a project, it produces nonsensical complexity like this.
You're restating their point. Normies' output will still be bad compared to the output that good engineers would produce, with or without AI. You wouldn't want to use poorly built software regardless of origin.
Sure I would. I use it every day. Most software is crap, and it got worse once everything became a SaaS or embedded Chrome pretending to be a desktop app (or the worst, embedded Chrome loading a SaaS pretending to be a desktop app).
Hell, half of my use of LLMs these days is bypassing around crap in software written by people[0].
The metric in question is not how it's built. It's whether it solves a problem. Particularly for single or sub-100-users software, what matters is whether it does the job the user(s) like, the exact way they like it.
Speculating here, but maybe I'm also hitting at a disconnect between perspectives: I look at a product as tool to solve a problem. But some look at it as something to sell for money or Internet fame. For the former, distribution doesn't matter. For the latter, distribution is everything, and then, perceived code quality/effort signals actually start making sense.
TL;DR: I don't mind using shoddy software, but I agree it's a bit harder to sell obviously shoddy software.
You don't need to as much as parse HTML to read it. Building a client by hand in C even should be pretty painless as long as you don't write your JSON parser yourself.
Great! Get the News part of Hacker News without the Drama part of Hacker News. It's always better to increase friction to help you wean yourself off destructive habits like this one, where I'm spending time sending text to a stranger who will immediately discount my thoughts since I'm not them.
Long time ago I had an extension for my browser that would "pause" every social media comment I made and do analysis to see if I was acting like a dick. Maybe I should get it working again.
It all started when I found some website where you'd give it your Reddit account, and it'd do a bunch of processing and produce a report about how much you swore, if you had net favorability or not with up/down votes, sentiment analysis to see if you were coming from a place of friendship, etc. It really drove my behavior in a more positive direction.
I'm a kind, not just nice, person IRL. But the Internet turns humans into text, and I was taught as a child to engage harshly and critically with all text. That is to say, I had good English lit teachers.
Saying something thought provoking is a lot more important than not acting like a dick. If you see a soiled 10$ bill and a nice calming nature photo on the side walk, which one would you pick before the wind blows them away?
I'd recommend saving actual HN item IDs rather than feed positions. Since the front page reorders constantly, relying on item IDs makes returning to a saved thread completely predictable.
Made me think of a cool way to burn tokens: browser that reports websites you visit to an agent, which then writes a TUI for that site, ultimately leading you to a collection of low-resource UIs for the five or so websites you actually visit. Then you stop needing to use a browser and your 16GB RAM with a browser using 64GB of RAM becomes a system with free RAM for the first time in years.
Think: Lynx but pretty.
(Also bonus, bot checks that flag you as one means you have more free time to not get advertised to or sucked into Internet drama.)
Can you make an interactive ssh instead?
Thank you, I've been looking for a meaningful way to browse HN on my cyberdeck and this looks perfect.
As an aside, 'meaningful' is an obtuse adjective to use there; and it's typical of text generated by Claude.[0] I seem to see it a lot more frequently than pre-AI (~2022). Maybe my next project will be statistically analyzing word frequencies in HN comments pre-AI and post-AI.
[0]: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=7031138
Thanks for you concern, I typed that message out by hand and genuinely meant it. The terseness stems from the use of a mobile phone, not Claude. As it happens, I don't have an Anthropic account, nor do I possess an OpenAI one. If you look at my comment history, you'll notice I've been around for a while (as I noticed, have you).
I think a lot of the focus on AI output poisoning future models' training has left their effects on our reasoning/ vocubulary neglected, which is why I brought it up.
How we define words, what connotations they evince and the qualities they exude, simultaneously limits and enables thought.
why not use ratatui
maybe, the author isnot interested in low-level langs
Edit: sorry, i was wrong. https://github.com/holo-q/ratatui-ts
I just rewrote it on my device in ratatui using codex in 16 minutes and it uses 10x less RAM 150MB -> 15MB
the binary file is 10MB
Loved it, thanks for sharing! If you can add logins and posting it would be great!
YaHnTui
just why
"Zig with TypeScript bindings and React components" for a TUI is definitely the wildest, weirdest stack for a given job I've seen.
Where are you seeing any mention of Zig? All I see is TypeScript?
It uses OpenTUI which is build in Zig: https://github.com/anomalyco/opentui
So how is it a weird stack given the TUI framework itself was written in Zig?
Ha, mine's weirder, I think? I wrote a React-like renderer in Lua that renders into Neovim buffers[1], then built a pile of apps on top, including an (unfinished/experimental) HN reader[2].
[1] https://github.com/jrop/morph.nvim
[2] https://github.com/jrop/tuis.nvim
That's a lot of deps to read HN.
Maybe your clanker can do it without.
In the old days, you would telnet into a host machine that just serves this up to you. No need to install anything.
charm makes some awesome libraries for building/serving CLIs over SSH: https://github.com/charmbracelet/wish
I love that library -- perfect for multi-user TUIs -- and thought its associated Wish SAAS with multi-key identity and KV store was a fantastic idea.
And this is why people aren’t going out of the loop any time soon. A normie asks the bot to make a project, it produces nonsensical complexity like this.
Except why would you waste your time on projects like these, if an LLM can zero-shot them for you?
You're restating their point. Normies' output will still be bad compared to the output that good engineers would produce, with or without AI. You wouldn't want to use poorly built software regardless of origin.
Sure I would. I use it every day. Most software is crap, and it got worse once everything became a SaaS or embedded Chrome pretending to be a desktop app (or the worst, embedded Chrome loading a SaaS pretending to be a desktop app).
Hell, half of my use of LLMs these days is bypassing around crap in software written by people[0].
The metric in question is not how it's built. It's whether it solves a problem. Particularly for single or sub-100-users software, what matters is whether it does the job the user(s) like, the exact way they like it.
Speculating here, but maybe I'm also hitting at a disconnect between perspectives: I look at a product as tool to solve a problem. But some look at it as something to sell for money or Internet fame. For the former, distribution doesn't matter. For the latter, distribution is everything, and then, perceived code quality/effort signals actually start making sense.
TL;DR: I don't mind using shoddy software, but I agree it's a bit harder to sell obviously shoddy software.
--
[0] - https://news.ycombinator.com/item?id=49875994 I started calling this "Bypass-Driven Development".
Are you comparing with `curl | lynx` or with Chrome?
HN data is accessible through the Firebase API: https://github.com/hackernews/api
You don't need to as much as parse HTML to read it. Building a client by hand in C even should be pretty painless as long as you don't write your JSON parser yourself.
That's fair criticism.
thanks for sharing! gonna try it out
How many fps can it do?
It would be nice to read the articles in the terminal as well, maybe just as an markdown output.
Does it support account login ?
I was searching for upvote shortcut and realized it does not support login
Great! Get the News part of Hacker News without the Drama part of Hacker News. It's always better to increase friction to help you wean yourself off destructive habits like this one, where I'm spending time sending text to a stranger who will immediately discount my thoughts since I'm not them.
Long time ago I had an extension for my browser that would "pause" every social media comment I made and do analysis to see if I was acting like a dick. Maybe I should get it working again.
It all started when I found some website where you'd give it your Reddit account, and it'd do a bunch of processing and produce a report about how much you swore, if you had net favorability or not with up/down votes, sentiment analysis to see if you were coming from a place of friendship, etc. It really drove my behavior in a more positive direction.
I'm a kind, not just nice, person IRL. But the Internet turns humans into text, and I was taught as a child to engage harshly and critically with all text. That is to say, I had good English lit teachers.
Saying something thought provoking is a lot more important than not acting like a dick. If you see a soiled 10$ bill and a nice calming nature photo on the side walk, which one would you pick before the wind blows them away?
https://sras.me/unireader/
Reddit and YIFY ones are defunct now. Sorry.
Without Claude code demo it would be impossible to see how it works, nicely done
Piping through readability before rendering is what made mine usable, raw html to markdown on news sites is mostly nav junk.
I'd recommend saving actual HN item IDs rather than feed positions. Since the front page reorders constantly, relying on item IDs makes returning to a saved thread completely predictable.
That is a wild stack to use for a RSS feed.
Made me think of a cool way to burn tokens: browser that reports websites you visit to an agent, which then writes a TUI for that site, ultimately leading you to a collection of low-resource UIs for the five or so websites you actually visit. Then you stop needing to use a browser and your 16GB RAM with a browser using 64GB of RAM becomes a system with free RAM for the first time in years.
Think: Lynx but pretty.
(Also bonus, bot checks that flag you as one means you have more free time to not get advertised to or sucked into Internet drama.)
I've been using https://github.com/bensadeh/circumflex for a while now, I like it a lot.
i love me a good tui, but hackernews is one of the few websites that aren't a pain to use so i just browse it in firefox with vimium plugin.
No dependency, node.js in the next line.