this post was submitted on 06 Jul 2023
1007 points (98.6% liked)

Asklemmy

43984 readers
709 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy πŸ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
 

Let's get the AMAs kicked off on Lemmy, shall we.

Almost ten years ago now, I wrote RFC 7168, "Hypertext Coffeepot Control Protocol for Tea Efflux Appliances" which extends HTCPCP to handle tea brewing. Both Coffeepot Control Protocol and the tea-brewing extension are joke Internet Standards, and were released on Apr 1st (1998 and 2014). You may be familiar with HTTP error 418, "I'm a teapot"; this comes from the 1998 standard.

I'm giving a talk on the history of HTTP and HTCPCP at the WeAreDevelopers World Congress in Berlin later this month, and I need an FAQ section; AMA about the Internet and HTTP. Let's try this out!

top 50 comments
sorted by: hot top controversial new old
[–] breakingcups@lemmy.fmhy.ml 94 points 1 year ago (1 children)

How do you feel about 418 being included in many legitimate http libraries?

[–] Two9A@lemmy.world 106 points 1 year ago (1 children)

It's great: the Internet should have a bit of that sense of whimsy, and knowing that there's official support in many libraries for "you're asking me for coffee, but I'm a teapot" is one of those things that gets me through the day.

load more comments (1 replies)
[–] boonhet@lemm.ee 81 points 1 year ago* (last edited 1 year ago) (3 children)

I have no questions, but I want to let people here know that there are two excellent websites related to this: http.cat and http.dog, for looking up HTTP status codes.

For an example, if http.cat/418 doesn't brighten your day, I don't think there's much that can.

load more comments (3 replies)
[–] Veraticus@lib.lgbt 55 points 1 year ago (1 children)

Congratulations on creating such a cool piece of Internet arcana!

What do you think the silliest/most useless response status code is aside from 418?

Were there any codes you wish had been included that haven't been for some reason?

[–] Two9A@lemmy.world 58 points 1 year ago

I always rather enjoyed the double entendre of "420 Enhance Your Calm", which was an unofficial response from Twitter's original API before "429 Too Many Requests" was standardized.

But I can't think of any codes which aren't already in there, that I'd use; there are a bunch that don't see much use, like "410 Gone", so the list could do with trimming down if anything.

[–] Erk@cdda.social 53 points 1 year ago (1 children)

I had been an advocate of getting just an ordinary person to do the first Lemmy ama but apparently we've got an absolute legend.

Have you ever had a favourite reference to your joke come up?

[–] Two9A@lemmy.world 32 points 1 year ago

I did go to a conference once where they were handing out laptop stickers, and in the pack was a 418 teapot.

Of course, a week after I stuck that to my machine, it died. Telling the laptop it was a teapot didn't agree with it, I guess.

[–] j4k3@lemmy.world 45 points 1 year ago (1 children)

What's your take on the fediverse frontier?

[–] Two9A@lemmy.world 79 points 1 year ago (5 children)

I think it's excellent out here. I was stuck on Reddit for the longest time, and this recent debacle has pushed me to explore the networks at the edge; this feels a lot more like the Internet of old. The analogy of email is apt, I think, with the accounts on multiple servers and the interplay between.

load more comments (5 replies)
[–] RonSijm@programming.dev 41 points 1 year ago* (last edited 1 year ago) (4 children)

Do you regret adding it, or with the knowledge you have today, would you still add the 418?

Since a bunch of languages have not implemented it, or/and has long discussions about it:

https://github.com/dotnet/runtime/issues/15650
https://github.com/golang/go/issues/21326
https://github.com/nodejs/node/issues/14644
https://github.com/psf/requests/issues/4238
https://github.com/aspnet/HttpAbstractions/issues/915

[–] Two9A@lemmy.world 41 points 1 year ago (3 children)

You'd have to catch up with Mr Masinter to get his opinion on adding error 418, I'm afraid; that piece of the business wasn't my work.

I'm happy it's there though: it may have sparked flamewars, but at this point what hasn't. It does bring somewhat of that sense of humanity to the whole enterprise of working on the Internet.

load more comments (3 replies)
load more comments (3 replies)
[–] iamak@infosec.pub 39 points 1 year ago (1 children)

What other such joke standards (by you or others) do you like?

[–] Two9A@lemmy.world 81 points 1 year ago (8 children)

A little lower down the stack, I always liked the Evil Bit in TCP, a standard which removes all need for firewalls heuristics by requiring malware or packets with evil intent to set the Evil Bit. The receiver can simply drop packets with the Evil Bit set, and thus be entirely safe forever from bad traffic.

At the physical interface layer where data meets real life, I especially enjoy IP over Avian Carrier; that link in particular is to the QoS definition which extends the original spec for carrying packets by carrier pigeon.

[–] perviouslyiner@lemm.ee 34 points 1 year ago (1 children)

Someone tested the evil bit and found a selection of real-world networks that react to its presence

load more comments (1 replies)
load more comments (7 replies)
[–] Deebster@lemmy.ml 36 points 1 year ago (1 children)

Thank you for fixing a critical flaw in the original RFC.

What did you think about the Save 418 Movement? Were you involved in it in any way?

[–] Two9A@lemmy.world 35 points 1 year ago (1 children)

My endorsement is at the bottom of that page, in fact. I wasn't an active campaigner, but a word in favor was the least I could do.

load more comments (1 replies)
[–] binwiederhier@discuss.ntfy.sh 35 points 1 year ago* (last edited 1 year ago) (1 children)

Thank you for contributing to the magic of the old school internet.

My question: How does one get to write an RFC? Do you have to become part of a certain group, or just be known in certain circles, or do you just start writing and then submit it somewhere? If I had a great idea that I think should become an RFC, what is the process to make this a reality?

[–] Two9A@lemmy.world 35 points 1 year ago

For Apr 1st RFCs in particular, the process is that you write your document in conformance to the RFC Editor's Style Guide and email it to the editor directly. If you have a not-a-joke standard that you'd like to be considered, that'll go through as an Internet Draft first, and then there are stages of review.

I haven't been through the latter, but the editors are very approachable over email; I had no issues submitting my RFC for review and revision.

[–] blazarious@mylem.me 31 points 1 year ago (1 children)

How do you feel about people joking about and using 404 far off from HTTP?

Also: yay, AMAs have finally arrived. Who’s gonna verify your identity, though?

[–] Two9A@lemmy.world 64 points 1 year ago (6 children)

The fact that otherwise non-technical people joke about staying in hotel room 404 just shows how pervasive the modern Internet has become. As an aside, it also shows the importance of a good error message; there are some errors (like "Not Found") in HTTP that are simple and clear, and some ("Bad Gateway"?) that are more impenetrable.

No-one jokes about staying in room 504, and the room service never arriving.

(And perhaps one of the larger Lemmies can get a hold of Victoria, get these AMAs going for real.)

load more comments (6 replies)
[–] JusticeForPorygon@lemmy.world 31 points 1 year ago (4 children)

I need an ELI5 for this I'm a stupid Gen Z

[–] Xylight@lemmy.xylight.dev 59 points 1 year ago

You know sometimes you click on a link and it says "404 not found?" 404 is an HTTP status code. basically when you click on a website your browser makes an "HTTP request" to that website to get the web page, and it'll respond with a code to tell the status. 2xx is ideal, since it means OK. 4xx means it's an error on your end. (404, you requested a nonexistent link.) 5xx means it's a server error.

This person made 418, a status code for "I'm a teapot". It was intended as an april fools joke but it's used sometimes for when the server doesn't want to handle a request from the client.

load more comments (3 replies)
[–] madjo@geddit.social 30 points 1 year ago (1 children)

What was the inspiration for these internet standards?

[–] Two9A@lemmy.world 50 points 1 year ago

That's actually the topic of the talk! Around 1995-96, HTTP was picking up all kinds of use outside the academic community, and people were tacking extensions on left and right; one of the biggest was file upload support, which was done by throwing HTTP and email into a room and having them fight it out. Which is how we ended up with the monstrosity that is "sending emails over HTTP", also known as "posting a form".

The author of HTCPCP decided to codify some of his concerns with these, partly as a joke; I noticed long afterward that his joke was only standardized for coffee, which Personally Offended me as a citizen of a tea-drinking nation.

[–] 200ok@lemmy.world 29 points 1 year ago (3 children)

Every once and a while I'd just like to see 200 get some love, but no. It's all 404 this, 502 that.

I'm just "OK". It's like being the middle child of response codes.

load more comments (3 replies)
[–] rikudou@lemmings.world 28 points 1 year ago (1 children)

Not a question, but we use 418 in production! We have a nginx router that routes pages based on its path to either old frontend or new frontend. I wanted some easy way to handle the routing (and to not repeat myself), so I set the new frontend as a handler for 418 error and then just return 418 in the nginx for any page I want on new UI. I chose 418 because the others could be actually used by the old frontend and it could get all weird.

[–] Two9A@lemmy.world 33 points 1 year ago (3 children)

This is actually a good use of 418 in production, and one I've come across before: if you need to perform some custom handling and throwing a HTTP error is the only sensible way to do it, 418 is always available.

Unless your server really is a coffeepot, which is ...unlikely.

load more comments (3 replies)
[–] Cris_Color@lemmy.world 27 points 1 year ago

What a fun AMA topic lol. I dont have a question, I'm just glad youre here, spreading the good gospel of your goofy internet standard

[–] skiba@lemmy.ml 27 points 1 year ago (3 children)

Well there is really only one question...

Pineapple on Pizza?

[–] Two9A@lemmy.world 21 points 1 year ago (1 children)

Out.

Can't stand pineapple at the best of times, on pizza is another level of wrong.

load more comments (1 replies)
load more comments (2 replies)
[–] PetrichorBias@lemmy.one 26 points 1 year ago (1 children)

Was it hard to get this standardized back in the good ol' days?

Do you think it would be as easy to do it now? If not, what challenges and hurdles would a RFC have to overcome?

The last thing I know that was pretty "significant" is the GNU Terry Pratchett header (https://en.m.wikipedia.org/wiki/Terry_Pratchett#Death) and that was a community effort.

[–] Two9A@lemmy.world 27 points 1 year ago

There are joke RFCs almost every year, so it's not unprecedented to add to the standards. This year, one of the additions was a Death Flag to TCP, to indicate when a connection is about to terminate. The RFC Editors are very approachable when it comes to the Apr 1st RFCs: a "real" standard would need to be drafted by someone actually in the field, but the Apr 1st's are open to public submissions as long as you're willing to redraft/edit in accordance with the documentation standards.

It's worth noting that the Clacks header is an unofficial campaign, and hasn't been standardised; the 'Pedia states that some 84,000 sites return X-Clacks-Overhead, and my own is one.

[–] cheeseblintzes@lemmy.world 26 points 1 year ago

I don't have any questions but holy shit this is so cool.

[–] Fenzik@lemmy.ml 24 points 1 year ago* (last edited 1 year ago) (1 children)

What’s the most impactful 418-related incident you’ve witnessed? I remember a few years ago npm went down and was returning 418 which spawned jokes and chaos across the web

[–] Two9A@lemmy.world 30 points 1 year ago (5 children)

The incident you mention is probably the most impactful, but there's also the time the Russian military blocked IPs outside Russia by returning 418 instead of the more logical 403.

load more comments (5 replies)
[–] ColdPints@infosec.pub 24 points 1 year ago (1 children)

What's the process for submitting RFCs? And how do they pick which joke RFC they'll publish? That's a meeting I'd like to be a fly on the wall of

load more comments (1 replies)
[–] Klaboesterbeer@feddit.nl 23 points 1 year ago (2 children)

Are you by any chance, British?

load more comments (2 replies)
[–] foggy@lemmy.world 22 points 1 year ago (1 children)

I've heard that the internet is a series of tubes.

Can you confirm?

[–] Two9A@lemmy.world 43 points 1 year ago (1 children)

I never understood the beef people had with that. The Internet is a series of tubes, of various widths and sizes, with inputs at random points in the stream.

Plumbing analogies are apt.

[–] Nollij@lemmy.fmhy.ml 23 points 1 year ago

It's because of the very impassioned speech by then-Senator Ted "Tubes" Stevens, where he demonstrated that he clearly had no idea how any of it worked. You could hear the lobbyists in every bit that he parroted, without absorbing it. He also had formed a strong opinion already, despite clearly having just been told how it works.

It's not that it's a bad analogy. It's that it's (somewhat) reductionist, and most famously associated with an idiot.

load more comments
view more: next β€Ί