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!

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      142
      ·
      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.

  • boonhet@lemm.ee
    link
    fedilink
    English
    arrow-up
    89
    ·
    edit-2
    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.

      • boonhet@lemm.ee
        link
        fedilink
        English
        arrow-up
        17
        ·
        1 year ago

        You’re welcome! I try to share this with people whenever I can, hoping that it makes someone’s day better. It certainly gives me a lot of joy when I can respond to something with a relevant http cat, though the few people I do it to might be getting a little annoyed.

    • kevingranade@cdda.social
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 year ago

      http.cat was absolutely critical when I transitioned from general application development to web backend development. Not a joke, it was just a super readable site listing the codes with a short and memorable url.

  • Veraticus@lib.lgbt
    link
    fedilink
    English
    arrow-up
    81
    arrow-down
    1
    ·
    1 year ago

    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.worldOP
      link
      fedilink
      English
      arrow-up
      81
      arrow-down
      2
      ·
      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.

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      107
      arrow-down
      1
      ·
      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.

      • tias@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        24
        ·
        1 year ago

        You awaken my nostalgia, curiosity and sense of adventure when you say “explore the networks at the edge”. Are there any other networks than lemmy / mastodon that you would suggest checking out?

        • Two9A@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          26
          ·
          1 year ago

          Internet Relay Chat’s been one of those things that’s always felt out on the edge. I’ve been on EFnet since perhaps '03, and it’s a lot quieter than it was…

          With people moving en masse away from the centralized sites and their Firebase-implemented chats, we may see a pick up in traffic on the IRC networks, which would be good to see.

          • Revan343@lemmy.ca
            link
            fedilink
            English
            arrow-up
            7
            ·
            1 year ago

            What are some interesting channels on EFnet? I basically grew up on Foonetic, but moved to Slashnet when #xkcd did. I don’t pay near as much attention to IRC as I used to, but would like to change that

            • Two9A@lemmy.worldOP
              link
              fedilink
              English
              arrow-up
              4
              ·
              1 year ago

              I haven’t been exploring in the depths of EFnet in …many years. I’m confined to the programming-related channels I found in the Way Back When, nowadays: at the moment, #c is probably the most active and it’s almost all old-timers.

  • Erk@cdda.social
    link
    fedilink
    English
    arrow-up
    54
    ·
    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?

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      33
      ·
      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.

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      70
      ·
      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.

  • blazarious@mylem.me
    link
    fedilink
    English
    arrow-up
    44
    arrow-down
    1
    ·
    1 year ago

    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.worldOP
      link
      fedilink
      English
      arrow-up
      79
      ·
      1 year ago

      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.)

      • boonhet@lemm.ee
        link
        fedilink
        English
        arrow-up
        24
        ·
        1 year ago

        It’s discontinued as a code, but perhaps we could get people using 102: Processing as a response online when someone says something unexpected or stupid-sounding.

      • Akasazh@feddit.nl
        link
        fedilink
        English
        arrow-up
        21
        ·
        edit-2
        1 year ago

        I once made an historical 404 joke saying ‘Athens not found’ as in 404 bc Athens lost the Peloponnesian war against Sparta and was sacked, never to regain the power it once held.

        I don’t think many of my fellow students got the http error level of the joke, though.

        • MacroCyclo@lemmy.ca
          link
          fedilink
          English
          arrow-up
          8
          ·
          edit-2
          1 year ago

          That’s sounds like a joke that is always followed by a long and contrived explanation followed by an awkward silence. The best kind of joke.

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      42
      ·
      1 year ago

      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.

      • DangerBit@lemmy.world
        link
        fedilink
        English
        arrow-up
        13
        ·
        1 year ago

        I remember when I learned about this, I was working on an absurdly large project on my own. I was lost in all the details and losing hope of ever finishing. I was working on the backend API when I learned of this and took the time to implement the 418 response. It felt silly and brought the fun back to the project.

      • Commanderoptimism@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        ·
        1 year ago

        I remember when I first learned of error 418 and it did really help me understand that the Internet as we know it was made and shaped by regular people with senses of humor. Helped make it seem a bit less daunting/intimidating to understand.

        It reminds me of how the Network Port 666 is specifically reserved for doom, always love Easter eggs like that in officially used protocols.

      • RonSijm@programming.dev
        link
        fedilink
        English
        arrow-up
        18
        ·
        1 year ago

        Personally I don’t have any problems with it (if that was directed at me) - I’ve added 418 as “unhandled exception code” response to a bunch of applications, so I can easily differentiate whether my application is throwing an error, or whether it’s some middleware gateway AWS io-thing

        I was just curious what OP thought about it, since in the early days it wasn’t uncommon to add goofs or easter-eggs into software, but nowadays not done so much… and apparently the “HTTP Working Group” doesn’t like it either… So I was curious whether OP though in hindsight whether it should’ve been added or not

  • binwiederhier@discuss.ntfy.sh
    link
    fedilink
    English
    arrow-up
    41
    ·
    edit-2
    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?

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      43
      ·
      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.

  • 200ok@lemmy.world
    link
    fedilink
    English
    arrow-up
    39
    ·
    1 year ago

    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.

  • Deebster
    link
    fedilink
    English
    arrow-up
    39
    ·
    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?

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      38
      arrow-down
      1
      ·
      1 year ago

      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.

      • Deebster
        link
        fedilink
        English
        arrow-up
        13
        ·
        1 year ago

        Oops, RTFM. Well, thanks for fighting the good fight with the power of your reputation.

  • Rikudou_Sage@lemmings.world
    link
    fedilink
    English
    arrow-up
    33
    ·
    1 year ago

    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.worldOP
      link
      fedilink
      English
      arrow-up
      38
      ·
      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.

        • Spaceman Spiff@lemmy.fmhy.ml
          link
          fedilink
          English
          arrow-up
          8
          ·
          1 year ago

          Nah, coffee pots are strictly clients in the world of tomorrow. They connect to a (datamining) cloud service, and you control it through an app.

          • SturgiesYrFase
            link
            fedilink
            English
            arrow-up
            6
            ·
            1 year ago

            Let’s be real…that’s the world of today. The world of tomorrow will either be more intrusive, or we’ll be talking to children around a fire about this wonderful drink made from beans that woke you up in the morning. And they won’t understand what we’re talking about, because the only other forms of life that survived are roaches, a godzilla sized Cher, and a burgeoning race…a new life form never before seen on this world or any other…sentient twinkies…

    • Two9A@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      35
      ·
      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.

    • Xylight (Photon dev)@lemmy.xylight.dev
      link
      fedilink
      English
      arrow-up
      60
      ·
      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.

      • Flemmy@lemmy.world
        link
        fedilink
        English
        arrow-up
        31
        ·
        1 year ago

        As a late millennial and a programmer, I’ve got you.

        So when you request a web page, before anything else, the server gives you a 3 digit status code.

        100s means you asked for metadata

        200s mean it went ok

        300s means you need to go somewhere else (like for login, or because we moved things around)

        400s mean you messed up

        500s mean I messed up

        So this is in the 400s. Each specific code means something - you’ve probably seen 404, which means you asked for a page that isn’t there. And maybe 405, which means you’re not allowed to see this

        418 means you asked for coffee, but I’m a teapot

        • mmagod@lemmy.zip
          link
          fedilink
          English
          arrow-up
          6
          ·
          1 year ago

          I can’t say enough how amazing your explanation was. Im not a programmer but I have worked on websites (self taught) and I never knew this. Thank you!