What the hell. First, I thought this was crazy. How could you do anything crazy with curl? But of course, curling a bash script opens lots of opportunities. Given the right permissions, you could run an enterprise Jira server via only a curl to a bash script.
Still cool that people find more ways to play doom, but calling it "via curl" seems a little missleading to me. "Playing doom via a simple bash script" would have felt more appropriate.
This is a good template for making terminal based apps that run on remote servers.
oddly enough, this is how it looked when I ran it on my 486 when I was a kid. Pretty accurate except this runs at a faster fps than mine did... ;)
I remember Liquid crystal displays having an unintended blur effect when something animates or rotates, but it wasn't as bad as ansi chars.
One interesting side effect of having a LLM write the thing including the README, is that the models tend to leave little hints of the authors intention or prompt as over-explained passages that make it obvious that AI help was used.
https://github.com/xsawyerx/curl-doom?tab=readme-ov-file#how...
eg. > A browser hitting the same URL gets a tiny landing page that just shows the one-liner
it’s subtle but once you notice it, it’s hard to miss.
As an aside, I feel like projects like this used to be really fun and impressive (I guess due to the fact that you’d think “Wow a human put their time into this wacky crazy thing”), whereas now you can have Claude consistently crap out something like this in 5 minutes, so it ruins the whole appeal to me…
Not to mention that the objectively bad practice of piping a curl call to bash is nowhere close to "playing doom via curl". It's almost as if they simply prompted "play doom with curl". In my experience, almost any overly-ambitious prompt ends similarly.
Oh wait I didn't even register that! yeah of course you can do anything in a terminal using curl if you're piping to bash!!!
> The catch: the shell normally puts the terminal in *cooked mode,*
Yeah, that's not the name of the mode. In this sense, it's "canonical mode". Description reads like AI slop where technical content was reformatted into marketing/PRspeak. It feels like a 30 year old PR representative desperately trying to twist any kind of technical language specifically to pander to the AAVE-derived slang of the younger set of internet-addled minds.
As a result, this does not interest me.
For anyone who is interested in ANSI terminal stuff, or building their own, Lexi Hale had a decent article on this: https://xn--rpa.cc/irl/term.html which got discussion here about eight years ago: https://news.ycombinator.com/item?id=24436860
Top comment on the previous thread was someone complaining about the writing style of kids these days. Huh.
Except it’s actually called “cooked mode” [1] and predates the use of the slang.
[1]: https://en.wikipedia.org/wiki/Terminal_mode https://www.linusakesson.net/programming/tty/
"cooked mode" refers to physical teletypes, though. In the POSIX spec[1] it's called "canonical mode", same for the other specifications (if they're mentioned at all, I don't think the ANSI specification mentions either term).
https://en.wikipedia.org/wiki/POSIX_terminal_interface#Canon...