'I'm a Teapot' Error Code Saved From Extinction By Public Outcry (gizmodo.com.au) 111
An anonymous reader quotes Gizmodo:
It started back in 1998 as an April Fool's Day gag. Written up by Larry Masinter of the Internet Engineering Task Force (IETF), error code 418 -- "I'm a teapot" -- was nothing more than a poke at the "many bad HTTP extensions that had been proposed". Despite its existence as a joke, a number of major software projects, including Node.js, ASP.NET and Google's Go language, implemented it as an Easter egg. A recent attempt to excise the fictitious code from these projects ended up doing the opposite, cementing it as a "reserved" error by the IETF...
Mark Nottingham, IETF chair for the HTTP and QUIC working groups, flagged the code's removal as an "issue" for Google's Go language, the Node.js Javascript runtime and Microsoft's ASP.NET... Nottingham's argument was that 418 was "polluting [the] core protocol" of these projects... It didn't take long for a "Save 418" website to go live and through the efforts of interested internet historians (and jokers), all three of the aforementioned projects have decided to keep the code as it is, though Google will "revisit" the situation with the next major version of Go.
The Save 418 site argued that "the application of such an status code is boundless. Its utility, quite simply, is astonishingly unparalleled. It's a reminder that the underlying processes of computers are still made by humans. It'd be a real shame to see 418 go."
Mark Nottingham, IETF chair for the HTTP and QUIC working groups, flagged the code's removal as an "issue" for Google's Go language, the Node.js Javascript runtime and Microsoft's ASP.NET... Nottingham's argument was that 418 was "polluting [the] core protocol" of these projects... It didn't take long for a "Save 418" website to go live and through the efforts of interested internet historians (and jokers), all three of the aforementioned projects have decided to keep the code as it is, though Google will "revisit" the situation with the next major version of Go.
The Save 418 site argued that "the application of such an status code is boundless. Its utility, quite simply, is astonishingly unparalleled. It's a reminder that the underlying processes of computers are still made by humans. It'd be a real shame to see 418 go."
It's official (Score:1, Troll)
Mark Nottingham is a douche bag
Re:It's official (Score:5, Informative)
He recognized there was popular support for the error code, and revised his position to remove the error code only if every other three-digit error code starting with 4 is taken.
Re: (Score:1)
\Which is good reason for keeping it around, to remind us not to create stupid error codes that cannot be handled in the current ones, if not create an entirely new group.
It helps to remind people of these things. Just because you can doesn't mean you should.
We could always go nuts and start using letters after x99.
Base62 that badboy.
Re: (Score:3, Funny)
Starving kids in Africa could be eating these error codes.
Re: (Score:2)
And yet you're here comment on it. Get back to curing cancer, slacker.
Re: (Score:3)
We're talking Russell's teapot, right?!
Re: (Score:3)
To be fair, Nottingham also wrote the draft that's now reserving the error code.
He recognized there was popular support for the error code, and revised his position to remove the error code only if every other three-digit error code starting with 4 is taken.
Yes, a classy response to the issue, unlike the humourless maintainer who removed the ddate (Discordian Date) tool from util-linux: https://bugzilla.redhat.com/sh... [redhat.com]
Re: (Score:2, Funny)
Yes, a classy response to the issue, unlike the humourless maintainer who removed the ddate (Discordian Date) tool from util-linux: https://bugzilla.redhat.com/sh... [redhat.com]
Eh? (checks.....)
WTF man?, no ddate? ok, so the last time I used it in anger was in a server added header on the MTAs I used to look after many, many years ago...
them: we got spam from your servers..
me: No worries, got an example in front of you?, good, tell me the contents of the X-MTA-FNORD header...
them:(typie typity type....)Errr, what X-MTA-FNORD header?
me: there's your problem, not my circus, monkeys etc. etc..
Really, again, WTF?, you know I'm now in the crazy position that the only machines that have
Perfect for the latest IoT (Score:5, Funny)
The Early Web Needed It (Score:3)
Re: (Score:2)
Re:Perfect for the latest IoT (Score:4, Interesting)
"It appears that you are trying to get mod points. Would you like help in writing a funny or insightful comment?"
Thank gawd Clippy is dead, eh?
Seriously, your basic premise was good, but you got it backwards. Your IOT teapot is supposed to have a built in webserver for configuration and comments. The 418 error is for cases when you try to send it commands that are not appropriate for an IOT teapot. Easy to understand how the 418 mistake will occur, because the commodity chips that include the webserver will be used in all kinds of things, not just teapots.
Re: (Score:1)
I didn't get it backwards. It is the webserver configuration page that throws the E418 when trying to get it to connect to the cloud. Read my post again.
Re: (Score:2)
Why would it be an error if your teapot is properly identifying itself as a teapot with teapot-level capabilities?
Now I have to go find the RFC for printers and other devices to broadcast their capabilities...
Re: (Score:1)
Re: Perfect for the latest IoT (Score:1)
So it WILL be removed soon ... (Score:2)
It's a reminder that the underlying processes of computers are still made by humans.
Not for long ...
Brown M&Ms (Score:2)
Banned in Van Halen's standard performance contract. Not because they didn't like brown M&Ms. But as a test to see if the contract specifications had in fact been read and carried out.
No error code 418 implementation means that we can reject the use of Go, Node.js and ASP.NET for not properly implementing IETF standards.
Re: (Score:2)
Contract specifications for a complicated stage show that if not implemented properly could result in injury.
True. But regularly eating M&Ms that have been pawed over by some random theater worker's unwashed hands probably presents its own risks.
Re: (Score:2)
Neither brown M&Ms nor missing code 418 will cause anyone harm. That's the point in using them as an indicator. Both are inside jokes. We'll leave it up to the respective users whether a shoddy sage show or a poor HTTP implementation is more important to them.
Let us have our fun. (Score:5, Insightful)
The work that software developers do is extremely mentally challenging. We're often under pressure to not only create a product that is good enough to be profitable (or at least helpful), but also to not make extremely subtle mistakes that results in security vulnerabilities, information exposure, or denial of service.
That's why we like putting little jokes in our software. It helps us cope with the pressure. It's why song lyrics, movie quotes and ASCII art find their way into code comments. It's why JIRA's about page is presented as an 8-bit video game. It's why we have an RFC describing an "evil bit". It's why error pages for popular source code repository have anthropomorphic robots. Hell, even MS Excel had a freakin' flight simulator built into it at one point!
The world is bad enough as it is without the misery-mongers demanding we excise all forms of fun from our line of work. Leave us alone. Let us have our fun. We know what we're doing.
Re: (Score:2)
I agree with fun in a software level. Not sure how I feel about it in a specification level or a protocol level.
Re: (Score:2)
NMEA 0183?
Re:Let us have our fun. (Score:4, Insightful)
Re: (Score:2)
Agreed, and while the 418 code wasn't serious in a general sense (because frankly who actually looks to implement all the codes) it is still dangerous in general sense having "fun" on the protocol or specification level as it has real world consequences. Every piece of paper generated for a protocol or a specification has real world expenses associated with it, worse if someone humourless dolt doesn't understand it and tries to implement it.
Easter eggs in software on the other hand don't affect anyone.
Re: (Score:3)
Re:Let us have our fun. (Score:5, Funny)
Maybe we should rename it:
418 - Software written by millenial as part of an agile team in a startup made entirely of UX designers has operated as expected.
Re: (Score:3)
"I'm a teapot" for such errors has being very great benefit of ensuring that such individuals will be kept busy trying to figure out why their program is talking to an actual teapot. People who will know this is a non sequitur will understand that whatever went wrong, it went quite horribly wrong.
Re: (Score:2)
But... what about the Internet of Things? What if you really do have a webserver on your teapot? Is is going to just give you 418 errors or is it going to try to be useful?
Or is it simply saying we can't use HTTP(S) with teapots? I s
Re: (Score:2)
I would think it generally reasonable to expect you to know if you're trying to contact a teapot. This would also effectively improve the security on IoT teapots to above any other thing on the IoT because you'd have to figure out if it's really a teapot or is lying to you.
Re: Let us have our fun. (Score:1)
Re: (Score:2, Insightful)
Are you a psychopath with delusions of grandeur who owns a company, or are you the line worker with no self esteem who believes themselves powerless and fungible?
Protip: If an owner is hiring people for his company, there are things that he or she can't do, either due to lack of training, lack of interest or (most likely) lack of time. Smart owners appreciate that fact.
Re: Let us have our fun. (Score:1)
Re: (Score:2)
Indeed. Well said!
Re: (Score:2)
Whatever you do in comments, easter eggs and joke RFCs, fine. Polluting communication protocols with your in-jokes is crossing the line IMHO. I don't want Chrome, Safari, Edge, Apache, IIS, nginx and all sorts of cache/proxy solutions have to deal with 418 "I'm a teapot" just because somebody found it funny. There's a time and a place for humor, this is not it. I'm not going to complain about custom texts for errors though, as long as they can be safely ignored you can claim lp0 is on fire for all I care.
Re: (Score:2)
Re:Let us have our fun. (Score:4, Funny)
Re: (Score:2)
Re: (Score:1)
The joke is all of those don't implement 303s properly, and that's a "serious" one. I don't see you complaining about that.
Re: (Score:2)
I don't want Chrome, Safari, Edge, Apache, IIS, nginx and all sorts of cache/proxy solutions have to deal with 418 "I'm a teapot" just because somebody found it funny.
The good news is that HTTP 418 is in a class of codes shared by all 4xx responses. No new code required to handle this code with a generic error message.
Re: (Score:2)
Putting jokes in your software isn't an issue. Putting jokes in a specification or in a protocol on the other hand can have long lasting consequences. Worse still if someone doesn't understand the joke and actually tries to implement it.
This specific case doesn't really matter much as very if any people would actually implement all the error codes and a lot of software cherry picks only the ones that the developers expect. However in general if you put a joke in an specification, someone will read it on the
Re: Let us have our fun. (Score:1)
Good grief, broham. Get a grip on yourself. Let's not try to make our work more joyless than it need be. Lighten up a little and try to have fun once in a while.
Re: Let us have our fun. (Score:1)
Intentionally adding totally irrelevant shit is "ok", and something that in a worst case scenario is even visible to the end users when they are likely experiencing serious problems? What added value does that irrelevant shit bring?
Re: (Score:1)
Sometimes my target IS an embedded environment. Now it's relevant: stupid cutesy children's easter eggs are a undesirable waste of space.
there are more wasted bytes in the ELF header, why not start there
Tu quoque and just plain wrong to boot. Why not start there? ELF header is 64 bytes, that's why not start there. And this frippery isn't an established, well-entrenched decades-old file format. And needless poetry is MUCH lower-hanging fruit.
At least you implicitly acknowledge that including the poetry is a waste of space.
Maybe if it was a different poem you wouldn't get d
Re: Let us have our fun. (Score:5, Interesting)
2000 wasted bytes in every Rust executable disagree with you, millennial.
His Slashdot UID indicates he joined this site significantly earlier than me - and I was here in 2003. Are you suggesting he signed up in utero?
Re: (Score:2)
Some people believe the millennials are to blame for a great many things. Those people typically live in fear of everything, including how much corduroy they wear. Sad state of affairs really...
Re: (Score:2)
If someone supports wasting 2000 bytes on trash, they're a fucking millennial mentally, at least.
Re: (Score:2)
His Slashdot UID indicates he joined this site significantly earlier than me - and I was here in 2003. Are you suggesting he signed up in utero?
I've been reading Slashdot since late 1998. By March 2000 the signal:noise ratio in the comments was getting pretty intolerable, so I created an account and set my minimum reading level to 3. 17+ years later, that filter keeps on serving its purpose, dutifully hiding comments from people calling me a "millennial" because I had the audacity to stand up for enjoying what I've been paid to do for the last 30 years.
Never change, Slashdot.
This reminds me of... (Score:1)
...the ddate removal from util linux. Another Karel Zak has arisen. Light the Beacons.
tunefs (Score:1)
Tune2fs in Unix (dunno about Linux) used to have a manpage line saying, "You can tune a filesystem, but you can't tune a fish."
It was removed at the behest of PHBs since "the humor did not translate beyond English."
Re: (Score:2)
I remember during the "configure" stage of building one particular piece of software - while it was checking for the existence of various libraries, it would also "check the fridge for beers".
I believe it was Enlightenment 0.16, but it may very well have been something else. In any case, it made me laugh.
Re: (Score:2)
Quite a few projects still have humor in configure - I learned that compiling *EVERYTHING* to make my IRIX install have somewhat modern software run on it. Check out PERL sometime, I remember that being a good one.
On a related note of having sense of humor (Score:3)
Seeing ICBM [wikipedia.org] in a web page header, giving the geolocation of the website/server, always made me chuckle.
Canary (Score:1)
It's the Canary in the machine.
If it goes then you know we have gone.
It was SkyNet.
Golf clap (Score:2)
While I applaud the effort, attempting to clean up HTTP at this point seems blasphemous. I mean how many unused codes would remain if this one was removed? We only use like 5 right now anyway. I say keep it because it is a scar and you should be proud of your scars, HTTP. Leper protocols are people, too.
Source (Score:1)
Tim then asks "Who thinks we should panic now?" All three raise their hands, and proceed to panic, with lots of screeching and Tim crying "I'm a teapot!" repeatedly, with the attendant teapot pose.
https://en.wikipedia.org/wiki/The_End_(The_Goodies)
Now let's fix Error 419 (Score:2)
Surely you know Error 419: Funds not found (because some scammer ran off with them).
Re: (Score:2)
or maybe error code
420: client must be BAKED
Happy ending, but I sympathize with the guy (Score:2)
Prior to this, the status code registry officially listed for 418 has been "unassigned." This meant that there was objectively a gap between what IETF considered to be standard, and what actual widely-deployed software considered to be standard. Something needed to change. I guess this guy just wanted to make it consistent, and for one reason or another decided to start by putting the objective technical needs above our own human desire for fun.
Seems perfectly valid to me (Score:2)
What else is your teapot supposed to reply with when sent a request that was meant to go to your fridge?
They want to remove 418 but forgot to define 420 (Score:2)
Proposal (Score:2)
Error code 2014: I am Groot.
Maybe instead ... (Score:1)
Deprecate the GO Language ?
Given the "Internet Of Things" (Score:2)
Let me make myself clear: I am NOT, repeat, NOT, a supporter of such foolishness. But since you all haven't gotten around to making me Imperator yet [hint], there actually might be a USE for such an error code ... for the teapot purists, that is. Like these guys:
https://smarter.am/ikettle/ [smarter.am]
https://www.techdirt.com/artic... [techdirt.com]