Bad Apple but it's 6,500 regexes that I search for in Vim

(eieio.games)

Comments

adityaathalye 12 January 2025
Hah, trust nolen to 1,000x something :))) I have used similar tactics in the past, but separately and definitely not in one day! For the interested:

- Bad Matrix (tput blocks to the terminal): https://www.evalapply.org/posts/bad-matrix/

- Animating Text Art in Javascript (print text into fixed grid, flipbook-style): https://www.evalapply.org/posts/animate-text-art-javascript/...

- oxo (format and print tic-tac-toe board to terminal, so I can regex-match for win/loss/draw results): https://github.com/adityaathalye/oxo/blob/7681e75edaeec5aa1f...

But, I mean, that Bad Apple takes the cake!

(edit: add missing link)

jordigh 12 January 2025
The tech demo that really made me fall in love with Bad Apple was getting it to run on the NES.

https://somethingnerdy.com/downloads/

Here it is running from my Everdrive.

https://inversethought.com/jordi/video/badapple.mp4

Yes, with full audio. It's about one gigabyte of data. On a system where the typical game size is no more than a couple hundred kilobytes, and your CPU only has three 8-bit registers for you to do any calculation with.

rav 12 January 2025
Regarding the Vim macro that ends by going to the next line to be "replayable": You can also use the following command to run the macro once per line:

        :%norm @q
PaulHoule 12 January 2025
These were on sale last month

https://us.govee.com/products/govee-curtain-lights

and my understanding is that you can upload an animated GIF to it... I just added making a "bad apple" GIF for it to my Kanban board though I don't know how much memory the device has and how well I can get it to work.

(Sometimes that part where Remmy Scarlet spreads her wings still makes chills go down my spine)

krick 13 January 2025
I never get tired of Bad Apple. The best thing on the internet. And almost every time I get somewhat jealous I didn't come up with that idea myself.

Also, I really like how footnotes are implemented in this blog. I guess I'm gonna steal it.

sltkr 12 January 2025
For the rectangle minimization problem: your problem seems to differ from the one discussed on StackOverflow in that the SO thread discusses partitioning into non-overlapping rectangles, while your Vim project allows overlap.

I wouldn't be surprised if your problem turns out to be much easier to solve optimally.

3eb7988a1663 12 January 2025
The parallel candidate solution generator is such a good idea, but it usually takes me a long time to realize I do not need to make the uber algorithm. Just one-more-tweak, and I know that I can make this solution work in all cases!
codeguro 12 January 2025
This is pretty cool! I like the creativity. The games this is based on are pretty good too. Danmaku are hypnotic
29athrowaway 12 January 2025
The people running Doom or Bad Apple in different unexpected ways are such champs.

There are some really interesting ones, like running Doom on a pregnancy test.

manosyja 12 January 2025
I remember watching the Soccer World Cup 2006 at work. I logged in my home server via ssh and could watch it in the terminal. Not enough bandwidth for something else.
lupire 12 January 2025
As the author admits, it's Vim but it's not regexes. It's "searching" for screen coordinates.

It's drawing in Vim, but not pattern matching.

panzi 13 January 2025
This is amazing! Also made me write my own version for the terminal using legacy symbols for computing:

https://youtu.be/lDLFhQTFcTk

Details: https://github.com/panzi/bad-apple-terminal

perpetualchange 12 January 2025
Roughly how long did that take?
sharyphil 13 January 2025
Awesome. One can never have enough Bad Apples!
GZGavinZhao 12 January 2025
... this is why we love bad apple!