Benjamin Esham

Emoji flags redux

Last summer I wrote an article about the way that the emoji for national flags are represented in Unicode. I lamented that, at least on OS X and iOS, “only ten countries’ flags are available: Japan, South Korea, Germany, China, the United States, France, Spain, Italy, Russia, and the United Kingdom.”

That has changed with iOS 8.3 and OS X 10.10.3, both released on April 8, 2015. The Apple Color Emoji font that comes bundled with these operating systems now includes 198 new flags, according to Emojipedia.

Continue reading…

Soup of Theseus

For dinner last night I made “vegan Cincinnati chili”. I am now prepared to answer the ages-old philosophical question, at least in this specific case: if you start with chili and then replace every single ingredient with something else, you’re no longer making chili.

Leonard Nimoy

He’s not really dead as long as we remember him.

— Dr. McCoy in Star Trek II: The Wrath of Khan

A life is like a garden. Perfect moments can be had, but not preserved, except in memory.

Leonard Nimoy

Like a lot of bookish, introverted kids I identified pretty closely with the character of Spock on Star Trek. Here was someone who felt the same emotions as the rest of us but kept them in check, always making decisions using his head instead of his heart (but still capable of friendship and love). When I was eight or so I announced that I was going to start emulating Mr. Spock: repressing my emotions in favor of cool rationality. I lasted only a couple of days before I decided that forcing myself not to smile wasn’t really that fun.

The attitude stuck with me, though, and if I’m not quite as rational as Mr. Spock I still hold him up as a role model. Leonard Nimoy’s character showed me that there was something to be said for a life lived in pursuit of scientific inquiry, being comfortable with the more primal side of your brain while never allowing it to drive your decisions. This example shaped my personality — or at least crystallized what was already there — and I think I am a better person for that. I thank Mr. Nimoy for taking this odd role so seriously and in so doing, helping me to be more comfortable with myself.

The Inner Loop lives on

Fifty years ago the Inner Loop highway opened in Rochester, New York, encircling (and later defining) the city’s downtown area. Decades of suburbanization later, the eastern part of the expressway was all but unused, serving as little more than a barrier between downtown and the trendier neighborhoods along East and Monroe Avenues. After years of bureaucratic waffling the city decided to fill in the eastern portion of the sunken highway, and on December 2, 2014 — just over two months ago — this part of the street was permanently closed. Google knows this:

The Inner Loop as viewed on Google Maps

Apple does not:

The Inner Loop as viewed on Apple Maps

I’ve been using Apple’s Maps app since it came out. Despite the heated (and not undeserved) criticism of Apple’s data, the app worked fine for me: errors weren’t any more frequent than in Google Maps.1 But the problem with the Inner Loop is worrying — this is a significant part of Rochester’s topography, and while Rochester isn’t a huge city2 it is big enough that Apple should have updated its data by now.

You can help bring this issue to Apple’s attention by going through these steps. Until this oversight is fixed, and I’m more confident that Siri won’t try to direct me onto an abandoned highway, it’s Google Maps for me.

  1. One of the many benefits of living in the U.S. ↩︎

  2. Wolfram Alpha ranks it 107th in the nation by “city population” and 53rd by “urban area population”. ↩︎

How I use Day One

For just over a year now I’ve been using the Day One app to keep a journal (diary) on my phone.1 I started out by recording the traveling I was doing; later I started to treat Day One as a kind of private social-media repository too. The way I use Day One hinges on four important differences from the paper journal I used to use:

My entries in Day One fall into two broad categories. Some of them are the kind of diary entries people have been writing forever: I recount interesting things I’ve done, places I’ve been, or people I’ve talked to, and I discuss whatever’s on my mind. The process of writing often helps me to come to some kind of realization or acceptance; just getting the words out is therapeutic.

The other kind of entry I found myself writing — well, making — is more like the ephemeral fluff you’d see on Instagram or Twitter. I do use Instagram but I don’t have any illusions that other people care what my lunch looked like. Now if I’m eating something noteworthy — or if I see anything else that I want to record but not publicize — I just take a photo and add it to my Day One archive.

A screenshot of a Day One entry with a photo of blueberry pancakes and a description of a dream from the previous night

What I dreamed about and what I had for breakfast: two things that no one else should ever have to read.

Day One provides access to Foursquare’s list of businesses and points of interest, so I use Day One as a replacement for Foursquare too: I “check in” at places just by creating a new entry. It doesn’t even need to have text in it; the metadata says where I am and when. There’s no need to broadcast anything to my friends, much less to everyone on the internet.

The same goes for snippets of text. If one of my friends says something funny that I want to record for posterity, I don’t need to cast their comment into the technically- and socially-ambiguous quagmire called Facebook; I can just record it in Day One. (The metadata of where and when this happened is inserted automatically.) I do the same thing if I have an interesting dream, or if I suddenly remember an anecdote that’s worth writing down.

I don’t share my life in public all that often, and when I do I try to make it an honest, meaningful expression of myself. “Posting” the more mundane stuff to Day One instead means that I preserve a lot of memories that would otherwise have just been slowly forgotten.3

  1. I also use the Mac and iPad versions of Day One, but in different ways from the iPhone version. I use the Mac version mostly when I want to write a long entry with a physical keyboard. I use the iPad version if I want to write a long entry and I don’t have my Mac; it’s also the best interface for browsing and reading old entries. ↩︎

  2. Whether you were you stationary, walking, running, riding in a car, etc. (I don’t know who’s making journal entries while they’re running but it’s not me.) ↩︎

  3. Like tears in rain. ↩︎

Powers of $10

Earlier this year a group called the Particle Physics Project Prioritization Panel published its recommendations on how the government’s particle-physics money should be divided over the next ten years. The budgets aren’t known that far in advance, so the panel considered three funding scenarios: A, B, and C, with A the most austere and C the most generous. I want to draw attention not to the details of the projects but merely to the dollar amounts being discussed:

Scenario B has about $30 million a year more than scenario A until 2018, and then the gap grows, reaching $95 million in 2024. Summed over the decade, the difference comes to $500 million. With the annual DOE budget for high-energy physics hovering around $750 million, the difference between the two scenarios may seem small. But, says [P5 chair Steve] Ritz, “the bang for the buck for the investment is huge.”

Under scenario A, not only would the Dark Energy Spectroscopic Instrument be sacrificed, but R&D for dark matter and other experiments would get reduced funding and the long-baseline neutrino experiment would progress more slowly. “As valuable as each of these items is, they simply do not fit in Scenario A,” the report says.

(This quote comes from a Physics Today article by Toni Feder.)

So at least one project, DESI, would live or die by a difference of $50 million per year. In units that might be more familiar to the tech industry, the difference is 0.05 Instagrams — or 2.6 × 10−3 WhatsApps.

In a Wired profile of Slack founder Stewart Butterfield, Mat Honan wrote,

He admits that if the right offer comes along, the kind of offer that only three or four companies in the world could come up with, he would have to jump. But what is that? Five billion? Seven? Ten? It’s hard to know, because in Silicon Valley today, money has lost all meaning and value. It is an abstract construct that can be exchanged for homes and Teslas and handmade selvedge denim jeans flown in from Japan, but nobody really has any idea what constitutes “a lot” anymore.

I know I’d love to see some of that lucre flow back upstream to the people and institutions that made all of this technology possible in the first place.1

  1. Of course, physics research is not the only thing that is being underfunded compared to messaging apps. Humanitarian aid, for one, is even more important. ↩︎

How to get MathJax and Bigfoot to work together

This website uses a script called Bigfoot to make fancy pop-up footnotes. It also uses MathJax to render attractive mathematical expressions like this:

If you try to include math markup in a Bigfoot footnote, though, then the math will just disappear; you need to do some extra configuration to get the two scripts to play nicely. Here’s what I came up with.

Continue reading…

Unicode’s encoding of national flags is just crazy enough to work

Version 6.0 of the Unicode standard, released in October 2010, added support for emoji. Aside from the classics like 😃 (SMILING FACE WITH OPEN MOUTH), 👍 (THUMBS UP SIGN), and 💩 (PILE OF POO),1 the standard also included several national flags like these:

🇺🇸 🇩🇪 🇬🇧 🇯🇵 🇮🇹

In fact, the standard included every national flag, and in a way that won’t require the standard to be changed when new countries come into being. How did the Unicode Consortium pull this off?

What they did is both crazy and genius. Instead of assigning a codepoint to each flag, which is the obvious way to do it (and the way the rest of the emoji are encoded), the standard defines twenty-six “regional indicator symbols”, from U+1F1E6 REGIONAL INDICATOR SYMBOL LETTER A to U+1F1FF REGIONAL INDICATOR SYMBOL LETTER Z. In order to include a country’s flag in your text, you first look up the country’s two-letter ISO 3166-1 code and then write the two regional indicator symbols corresponding to those letters. A font with support for that flag treats the two-codepoint sequence as a ligature, replacing the combination with a single pictogram.

Let’s take the United States as an example. Its ISO 3166-1 two-letter code is “us”, so we need to use the codepoints U+1F1FA REGIONAL INDICATOR SYMBOL LETTER U and U+1F1F8 REGIONAL INDICATOR SYMBOL LETTER S. Combining these gives a symbol that renders in your browser as 🇺🇸.

Note well, though, that it’s entirely up to the font designer to decide which flags will be supported. As of this writing, Canada’s flag, which would be encoded as U+1F1E8 U+1F1E6 (for “ca”), is not included in any font available on my computer. (In fact, only ten countries’ flags are available: Japan, South Korea, Germany, China, the United States, France, Spain, Italy, Russia, and the United Kingdom.) Trying to include an unsupported flag in your text gives you some ugly placeholder instead, like “🇨🇦” for Canada.

This encoding scheme seems a little wacky at first, but it lets the Unicode Consortium completely avoid the issue of who gets to be a country and who doesn’t. Some ISO committee is responsible for assigning the two-letter codes and the type foundry is responsible for drawing the flag and actually including it in the font. If your brand-new nation — or Canada, I guess — doesn’t get its own twee icon, that’s not Unicode’s fault.

For developers, this encoding scheme is yet another reminder that bytes in a string and glyphs on screen are two completely different animals. Take again our United States example. It uses two codepoints, U+1F1FA U+1F1F8, which in UTF-8 would be encoded as

F0 9F 87 BA F0 9F 87 B8

Eight bytes for something that’s rendered as a single character!

  1. Unicode 6.0 also specified that every blog article dealing with emoji must use the pile of poo as an example. ↩︎

“Now all of us make ones and zeros” 

In an IAmA interview on Reddit, OK Go lead singer Damian Kulash was asked, “Do you worry that your amazing video work could overshadow your audio work?” His answer is a thoughtful take on how creative people work today.

See, the question you’re asking basically masks a way of thinking about creativity (or, more accurately, people’s creative careers) that seems… stuck in another century, I guess. That’s the idea that creativity and creative people are supposed to stay in particular boxes that were defined by the way our products used to be distributed. It used to be that music and film and video games and journalism were actually very different physical objects with industries built around selling and distributing them. Now all of us make ones and zeros.

(For a sample of that amazing video work, check out the band’s new video for “The Writing’s on the Wall”.)

The audacious rescue plan that might have saved space shuttle Columbia 

I meant to link to this months ago: Lee Hutchinson at Ars Technica has written a gripping account of how the rescue of Columbia might have played out, had NASA realized how much damage had been done to the shuttle’s wing. His source material is the report of the Columbia Accident Investigation Board, which apparently includes a detailed analysis of how the shuttle Atlantis might have been scrambled to retrieve the crew of Columbia. Someday, this could make a thrilling movie.

The Swift programming language 

Apple announced a lot of cool stuff at yesterday’s WWDC keynote, but for me the most immediately exciting one was a new programming language called Swift, intended to replace Objective-C for OS X and iOS development. It has been in the works since 2010, according to its primary author, Chris Lattner. He says that it draws ideas from “Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list”. I’m reading through the iBook version of the manual now, and I’m excited to start playing around with the language!

Comparing the soundtracks of “Man of Steel” and “Superman: The Movie” 

After Man of Steel came out last summer, David Chen at Slashfilm made this video comparing Hans Zimmer’s main theme for that movie with John Williams’s main theme for 1978’s Superman. I listened to the Man of Steel soundtrack last week at work when I needed some understated background music — I couldn’t have done that with the Superman soundtrack! They’re totally different approaches musically, but the movies too are different approaches.

Decentralizing social networks

In “The Internet with a Human Face”, a talk he gave at Beyond Tellerand, Maciej Cegłowski discusses computers’ perfect memories, government surveillance and private data collection, the bullshit business model most web startups are using, and the need for decentralization. I’m going to go into more detail on this latter topic.

Cegłowski is talking about decentralization in the context of moving away from “one size fits all” social services like Facebook and Twitter. His main objection to all of us putting all of our eggs in the same few baskets is that it makes government surveillance trivially easy.

If these vast databases are valuable enough, it doesn’t matter who they belong to. The government will always find a way to query them. Who pays for the servers is just an implementation detail.

He’s right that decentralization is something we need to aim for. But decentralization requires interoperability, and that’s going to require a sea change in the way social networks operate.

Continue reading…

New domain (same great orangey taste)

I’ve moved this site from to the more svelte — it’s 50% fewer characters! All old URLs (including the Atom feed) should continue to work; they’ll just redirect to the new domain. If you notice anything wonky please let me know.

Military infographics 

Paul Ford has spent a lot of time trawling through public presentations from the U.S. military. Like any other massive bureaucracy, they have made some truly inscrutable diagrams.

This is a graphic that defines a way of describing anything that has ever existed and everything that has ever happened, in any situation. The United States Military is operating at a conceptual level beyond every other school of thought except perhaps academic philosophy, because it has a much larger budget.

(Via Daring Fireball.)

An interview with George R. R. Martin 

Mikal Gilmore at Rolling Stone has a great interview with George R. R. Martin. Unsurprisingly Martin has some smart things to say about war, power, and our natural good and evil.

Look at a figure like Woodrow Wilson, one of the most fascinating presidents in American history. He was despicable on racial issues. He was a Southern segregationist of the worst stripe, praising D.W. Griffith and The Birth of a Nation. He effectively was a Ku Klux Klan supporter.

But in terms of foreign affairs, and the League of Nations, he had one of the great dreams of our time. The war to end all wars — we make fun of it now, but God, it was an idealistic dream. If he’d been able to achieve it, we’d be building statues of him a hundred feet high, and saying, “This was the greatest man in human history: This was the man who ended war.” He was a racist who tried to end war. Now, does one cancel out the other? Well, they don’t cancel out the other. You can’t make him a hero or a villain. He was both. And we’re all both.

Two related pieces are also worth reading: the “outtakes” from the interview and a piece by Robert McGinley Myers in which he passes along a great bit of perspective from physicist Janna Levin.

Bring back the guillotine 

I’m firmly against the death penalty but Conor Friedersdorf has a perversely logical point here:

I can imagine one objection: that the guillotine is barbaric. But to me, that’s a point in its favor. Let’s have no illusions about what we’re doing when the state carries out the killing of captive prisoners. I imagine support for the death penalty would decline rather quickly once heads started rolling.

(Via Paul Kafasis.)

Programming sucks 

Peter Welch seems to have had a more frustrating programming career than I have — so far, anyway — but this all still rings true:

Would you drive across this bridge? No. If it somehow got built, everybody involved would be executed. Yet some version of this dynamic wrote every single program you have ever used, banking software, websites, and a ubiquitously used program that was supposed to protect information on the internet but didn’t.

Am I morally obligated to pursue a career in medicine? 

At the Philosophy Stack Exchange site, David Zhang asks a question I have also asked myself, especially when I was deciding what to do after college.1 I implicitly answered “no” by continuing to study physics and then becoming a software engineer, but I’m not sure I ever really looked the question square in the face and said, “No, I don’t need to become a doctor to do good in the world”. Luckily for me, the answers to David’s question tend to support that idea.

  1. It didn’t help that I was spending three hours a day watching House. ↩︎

The complex dynamics of wishful thinking 

Marcial Losada wrote three journal articles — in 1999, 2004, and 2005 — which seem like they should have revolutionized the fields of psychology and sociology. In the first paper he demonstrated how the Lorenz equations (which describe the behavior of fluids) can also describe human emotions, with the spatial dimensions x, y, and z replaced with “inquiry–advocacy”, “other–self”, and “emotional space”. Of course, people who know how math works have alarm bells going off in their heads right about now, and correctly so, according to this paper:

We shall demonstrate that each one of the three articles is completely vitiated by fundamental conceptual and mathematical errors, and above all by the total absence of any justification for the applicability of the Lorenz equations to modeling the time evolution of human emotions. (Furthermore, although the second and third articles rely entirely for their validity on the presumed correctness of their predecessors — which, as we shall demonstrate, is totally lacking — we nevertheless invite the reader, at each stage, to assume for the sake of argument the correctness of the preceding article(s); in this way we are able to explain more clearly the independent flaws of each of the three subject articles.)

The article, which was published in American Psychologist in December, is well worth the short read. The authors exercise the utmost professionalism as they calmly kick the shit out of this pseudoscientific blather.