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
      2
      ·
      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
        2
        ·
        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
          2
          ·
          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
            1
            ·
            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
              1
              ·
              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.

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

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

    Was RFC 7168 written with Captain Picard’s tea Earl Gray, hot in mind? If not, are follow up modifications planned?

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

      So replicators are kind of a special case: they can make anything already fully prepared, without the need for a brewing command to be sent. It’s possible that by the 24th century, there’s a compatibility layer between Replicator Intermediate Language and HTCPCP, but I’ll leave that to future generations to establish.

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

      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.

  • christophski@feddit.uk
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    What code should be used if we are expecting something to be a teapot? In this scenario it seems a 4XX is inappropriate because there is no error

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

      If you’re writing a TEA-compliant client, you’d send the BREW request and expect a 300 Multiple Options back, whereby the server will tell you which teabags are installed. You’re correct that there’ll be no error, unless all the bag stocks are out server-side.

      That’d return 503 Service Unavailable, of course.

  • Fenzik@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    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

      • body_by_make@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Yeah, I’ve seen people refer to this as the “fuck off” of response codes, especially during that incident. How does that make you feel?

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

          It’s not up to Mr Masinter or myself to police the usage of anything defined in the standard; if people feel like being assholes regarding the issuance of 418 errors, at least they’re being whimsical assholes.

          Could be worse; could be 200 with an error message inside, negating the entire point of error codes. I see that all the time.

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

            When I was fixing up a legacy API app at an old job, I realized they did exactly that. I cleared it with my boss and started fixing up our error codes - pretty much all 401, 403, and 422. This blew up an integration with another app that literally threw exceptions on those codes rather than handling them. I died inside as it was my first software dev job. My first rollback of a change as well.

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

        I know russian a bit and jargon for russian word “teapot” is also commonly used as “dummy” or “novice”. 418 for foreigners might have been on purpose there which brings Your April’s fool joke to a nation wide level :)

      • RonSijm@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        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

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

      • Commanderoptimism@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        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.

      • DangerBit@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        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.

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

    I’m actually going to that conference! What’s the title of your talk? I’ll be sure to attend it!

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

      Excellent. I’m on Stage 4 on the Thursday afternoon: “Brewing Tea Over The Internet”.

      Should be fun times, see you there.

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

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

  • z3rOR0ne@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

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

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

      Wasn’t there a new HTTP action recently proposed for “This is a JSON RPC request that we’ve convinced ourselves is actually REST and we’ve been using POST and someone finally pointed out that that was stupid”?

      Not a new status code but still vaguely amusing.

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

      I quite like the idea of HTTP 256 Binary Data Follows, which is just 200 OK but you asked for a non-text content type file.

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

      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.

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

          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.

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

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

      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.