> Encycla isn't quite a wiki, instead, it's sort of a 'next generation' wiki. Unlike a traditional wiki site, where everyone edits a single page, on Encycla, each user maintains their own personal copy of a page, and changes are suggested (pulled) between pages.
> So Wikipedia should stay, and iron out the crinkles instead. Let's just not expect it to be perfect.
They could, but the author is pessimistic that nothing will change at all because of inertia resisting such change. He used Fram as example and the sole McDonald's in a food desert as an analogy.
> Encycla isn't quite a wiki, instead, it's sort of a 'next generation' wiki. Unlike a traditional wiki site, where everyone edits a single page, on Encycla, each user maintains their own personal copy of a page, and changes are suggested (pulled) between pages.
Pretty much everything, including the ongoing lie that Neovim is a "continuation" of Vim.
I replied in a different comment (https://news.ycombinator.com/item?id=33922783) about the async patches, which is where the whole things started. Because the patches weren’t accepted as is, they hard forked.
That requires an incredible amount of arrogance.
Neovim is not better than Vim. It is (increasingly) different. They have made different choices, some of which are interesting, some of which are baffling, and most of which are just different, although I consider the removal of GUI support to be about as arrogant as the gemini protocol stuff. There is a pernicious strain of software developer that thinks that they know better on everything and that GUIs are bad.
I felt that way in 1992 or so, despite having been exposed in 1990 to X, because it was easy to pick on Windows 3.1 and (then) Mac users. I got over it because there are things which are better, easier, and faster with GUIs than without. Not everything needs a GUI, but if you want people to use your software, leaving it in the terminal is unlikely to be a long-term success strategy.
Bram/Vim had a clear minimalist philosophy. Many wanted More from Vim; namely things like Terminals, Async, better scripting, etc.
Bram wasn't going to add those updates/upgrades (for philosophical reasons). So the community did what OSS does; and forked/added them. NeoVim was born.
Others could (justifiably) contest, but that caused Bram to ~panic that Vim wouldn't be the primary 'vi' moving forward, and Vim updates (adding NeoVim features or equivalents, sometimes better sometimes worse) started coming out.
{Neo,}Vim is in a much better state functionally than it was a few years ago because of the schism; enough that I switched back from VSCode without missing (much). I am saddened by the split community now though.
> although I consider the removal of GUI support to be about as arrogant
They didn't just delete the GUI. They made it easy to embed neovim and as a result there are several GUI frontends now. Seems like a good call - gvim is not a great gui so why keep it around rather than making it easy for gui people to make good ones against an api? There are several active guis right now: https://github.com/neovim/neovim/wiki/Related-projects#gui
None of the ones that support macOS are good, and all of them that don’t have explicit macOS support are all awful.
Given the choice, I can either:
1. Hate every day of working with the substandard state of neovim GUIs
2. Hate every day of working with neovim remediated by a terminal
3. Switch to Emacs
4. Switch to VS Code
or
5. Keep using MacVim, because it just works
I try each of the various active neovim GUIs every few months. Usually, I end up noping out of each one with just trying to edit a single file. For ones that have stuck for a day or two, I end up noping out of them because they are missing key OS integrations or are sluggish or have made decisions to act more like an IDE (Vimr) that result in a UI that’s less flexible than gvim or MacVim itself.
You say that gvim isn’t a great GUI, but that’s a subjective — and IMO wrong — opinion. It is vim. It doesn’t try to be anything but vim. It doesn’t try to add IDE frippery (because you can implement all of that with vim plugins) or switch to an entirely different plugin system where you can’t use any of your existing configuration (Oni2).
gvim — and MacVim — are great GUIs for being separate non-terminal-bound views on vim. There’s not a single neovim GUI that has reached that level, and most of them get abandoned because, in the end, no one on the neovim ecosystem cares because the core project doesn't care.
I suggest that you start reading for clarity and stop assuming that someone who feels strongly about something is angry. The condescension you’re expressing is both ignorant and asinine.
It’s not very good. It is perhaps the best available Neovim GUI, but VimR has been an unusable mess every time I have tried because it’s trying to be an IDE first and not Vim first.
Before I can take Neovim seriously, I need a Neovim GUI that is exactly what gvim or MacVim provide — not something that adds features I neither want nor need nor can I easily disable.
Granted, it’s been about six months since I’ve used VimR, but I bounce off it every time, because it doesn’t work with the configuration that I have built up trying to match my Vim configuration to the best of my ability.
>Before I can take Neovim seriously, I need a Neovim GUI that is exactly what gvim or MacVim provide — not something that adds features I neither want nor need nor can I easily disable.
Having used MacVim for several years and now using Neovim mostly in the terminal but sometimes VimR, I disagree that it's a mess.
I get wanting to have a common gvim ui/ux across platforms, but I think having a Mac-like or Windows-like ui/ux on those platforms mostly trumps that.
Also, the special features of VimR, like the built-in file browser and Markdown preview can easily be disabled. Using the native rendering of macOS and support for ligatures, for example, is certainly a plus IMHO.
> Because the patches weren’t accepted as is, they hard forked.
They weren't accepted for years, and if you're being honest, they never were going to be accepted. I'm guessing you thought Bram was also arrogant for forking vi?
You’re right. They weren’t going to be accepted, because they didn’t work the way that Bram thought they should and the people who pushed them would not change them to fit Bram’s goals. As package maintainer myself, if I get a PR/patchset the implements something in a way with which I disagree, I will not accept the changes. If I don’t care enough about the changes, then I probably won’t implement them either. Or I might do so later when I have time.
On the history of things, please be more precise. Bram did not fork vi. He worked from the Stevie code, which only ran on the Atari ST, so that he could use it on Amiga. It quickly expanded to other systems (I believe I encountered it after trying other DOS-based vi-like editors). That expansion eventually made it into the relative juggernaut it is today.
So... Bram won't accept their input, so they go make their own product with their input, and you call it arrogance. Got it.
You have every right to disagree with people's patchset, just as they have every right to disagree with your direction and decide to do it their own way.
I think that you’re intentionally misunderstanding, because that’s not at all what I said.
The arrogance is twofold:
1. Their way or the highway. It wasn’t that Bram wouldn’t accept their input, but that would not accept Bram’s input and change the patches to be closer to what he wanted for such a feature. He would not accept their input under their arrogant terms.
2. Their continued description of Neovim as a "continuation" of Vim—as if the development of Vim had stagnated (it had not, it just wasn’t at the pace that the Neovim developers wanted). It’s a garbage statement that should have been removed five minutes after it was first stated, unless the person making (and continuing to make) the statement is so arrogant that they can’t see that it’s an outright falsehood.
Frankly? I don’t care that Neovim forked from Vim. IMO, it’s got some interesting ideas overshadowed by a core team that is careless with its language and some of its technical direction (see elsewhere on the treatment of ACLs, which makes neovim fundamentally unsuitable as a system editor). As an editor, I think that it’s less mature and stable than vim. I think that the use of Lua is interesting, but that the Lua/Vim API is less than useful. As an experimental testbed for some neat ideas…good on them.
Could I contribute to neovim to fix some of the issues that I have with it? Sure. I don’t want to, though, because on the whole I find the attitude from the neovim developers to be unwelcoming. That could be fixed by removing unnecessarily inflammatory language and no longer lying about the origins of neovim.
Forks can be good, even if there is no cross-pollenization between the projects. Look at the success of egcs. But they aren’t good when they’re founded on lies and ill will.
Frankly? I don’t care that Neovim forked from Vim.
I don't mind your indigination -- you've given neovim v. vim more
thought than most. I do mind when pointy heads say "I don't care" when
they clearly do.
Point of clarification: I don’t care about the fork. If you want to go a different direction than a parent project, that’s absolutely what you should do.
I do care about the way that the fork happened and the misrepresentations of the fork, so I’ve written way too many words about this today.
IIRC GUI support was taken out because one of their long term goals was (is?) to reduce the codebase and to make neovim something you can plug into any text input field. You could use it as a backend for a standalone GUI app, or in Firefox for leaving HN comments. I seem to recall they had plans for an official GUI after they got to a certain point. Not sure if they still do.
Things have calmed down a bit now, but there were quite a lot of harsh words coming from some Neovim developers aimed at Vim and Bram personally which really turned me off; things like "lazy" and such. You can disagree on a technical level without being an asshole about it.
Isn't this a bug? Structs are allowed to have padding bytes between bytes occupied by fields, which will have unpredictable ("garbage") values. So a pair of structs with all fields pairwise same can have different padding bytes, so checking equality with this method will give a false negative.
I think of the dialogues between Achilles and the Tortoise in the Godel, Escher, Bach book. They would have tried adding a classifier that can tell when it is wrong and when it is right, but that is of course undecidable.
Is that a bad thing? A lot of real world problems don't have simple computational complexity. I'd learn more about someone from how they considered heuristic tradeoffs and assumptions that could produce a "good enough" solution to a tough problem than seeing if they could reproduce Dijkstra's algorithm from memory.
You can offer. Nothing about it being NP should prevent your implementing an exact solution, though. It'll be slow as balls on (at least) some inputs, and you should surface that, but maybe they only need something that works for N<5 or something.
That's different than it being undecidable, in which case you have to insist on providing something other than an exact algorithm that handles every input.
For the short story. A few years ago I was sitting a CS exam that was 3 hours of coding and then a defense where you explained what you have done on the board.
You had to compute a graph from a set of points (i think it was knn, not sure) and do stuff on it. At some point of the defense, this happened
Me: I skipped this question.
Examinator: why?
Me: If I compute it using the graph structure, it reduces to max-clique, which is np-complete. I looked for a solution using the point dara but didn't find it
Examinator: can you write an algorithm for max-clique on the board?
Me: here. This is exponential time
Examinator: it's worst case exponential time. But in this case it would have worked, you just had to try it
Me: urgh
Now I've learned my lesson: np-complete doesn't mean impossible
> Encycla isn't quite a wiki, instead, it's sort of a 'next generation' wiki. Unlike a traditional wiki site, where everyone edits a single page, on Encycla, each user maintains their own personal copy of a page, and changes are suggested (pulled) between pages.