Doom, Played over Curl

(github.com)

105 points | by creaktive 21 hours ago

10 comments

  • varun_ch 16 hours ago
    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…

    • bitwize 8 hours ago
      Is there any interest in 100% human-made malarkey like this still? I know the nonstop firehose of AI "art" has sharpened my interest in even the worst human-created art.
    • z3c0 13 hours ago
      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.
      • moeffju 6 hours ago
        But that's not what it does, the bash option just saves you from doing stty setup and reset I think? You can just type it all out by hand, too, as the readme explains
      • varun_ch 12 hours ago
        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!!!
  • BobbyTables2 5 hours ago
    I’m shocked that curl is fancy enough to start reading and outputting the HTTP response before the request has even been fully sent!

    I wasn’t expecting that a “simple” command line application supports this kind of thing — the HTTP spec is crazy enough that I can’t say I’m surprised it’s not forbidden.

  • azalemeth 11 hours ago
    Reminds me of libcaca - http://caca.zoy.org/wiki/libcaca - which can render many things natively in ascii, really incredibly effectively.
  • ehtbanton 6 hours ago
    This is very impressive, have tried it out.

    If only everyone was as good at making performant terminal applications (cough cough Anthropic)

  • thomasfl 16 hours ago
    This is a good template for making terminal based apps that run on remote servers.
    • stratos123 8 hours ago
      This idea has the rather severe problem that it requires piping an untrusted remote script directly into bash.
    • anthk 9 hours ago
      You are reinventing telnet.
    • kaoD 9 hours ago
      Or just use SSH.
  • reactordev 13 hours ago
    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... ;)
    • nurettin 12 hours ago
      I remember Liquid crystal displays having an unintended blur effect when something animates or rotates, but it wasn't as bad as ansi chars.
      • reactordev 5 hours ago
        rofl, my AGP VGA CRT had permanent ghosting damage from the Doom logo. So yeah, I feel this.
  • Leomuck 14 hours ago
    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.

    • moeffju 6 hours ago
      Isn't it literally playing it via curl though - curl reads STDIN and transmits that to the server, which responds. The whole bash thing is completely optional and only saves you some tty setup.
    • anthk 9 hours ago
      Play nethack with a simple oneliner: nc nethack.alt.org 23
  • vjay15 4 hours ago
    So coool
  • fao_ 17 hours ago
    > 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