I'm the author of an April Fool's Internet Standard, AMA

Two9A@lemmy.world to Asklemmy@lemmy.ml – 794 points –

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!

182

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.

I love this. Thank you so much.

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.

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.

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

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.

Ironically, it’s a cup of coffee that gets me through the day

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

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.

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.

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.

I'm just finding out about this trivia now but I'm a big fan

Sheesh, some people have no sense of humour.

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

How can it be unhandled? It's right there in the song, just before the spout!

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?

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.

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

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.

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

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

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

What's your take on the fediverse frontier?

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.

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?

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.

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

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.

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?

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.

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?

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.

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

Thank you for contributing to the magic if 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?

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.

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

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.

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.

Getting more likely with each passing year.

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.

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

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.

200 is probably the most common status no? Many successful responses will give 200 in the backend

Well there is really only one question...

Pineapple on Pizza?

Out.

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

Getting really tired of this meme

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

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.

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?

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.

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.

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

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?

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

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.

HTTP/1.1 102 Processing
Content-Type: application/wtf

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.

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.

Twas, yes. Was pleasing to me, at least.

I loved sharing this with my senior who hadn't seen it before, and it gave our small team a Ggod chuckle one afternoon. Thanks for your creation.

With the absence of a crystal ball, but with excellent inner knowledge, what future standards could you see being implemented in the next 10 years for internet?

As it turns out, one of the Apr 1st RFCs for this year covers AI Sarcasm Detection, but I can see more serious protocols arising for the transfer of AI model data and/or training procedures in the coming years.

I'd also hope ActivityPub reaches Internet Standard level, though it may fall outside the IETF's scope of operations.

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

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.

I need one too and I'm a stupid Gen Y

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

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!

What was the inspiration for these internet standards?

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.

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.

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.

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

Can you confirm?

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.

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.

You can unilaterally create another status code. What do you create?

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.

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.

We're there any early internet standards you were super bullish on at the time that didn't get picked up? In retrospect, if it had been adopted do you think it would have had the impact you were hoping for

That's a tough one: most standards are codified as such because they're already seeing wide use. The major example of one that's been worked the other way around is IPv6: it's been a standard for a very long time, and still doesn't seem to be seeing adoption.

Of course, I wouldn't say I was bullish on IPv6. 32 bits is enough for anyone, right.

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

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.

What would you say is holding IPv6 back?

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.

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

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.

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

Excellent. I'm on Stage 4 on the Thursday afternoon: "Brewing Tea Over The Internet".

Should be fun times, see you there.

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

For "real" RFCs that aren't Apr 1st jokes, there's an independent submissions track for the public to write Internet-Drafts and then submit them into the review process.

With the joke RFCs, they get emailed straight to the editor at least two weeks beforehand. I'm not privy to the selection meeting, but I expect it's fun.

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

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.

What's the funniest legitimate non-joke standardization detail you've come across?

I enjoy that the original draft for the Referer header spelled it wrong, and now we're all stuck with the typo forever...

Can someone elaborate on this please? Edit: oh jeez. I'm so used to reading "referer" I didn't even realize it was a typo.

I'd be happy if we'd just accepted "referer" as the correct spelling for everything, but instead we have the "Referrer-Policy" header, so now I need to check the correct spelling for anything involving referring..

I do sort of like the idea that because we want to keep backwards compatibility on software we just change the language instead since that's easier.

Has anyone implemented it in a physical device?

e.g. RFC3514 (an 'evil' flag you can set in malicious packets so a firewall knows to drop them) was actually used by a few people to see what would happen, with interesting results.

As it turns out, I could find no physical implementations of HTCPCP or the tea-brewing extension. The original protocol is somewhat incomplete, which is probably the main issue; also, any modern appliance would probably talk its own protocol encoded in JSON or similar.

While researching for the talk, I did find Hacked-Together Coffeepot Control Protocol which was a UMaryland hackathon project in 2016. They won the prize for "most technologies used in their tech stack", which is ...something.

Oh, how I miss the days when hackathons would result in such things! In my country they are VC-pitch-a-thons. No actual things are built.

“most technologies used in their tech stack” sounds like a lot of fun to implement!

It's true though, if I designed an IoT coffeepot it would probably use something like JSON over MQTT or UDP. Although I would likely also connect it to a hardware RNG so its caffeination can exist as a quantum superposition of states until I drink the coffee. I hear that makes it taste better.

How do you feel about the internet being "stuck" with an MTU of 1500?

This is kinda the problem with widely deployed standards like TCP/IPv4: if you have even one device out there that's on the "old" standard, it won't be able to talk under a hypothetical new standard like IPv6 or TCP-with-huge-packets. And there are a lot more than one device out there that would be cut off.

As I understand it, the big pipes have very large MTUs now, and the edge routers cut up the packets for further transport. That's probably the only way we can realistically go forward.

I hope soon with ipv6 MTU discovery, as home connections get faster, the inefficiencies of a small MTU will drive offerings of dynamic/large MTUs.

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.

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.

In the early days of hypertext there was also a lot of talk of “the semantic web”, where one proposal was that all links should be two-way, refer may have been a compromise to let people try to implement that on top of the one-way HTTP/HTML

I hope that user agent will be gone too. It does nothing except demand that you install chrome or spy on you

There are far more robust methods of fingerprinting to spy on users anyway (adding up all the details of screen size, available fonts, language, os, etc, etc), so I don't think removing the user agent would have much impact in reducing fingerprinting alone. It's also useful as a quick and simple way to check the type of device, os, or browser the user is on and serve the correct content (download link for one's OS) or block troublesome clients (broken bots)

(adding up all the details of screen size, available fonts, language, os, etc, etc),

not if you just simply turn off javascript.

I bet you can detect window size with css media queries and invisible “background-url” values for rendered items.

I don’t know if “display: none” prevents loading of background-url targets though.

Then browsers should just download ALL background-url images beforehand

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

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

Do you think this is the dot com bubble 2.0

If anything, we're into the "bust" part of the bubble: layoffs have been coming in waves all year, and are continuing. There were a whole bunch of posts over on Mastodon just a couple of weeks ago, at end of quarter, where people were laid off and looking for work.

So what's better, tea or coffee?

As it turns out, I drink black coffee nowadays.

That's a 419 when you surprise people with a coffee pot.

Aren't you worried about your citizenship being revoked?

Coffee may be an offence worthy of the Tower, but I hope my Services To Tea offer mitigating circumstances when my case is brought before the King Prince.

No question, I just want to thank you for being the type of person that would do this and thank you again for actually doing it. The world is a fun place. I like it.

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

Also, will your talk be recorded?

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.

Did you author any other standards and how high is the chance of a proposal being approved if you don't have any accepted proposal yet?

7168 is my only foray into writing an Internet Standard RFC. If you have a good idea for one, you should definitely get in touch with the RFC Editors; I found them very approachable and willing to work with my idea, moulding it into a document that's compliant to their (admittedly old-timey 60's) documentation standards.

What would be a current version of this April Fool - what technology would you create a standard for, what beverage would you interface it to?

The motivation for HTCPCP-TEA was that HTCPCP didn't cover tea brewing. Off the top of my head, I can't think of any infused hot drinks that aren't coffee or a tea of some kind...

Perhaps we need a homebrew beer request standard. The response lag would be tremendous though.

cocoa?

As it turns out, the standard almost caters for this directly:

Instead, an Alternates header as defined in RFC 2295 MUST be sent, with the available tea bags and/or leaf varieties as entries.

If cocoa and other loose powders count as a variety of tea leaf...

Ah yes, you're a true programmer. That'll become one of those decisions ossified into place 30 years from now that we need to work around, but it works because it's good enough.

How do I know the government isn't spying on me, cuz they could totally go and compromise all root certificates, thus RIP https.

Oh, and pardon, who the heck does still use http without the s?

Well, they could. They could also set up listening posts on every transcontinental pipe as they reach land.

What's that, they did?

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

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.

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

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.

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!

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

Glad to hear it, you should walk around with a HTTP 418 hat so more people know you're not a teapot.

But then people would think they are a teapot

Haha, same here! I was so proud I knew what the title was referring to before reading the post. Lol

Did people take it seriously? Unlike avian carrier, there is people connecting tea/coffee machine to the internet

Did people try to implement it for the sake of the joke (again, here I am thinking about the avian carrier)

what if, at some point, the standards and protocols you helped developed are applied?

Being realistic, it's not something I see gaining adoption, mostly because HTCPCP is a joke protocol and isn't a complete spec. Any internet-connected coffee machine nowadays would probably go through a ZigBee proxy or similar, and talk some proprietary format.

It'd be fantastic to get some drink brewing hardware together that actually supports this standard, that'd be the real icing on the cake. Are you aware of any people putting something together?

As it turns out, no: HTCPCP isn't a complete definition, so it never resulted in physical hardware. Except, of course, for the various teapots with chips inside that respond "418" but don't actually do any brewing.

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

What kind of coffee do you drink?

I'm not the type to go hunting for the Best Bean, self-grinding to a particular size, pour-over...

The basic swill is plenty for me; my current choice is Kenco Instant.