varun_ch2 days ago | | | parent | | on: 47737876
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…

xsawyerx1 day ago | | | parent | | on: 47740936
I think you're assuming a lot on how LLM was used here. I understand why you would, but it doesn't make it correct. You found me documenting how something works in the style that I do and you assume I just LLM'ed the entire thing.

Like I said, I understand why, but still...

z3c02 days ago | | | parent | | on: 47740936
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.
xsawyerx1 day ago | | | parent | | on: 47742767
One form is to `curl` to get the bash code to just run the loop on keys that make additional curl requests. That is playing DOOM via curl. Each curl is a movement.

However, if you see the next form, it creates a single curl request that stays open and does not need bash or additional calls for each key. It uses the open request. (You do need to set the terminal to raw for this.)

HOWEVER, to push back against myself: It's relatively easy to do when other people did the heavy lifting: Doomgeneric, terminals, curl, etc. I also couldn't use websockets because it doesn't come with curl by default. And you can also move forward only when pressing a button to refresh the frame.

So yeah, not the most impressive thing by far. But it is curl used to play the game and that's... something?

z3c021 hours ago | | | parent | | on: 47749344
You are correct, on all counts. (See my response to the other commenter.) I was more harsh than I should have been. You're correct that it's not the most advanced of DOOM implementations, but I'd hate to hinder DOOM-ifying things with pedantry. (So long as one isn't simply piping a DOOM binary to bash, of course.)
moeffju2 days ago | | | parent | | on: 47742767
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
z3c01 day ago | | | parent | | on: 47746209
You know what, I stand corrected. I missed this portion of play.sh: https://github.com/xsawyerx/curl-doom/blob/ae1edb82e48efcd2d...

I'm not changing where I stand on piping to bash.

varun_ch2 days ago | | | parent | | on: 47742767
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!!!
bitwize2 days ago | | | parent | | on: 47740936
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.
a_t481 day ago | | | parent | | on: 47740936
Constant struggle to get Claude to stop putting in little comments in the code that are only relevant to pointing out the thing it just changed, rather than actually helpful context for later.
prettyblocks1 day ago | | | parent | | on: 47740936
I think it's safe to assume that "AI help was used" in everything these days and I don't understand why that should be a problem.
azalemeth2 days ago | | | parent | | on: 47737876
Reminds me of libcaca - http://caca.zoy.org/wiki/libcaca - which can render many things natively in ascii, really incredibly effectively.
robinpie2 days ago | | | parent | | on: 47744190
I'm writing an X server in libcaca right now. It's great fun. https://github.com/robinpie/xcaca
thomasfl2 days ago | | | parent | | on: 47737876
This is a good template for making terminal based apps that run on remote servers.
stratos1232 days ago | | | parent | | on: 47740354
This idea has the rather severe problem that it requires piping an untrusted remote script directly into bash.
anthk2 days ago | | | parent | | on: 47740354
You are reinventing telnet.
kaoD2 days ago | | | parent | | on: 47740354
Or just use SSH.
BobbyTables21 day ago | | | parent | | on: 47737876
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.

ehtbanton2 days ago | | | parent | | on: 47737876
This is very impressive, have tried it out.

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

reactordev2 days ago | | | parent | | on: 47737876
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... ;)
nurettin2 days ago | | | parent | | on: 47742696
I remember Liquid crystal displays having an unintended blur effect when something animates or rotates, but it wasn't as bad as ansi chars.
reactordev1 day ago | | | parent | | on: 47743474
rofl, my AGP VGA CRT had permanent ghosting damage from the Doom logo. So yeah, I feel this.
Leomuck2 days ago | | | parent | | on: 47737876
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.

moeffju2 days ago | | | parent | | on: 47742216
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.
anthk2 days ago | | | parent | | on: 47742216
Play nethack with a simple oneliner: nc nethack.alt.org 23
fao_2 days ago | | | parent | | on: 47737876
> 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

cmovq2 days ago | | | parent | | on: 47740204
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/

fao_2 days ago | | | parent | | on: 47741715
"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...

xsawyerx1 day ago | | | parent | | on: 47742703
Thank you for this correction. I'll update the readme!
bevr13372 days ago | | | parent | | on: 47740204
Top comment on the previous thread was someone complaining about the writing style of kids these days. Huh.
vjay151 day ago | | | parent | | on: 47737876
So coool