Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

58% Positive

Analyzed from 831 words in the discussion.

Trending Topics

#curl#bash#doom#https#thing#via#terminal#mode#play#readme

Discussion (27 Comments)Read Original on HackerNews

varun_ch•about 19 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…

xsawyerx•about 3 hours ago
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...

bitwize•about 11 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•about 16 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.
xsawyerx•about 2 hours ago
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?

moeffju•about 10 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
z3c0•about 8 hours ago
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_ch•about 16 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!!!
azalemeth•about 14 hours ago
Reminds me of libcaca - http://caca.zoy.org/wiki/libcaca - which can render many things natively in ascii, really incredibly effectively.
BobbyTables2•about 8 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.

thomasfl•about 20 hours ago
This is a good template for making terminal based apps that run on remote servers.
stratos123•about 12 hours ago
This idea has the rather severe problem that it requires piping an untrusted remote script directly into bash.
anthk•about 12 hours ago
You are reinventing telnet.
kaoD•about 12 hours ago
Or just use SSH.
ehtbanton•about 9 hours ago
This is very impressive, have tried it out.

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

reactordev•about 16 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•about 15 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•about 8 hours ago
rofl, my AGP VGA CRT had permanent ghosting damage from the Doom logo. So yeah, I feel this.
Leomuck•about 17 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•about 10 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•about 12 hours ago
Play nethack with a simple oneliner: nc nethack.alt.org 23
vjay15•about 7 hours ago
So coool
fao_•about 20 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

cmovq•about 18 hours ago
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_•about 16 hours ago
"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...

xsawyerx•about 1 hour ago
Thank you for this correction. I'll update the readme!
bevr1337•about 19 hours ago
Top comment on the previous thread was someone complaining about the writing style of kids these days. Huh.