Lunduke
News • Science & Tech
The Unlikely Story of UTF-8: The Text Encoding of the Web
Plan 9, Placemats, New Jersey Diners, and last minute ideas
June 22, 2023
post photo preview

If you are reading this on a computer -- of any kind -- odds are good that the words on the screen are all encoded using something called "UTF-8".

UTF-8 (or "Unicode Transformation Format - 8 bit") is, put simply, a format for encoding and storing text -- one which allows for far more text characters than the older "ASCII" encoding (which could only show a total of 95 printable characters).

And UTF-8 is, quite simply, everywhere.

Nearly every major computer operating system heavily uses UTF-8 for handling text... likewise it is the standard for websites, with close to 100% of all webpages explicitly using UTF-8 for the text on the page.

test
The source for Wikipedia.  Like most of the web, using UTF-8.

An argument could be made that UTF-8 is one of the most successful and widely adopted standards in all of computer history.

But this almost wasn't the case.

In fact, UTF-8 was created -- at the very last possible moment -- and it was first implemented in a computer system that most people don't even know existed.

X/Open's search for better text encoding

In the early 1990s, text encoding was... an issue.

While solutions for extended character sets (beyond simple ASCII characters) existed, they were less than ideal.  To put it mildly.  The most popular solution, known as UTF-1 (aka "ISO 10646"), suffered from serious performance issues... and often caused significant problems with software which used plain "ASCII" text (including UNIX file system paths).

Having a character encoding on UNIX systems that could cause problems with UNIX file systems?  Not good.

Obviously a new type of text encoding was needed.

So, in 1992, X/Open (originally known as the "Open Group for UNIX Systems", a consortium of UNIX vendors, including: Sun, HP, AT&T, IBM, and several others) set about the task of selecting a proper text encoding standard to be used across all of the UNIX world.

The proposal that gained the most traction was known as FSS/UTF (aka "File System Safe Universal Character Set Transformation Format").  Roills off the toungue, right?

This proposal was both faster than the old text encoding standard... and, as the name suggests, it was "File System Safe".  Which was a big win.

Enter: The Plan 9 Nerds

Which brings us to September 2nd, 1992.  Sometime in the early evening.

The X/Open group was meeting, in Austin, Texas, to formally decide on the file encoding standard.

Looking to get some feedback on the proposal, some members of X/Open made a call to two legendary programmers -- Ken Thompson and Rob Pike -- who were working on the Plan 9 Operating System project at Bell Labs in New Jersey.


A little background...

Ken Thompson was one of the creators of MULTICS, UNIX, the B programming language (the predecessor to C), among many other accomplishments.

Rob Pike, also a UNIX programmer, was the co-creator of Blit, writer of multiple UNIX and programming books, and the creator of the first UNIX windowing system.

To call these two "absolute legends" in the world of computing would be, perhaps, a bit of an understatement.  The two were currently working together on a research operating system, at Bell Labs, called Plan 9.  An attempt to fix some of the perceived shortcomings of UNIX... by the creators of UNIX, itself.


What happened next... after Ken Thompson and Rob Pike received that phone call?  Luckily, we have a detailed accounting... written by Rob Pike, himself.

"We had used the original UTF from ISO 10646 to make Plan 9 support 16-bit characters, but we hated it.  We were close to shipping the system when, late one afternoon, I received a call from some folks, I think at IBM - I remember them being in Austin - who were in an X/Open committee meeting.  They wanted Ken and me to vet their FSS/UTF design."

Asking two legendary engineers for their input?  You can probably guess what happened next...

"Ken and I suddenly realized there was an opportunity to use our experience to design a really good standard and get the X/Open guys to push it out.  We suggested this and the deal was, if we could do it fast, OK."

That's right.  Ken and Rob had some ideas.  And the X/Open folks agreedd to listen to those ideas... if they could get them something fast.

And, by fast, they really meant "immediately... like... right now."  Because the X/Open team were, quite literally, all gathered in Austin to decide on this... right then.

"Yeah.  I could eat."

Ken and Rob did what any good programmers would do when placed on an almost impossibly tight deadline -- and needed to come up with an amazing idea that could change the course of computing for decades to come... they went out to grab some grub.

"So we went to dinner, Ken figured out the bit-packing, and when we came back to the lab after dinner we called the X/Open guys and explained our scheme.  We mailed them an outline of our spec, and they replied saying that it was better than theirs (I don't believe I ever actually saw their proposal; I know I don't remember it) and how fast could we implement it?  I think this was a Wednesday night and we promised a complete running system by Monday, which I think was when their big vote was."

Remember.  This was 1992.

Which means, while laptops and such certainly existed, most people (even legendary programmers) did not have any sort of mobile, portable computers.  Certainly not the kind you could take out to a restaurant.

So what, pray tell, did they write their new text encoding design on?

A placemat from a New Jersey diner.

This is not the placemat that UTF-8 was designed on.

Seriously.

"UTF-8 was designed, in front of my eyes, on a placemat in a New Jersey diner."

The boys, Ken and Rob, now had just a few days to get all of this done -- before the big vote on the new text encoding standard.  And they sure as heck didn't waste any time.

They got back from dinner, placemat in hand, and got to work.

"So that night Ken wrote packing and unpacking code and I started tearing into the C and graphics libraries.  The next day all the code was done and we started converting the text files on the system itself.  By Friday some time Plan 9 was running, and only running, what would be called UTF-8.  We called X/Open and the rest, as they say, is slightly rewritten history."

They converted an entire operating system over to a brand new -- just designed on a placemat -- text encoding format... in less than two days.

Here's the rough time-line:

  • Wednesday (Sep 2) evening: Dinner at a New Jersey Diner.  Ken Sketches out the idea on a placemat.
  • Wednesday night: Coding begins.
  • Thursday: Coding complete.
  • Friday: Entire Plan 9 operating system is now using "UTF-8".
  • Monday (Sep 7): X/Open group votes to use the Ken/Rob encoding design.

On Tuesday, September 8th, 1992 (at 3:22am), mere hours after the official vote to accept their text encoding design, Ken Thompson sends out the following email regarding Plan 9 now using UTF-8:

"The code has been tested to some degree and should be pretty good shape.  We have converted Plan 9 to use this encoding and are about to issue a distribution to an initial set of university users."

That's right.

Ken and Rob got a call asking for feeback on a Wednesday.  By the next Tuesday (at 3am) they were ready to ship a version of their Plan 9 OS with all the changes, and their designs had been voted on by the largest UNIX companies in the world.

Like I said.

A recent picture of the two legends, themselves.

These guys are legends.

What about that placemat?

Considering the vast impact of UTF-8 on the world of computing... whatever happened to that original "design document" (aka "the placemat")?  It would certainly be of historic significance.

"I very clearly remember Ken writing on the placemat and wished we had kept it!"

Let this be a lesson to all of the programmers out there:

Keep all of you doodles, notes, and sketches you make for your projects... you never know when one of those projects will become critical to the entire world... making your quick sketch worthy of being in a museum.

Especially if it's on a placemat.  From a diner.  In New Jersey.


Copyright © 2023 by Bryan Lunduke.  All rights reserved.  The contents of this article are licensed under the terms of The Lunduke Content Usage License.

community logo
Join the Lunduke Community
To read more articles like this, sign up and join my community today
11
What else you may like…
Videos
Podcasts
Posts
Articles
December 15, 2025
$89 Lifetime Subs All December

It's December. And you're awesome. So Lunduke Journal Lifetime Subscriptions are only $89 all month long. Plus Monthly & Yearly subs are 50% off. Because... why not!

https://lunduke.substack.com/p/89-lifetime-subs-50-off-monthly-all

More from The Lunduke Journal:
https://lunduke.com/

00:14:15
December 18, 2025
NeoFetch But in Rust and More Gay

HyFetch, a Rust re-write of the discontinued NeoFetch, asks users to choose their flag (Trans, GenderFluid, FemBoy, etc.) at first launch. Becomes defacto on several Linux distros.

More from The Lunduke Journal:
https://lunduke.com/

00:22:28
December 17, 2025
Memory Corruption Vulnerability in Linux "Memory Safe" Rust Code

Rust programmers re-wrote a portion of the Linux kernel in Rust. That Rust code had a crashing vulnerability in an "unsafe" chunk of code... which Linux is littered with.

More from The Lunduke Journal:
https://lunduke.com/

00:18:23
November 22, 2023
The futility of Ad-Blockers

Ads are filling the entirety of the Web -- websites, podcasts, YouTube videos, etc. -- at an increasing rate. Prices for those ad placements are plummeting. Consumers are desperate to use ad-blockers to make the web palatable. Google (and others) are desperate to break and block ad-blockers. All of which results in... more ads and lower pay for creators.

It's a fascinatingly annoying cycle. And there's only one viable way out of it.

Looking for the Podcast RSS feed or other links? Check here:
https://lunduke.locals.com/post/4619051/lunduke-journal-link-central-tm

Give the gift of The Lunduke Journal:
https://lunduke.locals.com/post/4898317/give-the-gift-of-the-lunduke-journal

The futility of Ad-Blockers
November 21, 2023
openSUSE says "No Lunduke allowed!"

Those in power with openSUSE make it clear they will not allow me anywhere near anything related to the openSUSE project. Ever. For any reason.

Well, that settles that, then! Guess I won't be contributing to openSUSE! 🤣

Looking for the Podcast RSS feed or other links?
https://lunduke.locals.com/post/4619051/lunduke-journal-link-central-tm

Give the gift of The Lunduke Journal:
https://lunduke.locals.com/post/4898317/give-the-gift-of-the-lunduke-journal

openSUSE says "No Lunduke allowed!"
September 13, 2023
"Andreas Kling creator of Serenity OS & Ladybird Web Browser" - Lunduke’s Big Tech Show - September 13th, 2023 - Ep 044

This episode is free for all to enjoy and share.

Be sure to subscribe here at Lunduke.Locals.com to get all shows & articles (including interviews with other amazing nerds).

"Andreas Kling creator of Serenity OS & Ladybird Web Browser" - Lunduke’s Big Tech Show - September 13th, 2023 - Ep 044
December 18, 2025

Kingston sounds the SSD pricing alarm as the company has seen a 246% increase in NAND wafer prices, with the biggest increase 'within the last 60 days' | PC Gamer
https://www.pcgamer.com/hardware/memory/kingston-sounds-the-ssd-pricing-alarm-as-the-company-has-seen-a-246-percent-increase-in-nand-wafer-prices-with-the-biggest-increase-within-the-last-60-days/

"...
As such, Crandall offers a word of advice to anyone considering upgrading their rig's storage: "Do it now and [don't] wait, because prices are going to continue to go up."
..."

December 18, 2025

I have a MacBook Pro 16" retina from mid 2012, what is the latest macOS I can use on it? Should I shove Ubuntu 25.10 on it? What are your thoughts and opinions?

December 17, 2025

I learned a new shell trick today.

December 17, 2025
The FOMO of not having a Lifetime Subscription to The Lunduke Journal

Time for some Fun Lunduke Journal Facts of Fact-ly-ness!

  1. The “per-month” cost of a Lifetime Subscription to The Lunduke Journal is an asymptotic line. The longer you have that subscription, the closer it gets to $0.00.

  2. The Lifetime Subscription was first introduced 3 1/2 years ago… and is still going strong.

  3. The price of a Lifetime Subscription is currently discounted to $89. For life. That’s less than 1/3rd the normal price.

The earlier you pick one up, the quicker that asymptotic line begins approaching zero. Which is fun.

We Don’t Have Time Machines

If you think you might ever want a Lifetime Subscription, now is the time.

Imagine missing this discounted price and missing out on months of, mathematically certain, asymptotic line fun. This is one of those scenarios where Future You (tm) would want to travel back in time to tell Present You (tm) to snag a Lifetime Subscription.

Go. Grab the Lifetime Subscription for $89. That deal is good all December long.

There’s a video of me yammering about it too. Just for good measure.

You’re welcome.

-Lunduke

Read full Article
December 13, 2025
Lunduke Journal Lifetime Wall 2 almost full, plus Lifetime Sub as a gift

Two quick tidbits!

First: Lifetime Wall 2 Almost Full

The 2nd Lunduke Journal Lifetime Subscriber Wall of Shame… err… I mean “Wall of Awesomeness” (which shows at the end of each video) is almost full! Holy cow! So many people have signed up over the last few days and asked to be added! Awesome!

There’s room for maybe 3 or 4 more names on there before I need to start Wall Number 3. So if you want to be on the 2nd wall, grab a Lifetime Sub quickly. (Though, really, being on the 3rd wall will be cool too.)

Plus, hey! You can snag one for $89 this month. Which is pretty sweet.

Second: Sending a Lifetime Sub as a Gift

Several of you have asked if it’s possible to send someone a Lifetime Subscription as a gift (at the discounted $89 / $99 price).

The answer is yes! And, instead of sending instructions to each of you, individually, I am including a Step-by-Step rundown on how to send someone a Lunduke Journal Lifetime Sub as a gift.

There are two options — Locals & Bitcoin — and both work equally well.

(Note: A gifted Lifetime subscription can also be applied to Substack accounts… it just can’t be purchased via Substack because of the way the system works for gifting it to another person.)

How to give a gift Lifetime Subscription via Locals:

  1. Go to Lunduke.Locals.com/support.

  2. Select “Give Once“.

  3. Enter “99“ (or more) into the amount field.

  4. Email “bryan at lunduke.com”. Include the following in that email:

    1. Have the words “Gift Sub” somewhere in the subject line.

    2. Include the email you used to make the purchase and the email address of gift recipient.

    3. Include any special instructions or requests, such as: A special message you would like included, when you would like an email sent to the recipient, or if you would prefer to let the recipient know yourself.

  5. Lunduke will send you a confirmation email after that. This usually happens within a few hours.

How to get a Lifetime Subscription with Bitcoin:

You can also send a gift Lifetime Subscription via Bitcoin.  (And it's $10 cheaper thanks to the lower processing fees of Bitcoin.)

  • Send $89 worth of Bitcoin (or more) to the following address:

bc1qyjakve8fywm8pz2v99v57yhjj0vzr2vjze6fcq

  • Email “bryan at lunduke.com”. Include the following in that email:

    1. What time you made the transaction, & how much was sent (in Bitcoin).

    2. Have the words “Gift Sub” somewhere in the subject line.

    3. Include the email address of gift recipient.

    4. Include any special instructions or requests, such as: A special message you would like included, when you would like an email sent to the recipient, or if you would prefer to let the recipient know yourself.

  • Lunduke will send you a confirmation email after that. This usually happens within a few hours.

Note: The Lifetime Subscription only applies to Substack, Locals, and the Lunduke Journal Forum. Other platforms (such as X, Patreon, & YouTube) do not provide the functionality necessary to create Lifetime Subscriptions.

Read full Article
December 12, 2025
Last Week on The Lunduke Journal - Fri, Dec 12, 2025

This last week has been, as usual, a doozy for Tech News.

The Mozilla Annual Report dropped, The EU & UK ramped up their war on US Free Speech, and the future of Rust in Linux was cemented (for better or worse).

But the most widely viewed, and yelled about, story of the week — by far — was “Prisma Drops Rust for Javascript, Sees Massive Speed Increase”. I tell ya, followers of the Church of Rust get grumpy if you utter anti-Rust blasphemy!

Oh, and a quick reminder: Lifetime Subscriptions can be snagged for $89 through the end of December. Monthly & Yearly subscriptions are 50% off as well. Just because.

All Shows From the Last Week

Below are all of the shows over the last 7 days, with links to Substack (where you can get both the audio or video versions). If you want to watch on a different platform (Locals, X, Rumble, YouTube, etc.) check Lunduke.com for all of the links.

As always, thank you for making The Lunduke Journal possible. If it weren’t for your support, most of these stories would never have been told (as no other Tech News outlet is covering them).

You rule.

-Lunduke

Read full Article
See More
Available on mobile and TV devices
google store google store app store app store
google store google store app tv store app tv store amazon store amazon store roku store roku store
Powered by Locals