Hyper 2, Electron based terminal - <AUTHOR> https://zeit.co/blog/hyper2 <comment><USER2> Wow so much hate in this thread.

First, the author is not doing this for his CV.

Second, the benefits of using electron are enormous for any JS developer and there are a lot.

Third, I also hate electron apps and wouldn't use this app, but I'm not going to jump back to "why electron is bad" discussion, since I can't suggest anything better in 2018.

<comment><USER3> What about good ol' QT?

<comment><USER4> The problem is that your language choice is very limited. You can choose C++, no thanks, or Python which is very slow. There are no good options for languages or VMs on Qt in the Java/C#/VM/Jit range of the language performance spectrum.

<comment><USER5> Python and js apps have the same order of magnitude of speed.

But pyqt apps are way faster than electron

<comment><USER4> No they don't. JS running on a modern engine like V8 are easily 10x faster than CPython which PyQt uses.

If you think Python and JS are about the same speed then it is because of Qt itself, but certainly not because of CPython.

<comment><USER5> I have coded with both, and practically, yes, they are. The only place where JS would beat Python would be a big loop with number crunching, which you would do with numpy anyway. Or pypy, which is 50 times faster than V8.

A desktop app would not see any difference. A sysadmin script neihter. Data analystics is made using numpy/scipy/pandas. Web sites bottleneck are incredibly rarely the server side scripting language, and when it is, you go rust/go.

But for our current debate, electron VS PyQT, well yes, the C++ does the heavy lifting and you get to use Python only for the stuff it is good at. Win-win.

The problem with using PyQT is making an exe or making fancy graphics is harder than in electron.

Everything else, and I do mean everything else, is easier and more performant with PyQT.

<comment><USER6> > pypy, which is 50 times faster than V8.

Ehhh V8 is pretty competitive with C for number crunching. Where are you getting that 50 times figure from?

<comment><USER7> threads.

<comment><USER6> [http://doc.pypy.org/en/latest/faq.html#does-pypy-have-a- gil-...](http://doc.pypy.org/en/latest/faq.html#does-pypy-have-a-gil-why)

If you're using parallelism for non-IO-related reasons, then in either language, you'll probably end up using multiple processes rather than multiple threads.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Honestly, I only clicked on this page to read all the comments hating on electron.

Not helping with my confirmation bias though.

<comment><USER9> Came here for the same reason. Although I am more interested in what @rauchg is doing

</comment></comment><comment><USER10> Interested to see how this compares in performance and resource usage with Alacritty[1]

[1]:[https://github.com/jwilm/alacritty](https://github.com/jwilm/alacritty)

<comment><USER11> Rust Evangelism Strike Force to the rescue.

<comment><USER12> I laughed real hard at this phrasing: > Alacritty is the fastest terminal emulator in existence.

Bold.

<comment><USER13> Depends what you mean by "fast". It seems to have the highest stdout throughput, but that is not necessarily the most important metric: [https://danluu.com/term-latency/](https://danluu.com/term-latency/)

</comment></comment></comment></comment><comment><USER14> Oh, great, people are still latched onto the Electron hype.

We now have another 150MB/window application. Great. How about pushing the envelope further and using a Quake engine as the base (it has a console).

<comment><USER15> Wouldn't a Quake engine based terminal emulator actually be way lighter? :P

<comment><USER16> I know you're joking, but I did one in Unreal Engine 4, although it's attached to a Z80 CPU emulation for running CP/M (and hopefully FUZIX later on).

[https://i.imgur.com/Q6307w3.jpg](https://i.imgur.com/Q6307w3.jpg)

The terminal has pretty good ANSI X3.64 support and can connect to a Linux box via telnet.

<comment><USER17> Ow that is pretty cool! Can we play around with that somewhere?

<comment><USER16> Hopefully by the end of the year. It's one of those situations where the emulator works great, but there's no game as such for it to interface to yet, and I'm sort of struggling to come up with basic gameplay mechanics.

<comment><USER18> I would LOVE to play around with that in the unreal engine editor just to see what cool stuff I can do with it. Please release it as a component somewhere by itself without the rest of the game. So much retro <3 for this little console you built.

<comment><USER16> I have considered that it could be useful for other people just as a component, yeah. I'm still working on the SDK to go with it (a C library and some example programs). Work has gotten really busy lately so I don't know when I'll get it done, but I do really want to finish it off.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> Some comments comparing DomTerm ([http://domterm.org/](http://domterm.org/)) and Hyper2 (H2):

DT does not require Electron: There are also embeddings for Qt (using QtWebEngine), Atom, Theia - or you can use a desktop browser. If you use Electron, it is only used for the "chrome" (menus etc). The "backend" (server) is a C program. (It works great on Windows using WSL.) There is also a simplified pure-Java backend.

Hyper2 is clearly faster. Using canvas seems like a win in that respect, but I'm concerned this limits the ability to style the output using CSS. Using a more structured representation (e.g. DOM) also preserves valuable information about the output. The ideal might be to have a structured representation as "the truth" but render to a canvas. This might still be less flexible in terms of using CSS, but that might be an ok tradeoff.

Om H2, if you change the window width, wrapped lines are not re-calculated.

H2 does not "remember" tabs. I.e if you 'cat Makefile', and copy the output, you get spaces, not tabs.

H2 shows a lot more errors when running the vttest test suite.

DT supports hyper-links to file positions. For example clicking on FILENAME:LINE:COLUMN: (as produced by many compilers) will open a (customizable) editor and go to that position.

DT supports "printing" images, rich text, and general HTML.

DT supports tabs, draggable panes, detachable sessions (like tmux/screen), and a builtin input editor.

</comment><comment><USER20> Maybe I'm missing something... is there a benefit to this over a normal terminal/terminal emulator? (eg xterm, mac terminal etc)?

As far as I can tell, putting it in electron would mean that you _could_ embed arbitrary HTML structures inside the terminal (like web page previews or something), but from what I've read, it doesn't look like that's the goal.

<comment><USER21> I've always wanted a terminal with bloom effects and it seems that Hyper 2 might be able to provide that. But I haven't found a theme that does that, and I haven't wanted it enough to look into that.

<comment><USER22> Bloom effects? As in, glowing and stuff?

<comment><USER23> I think he means it becomes covered in algae

</comment></comment></comment></comment><comment><USER24> I used Hyper for a little while a few months ago and thought it was okay. Still prefer iTerm for daily use.

One thing that it's amazing at, though, is taking promotional screenshots. It hides the OS bar by default, plus looks just generally great.

For instance: [https://github.com/snapcrafters/fkill](https://github.com/snapcrafters/fkill)

</comment><comment><USER25> Uses weird window decoration, uses a weird type face, doesn't support tabs ... And hell, it's Electron. I'll stay with the few-kb, vala[C]/gtk elementary terminal.

<comment><USER26> Although it does support tabs and you can use any decoration/type face you want.

</comment></comment><comment><USER27> With rendering moved to canvas, does it still make sense to use Electron? A lightweight drawing surface + js bindings could do the same in a much lighter package.

</comment><comment><USER28> While everyone fights about Electron I have a slightly off topic question- why are programs like these called a terminal emulator (emphasis on emulator)?

<comment><USER29> A physical "terminal" is a piece of hardware: [https://en.wikipedia.org/wiki/VT100](https://en.wikipedia.org/wiki/VT100)

<comment><USER30> I think people also refer to a "terminal" as one of the virtual terminals (CTRL+ALT+F[1-9]) that Linux provides.

But yeah, people use the term to mean different things.

<comment><USER31> These "virtual" terminals of course are also emulations of the original hardware terminals.

</comment></comment></comment></comment><comment><USER32> If it's just drawing pixels… what's the benefit of the web stack?

<comment><USER33> \- Easier to make a multiplatform application, compared to alternatives.

\- Makes it possible for people who don't know (and/or don't want to know) anything beyond the web stack to build "desktop" applications.

\- Easy to make it look nice by default, because you can reuse all the work that went into building the browser as a runtime, + you have a _ton_ of eyecandy JS libraries to choose from.

<comment><USER34> Also you can have interesting rendering possibilities like in-line display of images, charts, tables.

Longer-term: new generation of command-line tools with different ux paradigms for interactive use?

Like, <3 TERM=linux and "everything is text" but there are also a lot of possibilities here which would be interesting to explore.

Funny that people "get" jupityr notebooks but not this.

<comment><USER7> jupityr notebooks provides something that is difficult to get else where: multiplayer interactive programming sessions. its also not overly heavy.

Electron is just half remembered dream of flash, but without the efficiency or programming environment. That compiled once and worked the same everywhere.

We threw away flash because the iphone was underpowered, only for it to be replaced with the horror that is modern js centered webdev.

<comment><USER33> > _We threw away flash because the iphone was underpowered, only for it to be > replaced with the horror that is modern js centered webdev._

Also a sad thing: Flash sucked for building UIs, because it did not have a set of standardized elements and interactions built in. I'm thinking of all the trivial details like mouse pointer changing when you hover over a text field, or a text field that supports arrow navigation, selection, copying and pasting, a context menu, etc.

Now the browser, as a runtime, has all those expected UI interactions built into all the standard HTML components. And what does the web crowd do? _They throw it all away_ by building their own half-assed reimplementations of every UI element. There's lots of man-hours being wasted replicating the _problems_ of Flash.

</comment></comment></comment></comment></comment><comment><USER35> My gripe was always having a terminal not blend in with the editor which makes this nice but vscode essentially does that out of the box for me. Now if I ever need the terminal and I'm not looking to code anything, I just use the native terminal. I can see why some people might like this if they are using sublime, atom, etc other editors that don't have terminal included but that was the only void this somewhat filed. (And yes, you can edit up the native terminal but you still get a different looking top bar).

<comment><USER36> I solve this problem by using vim, so my terminal _is_ my editor.

<comment><USER37> Agreed (though I use Kakoune).

With that said, first class integration around a shell could definitely make me change editors. As much as I like terminal editors, it's a very limited medium to write an editor. I imagine a Vim/Kakoune/Emacs/etc could be written in a GUI and have even more features yet still retain first class focus on keyboard UX.

<comment><USER38> Check out Oni: [https://github.com/onivim/oni](https://github.com/onivim/oni) It's under heavy development, wouldn't recommend it at the moment but it looks promising.

<comment><USER37> Wow that is amazing looking!

Makes me want to make something like that for Kakoune! Wonder if Oni will ever get to the state where you could write different backends for it; ie emacs, kakoune, etc.

</comment></comment></comment></comment></comment><comment><USER39> Oh great, a terminal emulator using 100+ MB of RAM. Just what I needed.

</comment><comment><USER40> I had high hopes for this project. Particularly considering the fact default terminal in Windows is a total crap and it seems Microsoft is not interested at all to fix the problems (yeah, I know, they are saying they are working on it but they haven't delivered in 3 years, how hard it is to add unlimited scroll bar option? Or hide scroll bar?. I wish I could've run gnome-terminal in Windows.)

Back to hyper. Hyper disappointed me.

1) Text wrapping is a such important feature in modern terminal emulators I cannot live without. They added text reflow in 2.0 as far as I checked. But when you use you would see it is complete disaster. Text does not wrap sometime. Sometime it completely erased. So long story short it is completely buggy.

2) Start up time is horrible. Electron based app should generally design a background service and a UI process. This way when you launch UI it would be way faster than cold start up. I do this for chrome, slack, discordapp, etc. I wish they had better architecture and was a option to enable background thread or service.

<comment><USER41> > they are saying they are working on it but they haven't delivered in 3 years

The CommandLine blog is a fascinating read of Microsoft's progress over the last three years:

[https://blogs.msdn.microsoft.com/commandline/](https://blogs.msdn.microsoft.com/commandline/)

They've delivered a lot (much of it WSL-driven now that Linux apps run inside it more often), even if they haven't added your particular wishlist items.

For revamping a part of Windows that had almost died on the vine, they seem to be doing a fascinating job, over the last few years, even within Windows' strong mandate to maintain backward compatibility at all costs.

</comment></comment><comment><USER42> I am using Hyper 2 since the beta and I really like it. It has replaced iTerm for me. Performance may still be an issue for some people. For example, printing to stdout seems slower on Hyper than on, let's say iTerm. To me it is noticeable but still feels nearly instant.

<comment><USER43> Why did you choose Hyper? IMVHO iTerm2 is still far way better as a terminal.

<comment><USER42> Purely due to aesthetic reasons. I am not using the terminal for any complex stuff and this allows me to use the terminal which looks the best to my eyes. If my requirements change I may go back to iTerm but for now: something simple and nice looking is okay.

</comment></comment></comment><comment><USER44> Pop quiz: what's more ridiculous, nodejs based command line utilities that do the same thing as two existing shell utilities and a pipe or a while loop etc; OR, an electron "shell"... which can then run those same nodejs "utilities"...

Oh maybe that's the whole point. They want "it's javascript all the way down".

I think I'd literally rather use a shell built on actual turtles. A turtle- shell, if you will.

<comment><USER45> The whole electron stack disgusts me. Mainly because of battery usage on my laptop and my phone!

Its a clear example of "We can do it but should we do we?" The answer is NO!

<comment><USER46> hey, how else can I change the transparency of my shell with css ?

<comment><USER47> You can't. You can only change the transparency of the terminal.

This comment (though probably by mistake) manages to perfectly illustrate the "reinventing things that we don't even understand" mindset that's going on in most of tech.

(Also, there exist terminals written in C++ with Qt, and QtWidgets has had CSS support for custom styling for at least 10 years, probably much longer.)

<comment><USER48> This is a great "well actually" that also manages to be technically incorrect. If you change the styling in your _terminal emulator_ , it changes the transparency of your _shell_ (and other terminal programs).

</comment></comment></comment></comment></comment><comment><USER49> When you absolutely need that "tar xf" to take 23900 times longer.

<comment><USER50> why would it take 23900 times longer

<comment><USER51> `tar xf` probably wouldn't take longer, but `tar xvf` might, depending on how good/bad the stdout performance is.

</comment></comment></comment><comment><USER52> I'm somewhat on the fence when it comes to Electron applications, because I do tend to prefer everything to be "lightweight" even if the machine it is on has a ton of performance overhead.

That said, I have not disliked my experience with VS Code and Hyper. I like iTerm's performance better but I aesthetically prefer Hyper. I like Sublime Text's performance far more than VS Code, but VS Code has come a long way and is free, and I don't use it enough to justify paying for ST currently.

</comment><comment><USER53> For something so essential in my daily work as terminal, I'd rather stick with iTerm or similar. However, it's an interesting project and congrats to the author on v2.

</comment><comment><USER54> On my Mac I still prefer iTerm, but I really like using Hyper on my Windows box.

<comment><USER55> Really looking forward to trying this out on my Windows box at home. About twice a year I look for good terminal programs for it and it seems nearly impossible. To this day I just have a bunch of Git Bash windows running...

<comment><USER19> Have you tried DomTerm ([http://domterm.org](http://domterm.org))? It works great on Windows, though it requires WSL: [https://dzone.com/articles/running- domterm-terminal-emulator...](https://dzone.com/articles/running-domterm- terminal-emulator-on-windows-using)

</comment></comment></comment><comment><USER56> When the aliens will slurp up our "latest advancements in technology" they will have a huge clusterfuck and some serious hickups. Maybe we should put warning-stickers upon some stuff.

</comment><comment><USER57> tried it for a bit, moved back to iterm2

</comment><comment><USER56> While it was thinkable all the time, it renders me speechless, that finally somebody has put that stack under a terminal. The next big thing will be electron-based smooth-scroll, mouse-animation and finally: a 70mb beep.

<comment><USER58> I also don't get it. Why would I want a full web browser to power my terminal? Just because we can, doesn't mean that we should...

<comment><USER59> Windows?

<comment><USER60> why bother with a cross-platform framework, then?

</comment></comment></comment></comment><comment><USER61> No operating-system specific bar on the top of the window is kind of nice for screen casting.

</comment><comment><USER62> Hyper is the only proper terminal emulator on Windows. Time to upgrade.

<comment><USER63> Have you tried ConEmu? That's definitely my favorite.

<comment><USER64> ConEmu makes Windows a bit more palatable. But the lack of a "UNIX philosophy" (everything is a file), makes the CLI less powerful on Windows.

Some may argue that PowerShell fills that void. While it helps, it is not the same.

</comment></comment></comment><comment><USER65> Interesting experiment, but I think I will stick to rxvt.

</comment><comment><USER66> Why would anyone pay for a terminal?

</comment><comment><USER67> Why does everything have to be built on HTML/CSS/JS nowadays? What happened to the days when people would learn new languages that were appropriate for the project they were taking on?

</comment><comment><USER22> I just can't stand Electron based applications at all. I can't stand JavaScript actually, but that's something different entirely.

I'm really looking forward to learning Flutter ([https://flutter.io](https://flutter.io)) so I can finally do some mobile based application development in a cross platform manner without having to use JavaScript. Prior to Flutter I was considering Swift and Kotlin and just maintaining two code bases (and two languages.) Hopefully I won't need to now.

On desktops I would just go native. Is it really that hard to maintain several code bases? Is there literally no other options at all? I'm considering Go + QT here, or something along those lines.

<comment><USER68> I've been playing with Flutter and it seems pretty good. Dart isn't too hard to get your head around and isn't too annoying, although I do find myself disappointed that I have to learn yet another language for it. I don't have a particular problem with learning languages, but it's another speedbump on the way.

And Dart is about a million times better than JS for the way I like to think about code.

<comment><USER22> Glad to hear it! I'm looking forward to giving it a try, but right now I'm hooked on Lua and Corona! Ha! :)

</comment></comment></comment><comment><USER69> I think that electron desperately needs boot loader and own kernel, then they will be able to reimplement whole operating system in js.

...god of bloated software and goddess of complex solutions of simple non problems got their blood sacrifice and the sun will rise again.

</comment><comment><USER70> Like I've said a million times, [https://medium.com/p/electron-is- cancer-b066108e6c32](https://medium.com/p/electron-is-cancer-b066108e6c32)

Why would you use a full web stack terminal emulator, over.. well a normal native and actually reasonably fast terminal emulator?

The trend is catching on, so maybe one day we can't even reach for a native email client because it will be unmaintained in favour of the hackable html webstack email client.

Congratulations on reaching v2 tho!

<comment><USER22> Good read. Thanks.

And I agree: Electron is horrible to deal with as an end-user. I've been using Vim for some time and then decided to use VS Code. The integrations, plugins, and everything else were awesome, but man the 3-4GB of RAM was just crazy. Despite the fact my machine has 16GB of RAM, I'm dealing with quite a few VMs and Docker containers locally, so actually 16GB isn't a lot.

<comment><USER71> I've been using VSCode for years and it's been great, but I'm always looking for learning something new. I keep reading about Vim and last time I checked it seems SO complicated to use. I don't understand how it's so popular. Is it because it's blazing fast?

<comment><USER72> You can use vim keybindings in VSCode. It mostly works, except for more advanced stuff.

Correct indentation when pasting is a pain in my opinion.

And somehow I find the VSCode's multi-cursor feature so much more convenient than Vim's macros.

<comment><USER73> > And somehow I find the VSCode's multi-cursor feature so much more convenient > than Vim's macros.

That's not an unpopular opinion, I suspect it's because multiple cursors provide an extremely tight visual feedback loop (feedback after every action) as compared to macros where you kind of just shove actions into a black box and pray it works correctly for the next location you test it on</comment></comment></comment></comment></comment>


A reply to Russell Okung - <AUTHOR> http://paulgraham.com/okung.html <comment><USER5> I'm surprised at how primitive the response to pg's essay has been. None of it seems to respond to the central point of the essay (which is that economic inequality has many causes, and we should specifically attack the bad causes, not inequality itself).

In spite of all the noise, I do disagree with the central point.

Economic inequality may be caused by good things, but it is still bad. Wealth is opportunity and political influence. Therefore economic inequality is inequality of opportunity and political influence. Persistent intergenerational economic inequality is pretty much bad by definition.

Inequality - a bad thing - can be caused as a byproduct of good activity. It's still bad. It's a negative externality, like environmental pollution. In fact, there's some striking parallels - a buildup of inequality, like a buildup of pollution, can trigger the collapse of the ecosystem.

We need to agree that inequality is categorically bad so we can have a real discussion of how to keep it under control. It would be crazy to argue that farming is good so farm-related pollution does not need to be controlled. Likewise with startups and inequality.

<comment><USER6> _> Economic inequality may be caused by good things, but it is still bad. Wealth is opportunity and political influence._

Paul directly addressed this in his reply to Klein ([http://paulgraham.com/klein.html);](http://paulgraham.com/klein.html\);) Ctrl-F "the conversion of money into political power"; in brief, he says that if you're upset that economic inequalities leads to unequal political influence, attack _that_. Fight to remove the political influence that wealth currently has.

If we lived in a world where everyone has the same opportunities for social mobility (i.e., universal free education from daycare to PhD, unbiased hiring processes) and the same political influence (no SuperPACs, no lobbyists, mandate that no citizen spends more than $100 / year on political donations, and perhaps give every citizen that $100 / year, as a use-it-or-lose-it source of funding for whatever political causes they wanted to support)... if we lived in such a world, would you still be upset that Mark Zuckerberg had a lot more money than you? Why?

<comment><USER5> >... if we lived in such a world, would you still be upset that Mark Zuckerberg had a lot more money than you? Why?

That's a really good question. Theoretically, I would be fine with that kind of world, but I dont think that kind of world has ever existed or will ever exist. It is more realistic to attack the problem on both fronts - <USER2> social mobility and minimize the influence of wealth on politics, but also recognize that you will never completely succeed. Wealth will always equal opportunity and influence to some extent, so inequality will always be a bad thing to some extent.

For what it's worth, I'm not upset that Zuck has a lot more money than me. I just think that entrepreneurially generated inequality should not be a sacred cow, and I'm speaking as someone who has created a good deal of inequality with entrepreneurship.

<comment><USER7> > Wealth will always equal opportunity and influence to some extent, so > inequality will always be a bad thing to some extent.

Perhaps, but we may all be surprised to how little extent. Instead of giving up, it's worth giving a better world a try.

</comment></comment></comment></comment><comment><USER8> It's interesting to note how the styles of Russell Okung's article and PG's response are so different. Okung draws analogies to sports, men on hills, uses rhetorical questions, and talks about dreams and compassion. It's impassioned. PG's response is a cold deconstruction. A implies B implies C, but B is not true hence the argument is false.

Personally I love this style of argument and wish more people would argue in this way, but, anecdotally, people often think you're an asshole when you do. Maybe it's because you miss out on nuances that you find irrelevant to the central question, but that others feel are very important. Maybe it's just a generally unappealing way to be convinced of something.

</comment><comment><USER9> To be blunt, if people are misunderstanding pg's essay, what it means is that his writing skills were not good enough to tackle a topic as complex as economic inequality. I read his essay and came across with a bad taste in my mouth as well. I think he has surrounded himself with too many yes-people that told him this was a great article to post, without being honest to him about the repercussions.

It's fine because everyone makes mistakes. This is a life lesson that he needs to internalize.

<comment><USER10> > _" it means is that his writing skills were not good enough"_

or, possibly, their listening/comprehension skills were not good enough. Communication requires solid effort and methodology by both the speaker and the listener. Either or both sides can be responsible for a breakdown.

<comment><USER9> There were a lot of people that burned him online for his essay, not just a football player. If a bunch of people accuse you of the same thing, at some point you have to start blaming yourself instead of blaming others.

<comment><USER10> pick any controversial topic in which people are emotionally invested, and any well-written argument made about that topic, and you'll find "a lot of people" who "burned" whoever wrote the argument -- some of which might even be good responses, but many of which are some variation of "heard what I wanted to hear".

<comment><USER11> Yes what was most telling to me was how many of his usual supporters were quiet or gently rebuffed him indirectly on Twitter.

</comment></comment></comment></comment></comment><comment><USER12> There is so much truth in this: "Quote the specific passages you disagree with. This forces you to calibrate your mental model of what someone said with what they actually said."

<comment><USER13> I disagree. Much of rhetoric is about framing--choosing what to present, and how. An essay can be wrong because of what it omits or wrongly emphasizes.

Everyone is quoting pg's passage "So you could for example have no poverty and perfect social mobility, and still have great economic inequality." That's true, in the abstract--but it's so far from the reality of US society today that it makes the whole essay tone deaf: "let them eat cake." pg could have written an essay saying "poverty and poor social mobility are the real scourges, here's how we could fix them." Instead he wrote a defense of inequality, and wonders why there's blowback.

pg has a bit of a blind spot about this "quote a specific passage" business. idlewords wrote a brutal evisceration of "Hackers and Painters" called "Dabblers and Blowhards": [http://www.idlewords.com/2005/04/dabblers_and_blowhards.htm](http://www.idlewords.com/2005/04/dabblers_and_blowhards.htm) And here is pg, 8 years ago, demanding someone point out which specific passage was refuted: [https://news.ycombinator.com/item?id=238325](https://news.ycombinator.com/item?id=238325)

</comment></comment><comment><USER14> I think the core of the issue isn't whether economic inequality is good or bad. I think most reasonable people can agree that _some_ economic inequality is good and healthy and incentivizes innovation and productivity. I think we can also agree that absolute inequality (one person with everything, and everyone else with nothing) is also a bad thing. This means that the right answer is somewhere in between, and where we draw that line is where people disagree. Holding up either side as saying "inequality is bad" or "inequality is good" is, therefore, a straw-man. No reasonable person is saying either of those things.

What we do have to ask ourselves is how much inequality should we tolerate in the name of progress? Would Larry and Sergei not have created Google had they made only 1/10th of the fortunes they have today? What about 1/100th, or 1/5th?

My personal view on the subject is that that multiplier is set too high at the moment, and that society would churn out innovators just fine if there were extreme taxes at the ultra-high end of the income spectrum. I would be very surprised indeed if Larry and Sergei would have chosen to abandon their little search engine project if they only had the potential to make $100 million each.

I think any positions taken on this subject that don't discuss it as a question of where to place this multiplier are disingenuous nonsense, to be perfectly frank. And this is my, and I think many people's issue with PG's essay: he seems to be taking the position that some types of economic inequality are good and some are bad. But it's not _how_ someone made the money that's good or bad, it's whether or not it's really necessary that they have _that_ much.

<comment><USER10> > _" I think any positions taken on this subject that don't discuss it as a > question of where to place this multiplier are disingenuous nonsense"_

Personally, I think "where to place this multiplier" is not anywhere close to the most relevant question.

What matters isn't how big the multiplier is. What matters is what's causing it, and what problems it causes. If a big multiplier is caused by an atmosphere that promotes innovation, that's better than a small multiplier caused by a stagnant environment, which is better than a big multiplier caused by massive corruption and oppression. Norway, Sweden, and Finland have some of the lowest Gini coefficients in the world, way "better" than the US or the UK -- but so do Pakistan and Afghanistan. "Where to put the multiplier" is, at best, a secondary question after fixing all of the primary problems, and possibly a completely irrelevant question.

<comment><USER14> Where to place the multiplier only becomes irrelevant when the bottom is acceptably high. If you think that the bottom is acceptably high, then you may accept an unlimited multiplier.

I agree with you that a big multiplier caused by innovation is _better_ than one caused by stagnation and rent seeking, but I don't think that we would be willing to accept _any_ multiplier just because it promoted innovation. So the question remains _: how much inequality is worth how much innovation?

_ Assuming you accept PG's premise that more inequality equals more innovation _

<comment><USER10> > _" only becomes irrelevant when the bottom is acceptably high"_

or, put another way, only becomes _relevant_ when the bottom is unacceptably low.

I'm much more interested in worrying about where the bottom is than worrying about the multiplier. It's a proxy measure -- perhaps a good proxy measure, but still a proxy measure. Instead of focusing efforts on the proxy measure as a whole, focus on specific issues that matter at the low end. If it happens that some specific issue is best resolved by closing tax loopholes or steepening the tax progression curve, OK -- but don't do it just to "lower inequality", do it to solve a specific problem.

<comment><USER14> I mostly agree. However, I think it's a little more than a proxy measure. I think people often conflate the notion of capitalism the resource allocation algorithm with capitalism the moral philosophy.

The former says that assigning people directly the fruits of their labors leads to an efficient marketplace and ultimately greater welfare for all. The latter says that the efficacy of the former grants those people a moral _right_ to those fruits.

The former is almost certainly true - capitalism is much more effective at accelerating efficiency and innovation than anything else we've tried. But the moral corollary doesn't necessarily follow. And if you accept the former but deny the latter, you're faced with a question: Do we really need extreme outliers of wealth in order to achieve the benefits of capitalism? And if the answer is no, then does it really make sense to let those outliers keep all those resources?

</comment></comment></comment></comment></comment><comment><USER15> Quoting from PG's first essay on inequality: "The great concentrations of wealth I see around me in Silicon Valley don't seem to be destroying democracy."

This is where I disagree. The risk of dynastic wealth is that the wealthy can pay to change the system, in effect pulling up the ladder and shutting down all future disruptive startups. So we not only need to fix the problems at the bottom of the economic ladder (which is where I agree with PG); we need to make sure that those at the top don't capture the government.

Cynical readers might suggest that this is already happening.

<comment><USER16> Google, one of the richest, most powerful companies in the world, can't get the city council of an 80,000-person town (where they own an eighth of the real estate) to let them build a small bridge: [http://www.mv- voice.com/news/2013/12/12/council-deadlocks-on...](http://www.mv- voice.com/news/2013/12/12/council-deadlocks-on-google-bridge-idea)

</comment></comment><comment><USER17> >So you could for example have no poverty and perfect social mobility, and still have great economic inequality.

How much of our "discussion" on this issue is tangled up with the fact are that some people are greatly concerned with relative poverty and other are more concerned with absolute poverty?

</comment><comment><USER18> Too many people have tied "economic inequality" to "poverty and lack of social mobility", it is like there is some sort of constant preamble on the definition. And in my experience (and I've only tried this twice so take it for what its worth :-) talking about opportunity inequality gets you the social justice discussion, talking about financial inequality gets you the unicorn/startup discussion. But is economics simply finance + opportunity? Or is it the first derivative of that expected value over time ?

Then the whole conversation is sidetracked by aspirations of the whole population versus aspirations of the few.

</comment><comment><USER19> I think the confusion is around whether "like Larry Page and Sergey Brin starting the company you use to find things online" is a good thing. It's easy to read this as not just "[starting this company]", but "[starting this company] [and growing it into a huge success with mixed benefits for everyone]." I.e., Russell Okung or others might read that in terms of what it implies; but Google by itself neither furthers nor reduces global income inequality to my knowledge. That's not one of its priorities or missions.

But starting it! Starting it was key. And "income equality" was key to starting it as it is to starting most companies. Is the original wording wrong in PG's essay wrong? No, but it's easy to misread unless it's emphasized. E.g., the desire for "economic inequality" as a catalyst for starting companies is great. It can be hugely successful and useful in many ways.

But as soon as a large company has shareholders etc. one of its primary goals is to maintain capital for itself, which is generally speaking in favor of income inequality in more negative ways for the general public, one could argue.

Russell Okung's point at the end is I think actually built on teasing apart this conflation: "I urge you, Graham, along with the rest of the community, to return to your first love. Build people up."

</comment><comment><USER7> I can't think of a bigger complement to a writer than to explain something clearly and yet that somehow turn into a controversy.

Because if the writing is clear, which in this case it is, it means the problem is the audience. It means the writer found a genuinely confusing and probably undervalued topic.

Good job, pg.

</comment><comment><USER20> I think it's time for pg to review the idea that there should be only one SV.

Having only one startup center in the country contributes to limiting social mobility (how many can afford to move to and live in SV; amazingly, some don't want to live in SV; what about people with an "n-body problem"?) and deprives other areas of the country of the tax base in SV. It could be transformative for, say Detroit, to get even a fraction of the attention of SV. "Spreading the love" is also beneficial with respect to diversity, finding problems to solve, and to robustness (e.g., natural disasters).

</comment><comment><USER21> > _In fact I suspect much if not most of the angry reaction to it was a result > of people not understanding what the term "economic inequality" means._

Like "global warming", the term "economic inequality" has become something people use to refer to all of the related issues. PG's essay was controversial because he used a narrow definition. He says other people are confused, but in this case, I think he is. The fact that his essay necessarily strayed outside of his own definition proves the point.

> _... and talked about how I had personally seen the effects of it in the > relative scarcity of successful startup founders who grew up poor._

And yet PG has never made any effort to help founders from poor backgrounds. In fact, YC has chosen to provide the majority of their help to people from the same elite backgrounds as themselves. Literally turning away thousands of people from poor backgrounds. It truly is "the Harvard of startup accelerators".

It sure would be amazing if the most powerful person in Silicon Valley decided to help more poor people do startups. Nothing has the same potential to increase social mobility in the U.S. like thousands of new startups run by poor people solving problems _they_ care about, like maybe helping more poor people do startups.

</comment><comment><USER22> The problem, as I see it, is that when wealth becomes too concentrated it in fact destroys opportunities and therefore social mobility.

Some people want to believe that you can create a solution that fixes the opportunity/social-mobility problem without eroding the concentrations of wealth. Others believe that you have to attack those concentrations of wealth in order to bring back opportunity/social-mobility. I sit in the latter camp.

To give an example. When house prices expand out of reach for the much of the local population many will object to any additional taxation that targets excessive ownership (landlords) or even foreign ownership. They all have the same argument, that it will cause house prices to go down and harm the economy. Instead they promote low income housing programs which are just handouts that only slightly offsets this gigantic problem. These people really don't seem to understand that house prices are abnormal and need to go down to sane levels that will on average align with normal incomes in order for the gentrification process to reverse course.

In other words you can't _really_ fix the problems that both Paul and Russell agree on without directly attacking the concentration of wealth problem. Everything else is just bullshit.

<comment><USER23> Explain China? Or Japan? Or Vietnam?

The world is not the USA. The world is 7 billion people, in countries and cities of varying economic outcomes. While income inequality is rising between inhabitants of the first world, global income inequality is shrinking. Specifically, the gap between Brooklyn, Beijing and Botswana is shrinking, even as the gap between individual citizens is rising.

And the biggest gap of all - the gap between 21 meals a week and < 21, is shrinking rapidly. As much as we bemoan great wealth compared to middle- classness, this gap - the gap between the never-hungry and the sometimes hungry - is IMHO the single biggest gap of all.

<comment><USER22> It was an example. An example that was on topic towards economic inequality.

Just because you can find some examples where economic normalization is occurring doesn't mean that excessive wealth concentration isn't killing more opportunities than it creates.

</comment></comment></comment><comment><USER24> Looking at it - I can't help but feel like he simply said everything he said in the original essay, except with quotes from that other guy sprinkled in.

That is to say, the position hasn't changed at all.

This is simply a reiteration, a response to the number of people filling HN with emotional comments on the topic.

The potential problem that hasn't garnered much attention is that the issue of having a lifestyle you are not satisfied with goes far beyond the distribution of dollars.

If we agree on that, then there can be room to discuss what's really bothering people.

From an individualistic point of view, it is easy to say 'he has more than he knows what to do with, I'm struggling, I want some of that, just give it to me!' and anyone who says otherwise, is clearly not cool.

It makes sense too. That point of view makes total sense - if someone has a billion, giving me personally a million would be real good right?

Too bad there are just not enough billionaire people to make that work, not even close. So then what are we talking arguing about? The solution is elsewhere.

That is to say, we have to pick our battles, we only have so much time and energy in a lifetime. Arguing about 'if we distribute it differently, I think it'd be better' back and forth if you are an economist, philosopher, or someone in a place where you can actually affect these things is totally fine. That's not the people here, so then maybe all that's happening is people venting their frustrations out on PG and if that's the case, no amount of responses is going to fix that. It's like arguing with a dude who believes the root of his problems is witchcraft.

That's something each person has to fix for him/herself.

</comment><comment><USER25> _1\. He says I say economic inequality is "a good thing." I didn't say that. What I said is that it has multiple causes, some bad (lack of social mobility) and some good (Larry and Sergey starting Google)._

It's interesting and probably important that he doesn't actually come out and say whether or not he believes economic inequality to be a bad thing, either.

There is significant evidence that a high level or economic inequality has bad consequences for people - it can literally be bad for your health, via psychological mechanisms. This is important since if inequality is bad in itself, then you might want to eliminate some of the ostensibly good reasons as well, after having eliminated the bad reasons.

So instead of taking a stance on the badness of economic inequality (yay or nay), he bangs on the drum that one should first go after the _bad_ causes of economic inequality. I doubt anybody else in the discussion would disagree with that, which makes the whole first point rather pointless.

On point 2, " _So you could for example have no poverty and perfect social mobility, and still have great economic inequality._ "

Does pg realize that perhaps somebody might not agree with that? This seeming lack of understanding makes the second point rather pointless as well.

On point 3, " _I called out lack of social mobility as one of the worst problems contributing to economic inequality_ "

Is he aware of the argument that economic inequality can reduce social mobility?

Since I doubt that pg is wilfully ignorant of the potential subtext that goes on in the heads of the people he responds to, I can't help but have the impression that people are talking past each other. I guess part of the problem is that the people he responds to aren't making their arguments very well (at least from the perspective of a highly technical mind), and another part of the problem is that pg seems to be insufficiently aware of the large body of work on the topic in disciplines outside his "home turf".

</comment><comment><USER26> > you could for example have no poverty and perfect social mobility, and still > have great economic inequality.

I get the impression, reading a lot of the responses to pg's essays on this topic that this is like dividing by zero according to most people's model of the world.

</comment><comment><USER27> "So you could for example have no poverty and perfect social mobility, and still have great economic inequality."

I think this is where the evidence is to the contrary - economic inequality predicts poverty and poor social mobility.

"These results suggest that the takeoff in income inequality may account in part for the decline in mobility."

[http://web.stanford.edu/group/scspi/_media/working_papers/mi...](http://web.stanford.edu/group/scspi/_media/working_papers/mitnik- cumberworth-grusky_social-mobility-high-inequality.pdf)

</comment><comment><USER28> pg never had to struggle too hard in his life. That's why he has skewed views on income inequality. He also has probably never read Piketty's book on income equality.

There are empirical results that justify the narrative, people.

</comment><comment><USER29> pg's central argument is that economic inequality in itself is not bad, but it has good causes and bad causes and those should be attacked instead of economic inequality.

I think he's right: it's probably more productive in the near term to attack bad causes of economic inequality. [1]

But his first assertion (that inequality is not bad) could still be wrong.

I think his essay is built on the assumption that people care more about absolute values of wealth and not relative ones. Psychology indicates that relative measures of wealth more directly map to levels of happiness and unhappiness. People _do_ care about relative levels of income as opposed to absolute levels of income, and social cohesion is affected directly by such resentment, _even if there isn 't extreme poverty and incomes are rising across the board!_

In Singapore, where I live, there is relatively strong meritocracy and little extreme poverty. GDP per capita is high, and rising; the government is directly incentivised to create economic growth (their bonuses are pegged to national GDP increases). But ostentatious displays of wealth - made easier, IMO, by social media - have led to rising resentment of the government's policies, as well as resentment against the globalised rich who chose to make Singapore their home.

I also think economic literature and history is rich with the negative social effects of economic inequality (even if some of it is conflated with bad causes, as pg describes). Elsewhere in this thread tkiley talks about how economic inequality can be seen as a negative externality, which is a good way of describing it, and is, I think, the attitude economists seem to take.

While pg's essay contains a fascinating call: to imagine a world where we have to chose to live with increasing economic inequality, I do not believe such a world would be easy to live in.

[1] To paraphrase his argument, progressive taxation might bring down the Gini coefficient but not necessarily do anything to alleviate poverty if the systemic causes of poverty aren't attacked. Better to 'attack poverty and destroy wealth in the process, as opposed to attacking wealth and hoping it destroys poverty as a side effect'.

</comment><comment><USER30> Larry and Sergey started Google because they wanted to be rich? Even if they had known for sure that it wasn't the way to the 1%, but say to the 10%, would they not have started Google?

</comment><comment><USER31> PG's point is so obvious it is almost tautological. Of course we should get rid of negative causes + negative effects, while keeping the positive. That applies to literally anything (gambling, friendship, work, etc). Maybe people are interpreting this w/ the most controversy because PG has a history of controversial statements (remember his article on immigration which caused an uproar on HN?).

A more interesting argument that PG could have made is that it is theoretically possible to have inherent wealth inequality in the system without negative results. At this point, I see very few believe that it is even possible.

</comment><comment><USER32> yes PG, but .. Inequality is a pretty good proxy for all the 'evils' we really want to address -

If we could turn one knob to fix things, we would turn down the big one marked "Inequality".

I think the high emotion around the issue, that most of us feel, arises from a kind of pre-cognition that something is totally broken in our system of commerce and democracy...

There are titanic demographic shifts even in the last few years [ for example, look at the graph on this page, showing a 10% shift in wealth from the 99% to the 1% in the last 5 years, if I read it correctly : [http://www.theage.com.au/business/the-economy/sixtytwo- peopl...](http://www.theage.com.au/business/the-economy/sixtytwo-people-have- the-same-amount-of-wealth-as-half-the-world-says-oxfam-20160116-gm7h6y.html) ]

This is a bit like a 3 degree change in global climate - we feel it viscerally without understanding whats going on, we get the sense old rules/intuitions don't apply anymore. Weather is more extreme, something is different in the economy.

This may be a natural result of technology plus the magnifying effect of the internet to spread value out and gather X% of that Y value inwards to creators... which is fine and good, we all benefit from technology. Inequality may be even more extreme in future, and yet all boats may be lifted as that happens - so we all enjoy a better standard of living. But we are not seeing that now, there is a torrent up, but no trickle down. Right now, our rules for democracy have not caught up to this new norm, nor has our tax regime - <USER3> the current system is being gamed.

I think there is justified rational anger, because most people feel somehow they have been stolen from and lied to, particularly post GFC/2008.

While we are violently agreeing/disagreeing on whether != is intrinsically evil, lets drill down and discuss the real issues lying under the banner of inequality - poverty, tax, education/student debt, superPACs / campaign funding, influence of lobbyists, police abusing power when black lives matter, incarceration rates for petty crimes, carbon pricing / green energy incentives, minimum wage/basic income ... its a long damn list, and most politicians don't seem to be too serious about talking about this stuff - <USER4> is the time to demand that discussion of them.

We need to drill down, explore the engineering of our capitalist democracy, then fix it.

</comment><comment><USER33> This style of response is ideal and we should all emulate it.

</comment><comment><USER34> These are great debates.

It's difficult to keep emotion out of it.

Thank you, PG, for your responses. They help remind me that "enlightened capitalism isn't perfect, but it's better than every other system that's been tried."

</comment><comment><USER35> Another "you just don't understand!" Response.

</comment><comment><USER36> I don't really get what all this rebuttal targets. The original essay is poorly thought and full fallacies. Despite that none points them out. So, let see some of them.

Ok, we shouldn't look at indicators of inequalities (the Gini Index for example), but we should look at inequality effects. Well, there's a lot of literature looking at it and finding that the Gini index is an acceptable proxy for the other measures (acceptable is kind of fuzzy here, bear with me). We also know that a Gini index of 1 doesn't mean perfect equality. This because it depends on the definition of equality and on what you measure. Also, we know that a little bit of inequality is not only acceptable but required to foster social mobility (and it is probably part of PG's argument). How much is the problem! But saying we shouldn't look at inequality index but at the underlying issues and the individual cases is as much a misguided suggestion as suggesting a startup to stop looking at DAU/MAU.

But even if we discount this critique as futile. Do we really think that reducing a little bit the inequality will stop startups? If we setup the system in a way that Page make just 10 billion dollars instead of 15 billion out of Google (I'm making numbers up) he would have decided for a clerk work instead? Is he seriously saying that? And then, wasn't him (to be honest, could have been Sam Altman) that said that you shouldn't start a company to become reach but because you think you are the only one able to solve this issue? I know it sounds like a straw man argument. It is a sort of. But I believe in the law of diminishing return. I believe that I started a startup because I was determined to solve a hard problem, not for the upside (although it was important, but I was smart enough to know that the probability of making big money were really small and other investment had better returns).

Then there's the point of variation in productivity that is so fuzzy my head exploded. What does he mean by that? Which his the definition of productivity he is using? Seriously, that's a problem. Because if he defines productivity by the ratio value individually produced/hours, I wonder how he estimates the value produced in the last week by Larry Page. By Google's value? And how he approportionate the value produced between Page and the thousands of people working for Google. Even for a simple example, how do you compare a productivity of a woodworker making chairs and a steelworker making swords? You could count the unit produced per day, but they are different products. You could assess the market values of their output, but I'm pretty sure the value of their output changes between peace time and war time without their productivity actually changing.

Finally, it comes the last issue. He acknowledges that there's a small number of startup founders coming from poor backgrounds. I don't have data about that, so I believe him. Yet, I don't think determination is something lacking from poor people; it is the opposite! So, which is the problem here? Well, my little anecdotal experience tells me that when your parents could help you, you could go for the long shot, but if you need to eat, it is better to find something that give you the food quickly. It doesn't go against his argument, actually, kind of make it. But I wonder why it didn't make it explicit.

</comment><comment><USER37> So Paul Graham complains that Russell Okung seems to use a different definition of economic inequality. And leaves it at that instead of giving his definition. Nice try.

<comment><USER38> I think he did give his definition. He said "It means the variation between different quantiles' wealth or income." Last line of the first paragraph of point 2.

<comment><USER39> I feel like the grandparent post demonstrates a flaw in the method of quoting passages you disagree with: you can just as easily claim the absence of information in the initial post and set it up as a strawman.

<comment><USER40> Of course, my grandparent comment demonstrates how much easier it is to correct someone claiming a lack of addressing the point, rather than the tedious nature of getting into trying to match someones rebuttal to a claim that may have only been partially made.

Also, I don't think the claim that quoting the points your addressing solves all the problems in organizing a debate, just some of them.

</comment></comment></comment></comment><comment><USER41> Russell Okung suffered a dislocated shoulder today and the whole team seemed distracted. They lost. So, PG for next year, just to be on the safe side, can you please choose another player to debate with. Maybe Brady? Thanks. A Seahawks fan.</comment>


Ukraine bans Steven Seagal as threat to national security - <AUTHOR> https://www.theguardian.com/culture/2017/may/05/ukraine-bans-steven-seagal-national-security-russian-citizenship <comment><USER2> Puffy, saggy, ageing blowhards do certainly seem to be threatening national security everywhere.</comment>


D.A. Pennebaker, Pioneer of Cinéma Vérité in America, Dies at 94 - <AUTHOR> https://www.nytimes.com/2019/08/03/movies/d-a-pennebaker-dead.html <comment><USER2> What almost nobody knows: He also was producer of the defacto best startup- scam documentary, called "Startup. com" [https://en.m.wikipedia.org/wiki/Startup.com](https://en.m.wikipedia.org/wiki/Startup.com)

</comment><comment><USER3> What not part of this article are the inventions that he made to the camera to reduce the sound that it produced while filming, further enabling simultaneous audio.

I very much like his Dylan piece. He also did one (title forgotten) about pastry chef competition.

</comment><comment><USER4> "Don't Look Back" is one of my favorite music docs :*(</comment>


Ecomom Post Mortem - <AUTHOR> http://www.scribd.com/doc/137629166/Ecomom-Post-Mortem

<comment><USER2> \----"Our discounts are meant to be one time only, but we can't limit them by customer so every order ends up sold 50% off. Said another way, for every additional $60 average order shipped our variable cost is $89 and we lose of $29. " ----

That's is incredibly odd they where using Magento, which does have the capability to limit promotions to be used once per customer.

</comment><comment><USER3> That was the most nuanced and poignantly intense business case study I've ever read.

</comment><comment><USER4> That was incredible. Thank you for sharing this.</comment>


A Look at Vim, a Text Editor for the Ages - <AUTHOR> https://thenewstack.io/a-look-at-vim-a-text-editor-for-the-ages/ <comment><USER2> I love both Vim and Emacs, but I think they have different use cases.

For example, I find it much more productive to use Emacs for writing heavy tasks, where you'll spend a lot of time in the editor. Such as coding, writing notes, a book, an article, a paper, etc.

To me, these tasks suffer from having to switch back and forth between modes, and emacs just provides more features for them and can be customized endlessly to your specifics.

Vim on the other hand shines for quick edits, touch ups, or reading, viewing and analysing use cases.

Its best feature is performance. It starts fast, runs fast, can handle big files, consumes little memory and is small in size. This is ideal on a server, or as a default editor. I wouldn't want to have Emacs for these, it's too heavy.

For editing small parts of an existing file, the modal editing is also best. It makes navigation front and center, which is what you want, quickly find the part to edit, and quickly edit it, done.

I personally like it this way. I don't actually want Vim to grow to approach Emacs in customization. I also don't think anything can, the fundamental design of Emacs as a Lisp REPL with an editor loaded into it just can't be beat for that.

<comment><USER3> Both editors are fully capable, it really depends on personal preferences: what they see as a minor if any annoyance: multi-key presses or two-mode editing. I use vim and it works great for me for large tasks as well. I never developed a pianist's finger agility for multi-key commands (those famous Esc- Meta-Alt-Ctl-Shift types). If I did I probably would have loved Emacs more than vim.

<comment><USER4> > Both editors _[ed: vim & emacs]_ are fully capable, it really depends on > personal preferences

I think that Paul Graham's Blub Paradox[0] applies to editors and operating environments as well as to programming languages: someone using an editor or environment which sits at a particular level can look down at lesser editors or environments and see how much more productive his is, but when he looks up at other editors or environments he just thinks they don't make sense — at best they solve problems he's never had, and at worst they are just plain weird.

The troublesome thing is, vi is in many ways a better editor than emacs is, but emacs is definitely a better operating environment than vi, vim or neovim is, so you're kinda stuck. If you want a great editor, then you want vi — but then you're stuck with a terrible, sub-par editing environment. If you want a great environment, emacs is hands-down the best — but you're stuck with a hand-hurting morass of keychords. I honestly don't believe it's a personal preference to state that vi's text-manipulation language is better than emacs's, but I also honestly don't believe it's a personal preference to state that emacs is a better, more extensible environment than vi, vi or neovim.

Spacemacs is a really interesting experiment in merging the two, adding the text-editing language of vi to the operating environment of emacs. It's probably the way of the future, although there are _just_ enough rough edges that I ended up returning to emacs.

Why did I do that, when vi is the better editor? Because as important as editing text is, emacs provides an entire environment for computing. It's the ocean in which I swim, the forest in which I hunt, the field where I sow my corn and the air I breathe. Less poetically, Magit & Org mode are awesome; four decades of contributed code mean that just about anything I want to do has been implemented; elisp means that anything that hasn't is easily implementable.

0: [http://paulgraham.com/avg.html](http://paulgraham.com/avg.html)

<comment><USER5> You keep talking about "better" editor, keybindings doesn't make an editor, emacs is as capable editor as vi is. Then you go on to talk about how spacemacs is so much better, what? All it does is add someway to structure your packages and use evil-mode(which shows that yes you can replace keybindings).

</comment></comment></comment></comment><comment><USER6> I see Vi as the best text editing _interface_ , and Emacs as the best text _editor_.

Spacemacs[1] is a combination of both of them.

[1] [http://spacemacs.org/](http://spacemacs.org/)

<comment><USER7> I find spacemacs interesting, but it feels like there's not a lot of things happening in the community. The news section on the website is old (seems from 2016?), there's no user forum, commits on github are a couple of months old. Am I missing somthing?

<comment><USER6> It seems to be actively used (150+ active pull requests, ~2000 open issues), but not actively maintained, since there is a single person behind the project, who probably took a long break from it. And to be fair, it's just a modular layer on top of Emacs, so it's not like it can get outdated any time soon.

<comment><USER8> It's very active. Just on the `develop` branch.

[https://github.com/syl20bnr/spacemacs/tree/develop](https://github.com/syl20bnr/spacemacs/tree/develop)

</comment></comment></comment></comment><comment><USER9> I used to be a heavy emacs user but decided to just learn vim because vi is practically available on everything whereas emacs isn't. The investment paid off big time. Unfortunately, I forgot my way around emacs, which can make it difficult on systems where emacs is the default EDITOR.

<comment><USER10> If you have SSH connection to the server then you can do all your editing on your own computer with Tramp in Emacs and it applies your changes remotely.

So emacs being installed on a server or not is not really a reason to drop it, because you are not restricted to tools on the server.

<comment><USER11> While I agree with you, if you have SSH access then you've opened up yourself to a lot of possibilities by simply mounting the remote directory in your local.

<comment><USER10> SSH is not the only method Tramp supports:

[https://www.gnu.org/software/emacs/manual/html_node/tramp/Co...](https://www.gnu.org/software/emacs/manual/html_node/tramp/Configuration.html#Configuration)

</comment></comment></comment></comment><comment><USER12> what was the editor that reversed vims syntax/grammar?

instead of d2w (delete two words) you could type something like w2d (words, two, delete). This way you can select first, modify later and most importantly guide visually before execution.

I think you where able to type something like w2u3d (words, two, no undo it's actually 3 i see now, yes delete those).

I wished evil emacs did that. I mostly use org-mode and do little programming and I constantly get the number of words to delete wrong.

edit: I think I just need to learn to use visual mode more and be quire alright already

<comment><USER13> Perhaps Kakoune? It's discussed here: [http://kakoune.org/why-kakoune/why- kakoune.html#_improving_o...](http://kakoune.org/why-kakoune/why- kakoune.html#_improving_on_the_editing_model)

<comment><USER14> +1 for kakoune.

It has excellent discoverability and learning curve.

</comment></comment></comment><comment><USER15> "...It was a world that is now extinct. People don't know that vi was written for a world that doesn't exist anymore..."

And every time I use it I'm reminded that there is this devops/automation movement against interactivity with systems and that this editor is symbolic of (and best suited to) an operator culture..which is also dying if not defunct.

</comment><comment><USER16> > Target notes that in the days before GNU Emacs, it could cost hundreds of > dollars to install Emacs. "So vi became enormously popular."

I haven't even considered there was an emacs before gnu emacs.

... Ctrl + F neo ...

Damn, no mention of neovim. I was hoping they'd have mentioned it. Feels like an oversight given the completeness of the rest of the pre-vi, vi, and vim history.

<comment><USER17> It misses out a lot of them. There are at least ex; vi; stevie; elvis; calvin; elwin; javi; lemmy; pvic; trived; vigor; vile; vip; virus; winvi; xvi; vim; nvi; and nvim.

* [http://guckes.net/vi/clones.php3](http://guckes.net/vi/clones.php3)

</comment></comment><comment><USER18> I try like every editor, on a regular basis. I was heavy into Emacs for about half a year. But I always come back to (neo)vi(m) eventually.

Main reasons for me are that it is fast, easy to use and I can move around and edit at a tremendous speed. It's like working on a block of marble, carefully crafting.

</comment><comment><USER19> I made it past the first paragraph playing fast and loose with vim's heritage (it's a clone, not a porr or a fork) but when it directly referred to Bill Joy as the creator of vim in the second paragraph, it became too hard to keep reading.

<comment><USER3> I think it is just an honest typo. They clearly say a bit later that Bill Joy created _vi_ and Bram created vim (from STEVIE).

</comment></comment><comment><USER20> I feel almost ashamed to admit it, but I've never used vim for work. I use nano for quick edits and sublime text (or rmate+sublime text) for everything else. Maybe I haven't found the right use case yet.

<comment><USER21> You've SSH'd into a system, can't install nano, but as it's pretty much guaranteed to be there you can still edit files.

<comment><USER17> vi may be guaranteed to be there, it being standardized alongside ex in the Single Unix Specification. vim does not have such guarantees. Nor do you have guarantees that vi is even the same program as vim. It can be nvi or even actual Joy vi on some systems.

Which is why a work colleague of mine for years maintained the habit of using vim with the arrow keys unmapped, so that the kinaesthetic memory would work if xe hit a system such as that.

* [http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi...](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html)

</comment></comment></comment><comment><USER22> I do wish they would do something about that loop where you hit 'q' and are recording a macro and escape won't work and you can't quit.

<comment><USER23> You have two choices:

1) Learn what's going on, press q to start macro mode, and then press a letter to name your macro. Do stuff and when you're done press q again. You can then repeat that macro with @x where x is whatever letter you named your macro. @@ repeats it, and 74@x does it 74 times. It's (very occasionally) awesomely powerful.

2) echo "noremap q <nop>" >> ~/.vimrc

<comment><USER24> I find I use it for little things. For example, for html I have macros for

and

I also have one for commenting out a line in css

        I/*<esc>A*/<esc>

Little things like that help me relax :)

<comment><USER25> For commenting out I recommend installing tpope/vim-commentary. Then you'll just use

        gcc

To comment out a line!

</comment></comment></comment></comment><comment><USER26> Is there a vim with support for large files, i.e. only reading a chunk/window of data at a time as I browse?

My use case is that I sometimes need to inspect large CSV files and vim will take a long time and then abort saying that it couldn't complete loading the file.

I guess I could use

        head -n 100 data.CSV | vim

but it would be nice if I could scroll through the file in vim.

<comment><USER27> I think less does exactly what you're asking for, unless you need to edit the file. less and vim have similar keybindings. For multi-gigabyte files, you may want to disable line counting and perhaps seek ahead via command line options to make startup instantaneous.

<comment><USER28> You don't even have to disable line counting explicitly, less is kind enough to tell you "counting lines is taking a long time, interrupt to disable". So you can just ctrl-c if the file is too long and you don't want to wait.

</comment></comment></comment><comment><USER29> Found it interesting the VIM started off as VI Imitation, before becoming VI Improved.

I think the article really meant "A look at VI", since it was about VI, despite starting with "Vim creator Bill Joy told Linux Magazine." Given that Bill Joy created VI, not VIM, and the article goes on to discuss VI primarily.

<comment> Anthony-G I preferred Sinclair Target's own history of ed,em,ex,vi,vim [1] (recently discussed on Hacker News [2]) on which much of this article was based.

There were a few interesting things that I learned from this article:

* lower case letters had only recently been added to terminals. I had always presumed that terminals used the same technology as typewriters, i.e., use the Shift key for switching between upper and lower case.

* vi was designed to be "usable over a 300 baud modem". I've found that this aspect makes vi/vim useful over slow network connections – or when a remote server has runaway processes resulting in SSH being slow and unresponsive. It's not _always_ true that this is a "world that doesn't exist anymore". That world still pops into existence for brief moments of (stressful) time.

[1] [https://twobithistory.org/2018/08/05/where-vim-came- from.htm...](https://twobithistory.org/2018/08/05/where-vim-came-from.html)

[2] [https://news.ycombinator.com/item?id=17696023](https://news.ycombinator.com/item?id=17696023)

</comment></comment><comment><USER30> Video Studio Code has become my favorite editor way ahead of Vim. I've used Vim for many years, but I'd miss the intellisense insights of VSC too much to go back to Vim.

I also actively use a Lisp/Scheme dialect on the side, but I wouldn't want to manage the complexity of Emacs.

<comment><USER31> You know this (lack of _good_ intelligence/autocomplete) has been a thorn for him for ages. It is 2018 and I wonder why code completion/ast analysis/indexing is still not a easily usable service/daemon yet?

<comment><USER14> This is exactly what the Language server protocol (LSP) implements.

1) Add a LSP plugin to your editor

2) Start a LSP server

...and get pretty much state of the art code completion in whatever editor you use.

<comment><USER31> This is actually a common consensus among many idea developers. And is actually a pretty good idea at least in theory (practical efficiency is where it gets fun and interesting).

Given that, I would love to know why this comment was down voted?

</comment></comment></comment></comment><comment><USER32> NeoVim has a lot of simple issues for those who want to help, but afraid to dive too much into the neovim code and architecture: [https://github.com/neovim/neovim/labels/good%20first%20issue](https://github.com/neovim/neovim/labels/good%20first%20issue)

</comment><comment><USER33> 8.0 was the first major release in 20 years? I find that claim highly suspect.

... search ...

Judging by the timestamps on the vim ftp server, 7.0 was released in 2006. 6.0 in 2001. 5.0 in 1998. That's about how I remember it, although I don't think I got on to the 5 series until after 2000. Anyway, that's four major releases in 20 years.

<comment><USER34> Looks like a typo in the article. From the linked 8.0 announcement:

> This the first major Vim release in ten years.

</comment></comment><comment><USER35> This is only tangentially related but here's a funny take on the vim vs emacs debate: [https://wheresvic.gitlab.io/software-dawg/2018-08-01-the- hol...](https://wheresvic.gitlab.io/software-dawg/2018-08-01-the-holy-wars- tabs-vs-spaces-et-al.html)

</comment><comment><USER36> And the editor "holy wars" rages on: [https://en.wikipedia.org/wiki/Editor_war](https://en.wikipedia.org/wiki/Editor_war)

</comment><comment><USER37> Because I learned vi back in the day (yes, before cursor keys were supported!), I never quite got used to typing that extra "m". What are the biggest improvements of vim over vi?

<comment><USER38> On many systems vi is a link to vim. My ubuntu laptop for example:

      $ which vi
      /usr/bin/vi
      $ file /usr/bin/vi
      /usr/bin/vi: symbolic link to /etc/alternatives/vi
      $ file /etc/alternatives/vi
      /etc/alternatives/vi: symbolic link to /usr/bin/vim.nox

One thing that springs to mind, I don't believe native vi supports ":split"? Does it do syntax highlighting?

The manpage on my laptop says

           There are a lot of enhancements above Vi: multi level undo, multi  windows  and  buffers,
           syntax  highlighting,  command  line  editing,  filename completion, on-line help, visual
           selection, etc..  See ":help vi_diff.txt" for a summary of the  differences  between  Vim
           and Vi.

Full list at [https://github.com/vim/vim/blob/master/runtime/doc/vi_diff.t...](https://github.com/vim/vim/blob/master/runtime/doc/vi_diff.txt) (which has nice syntax highlighting in vim)

<comment><USER37> Thanks. They're distinct editors on macOS which I'm currently using. And no, vi doesn't have syntax highlighting so perhaps that's a big enough reason right there...

<comment><USER39> > They're distinct editors on macOS which I'm currently using

Nope, they're one and the same, from Mavericks† to Mojave:

        $ ls -l /usr/bin/vi
        lrwxr-xr-x  1 root  wheel  3 24 Jul 10:56 /usr/bin/vi -> vim

`vi` merely starts `vim` in compatible mode (see `:help compatible`)

† I actually booted a fresh Mavericks VM just to be sure, but I'm quite certain it's also the case way back to at least Tiger (which is the first OS X I ever had)

<comment><USER37> Wow I did not know that, thanks for enlightening me!

</comment></comment></comment></comment></comment><comment><USER40> I have used Vim on my Amiga and up to about two years ago.

I use Microsoft Code with Vim extension and RStudio with Vim option turned on. I am very happy with MS Code and sort of with RStudio's take.

</comment><comment><USER41> vi (and vim) are still really relevant, if you have ever tried editing config files on IoT devices such as remote condition monitoring systems over a satellite link or a mobile link.

From the article "you've got to remember that I was trying to make it usable over a 300 baud modem"

Awesome piece of design. Thank you :-)

</comment><comment><USER42> Hacker News paydirt!

I love vim, use it every day.

</comment><comment><USER14> Try kakoune, a more ergonomic rewrite of vim.

</comment><comment><USER43> > Ken Thompson: "yeah, I've seen editors like that, but I don't feel a need > for them, I don't want to see the state of the file when I'm editing"

...Indistinguishable from XKCD

I don't think this is one of those "it's obvious in hindsight" things either. I think he must have been blinded by his own perspective, a perspective that was both inevitable and necessary at the time when there was basically no text editors.

<comment><USER44> I don't interpret it as being "blinded by perspective", though. I think Thompson was (in a lighthearted curmudgeonly way) describing the virtue of having the primary buffer of your document in your head. I certainly don't. I scroll to find what I've written to remind myself what it is... I rely on the memory of the machine and use it a substitute for my own. I feel like he's describing a more disciplined way of thinking, and reminiscing about when it was strictly necessary.

Only direct reference I could find to the (secondhand) quote - [http://web.archive.org/web/20080103071208/http://www.dcs.qmu...](http://web.archive.org/web/20080103071208/http://www.dcs.qmul.ac.uk/~george/history/)

<comment><USER43> > reminiscing about when it was strictly necessary.

Yes this is what I meant by "a perspective that was both inevitable and necessary at the time when there was basically no text editors." although I should have known that suggesting thompson was wrong in the most understanding way possible will attract downvotes here.

</comment></comment></comment><comment><USER45> I don't understand the point of this topic, most linux users are aware of what vim is and how good it is compared to other text editors.

<comment><USER46> The thread is full of emacs warriors saying how _filthy_ it is to use anything but emacs for serious work, so the acceptance of vim is not universal.

<comment><USER47> You know, if only Emacs had a decent text editor then it would be universally accepted. It's a great OS otherwise.</comment></comment></comment>


Laplace's Theories of Cognitive Illusions, Heuristics and Biases - <AUTHOR> https://statmodeling.stat.columbia.edu/2020/06/05/laplaces-theories-of-cognitive-illusions-heuristics-and-biases/ <comment><USER2> The second Laplace quotation in their paper is rather pithy:

 _" The mind, like the sense of sight, has its illusions; and just as touch corrects those of the latter, so thought and calculation correct the former. (Laplace, 1825, p. 91)"_

(Paper at [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3149224](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3149224), link in a first Mar. 2018 post, linked by this post).

P.S.

as an amusing bonus to the 2018 post, a commenter quoted "Come, let us cast lots to find out who is responsible for this calamity."

It's from Jonah 1:7, which I hadn't come across before. I'm now trying to resist the rabbit hole: [https://en.wikipedia.org/wiki/Cleromancy](https://en.wikipedia.org/wiki/Cleromancy)

<comment><USER3> The paper is interesting, thanks for pointing it out. They make a curious reference to the US political elections in 2016 that could have probably been replaced by a less 2010s-US-centered topic.

For those skeptical of the necessity to revisit centuries-old documents for anything other than the history of science, the authors give their insights at the end of the paper:

> Laplace's attempts to understand the underlying mechanisms for people's > biases were highly original, insightful, in many ways were centuries ahead > of their time, and in at least two instances produced novel conjectures that > have not been tested to this day. We believe that modern-day social and > behavioral scientists can benefit from revisiting Laplace's thinking on > illusions in the estimation of probabilities, and beyond.

</comment></comment><comment><USER4> Can we all agree that "lies, damn lies, and statistics" should be originally attributed to Laplace? ;-)

</comment><comment><USER5> Hume laid the philosophical foundations of empiricism for Laplace.</comment>


Invent the Future in Education - <AUTHOR> http://blogs.is.vt.edu/inventthefuture2020/executive-summary/

<comment><USER2> Yeah. I have been thinking about this for a long time. I believe that the school system should consider computational technology as basic skills (at par with language, basic math etc) and the kids need to be taught the fundamentals (as opposed to how to use powerpoint). Are you aware of the Scratch initiative at MIT? <http://scratch.mit.edu/></comment>