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
Lunduke's Week in Tech : June 21 - June 27, 2026

Operating System Age Verification! Paid Web Browsers! Wikipedia Bannings! XLibre Success! XFCE & Wayland Bad Decisions! Plus: The Awesome FujiNet!

The Article:
https://x.com/LundukeJournal/status/2071396065857937889

Emacs & Vim Lunduke Journal Lifetime Walls:
https://lunduke.substack.com/p/emacs-and-vim-lunduke-journal-lifetime

Get on The Wall with a Massively Discounted Lifetime Sub:
https://lunduke.substack.com/p/50-off-yearly-and-massively-discounted

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

00:29:00
Emacs vs. Vim : The Lunduke Lifetime Walls

As Lunduke Journal subscribers race to add their names to the "Lifetime Walls of Shame", which will be the most popular? Emacs or Vim?

Emacs & Vim Lunduke Journal Lifetime Walls:
https://lunduke.substack.com/p/emacs-and-vim-lunduke-journal-lifetime

Get on The Wall with a Massively Discounted Lifetime Sub:
https://lunduke.substack.com/p/50-off-yearly-and-massively-discounted

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

00:11:29
Sony PlayStation Deleting Purchased Movies

Purchase "Terminator 2", "Evil Dead", or "Hot Fuzz" via Sony PlayStation?
You can't watch those anymore. You'll own nothing, and you'll be happy.

Ubuntu 4.10, C64, & BeOS added to the Wall!
https://lunduke.substack.com/p/ubuntu-410-joins-lunduke-journal

Get on The Wall with a Massively Discounted Lifetime Sub:
https://lunduke.substack.com/p/50-off-yearly-and-massively-discounted

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

00:20:00
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
2 hours ago

And now for the big picture!

You guys will love this: Ford Brings back Humans and AI is sub par.

This is an adoption problem. Companies introduce AI and then reduce staff BEFORE the AI proves itself. Not very smart. Lots of companies are going through this.

Story: So it turns out that a computer algorithm cannot teach itself what decades of hands-on, grease-under-the-fingernails human experience already knows.
Ford executives just peeled back the curtain on a massive strategic pivot. The automaker frantically brought back 350 veteran technical specialists to fix a lingering quality and recall crisis that their shiny AI systems simply could not solve.
Some of these seasoned experts were former Ford employees who had previously retired or moved on. Others were specialists poached back from various supplier companies. Either way, Ford leadership looked at their internal metrics and realized they needed the old guard back in the room.
So what exactly is going on?
Ford's Chief Operating Officer Kumar Galhotra ...

I’m a Go Developer!

Ok, I’m a product owner, solutions architect, and agentic AI practitioner directing AI to write my current project in Go. Why? It’s a server app that I want to run on my Linux box as a shared service and on any of my other computers as a local service. I wanted a single executable file, a single sqlite data file and a single config file as “the whole thing”. Python is out. I could have done it in Rust, but why? The lead AI teammate playing the role of architect recommended Go, so I went with Go.

What’s the app? I wanted a Jira style ticketing system - but not Jira, not bloated like Jira. It’s really designed for agents. I want to have autonomous agents that wake up and can find new instructions for work they can do. I want one agent to spawn sub agents and give them work. Of course I want to see status in a dashboard, but mostly this is to facilitate agent communication.

I did a review of what’s out there and did the buy/build consideration and decided to...

post photo preview
Emacs & Vim Lunduke Journal Lifetime Walls Are Here!

TL;DR

The Commodore 64 Wall is full, and the Emacs and Vim Walls make their appearance! Lifetime Subscriptions continue to be discounted all June long for those who want to get on the Walls!

Emacs & Vim Lifetime Walls!

Lifetime Subscribers to The Lunduke Journal filled up the “Commodore 64” Wall in just 10 days! Awesome.

And with the “Ubuntu 4.10” and “BeOS R5” Walls almost full of names as well (just a few spots left on each), it’s time for some new Walls for Lifetime Subscribes to put their signatures on!

This time, let’s have a bit of a friendly competition: Vim vs Emacs.

 

Both Walls — “Vim” & “Emacs” — appeared at the exact same time.

Let’s see which one gets full first. To keep it fair, I’ll cap both off at the exact same number of names.

When they’re full, I’ll included a statement of “Filled in X Days/Hours” next to each on Lunduke.com so everybody knows which one was more popular.

In fact, maybe I’ll add exactly that sort of “Filled in X Days” label for all of the existing Retro Computer Lifetime Walls. Just for fun.

Will Emacs or Vim win? I have a guess. We’ll find out!

Support The Lunduke Journal & Get on The Wall

Want to take part (and support The Lunduke Journal in the process)?

  1. Go to Lunduke.com, scroll down to the bottom and see which Walls are currently listed as still having space available for more names.

  2. Then scroll down on this page and grab a Lifetime Subscription (if you don’t already have one) and email “bryan at lunduke.com” with which Wall you would prefer to be on.

Note: One Lifetime Subscription = One Listing on One Wall. These fill up insanely fast, so I have to put this limit in place. You are more than welcome to get multiple Lifetime Subscriptions if you want to be on multiple Walls.

Your name will then appear on a Wall… on both Lunduke.com & during the end of new Lunduke Journal shows.

Lifetime Discount Runs Through June

For the entire month of June, Lifetime Subscriptions are discounted down to $125 (regularly $300).

How to Grab a Discounted Lifetime Subscription:

There are 3 different ways to pick up a Lunduke Journal Lifetime sub: Locals, Substack, or Bitcoin.

All of them work great and include the same perks. Choose whichever works best for you!

Get a Lifetime Subscription via Locals:

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

  2. Select “Give Once“.

  3. Enter “125“ into the amount field.

  4. After checking out, Lunduke will toss you an email once your account is set to full lifetime status. (This usually happens within a few hours.)

Get a Lifetime Subscription via Substack:

  1. Go to Lunduke.Substack.com/subscribe.

  2. Select the “Lifetime Subscription” option.

  3. After checking out, Lunduke will toss you an email once your account is set to full lifetime status. (This usually happens within a few hours.)

If you would also like full, Lifetime access to Lunduke.Locals.com (which is included):

  1. Make a free account on Lunduke.Locals.com.

  2. Email “bryan at lunduke.com” with the email address you use on both Substack and Locals (can be different email addresses).

  3. Lunduke will toss you an email once your account is set to full lifetime status on Locals.

Get a Lifetime Subscription with Bitcoin:

Bonus: Save an extra $10 with the Bitcoin option, as Bitcoin processing has fewer fees associated with it.

bc1qyjakve8fywm8pz2v99v57yhjj0vzr2vjze6fcq

  • Email “bryan at lunduke.com” with the following information: What time you made the transaction, how much was sent (in Bitcoin), and the email address you use (or plan to use) on Locals.com or Substack.com.

-Lunduke

Read full Article
post photo preview
Lunduke's Week in Tech : June 21 - June 27, 2026

Lunduke’s Thoughts of The Week

This week, like most weeks, was an absolute rollercoaster in the world of Computer News (tm). Organizations banning co-founders. Corporations taking away access to media you’ve purchased. Wild stuff. See all of that below.

But let’s get off the crazy Tech News Rollercoaster for a moment, and talk about something truly inspiring. And, importantly, stupidly fun.

I would like to point you towards FujiNet.

I’ve talked about FujiNet before but, if you haven’t looked at it recently, you owe it to yourself.

It is, in part, a WiFi adapter for a wide array of 8-bit computers. Atari, Tandy Color Computer, Apple II, and DOS. But that really doesn’t do these sweet little devices justice.

Because the FujiNet adapters handle all of the internet protocols on-device, they allow such feats of technical wizardry as… using an Apple II to connect to a modern SSH server running on a Linux host. Wild.

The team behind these amazing little gizmos have been working on two new things lately, both of which brought a tremendous smile to my face.

The first is a series of FujiNet programming manuals, and user manuals, for each supported retro computer platform. What’s more… they took the extra effort of making the PDF manuals use the classic styles of each platform’s own manual.

For example: The Apple II FujiNet “Getting Started” manual is designed to look like the old Apple IIc manual. Same with the Coleco Adam manual.

It’s a little touch… but it really tells you a lot about the love these guys have for these classic machines.

The second thing they’ve been building, is a set of Android emulators, for those retro computing platforms, with built-in emulation of the FujiNet itself. So you can, for example, have a “FujiNet” enabled CoCo… online. Emulated on your Android phone/tablet.

Because the team has taken the time to build online multiplayer games — with versions for each computer — you could use an Android phone to emulate a CoCo and play a multiplayer game with someone on an Atari Lynx.

If you’re interested in this retro computing magic, I recommend following Thomas Cherryhomes on X. He regularly posts goodies related to FujiNet. And, honestly, it’s just too much fun for words.

Biggest Tech Stories - June 14 - June 20, 2026

Here are the major stories from the last week, with direct links to X and Substack.

See Lunduke.com for all other platforms (Rumble, RSS Audio Podcast, etc.).

  • Which Operating Systems Are Refusing to Do Age Verification? (X, Substack)

  • Paid Minimalist Brave Browser? Yes, Please! (X, Substack)

  • Wikipedia Bans Wikipedia Co-Founder For Saying Wikipedia Should be Neutral (X, Substack)

  • XLibre, the “Vanity, Protest Fork” of Xorg, Has Yet Another Major New Release (X, Substack)

  • XFCE’s Wayland “Preview Release” is Horribly, Expectedly Broken (X, Substack)

  • Sony PlayStation Deleting Purchased Movies (X, Substack)

Huge thank you to all of The Lunduke Journal’s subscribers. You make all of this possible.

-Lunduke

 
Read full Article
post photo preview
C64 & Ubuntu 4.10 Walls almost full!

TL;DR

The “Commodore 64” and “Ubuntu 4.10” Lifetime Subscriber Walls will be full within the next day or two. Reminder: Lifetime Subscriptions are massively discounted through end of June (less than 5 days).

14 Retro “Lifetime” Walls! And Counting!

I want to offer a huge “Thank You” to everyone who has picked up a Lifetime Subscription to The Lunduke Journal.

Not only have you directly made it possible for The Lunduke Journal to continue to operate, completely free from Big Tech influence… but those of you who have added your names to the Lifetime Subscriber Walls have sent a loud message to the Tech industry (and the world of Open Source in particular).

14 walls (and counting), filled with the names of normal people, rejecting the crazy Woke politics invading so much of Tech, standing with the work of The Lunduke Journal.

That’s awesome. You are awesome.

For those of you yet to grab your own Lifetime Subscription, they are massively discounted through the end of June (for the next 4 days and change).

Scroll down for the details, grab one, enjoy the perks, and get on the Wall.

Three Retro Lifetime Walls Open

Which means there are 3 Walls currently available to put your signature on:

  • Commodore 64 : Only a few spots left

  • BeOS R5 : 1/2 full

  • Ubuntu 4.10 : 2/3rds full

 

Take your pick. There’s no wrong answer here. Three classic Operating Systems.

Support The Lunduke Journal & Get on The Wall

Grabbing a Lifetime Subscription to The Lunduke Journal — and getting your name on one of the Retro Computer Lifetime Subscriber Walls — is the best way to show your support for truly independent Tech Journalism.

  1. Grab a Lifetime Subscription (1 name on 1 Wall per Lifetime Subscription), scroll down for the links.

  2. Then Email Lunduke (“[email protected]”) with which Retro Computer Wall you would like to appear on (and what name you would like to use).

Your name will then appear on a Wall… on both Lunduke.com & during the end of Lunduke Journal shows.

Note: These fill up crazy fast. We’re talking days, not weeks. First come, first served. If you want to get on a specific Wall, don’t dilly dally.

Lifetime Discount Runs Through June

For the entire month of June, Lifetime Subscriptions are discounted down to $125 (regularly $300).

How to Grab a Discounted Lifetime Subscription:

There are 3 different ways to pick up a Lunduke Journal Lifetime sub. All of them work great and include the same perks. Choose whichever works best for you!

Get a Lifetime Subscription via Locals:

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

  2. Select “Give Once“.

  3. Enter “125“ into the amount field.

  4. After checking out, Lunduke will toss you an email once your account is set to full lifetime status. (This usually happens within a few hours.)

Get a Lifetime Subscription via Substack:

  1. Go to Lunduke.Substack.com/subscribe.

  2. Select the “Lifetime Subscription” option.

  3. After checking out, Lunduke will toss you an email once your account is set to full lifetime status. (This usually happens within a few hours.)

If you would also like full, Lifetime access to Lunduke.Locals.com (which is included):

  1. Make a free account on Lunduke.Locals.com.

  2. Email “bryan at lunduke.com” with the email address you use on both Substack and Locals (can be different email addresses).

  3. Lunduke will toss you an email once your account is set to full lifetime status on Locals.

Get a Lifetime Subscription with Bitcoin:

Bonus: Save an extra $10 with the Bitcoin option, as Bitcoin processing has fewer fees associated with it.

bc1qyjakve8fywm8pz2v99v57yhjj0vzr2vjze6fcq

  • Email “bryan at lunduke.com” with the following information: What time you made the transaction, how much was sent (in Bitcoin), and the email address you use (or plan to use) on Locals.com or Substack.com.

-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