Hacker News new | ask | show | jobs
Emacs appearances in pop culture (ianyepan.github.io)
239 points by ggcr 1 day ago
22 comments

In Elif Batuman's 2017 novel The Idiot, about a naive Harvard student, her not-really-a-boyfriend Ivan, a math student, enthuses to her about Emacs. The book is set in 1995.

I enjoyed the book. It got good reviews and was a Pulitzer Prize finalist.

Not exactly an appearance, but I definitely give emacs a shout-out in the end notes of my new novel: https://www.amazon.com/dp/B0GYCZJVGX
That’s funny, I launched a startup novel three days ago [1] where I also referenced emacs in one of the scenes

[1] https://news.ycombinator.com/item?id=48447484

That sounds really interesting, would like to read it. Amazon is not an option for me though since they don't let you download your ebook files anymore. Any other way I can get a copy and pay you for it?
Amazon! Are you selling an e-book? I couldn't access the site. I wouldn't buy from them anyway as I am sure they require DRM. I don't buy DRM.
I'd add rms/Richard Stallman to that list of famous emacs users. He's famous for way more than just gnu emacs, so it's not quite cheating.
How to sell drugs online fast was a great show because they kept stressing how they had to have the test pass in their Vue front end.

I always whenever I see code on a show/movie I wonder if it's real, a lot of times it's a mix of random languages. Sometimes just jibberish.

Also recently watched Nirvana 1997 really good.

The T-800s HUD scene in the first Terminator used 6502 assembly from Nibble magazine.

https://www.theterminatorfans.com/the-terminator-vision-hud-...

Replicator code in Star Gate was iirc (it’s been a good while) the html/js for the royal bank of Canada (appropriate since it was mostly filmed in Canada).
I always assumed Rodney was an emacs user. And Zelenka vim.
now that's cool, the OG star gate movie? I watched SG-1 multiple times and watched the other ones too, too bad about the reboot being cancelled.
TV show, replicators didn’t show up in the movie, they were an Asgard/SG1 villain.
One of the great onscreen code moments was in Superman III¹ where Richard Pryors’ character has written some “impossible” program and when the listing is shown on screen it’s pretty much five screens of BASIC REM statements.

1. A movie which exists primarily to set up a joke in Office Space.

  5 CLS
  10 PRINT "PLOT BILATERAL CO-ORDINATES"
  15 PRINT : PRINT
  20 GOSUB 5000
  25 PRINT "INPUT CO-ORDINATE X :  "
  31 PRINT "4";
  33 PRINT "2";
  35 PRINT "Y" : PRINT
  40 PRINT "INPUT CO-ORDINATE Y :  "
  41 IF INKEY$ = "" THEN 41 : IF
  42 PRINT "Z";
  43 IF INKEY$ = "" THEN 43 : IF
  44 PRINT "+";
  45 IF INKEY$ = "" THEN 45 : IF
  46 PRINT "X"
  47 GOSUB 5000
  50 CLS
  60 PRINT "0010 N = RND(900)"
  70 PRINT "0020 Z = 1 TO N"
  80 PRINT "0030 X = 1 TO 31"
  90 PRINT "0040 Y = 1 TO 15"
  100 PRINT "0050 SET(31-X,16-Y,Z)TO(31+X,Y,"
  110 PRINT "0060 SET(31+X,Y,Z)TO(31-X,16-Y,"
  120 PRINT "0070 SET(X,16+Y,Z-Y)TO(X,Y,Z)"
  130 PRINT "0080 SET(X,16-Y,Z+Y)TO(16+X,Y+)"
  140 PRINT "0090 GOTO 500"
  150 PRINT "0100 NEXT X:NEXT Y:NEXT Z
  160 PRINT "0110 CLS"
  170 PRINT "0120 DATA 1.13.2.67.2."
  180 PRINT "0130 DATA 12.45.90.3.23.56.2.56"
  190 PRINT "0140 DATA 3.6.1.43.92.56.2.9.08"
  200 PRINT "0150 DIM P(9)"
  210 PRINT "0160 B$ = CHR$(191)"
  220 PRINT "0170 FOR X = Y - Z : PRINT X"
  230 PRINT "0180 FOR Y = X - Z : PRINT Y"
  240 PRINT "0190 END"
  250 PRINT
  260 PRINT
  270 PRINT
  280 PRINT
  290 PRINT
  300 PRINT
  310 PRINT
  320 PRINT
  330 PRINT
  340 PRINT
  350 PRINT
More great on screen code moments (I haven't got round to Superman III, yet): https://behind-the-screens.tv But Superman III is not just REM statements.
Waiting for him to get around to Jumpin' Jack Flash.
Like that time Kelly Rowland sent Nelly a text using excel https://www.reddit.com/r/popculturechat/comments/1b8xawt/kel...
It was 100% not Excel: https://blog.jgc.org/2023/07/unfortunately-kelly-rowland-cou...

Also, we're really close to the 24 year anniversary of "Dilemma": https://hollawhenyougetthis.com

Which is pretty funny like was that a picture or actually running excel
I paused a bunch of times and I forget the details, but I remember everything always looking good, especially his brainstorming about the site and making notes about pgp and onion services and the like.

I also loved them knowing Lenny wrote some code, as he was the only person in the world who uses snake case in javascript, because I’m also a snake case heretic.

> a lot of times it's a mix of random languages. Sometimes just jibberish.

And sometimes it's just a directory listing.

Hilariously, the Arctic Blast screenshot seems to be the Audacity audio editor with Emacs overlaid! https://ianyepan.github.io/images/arctic-blast-emacs.png
Enjoyable list but I’m not sure the AlphaGo documentary counts as pop culture :).

It’s interesting how people talk about vi vs emacs, can’t remember ever meeting anyone who chose vi over vim, let alone enough people to make th at the debate.

> can’t remember ever meeting anyone who chose vi over vim

Pleased to meet you.

Most of my console dev time is spent in *BSD, where nvi is where I land. I find the the default creature-features of vim annoying, so I end up having to configure it to be a bit more quiet, and I don't know anything so compelling about it (a vi clone (to an extreme, acknowledged)) that nvi isn't a good enough place to be. I have vim installed, but it's not my go-to.

> I don't know anything so compelling about it

For me, it'd be primarily having more than one undo. Not being able to undo the second-to-last change is pretty bad. In fact, vim's undo being set up as a tree that can be walked with g- and g+ is excellent. It's impossible to lose a state of the buffer, even if you undo and make changes. It's a lot more practical to navigate than Emacs' undo, too.

EDIT: I just realized that nvi can undo more than one change by having u toggle the direction and . continue in that direction. I don't think ex-vi could. busybox vi seems like it can undo multiple with u but it seems to have no redo.

> For me, it'd be primarily having more than one undo

Do you mean infinite undo? nvi has that. I'm not sure what you mean "set up as a tree" wrt undo, but i'll look into it. I think of nvi's undo as linear - I can 'u' to "undo" and implicitly set my "undo direction" "backward in time" (as one would expect). If I want to "undo, even more", '.' (dot, period) to "do that last command again" is what I'll do. If I want to "undo an undo", 'u'. That has the effect of moving the "undo direction" back towards the state of the buffer we had at the beginning of our discussion here.

...and, now I see your edit ;)

^[u..........:wq

> I'm not sure what you mean "set up as a tree" wrt undo

:h undo-branches

There's also a plugin to show a visualization of the tree, but the tree is implemented within vim.

https://github.com/mbbill/undotree

Nice. I like it. Advanced history mgmt in between commits is compelling.
> can’t remember ever meeting anyone who chose vi over vim, let alone enough people to make th at the debate.

Because vim generally offers everything vi has.

vi does have one advantage though. It's a lot lighter. vim is like 5.4MiB in size with 82 shared library dependencies, while vi[1] is like 260KiB with 2 library dependencies (libc and ncurses).

[1] https://ex-vi.sourceforge.net/

For resource constrained systems, don't overlook busybox vi.

https://k.japko.eu/busybox-vi-tutorial.html

There's an obscure Polish film from 2002, "Haker" (Hacker), obscure for many reasons and not in a good way; it's absolute drivel, not even accidentally funny in a MST3K, B movie kind of way - it's just really, really bad.

In this gem there is a conversation about hacking into some system, and a character asks another a completely nonsensical semi jargon question, which goes like this: "Did you try Emacs via Sendmail?". I shit you not.

This expression firmly cemented itself into Polish tech speak as a way to refer to or call out someone having absolutely no idea what they are taking about.

Cryptonomicon has the use of a highly custom version of Emacs called OrdoEmacs.

https://dev.to/hyenast2/neal-stephenson-s-cryptonomicon-and-...

Not only does Enoch run everything as root, he also has an account in my system, and in yours. But I guess he was there first...
There's a perl script in the book that does some encryption/decryption. I remember typing it out and fixing it so it worked.
I've often felt that Emacs is more popular in Japan than I'd expect. Could just be blue car syndrome on my part.
There's two reasons for this, I think. The most obvious is that emacs has better CJK support compared to any other editor of the time. The less obvious is that Japan liked lisp machines and lisp in general a lot
Notably, Yukihiro Matsumoto took substantial inspiration from Lisp while designing the Ruby language. You can see historical Lisp terminology in the Ruby interpreter sources (at least last I checked, which was a long time ago), like the use of “Q” to refer to a dynamically typed datum that can be stored in a cell.

(Hah, I just looked around a bit more, and Wikipedia cites an archived mailing list message that I don't remember seeing before: https://web.archive.org/web/20181027195101/http://blade.naga... I remember at some point Emacs Lisp specifically being cited as an inspiration, but I might be confabulating that, I didn't find a source for it.)

Also, here's a fun paragraph from the opening comments of quail.el (lightly reformatted):

> [There was an input method for Mule 2.3 called ‘Tamago’ from the Japanese ‘TAkusan MAtasete GOmen-nasai’, or ‘Sorry for having you wait so long’; this couldn't be included in Emacs 20. ‘Tamago’ is Japanese for ‘egg’ (implicitly a hen's egg). Handa-san made a smaller and simpler system; the smaller quail egg is also eaten in Japan. Maybe others will be egged on to write more sorts of input methods.]

Just yesterday I stumbled across an article from 2005 titled "Why Ruby is an acceptable LISP": https://www.randomhacks.net/2005/12/03/why-ruby-is-an-accept.... I don't agree with all of his points about macros, e.g. I think his line about "The most common use of LISP macros is to avoid typing lambda quite so much" is simply incorrect. But his point about how Ruby allows building DSLs, and so it gives you quite a lot of what you want from Lisp macros, is broadly correct, I think.

And now it's more clear to me why that is.

Do you lose all street cred if you use Emacs keyboard shortcuts whenever you can, but will use vim/nvim if there is no other choice?
You always have a choice. Sometimes the best move is not to play.
A long time ago I was doing some on-site programming at a swiss bank, and the only available editors were vi on a Sun, or EDIT on a VMS machine (the project involved both.) I learned rudimentary vi on the fly while waiting for ftp-by-mail-over-uucp to deliver GNU emacs sources :-)
I have a cat named Emacs.
Someone please make a Vim version.
Sadly no film or tv depiction exists because they ran out of film and budget waiting for the actor to figure out how to exit.
good one lol
> In a scene (Season 3, Episode 6) where protagonist Richard is coding with his new girlfriend Winnie at her apartment (okay, yeah… that’s not how all software engineers date, whatever the outside world may think), the two clash over the use of spaces versus tabs. Richard, a stubborn advocate of the tab character for indentation, argues: “I mean I do not get why anyone would use spaces over tabs. I mean, why not just use Vim over Emacs?” To which Winnie replies, “I do use Vim over Emacs.” Richard then breaks down, yelling, “Oh, God help us!”

Gotta admit that I use Emacs and favor spaces over tabs. And K&R braces. And you’re wrong if you make any other choice.

Allman FTW!

(With you on spaces, though.)

JT Nimoy, responsible for the Tron scenes, had a nice write-up about their work on it as well:

https://web.archive.org/web/20120502000130/https://jtnimoy.n...

I was hoping for Pantheon too (I’m 90% sure Holstrom uses EMacs instead of Vim?)
Amazing show btw, highly recommend it
Deldo - Vibration Control and Teledildonics Mode for Emacs

https://www.youtube.com/watch?v=D1sXuHnf_lo

Interview with an Emacs Enthusiast [Colorized]

https://www.youtube.com/watch?v=urcL86UpqZc

Writing an Emacs implementation in C (Gosling Emacs) | James Gosling and Lex Fridman

https://www.youtube.com/watch?v=wA7aB-oxjVc

Time for an elisp port of Doom
That TRON theme linked in the article is cool, thanks for sharing.

At risk of being downvoted into oblivion by the emacs gang, I wonder if someone’s got a similar theme for vim?

There’s aren’t that hard to make, rip the palette and vibecoding a theme is viable.
Bonus points for silicon valley doubling the Emacs references with vim AND spaces vs tabs
There is some trainspotting I can identify with!
Fuuck. Did Spud use vim?

We know Sick Boy (Zero Cool) would be an emacs user.

now someone do a "VIM appearances in pop culture" :)
See https://www.reddit.com/r/neovim/comments/1u0vg28/vim_appeara...

This is from the person who wrote the original article on Emacs.

Pfft. (neo)vim FTW ;)