Hacker Newsnew | past | comments | ask | show | jobs | submit | imjonse's commentslogin

They forgot to add 'make it as simple as possible' in the prompt is one possible cause.

On a more serious note using a react-like lib for TUI in the hope you'll share the codebase with the web version is a more likely explanation. Still not the best idea.


React is not that stupid to re-render in a loop at 60fps and instead waits for changes to happen before re-rendering. It even batches changes and stuff.

You don't need React for reactive TUIs - at all. I can understand chosing React for web, but for a TUI it sounds like a really poor idea. And in practice we can see that the claude code TUI is also poor.

So how much more improvements are there for efficiency in the Claude code base if they are using react for a tui, in the rest of the code?

I also wonder about the wasted cycles and just the environmental damage caused by all these wasted cpu time . (Edited added a comma for clarity)


How experienced were you at that time?

I was a few years into amateur self-teaching at that time. It helped me think through problems recursively, which was a lot of fun, but my biggest takeaway was learning to think of problems by representing the data with types, then stubbing out functions that dealt with the different types that I needed to solve the problem. Although it's done with an untyped language, it makes you think through the type signatures of all the functions you write. I discovered that whenever something didn't work, the problem was almost always that I misunderstood the data or the type. I also learned how to deal with problems with recursive algorithms through trees and nested data structures like s-expressions. That opened up a whole world of parsing and evaluating.

HtDP is an introductory textbook. It shouldn’t have new material for someone who has 2 years worth of experience.

That said, while I didn’t learn content from it, the exposition of their process was excellent. It really influenced my “personal software process” a lot. Also, it gave me a lot of tools for informal postmortems that I reach for when mentoring junior colleagues.

The book’s taxonomy of the different kinds of recursion helped me see what others found difficult about it.

Background: I liked SICP but HtDP made it easier to see the content as one unified subject instead of a bunch of tricky/interesting individual exercises.


"How can we ensure the gains of AI are shared globally? We do not have a mechanism for this" Somebody inform Anthropic about open models and research.

I use open models all the time, but they are anything but "safe". no amount of lab work can prevent someone from finetuning the released model to do unethical stuff (and its really easy to do this https://arxiv.org/abs/2502.17424)

Being able to finetune is part of 'the gains of AI shared globally', so it's ok.

> the gains of AI shared globally

but does that give the right for people to use their "gains" to take away from those of others? I think its totally fine for smaller models like now, but a mythos-class system probably shouldn't be open weights. At some point systems cant even be used by most people because of the hardware they need.


it wasn't about industrialization, but about not being complicit, the machine was the metaphor for the system (this was the 1960s)

'usa ip theft 19th century' in your fav search engine

Well, I did, and to save others the time, the most relevant resource I found appears to be the book "Smuggler Nation: How Illicit Trade Made America” (2013) by Peter Andreas

Hammock-driven development will get a new meaning.


They're OSS projects in a friendly competition, both working towards the goal of having alternatives to big closed source players. No need for jabs.


I don't think "friendly" and "publishing benchmarks" are at odds with each other.

Model makers (both open and closed weight) typically publish benchmarks against other models and when they do not, people rightfully call them out.

Including comparison against "other OSS engine" is just not helpful (what if it's a sandbagged baseline like HF Transformers?)


The problem here is both aimed for Day 0 support, both got embargoed preliminary model weights and arch, and I don't think they have access to the other sides embargoed code.


If anyone cares about plants suffering they should go vegan, as many more plants are consumed to raise animals than would be if there was a direct plant intake in humans for the same amount of calories and nutrients. Ditto for land use, water, CO2 emissions, etc. but let's assume our friend cares strictly about reducing suffering short of starving themselves to death.


> The real answer is something HN doesn't like so I won't advocate it openly, but it involves society paying to take care of people to provide homes, provide medical access, things like this. Neither party is interested in that.

There are enough people on HN who think working social democracy is a great option; not everybody here is a libertarian cryptobro, an eastern european with decades-long PTSD or a hardcore conservative.


It probably goes against Vim tradition, culture and freedom to choose, but I wish they added even more built-in features (like Helix) that are currently implemented in competing and sometimes brittle plugins and have to be put together into also competing vim starter packs and distros of plugins and config files just to have a modern setup out of the box.


I agree in principle that absorbing the best from the ecosystem is good. However, anything pulled into core should have a long lifetime and be considered part of the API. This deserves careful consideration, and plugins work really well until it is clear there is a reason to pull something in.


Not to talk about the other side of the holy war too much, but one of the things I appreciate about GNU ELPA is it's treated as part of the Emacs distribution and needs to follow all the rules of Emacs proper as a result.


There is zero reason not to include a picker like helix does. I’m gonna guess 90% of everyone running neovim has a picker


I believe we are thinking about different time horizons, and your language and comparison to <modern editor> reveals a lot about unsaid about your reasoning.

I don't think comparison to other editors is a good basis for deciding what should be pulled in. The vi ecosystem was and remains weird to those outside, but in a way that is internally consistent to the usage patterns of its own user over decades.

Also, percentage of users using X feature is also a bad selection criteria for pulling a plugin provided feature, unless that number is 100% and there is little deviation in configuring it. There is very little friction in pulling in a plugin as a user.

So what are some good criteria for absorbing plugin functionality?

- extensions that provide an API for entire ecosystems (plenary, lazy.nvim)

- plugins that add missing features or concepts that are to useful, and timeless to ignore

- plugins that would benefit themselves or neovim by moving to native code

Honestly, the bar for absorbing plugins should be pretty high. There should be a real benefit that outweighs the cost of more maintenance, coupling, and ultimately cost.

The cost of installing plugins is pretty low, and they are great at keeping the core software simple.



Does ex not count?


This is what happened with the Language Server Protocol.

Prior to 0.9 (if I recall correctly), you had to install a plugin to be able to interface with LSP servers, and in 0.9 they integrated the support into NeoVim itself.


Would be nice to also have such support for DAP, though nvim-dap is doing a good job so far.


I believe neovim started as a fork specifically to implement features like LSP support and package management, VIM eventually also caught up. But i don't believe anything is out of the table, or against Vim tradition. Which features do you want to see built-in, specifically?


I’m also pretty sure that on an episode of The Standup, one of the Neovim core maintainers TJ DeVries (Teej) said that it is a good idea to prove new ideas in the form of a plugin rather than submitting pull requests for Neovim itself with new ideas that have not yet been tested out and proven in the real world. Implicitly implying that indeed Neovim is open to bring features from plugins into core Neovim itself, if they are proven to be useful for a lot of people.

Unfortunately I don’t remember what episode it was or even if it was specifically on an episode of The Standup, or if it was some other video that he and ThePrimagen did outside of The Standup.


This is essentially how the new package manager got done. `mini.deps` was created as basically a proposal for a built in package manager (beyond also just being its own thing), sat in the wild for a year or two then a derived version got imported.


Multi threading, but yeah.

Original HN post here if you’re interested. https://news.ycombinator.com/item?id=7279358


> The author of NeoVim (Thiago de Arruda)

I've always wondered what this legend is doing now


That's why I stopped using it. Didn't want to have "reconfiguring an editor to be an IDE" as a hobby.


As others have said, the fact that they're letting the ecosystem settle before including something out-of-the box is beneficial in some sense. It's allowed time for experiments (including my own "how would I do UI in Neovim: morph.nvim [1]").

For some, this stage of a project attracts tinkerers and builders, and lets the community shape how things are done in the future. It's not always practical, but it does have a certain appeal.

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


Neovim is actively moving in that direction.


Which is why I just went with Helix and learned their keybindings. I have much more important things to do than figuring out why a plugin stopped working.


Doesn't seem like it if you can waste time learning all the keybinds just because you switched an editor, but also how does "can't do things since there are no plugins yet" rank higher vs "sometimes stops working" in importance?


It took me about 10 min to learn the keybindings. It does take longer to get familiar and efficient with them, but I wasn't a Vim master to begin with. (I can navigate efficiently and am proficient with a few combinations that I use the most, but that's about it.)

> "can't do things since there are no plugins yet"

Depending on what I am doing, I will probably go back to VSCode to get things done. Terminal editors are nice, but VSCode's extension ecosystem and usability is unmatched. I speak of that as someone who has spent hundreds of hours developing VSCode extensions. For me, "can't do things" is not (necessarily) a reason to set up Neovim plugins. It means I should figure out 1) if that's something I need to do regularly 2) If so, what's the best way to get it done.

(I am very well aware of what you can do with vim/Neovim plugins, just like zsh and tmux etc. Not spending time hand writing my config or setting up my plugins is an intentional choice. I like to start with a commonly used setup, discover pain points and bottlenecks, and then optimize or find some other solutions.)


> 10 min to learn the keybindings. It does take longer to get familiar and efficient

So not the red-herringly 10 min (and there are hundreds of keybinds, so the initial learning wasn't 10 min either)

> like to start with a commonly used setup, discover pain points and bottlenecks, and then optimize or find some other solutions.)

Which you've presumably already done at least twice with vim and VSCode, so again it's just a waste of time to start from scratch yet again instead of configuring for the things you know you need


No-one started as a vim master.

Your arguments here are valid, for a particular kind of person who values a particular kind of workflow.

Some of us would rather use vi than vscode. If you take away the plugin ecosystem, the core value is still there.


Just pin the plugin or don't use it.


Not a choice if you need a specific new feature or a certain fix.

The entire software development world would be much simpler if nobody needs new features, bugs and CVEs don't exist, or "just pin the version" works.


Neovims API isn't (yet) fully stable. So updating neovim could also break a plugin.


There are lot of readymade neovim configs you can copy. I was experimenting recently with lazy.vim and took a git clone and cp command to get up and running


I love the batteries included in Helix. Just the right amount that I don't need much else.

At this point I just want a decent Helix-Evil-Mode.


But this isn't vim, so doesn't go against those?

> 0.13 “The year of Batteries Included”

> 0.12 “The year of Nvim OOTB”


nice to see that.


Define “modern”!

Almost all such complaints are close to “I want to be cool and be seen as an haxor, but all I know is a bit of VSCode and IDEA, make it easier for me, plz”.


I think what they did with first-party support for LSP would be an example of this.

However, Neovim explicitely states that they don't want to turn VIM into an IDE. The feature parent is talking about seem to be falling into that type of vertical integration instead of composability.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: