this post was submitted on 06 Jul 2023
20 points (95.5% liked)

Asklemmy

43340 readers
2067 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_[email protected]~

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 41 comments
sorted by: hot top controversial new old
[–] [email protected] 10 points 1 year ago (1 children)

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

[–] [email protected] 8 points 1 year ago

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.

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago)

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.

[–] [email protected] 3 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?

[–] [email protected] 2 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.

[–] [email protected] 2 points 1 year ago (1 children)

What's your take on the fediverse frontier?

[–] [email protected] 3 points 1 year ago

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.

[–] [email protected] 2 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.

[–] [email protected] 1 points 1 year ago

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.

[–] [email protected] 2 points 1 year ago (1 children)

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

[–] [email protected] 4 points 1 year ago (3 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.

[–] [email protected] 3 points 1 year ago

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

[–] [email protected] 1 points 1 year ago (1 children)

With the advances on SDcards, IPoAC is getting better and better.

[–] [email protected] 1 points 1 year ago

As the saying goes, "for bandwidth, nothing beats a truck full of ~~tapes~~ 1TB MicroSDs hurtling down the highway".

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

The Evil Bit sounds like the real Do Not Track header field

[–] [email protected] 2 points 1 year ago (1 children)

What was the inspiration for these internet standards?

[–] [email protected] 4 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.

[–] [email protected] 2 points 1 year ago (1 children)

The number one question I would ask about HTTP would be: Why was the "Referer" header initially added and why wasn't it removed from standard to this day. In my opinion the server, I'm going to, should never know where I came from.

[–] [email protected] 1 points 1 year ago (1 children)

I've just done some quick browsing to see if there's a written-down motivation for Referer existing, and there's this on the Wikipedia: "Many blogs publish referrer information in order to link back to people who are linking to them, and hence broaden the conversation."

Which I guess makes sense, in the context of the original use of HTTP as an academic publishing protocol, but it's gained cruft and nefariousness since wider adoption came about.

There are good arguments for stripping Referer from the standard, and yours is one of the most cogent; if Referer is still a thing in another 30 years, I'd be surprised.

[–] [email protected] 1 points 1 year ago (1 children)

Follow-up question. Shouldn’t it be spelled “referrer”?

[–] [email protected] 1 points 1 year ago

It should, certainly. But the original draft introducing the header had a typo, and now we're all stuck with it.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

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?

[–] [email protected] 1 points 1 year ago

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?

[–] [email protected] 1 points 1 year ago

Well there is really only one question...

Pineapple on Pizza?

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

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

[–] [email protected] 1 points 1 year ago

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.

[–] [email protected] 1 points 1 year ago

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?

[–] [email protected] 0 points 1 year ago (1 children)

A new RFC for IPv7. It's just IPv4 with an extra octet. Yes or no?

[–] [email protected] 0 points 1 year ago (1 children)

I don't think the extra address space of IPv6 is the problem holding back its adoption, so "IPv4 with another octet" would likely run into the same issues.

Not that it's a bad idea, it's just an idea that's unlikely to catch on.

[–] [email protected] 1 points 1 year ago (1 children)

What would you say is holding IPv6 back?

[–] [email protected] 0 points 1 year ago (1 children)

The biggest problem IPv6 has is that IPv4 has been so hugely successful: gargantuan resources have been poured into getting the world connected on IPv4, and the routers/etc deployed in the field (especially in sub-Saharan Africa, south Asia, and other places which got the Internet late) are built around version 4: data paths 32 bits wide, ASICs and firmware developed with 4-byte offsets, and so on.

It's a big effort, and more importantly an expensive effort, to move all that infrastructure over for what the end user perceives as no benefit: their websites load just the same as before.

[–] [email protected] 1 points 1 year ago (1 children)

Are you saying there’s no financial incentive at the individual level to upgrade?

[–] [email protected] 1 points 1 year ago

Essentially. If the end user is being asked to make a financial outlay to get to the same things they did before, it's unlikely that will go down well.

[–] [email protected] 0 points 1 year ago* (last edited 1 year ago) (1 children)

What are some of your favorite accounts to follow on mastodon?

Also, will your talk be recorded?

[–] [email protected] 1 points 1 year ago

My following list; of note is Lisa Melton, whose bio says "Follow me and I'll fill your timeline with boosts". She ain't lying.

Looks like some of the talks from last year were released on the conference's YouTube, so: hard to say if the recording will be available. I'll (see if I can) remember to ask on the day.

[–] [email protected] -1 points 1 year ago

I just found out about this on Brodie Robertson’s yt channel! I am not a teapot btw!!

[–] [email protected] -1 points 1 year ago

I just found out about this on Brodie Robertson’s yt channel! I am not a teapot btw!!

[–] [email protected] -5 points 1 year ago (1 children)

I am interested in writing a real RFC, what kind of mailing list etc should I join in order to make my RFC real?

[–] [email protected] 0 points 1 year ago (1 children)

The RFC Editor's site states that there's an independent submissions track for "real" RFCs, whereby lay members of the public can write Internet-Drafts and then submit them into the review process.

Looks like there's a good resource on how to write Internet-Drafts over at the IETF Authors site which may be worth perusing.

[–] [email protected] -4 points 1 year ago

Thanks! I'll definitely be checking that out.