598 points by vortex_ape 7 days ago | 61 comments
adityaathalye 7 days ago
- 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)
DiggyJohnson 6 days ago
Brb forking and integrating ascii-text third party ads
adityaathalye 5 days ago
jordigh 7 days ago
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.
junon 6 days ago
I wonder if it's using the background tile map for this instead of sprites, though that's also an impressive amount of graphics bandwidth.
> with full audio playback rate (44.2kHz)
The audio being so clear is also impressive, is that something that the card extends? IIRC the PCM channel on the NES isn't anywhere near that bitrate, and is also 8-bit sample size.
Dylan16807 6 days ago
So by burning a lot of CPU cycles, you can keep up a perfectly good sample rate using the latter method.
godd2 5 days ago
junon 4 days ago
godd2 5 days ago
Yes, it's all background tiles being loaded continuously from the SD card. We created the tiles with a custom tile de-maker.
junon 4 days ago
Wii2 6 days ago
They also made an accompanying breakdown video. https://www.youtube.com/watch?v=Wa0u1CjGtEQ
eieio 6 days ago
jordigh 6 days ago
There are some details in the description and comments here.
panzi 6 days ago
rav 7 days ago
:%norm @q
eieio 7 days ago
back when I was vim golfing the normal solution was to make the macro recursive. So you'd record your macro, and you'd end it with '+@q' (move to next line and run the macro again). Then you run the macro once and it runs over every line.
This ends up being really efficient in terms of keystrokes but in practice I think it's hard to think about and not very ergonomic, so I don't end up using it much. But it's a fun trick for golfing.
rav 7 days ago
One thing to keep in mind is that ":%norm" will place the cursor at the start of each line, before any indentation, whereas the trick of ending the macro with "+" will place the cursor at the start of each line after the indentation. But this can be worked around with ":%norm ^@q", using ^ to skip indentation before running macro q on each line.
Izkata 6 days ago
"qp
Edit it, and put it back into the register with "qdd
rav 5 days ago
Izkata 5 days ago
cryptonector 6 days ago
rav 5 days ago
:g//norm @q
Here, g// repeats the most recent search, and norm @q runs the q macro on each matched line. This is not quite the same as starting the macro with a search, since the cursor is at the start of the line and not at the start of the match, but it's often good enough.You can also restrict it to just the matches inside a range of lines: First select the lines in visual mode, then type :g//norm @q, which will cause Vim to insert a range before g, as in: :'<,'>g//norm @q, which means "between line '< and '>, find lines containing a match of the most recent search, and run @q on each such line".
cryptonector 5 days ago
PaulHoule 7 days ago
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)
nokeya 6 days ago
PaulHoule 6 days ago
https://bsky.app/profile/up-8.bsky.social/post/3lbqfh7pesc2x
and the spreads I make are like
https://bsky.app/profile/up-8.bsky.social/post/3latxcwmkpk2w
I have a list of 20 that I need to fill out a little (somehow I missed Koakuma) and then I have to have my image sorter find a good set of images that fit together stylistically. (A friend of mine was talking about how RA's in dorms would make picture sets for all the rooms, seemed to me Touhou would be the ultimate basis for this)
a_t48 6 days ago
panki27 6 days ago
Big shout out to https://ezgif.com/ !
nl 6 days ago