department of hack
947 stories
·
16 followers

RFC-20

1 Share

by Darius Kazemi, Jan 19 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

ASCII

RFC-20 is another Vint Cerf RFC, dated October 16, 1969. This is 13 days before the first message will be sent over the ARPANET.

I've been waiting for this RFC. I love this RFC.

Technical content

This requires a bit of background before I get into the RFC itself.

Character encoding

This RFC is about character encoding, so, what's character encoding?

Well, computers store numbers. That's all they do. Everything on a computer, when you drill down deep enough, is a number stored in memory somewhere. And yet we use computers to deal with written text all the time. This means that somewhere in the computer there has to be an understanding that the letter “A” is this number, “q” is that number, and so on. That's all a “character encoding” is.

The problem with ARPANET is that there was no guarantee that the letter “A” on one computer would be represented by the same number on another computer. So without some kind of agreed upon standard, I could be sending “hello” to your computer, but your computer would read it as “ifmmp”.

ASCII is the agreed-upon standard. It is the “American Standard Code for Information Interchange”, and was formalized as an information encoding standard in 1963 (although first proposed in 1961). The reason for ASCII goes back to Morse Code and telegraphs. Morse Code only allowed for uppercase A through Z and the numbers 0 through 9. There wasn't even a “period” allowed, which is why old-timey telegraph messages look like this:

THIS IS THE FIRST SENTENCE STOP THIS IS THE SECOND SENTENCE STOP

People wanted lowercase letters. They wanted punctuation. This led to many, many newer standards. Telegraph standards led to to teletype standards which ended up getting used by computers (since teletype was a primary input/output device for computers before monitors and keyboards).

By 1963 there were over 60 different encodings used by computers. ASCII was developed to provide a standard for this. President Johnson signed a memorandum saying US federal computers needed to use ASCII to communicate in 1968. Since ARPA was a military network, ASCII the only real choice for the job. From the memorandum:

All computers and related equipment configurations brought into the Federal Government inventory on and after July 1, 1969, must have the capability to use the Standard Code for Information Interchange and the formats prescribed by the magnetic tape and paper tape standards when these media are used.

The original content

This document is actually just a single paragraph written by Cerf. The remainder of the document is an attachment of what is presumably the official ASCII standard.

The part that Cerf writes explains that they are using the 7-bit ASCII encoding, meaning an ASCII character on an 8-bit computer looks like this in binary:

0010 0000

That first bit on the far left is always 0. We have to store the number in 8 bits of memory because it's an 8-bit computer, meaning the smallest amount of data we can work with is 8 binary bits. So the first '0' is just cruft. We only care about the remaining 7 bits on the right. This lets us represent 128 different characters because there are 128 different combination of 0's and 1's you can make with 7 bits.

Importantly, different computers have to follow this standard for what everything means except for special characters such as the end-of-line character. (More on this in the “Analysis” section.)

The remainder of the RFC is the attached ASCII standard.

The attached standard

It's worth reading the scan of the document rather than the transcribed document that I link above, because the table is much clearer:

An image of the table

This table of values that says what number corresponds to what character. It's a little confusing at first because it doesn't just tell you the number straight away — in the interest of saving space and having it all printed out in a single sheet, it's a table where the columns represent the value of the first 3 binary bits and the rows are the last 4 binary bits. So the column labeled “010” and the row labeled “0110” give you 010 0110, which is the encoding for the letter capital “F”.

Interestingly, there is a pronunciation guide here! The anonymous government author takes care to note that ASCII is pronounced “AS-key” and USASCII as “you-SAS-key” (in the document itself an apostrophe is used to denote syllabic emphasis; I prefer caps).

Analysis

The choice of this encoding has made ASCII-compatible standards the language that computers use to communicate to this day.

Even casual internet users have probably encountered a URL with “%20” in it where there logically ought to be a space character. If we look at this RFC we see this:

   Column/Row  Symbol      Name

   2/0         SP          Space (Normally Non-Printing)

Hey would you look at that! Column 2, row 0 (2,0; 20!) is what stands for “space”. When you see that “%20”, it's because of this RFC, which exists because of some bureaucratic decisions made in the 1950s and 1960s.

Remember that whole thing about a HOST providing custom definitions for stuff like its end-of-line character? If you are a computer programmer you've almost certainly hated having to deal with different end-of-line encodings in different operating systems and documents. Well, by my analysis you are pretty much looking at the source of your problems when you read this RFC. My condolences.

Further reading

The Wikipedia article for ASCII is pretty good. This Engineering and Technology History Wiki is better.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm a Mozilla Fellow and I do a lot of work on the decentralized web with both ActivityPub and the Dat Project.

Read the whole story
brennen
4 hours ago
reply
Boulder, CO
Share this story
Delete

Photo

3 Shares


Read the whole story
brennen
1 day ago
reply
Boulder, CO
Share this story
Delete

Photo

4 Shares


Read the whole story
brennen
4 days ago
reply
Boulder, CO
Share this story
Delete

Der Spiegel Made Up Stories. How Can It Regain Readers’ Trust?

1 Comment and 4 Shares

BERLIN—On the Wednesday before Christmas, Christoph Scheuermann apprehensively called up a 99-year-old former member of the anti-Nazi resistance who had been imprisoned during World War II. The Washington bureau chief of Der Spiegel, a German news magazine, needed to ask her a question no journalist wants to reckon with: Did his colleague, a now-disgraced star reporter, invent an interview with her?

“It was the most excruciating call,” Scheuermann told me. “I had to call this heroine in Germany after the war and ask her, you know, do you know this man, have you ever met him?”

Spiegel—and the German media world writ large—is still reeling from German journalism’s biggest scandal in its modern history: Claas Relotius, a 33-year-old Spiegel writer who was long the envy of his peers, fabricated part or all of many of his biggest stories. His perfectly crafted articles from the United States and elsewhere were, it has become clear, literally too good to be true.

[Jamie Kirchik: Germany’s leading magazine published falsehoods about American life]

The Relotius incident has prompted self-reflection among German journalists: Spiegel is considered the gold standard among media organizations here, with a prestige that extends far beyond Germany and a supposedly airtight fact-checking department. One of Europe’s leading news magazines and known for its investigative journalism, Spiegel also translates many of its articles into English to reach a broader international audience.

So if a scandal like this can happen at Spiegel, many have wondered, what does that mean for everyone else? And what kinds of questions does Relotius—whose evocative prose was so admired that Spiegel editors called it the “Relotius sound”—raise about the merits and pitfalls of narrative journalism and foreign correspondence more broadly?

Spiegel isn’t the first high-profile news organization with a staffer who partially or fully made up stories: Over the past two decades, The New York Times, The New Republic, and USA Today, among others, have faced similar challenges to their credibility. But Spiegel’s reckoning comes at a time when trust in media is perilously low—and it presents a case study for how a news organization attempts the tall task of regaining reader trust in the age of so-called fake news.

The German outlet broke the news of the scandal itself on December 19. In a more than 6,000-word exposé, the since-suspended editor in chief, Ullrich Fichtner, outlined the scope and range of Relotius’s fabrications as well as how a colleague had discovered them. “These revelations come as a deep shock to everyone at Der Spiegel—the editorial staff, the research and fact-checking department, the business side and everyone who works here,” he wrote. “We are all deeply shaken.”

The next day, Scheuermann found himself on a plane to Fergus Falls, Minnesota, the setting for some of Relotius’s most elaborate lies. Relotius had spent more than five weeks living there for a feature story on a small town in Donald Trump’s America; in the wake of the scandal, two local activists, Michele Anderson and Jake Krohn, offered a point-by-point rebuttal of Relotius’s inaccuracies.

Many of the Spiegel journalist’s falsehoods, including those from Fergus Falls, exploited stereotypes of Trump voters as backwards, provincial, and ignorant. His dispatch from Minnesota included characters and details such as a gun-toting city administrator who had never seen the ocean, a sign in town reading Mexicans Keep Out, and a local movie theater that continued to play the movie American Sniper years after its release. (None of these things turned out to be true.)

[Read: Why Europeans turned against Trump]

Fergus Falls was “one of the places where you can really see, hear, and smell what impact a lie and fabrication can have on a small community,” Scheuermann told me.

His job there was twofold, as the resulting article demonstrated: to tell the real story of a town that had been completely mischaracterized and felt wronged in the eyes of the international community, yes, but also to apologize for the damage his organization had done. When he sat down with Anderson and Krohn, Scheuermann said, “I soon realized that it’s just not enough to do what I always do and just ask questions, try to write a story that’s as close to reality as possible—but also that there is a need to apologize.”

Since Scheuermann’s trip, Spiegel has continued tracking and writing about the scandal, with many of the pieces also translated into English for its audiences beyond Germany. The organization published an open letter to readers from its top editors, posted lists of all Relotius’s published articles, and interviewed the Spiegel staffer who first uncovered the fabrications. The magazine’s first issue after the story broke devoted significant space to the scandal, with the cover reading, “Sagen, was ist,” or “Tell it like it is.” And when it came out that Relotius had reportedly embezzled donations he had asked for on behalf of a Syrian family—a charge Relotius has since deniedSpiegel filed a criminal complaint against him.

In today’s political environment, it’s of course easy to see why Relotius is so harmful: Lawmakers from the far-right Alternative for Germany party, whose supporters have long decried the so-called Lügenpresse (“lying press”), immediately pointed to the incident as proof that Spiegel was untrustworthy. And Richard Grenell, the U.S. ambassador to Germany, accused Spiegel of anti-American bias in a letter to its new editor in chief, Steffen Klusmann (a charge the magazine and its editors have emphatically denied).

[Read: Europeans are obsessed with the U.S. midterms]

“It couldn’t happen at a worse time,” said Lucas Graves, the director of research at the Reuters Institute for the Study of Journalism at the University of Oxford. “Trust in the press is much easier to tear down than to build up.”

With Spiegel still conducting an internal investigation into Relotius’s work, it could be months before the full effects of the scandal become clear. The organization has appointed three journalists—two Spiegel staffers and one outside expert—to document the full extent of his deceptions, how they were allowed to happen, and what Spiegel needs to do differently going forward.

After The New York Times’ Jayson Blair was fired for making up stories in 2003, the newspaper published a similarly in-depth explanation of the case; it also installed the paper’s first-ever public editor, a role intended to listen to reader feedback and take a critical look at the organization’s coverage. In addition to Blair, the paper’s then–executive editor, Howell Raines, was ousted.. Such a departure is unlikely at Spiegel, mainly because a new crop of senior editors—who had been appointed before the scandal broke—took the helm on January 1. Still, Fichtner and another senior editor, Matthias Geyer, have been suspended until the Relotius investigation is complete.

As Spiegel and other organizations ponder changes to fact-checking and editing, the difficulty is that fabrication cases are (to news organizations’ knowledge, at least) exceedingly rare: It doesn’t make sense to overhaul an entire system to weed out people like Relotius, said Josef Joffe, a member of the editorial council for the German newspaper Die Zeit.

“We could not put together a paper or magazine unless we trusted our colleagues,” Joffe told me. “If we had a Stasi or KGB wandering through every line we wrote, we couldn’t do what we do.”

At the same time, making sure readers understand how Spiegel’s journalists do their job could give them greater confidence that the organization is doing its due diligence. “Most members of the general public do not know how journalists know what they know; they don’t know much about journalistic process or journalistic methods,” said Ruth Palmer, a communications professor at IE University in Madrid. As a result, Spiegel needs to “be as transparent as possible about their processes, and more proactively try to educate the public about how they know what they know and how they go about vetting information.”

On that day in December, Traute Lafrenz, the last survivor of the Nazi-resistance group the Weiße Rose, or “White Rose,” told Scheuermann that she had indeed met with Relotius at her home in North Carolina last year. Relotius’s story resulting from their interaction, however, was riddled with fake quotes and mischaracterizations.

“This was incredibly embarrassing, and already a sign there was much more to come,” Scheuermann said. The image of Spiegel has been shaken even for those who work there, he added. “We’re not this know-it-all, authoritative magazine that we sometimes pretend to be.”

Read the whole story
brennen
4 days ago
reply
Boulder, CO
iridesce
7 days ago
reply
nj
Share this story
Delete

Why I still have a custom-compiled Firefox (early 2019 edition)

1 Comment

For years, I've had a custom-compiled version of Firefox with various personal modifications, generally built from the current development tree. The number of modifications has fluctuated significantly over time; when I first wrote about my history of custom-compiling Firefox in this 2012 entry, it was probably my minimal point for modifications. These days my version has added significantly more changes from the stock version, in larger part due to Firefox's switch to WebExtensions. The somewhat unfortunate thing about this increase in changes is that having this custom Firefox is now more than a little bit important to get the Firefox user interface I really want. Abandoning my custom-compiled Firefox would be something that I'd definitely notice.

The largest set of changes are to deal with Firefox irritations and limitations. In the irritations department, I modify Firefox's current media autoplay code to turn off autoplay for a couple of things that Firefox doesn't otherwise allow you to stop (bare videos and videos with no audio track). In the limitations department, I add a couple of new WebExtensions APIs, which turns out to be surprisingly easy; one API provides 'view page in no style', and the other provides an API to open your genuine home page (as if you did Control-N), which is not otherwise possible in standard Firefox.

(A WebExt can open about:home, but that is actually about:newtab, not your genuine home page. My actual home page is a file: URL, which can't be opened by WebExt addons.)

My longest standing change is customizing how Firefox's remote access works, which these days also has me customizing the DBus remote control. The current development tree for Firefox seems to go back and forth about whether DBus should be used under X, but I cover my bases to be sure.

For extremely historical reasons I change the Delete key to act like the Backspace key in HTML context. This is probably surplus now, because several years ago I stopped swapping Backspace and Delete so now the key I reflexively hit to scroll the page up generates a Backspace, not Delete. Anyway, these days I often use Control-Space instead, because that works even in stock Firefox setups.

(This is about:config's browser.backspace_action setting, and I don't think it's exposed in the Preferences UI any more. I don't think I'm quite up to abandoning Backspace entirely just yet, though.)

I modify Firefox's standard branding because on the one hand, I don't want my builds to be called 'Nightly' in window titles and so on, and on the other hand I don't want them to use the official icons or otherwise actually be official builds. I also turn out to have some small changes to the default preferences, in the all.js file. I could probably do most or all of these in my own prefs.js; they linger in all.js due to historical inertia. Finally, a few years ago I did a little about the mess that is Firefox's certificate manager UI by changing Firefox's name for 'private tokens' from 'Software Security Device' to the generally more accurate 'Locally Stored Token'. I'm not sure this genuinely improves things and perhaps I should drop this change just to be more standard.

(I used to manually modify my certdata.txt to remove various CAs that I didn't like, but these days I've concluded it's too much work and I use the stock one.)

Building Firefox from source, even from the development tree, does have some potentially useful side effects. For a start, custom built versions appear not to report telemetry to Mozilla, which I consider useful given Mozilla's ongoing issues. However it can also have some drawbacks (apart from those inherent in using the latest development tree), which is a matter for another entry.

As a side note, it's interesting to see that back in my 2012 entry, I'd switched from building from the development tree to building from the released source tree. I changed back to building from the development tree at some point, but I'm not sure exactly when I did that or why. Here in the Firefox Quantum era, my feeling is that using the development tree will be useful for a few years to come until the WebExts APIs get fully developed and stabilized (maybe we'll even get improvements to some irritating limitations).

(It's possible that I shifted to modifying and regularly updating the development tree because it made it easier to maintain my local changes. The drawback of modifying a release tree is that it only updates occasionally and the updates are large.)

Read the whole story
brennen
10 days ago
reply
At first I was like Jesus, why would you do that, but then I thought about it more and was like oh yeah, custom builds of flagship software used to be a fairly reasonable way to go about things and when did I get completely out of that habit? Like when was the last time I actually configured & built a kernel for non-day-job reasons?
Boulder, CO
Share this story
Delete

Marsiforming

1 Comment
It has so many advantages--it preserves Martian life, requires fewer interplanetary launches, and makes it much easier to field-test Mars rovers.
Read the whole story
brennen
12 days ago
reply
I mean honestly it kinda seems like we're making good progress on this front.
Boulder, CO
Share this story
Delete
Next Page of Stories