IT don’t come easy

Currently in the news, as I write this: the personal data of nearly all American voters was accidentally leaked by Deep Root Analytics, a conservative marketing firm employed by the Republican party, specializing in targeting political ads.

It is only the latest (and largest) in a seemingly endless stream of stories about accidental leaks of sensitive data online.

It isn’t that computer security is hard – at least, not compared with other kinds of engineering challenges, such as building a bridge that won’t fall down. Paradoxically, the problem is that programming is so easy.

Never mind that programmers often get called “wizard” and “genius” – that’s only occasionally true. The fact is that most programming is dead easy. Indeed the ease of creating working software is the very reason for the technology revolution we’ve been living through these past few decades. Remember when HTML was new and suddenly everyone and their dog had a web page because it was so easy? Programming is like that, but for making machines do useful work.

Not all programming is easy of course. Some of it is quite tricky – like computer security. But because so much of the rest of programming is so easy, most software engineers never develop the habits of rigor and precision that in other fields are simply the price of admission. The result: incompletely tested code full of exploits, best practices not followed and oftentimes not even known about, and your personal data and mine secured by the digital equivalent of Barney Fife.

Man oh man

When it comes to man-making, we are now two for two.

This particular man showed up thirteen years ago today. He has used that time to become an athlete, a dancer, and a multi-instrumental musician. As a student he’s curious, eager, and attentive. He’s a dutiful son and a loyal friend. He is full of intelligence, wit, and compassion. He makes it all look effortless, but we know the hard work that he cheerfully puts into it all.

The secret of our success in raising such a praiseworthy person? Set a good example. But Archer has far exceeded any example we could set. We now strive to live up to his example.

Oppose Gorsuch

[My letter to Senator Dianne Feinstein, ranking member of the Senate Judiciary Committee.]

Dear Senator Feinstein,

As a longtime constituent of yours, I urge you to block and oppose the nomination of Neil Gorsuch to the Supreme Court with all means in your power.

In just two short months, the Trump administration has become more scandal-plagued than any other in this country’s history. Multiple Trump appointees or nominees are under clouds of suspicion or investigation. Trump himself has been openly flouting at least one constitutional law since the moment he swore his oath of office, and his executive orders are repeatedly found to be unconstitutional themselves. In short he exhibits contempt for the Constitution, not to mention the people and institutions of this great nation.

Gorsuch’s qualifications are irrelevant to this point: this President must not be permitted to place a justice on the Supreme Court. This would be true even if the GOP had not cynically and arbitrarily raised the bar last year for when presidents may nominate justices. Whether a lame duck president should be permitted to or not, surely an impeachable one, of demonstrably poor judgment in people, and plainly inimical to most of what America is about, mustn’t.

Trypod

I’ve been asked more than once about the podcasts I listen to during my commute. There are a lot of them, and I can barely keep up with new episodes even when I listen to them at 1.5x normal speed (which I do routinely, so that if I ever happen to hear e.g. Ira Glass or Terry Gross at normal speed, it sounds like brain damage).

Now it’s #trypod month, when lots of podcasts are imploring listeners to spread the word about which podcasts to listen to and how to find them, for those who aren’t yet indoctrinated. So here’s an annotated list of my current subscriptions. For the record, I listen to these shows using the BeyondPod Android app on my phone.

The “Do the Math” Puzzler
Short-and-sweet math puzzles by my good friend Wes Carroll, each at just the right difficulty level — I can just manage to do most of them without pencil and paper, if I push myself — and with an elegant solution presented clearly and edifyingly in the following episode.
Dan Carlin’s Hardcore History
History, in-depth and amazingly told. Carlin’s episodes appear only seldom, and when they do they are hours long apiece — and even so, they go by too fast. Of special note is his magisterial six-part series on World War I, “Blueprint For Armageddon” (at this writing, still available for free). It adds up to nearly a full day of listening but not only does it never gets boring, it’s full of drama and suspense and leaves you wanting more.
This American Life
The éminence grise of excellently told miscellaneous radio stories.
Fresh Air
The éminence grise of interviews with celebrities, politicians, and other newsmakers.
Planet Money
Topics in economics made accessible and fun. Not quite as indispensable as it was during the financial crisis.
Radiolab
Superb storytelling on fascinating topics in science.
99% Invisible
Vignettes about design from Roman Mars, the brains behind the Radiotopia podcasting empire.
Scriptnotes
Two veteran Hollywood screenwriters with a terrific bantering dynamic discuss screenwriting and things that are interesting to screenwriters, and also to anyone who loves the nuts and bolts of storytelling and filmmaking. This is the one I look forward to most each week.
the memory palace
Small, true stories of the nearly forgotten past, each related as an impressionistic reverie.
The Moth
Podcast of the live-storytelling-show phenomenon.
StartUp
Podcast about getting businesses off the ground. The first season concerned the launch of Gimlet Media, the very company producing the StartUp podcast.
Serial
Podcasts had been around for quite a while before Serial, but Serial put podcasting on the map. Its format – a season-long deep-dive into a single news story – became a national phenomenon.
Radiolab Presents: More Perfect
Side project from the Radiolab team (see above) telling surprising stories from the history of the U.S. Supreme Court.
The Truth
Each episode is a short radio drama. Some are silly, some are disturbing, many will stick with you.
Slate’s Working
Each episode is an interview with a person in a different profession, examining what working in that profession is like.
My Dad Wrote a Porno

When one guy learned his dad had written a series of truly cringeworthy erotic novels, he did the obvious thing: got together with his two hilarious friends and recorded a podcast. In each episode he reads another chapter to them, and us, from the series, while the friends provide MST3K-like commentary. Very NSFW, but not what you’d call arousing.

This podcast is apparently all the rage in Hollywood, and the more recent episodes have featured guest appearances by celebrities like Daisy Ridley and Elijah Wood.

Welcome to Night Vale
I’ve heard this hilarious podcast described, accurately, as “Stephen King meets A Prairie Home Companion.”
The Allusionist
Helen Zaltzman, of the long-running Answer Me This podcast (see below), hosts this one too on the topic of words and etymologies. Her persona on this show is toned down somewhat from Answer Me This, but still quite funny.
You Must Remember This
Juicy and well-researched stories from “the secret and/or forgotten histories of Hollywood’s first century.”
Ask Me Another
NPR’s comic trivia-puzzle game show hosted by Ophira Eisenberg and nerd-music god Jonathan Coulton.
Revisionist History
Malcolm Gladwell’s podcast miniseries about well-known news stories of the past, and the surprising turns they took after everyone stopped paying attention.
Hidden Brain
NPR’s social science reporter Shankar Vedantam does Radiolab-style deep dives into topics on human behavior.
Getting In
Now-concluded, highly informative podcast about the college admissions process hosted by Julie Lythcott-Haims, the former dean of freshmen at Stanford University.
Within the Wires
Serialized scripted mystery/thriller from a creator of “Welcome to Night Vale.”
Answer Me This
Long-running British podcast whose hilarious (and often dirty-minded) hosts answer questions of all sorts posed by listeners.
Homecoming
Serialized scripted thriller featuring big-name acting talent.
Crimetown
The saga of organized crime in Providence, Rhode Island in the 1970’s.
The Gist
Rapid-fire thinker and talker Mike Pesca hosts a daily discussion of topics in the news, plus interviews.
How To Be Amazing
Actor and comedian Michael Ian Black hosts his own interview show featuring fellow actors, artists, writers, musicians, and more.

Conspirators into stumblebums

On the twentieth anniversary of the Watergate break-in, reporter Daniel Schorr gave the following account on NPR. I find it more than a little relevant today and have added some emphasis below.

One consequence [of Watergate] was to tear down the majesty of the presidency. No nation could see a president who lied, spied, wire-tapped, spoke obscenities and plotted to thwart the justice he was sworn to uphold and retain its faith in the institution. Ensuing “Gates” – White House scandals – came as shocks, but no longer as surprises. If America today has turned against its government, equating incumbency with guilt and inexperience with innocence, you can trace that back to Watergate.

A pity, because one lesson of Watergate is that the lumbering machinery of government worked. More than the press, it was the much-maligned bureaucracy and Congress and the courts that broke the cover-up: the FBI that refused to lie down and play dead; the assistant attorney general, who refused to be the president’s patsy; the Senate committee that laid the groundwork for impeachment; the federal judge who pursued the higher-ups of convicted Watergate burglars.

Since then, government and judiciary have been increasingly politicized. One wonders if today it could prevent a coup from the top. For that, it is not generally realized, was what was in the making. More sinister than what President Nixon did was what he planned to do after winning landslide re-election despite Watergate. The files and tapes disclosed his plans to centralize power in a “super Cabinet” with White House agents like political commissars riding herd on the departments.

The White House would have its own intelligence and surveillance operation. The full power of government would be turned on Nixon’s enemies. “They are asking for it, and they’re going to get it,” Nixon told John Dean. “We have not used the power in the first four years, but things are going to change now.” The nation was saved from that by the government it disdained, and the press it despises, and by whatever providence it is that makes conspirators into stumblebums.

Nixon was smarter than Trump, and had long experience in national politics, and still was thwarted in his ambition. By that measure we need only a little of that providence Daniel Schorr mentioned to work on our behalf. Let us pray that it’s still in operation.

(Daniel Schorr’s report © National Public Radio. I am grateful to NPR’s Audience and Community Relations department for unearthing this transcript for me.)

Engage

You wouldn’t know it from the level of our public discourse, but there is more that unites Americans than divides us – much more.

As Ralph Nader writes in Unstoppable, his book about forging left-right alliances on topics of common interest,

[M]ost people want safe food and drugs. They want to breathe clean air and drink clean water. They want their work to be rewarded with adequate returns for the necessities of life […] They want clean elections and competitive candidates, who provide perceived differences and choices in their platforms. They want their taxes to be reasonable and used well for the common good in an efficient manner. They want some voice in decisions that affect them. They want peace, justice, and public safety.

But Democrats don’t win office by telling you their Republican opponent is a lot like them, and Republicans don’t win office by telling you how much in common they have with Democrats. They need to find the fissures of disagreement, drive a wedge there, and hammer, hammer, hammer. Those Bible-thumping hicks in the flyover states will catch up to modern society sooner or later. The elite libtards on the coasts hate God, guns, and America. That sort of thing.

We used to know how to get along together, but it’s been trained out of us. Any political statement by one side is treated as an outrage by the other, producing ridicule, aggression, dismissiveness, and further entrenchment on both sides. We all need some deprogramming.

During yesterday’s inauguration of Donald Trump, a conservative friend of mine posted this on Facebook:

Still ecstatic it’s not Hillary.

I wrote,

Sincerely curious to know what your reasons are, as long as they’re more substantive than just “her e-mails” and “Benghazi” and “Vince Foster.”

During the campaign someone wrote that, whatever you think of Hillary, no one can plausibly believe she’d pose a threat to the Constitution; and no one can plausibly doubt that Trump does. To the extent that’s true (and it sure feels true to me), and since preserving the Constitution takes precedence over all, shouldn’t simple patriotism have demanded a Hillary vote?

My friend has not yet responded. But someone else, who I’ll call M, posted in that thread,

Liberals are the most intolerant bunch of people I have ever seen. A woman who accepts millions of dollars from foreign countries for her personal gain (foundation), while she is Secretary of State, doesn’t seem to bother you much. But if Trump says something you do not like, it’s the end of the world and the country is never going to be the same. If we survived 8 yrs of Obama, we can get through anything. He loathes America. The most divisive President ever. A vote for Hillary would have been a vote for Obama.

Now, there is plenty that’s wrong with that statement, and plenty of ways to challenge it. But that’s my programming talking: challenge the opposition, don’t let them get away with it, call them out on every little thing. What does that accomplish? Will I win a convert that way? Not a chance. I have learned from experience that a righteous takedown of this person’s misguided beliefs will make me feel puffed-up and smart and superior and maybe earn me some attaboy points among my peers… but do nothing whatever to meaningfully reach this person, to spread the idea of tolerance and respect, to heal the country. I would only have been helping the hammerers to drive their wedge deeper.

So I quashed my initial impulse to cite anecdotes and statistics and experts to prove my points and disprove theirs. Instead I responded,

Here’s the thing: no one’s ever as bad as their opponents make them out to be. Most of the things people disliked about Hillary were drip, drip, dripped into our heads for a quarter century by her opponents – and it worked! It even worked on me, a Democrat. I didn’t like her much for all those vague reasons – her shadowy connections, something something private e-mail server, etc. – until I started digging into all those criticisms for myself and found there was very little there.

On the other hand, most of what Trump opponents dislike comes from his own mouth – unconcealed hatred and disrespect for very many of our fellow citizens, proud ignorance of the Constitution, contradictory statements on almost every topic, unwillingness to engage with critics other than by suppression, and, worst of all, not one scrap of humility or kindness to be found anywhere in his persona.

I’m not disagreeing with anything in M’s post. Yes, there was a certain stink about Hillary; I smelled it too. Maybe it was just propaganda. As for Trump, I called him out on all those things that Americans want in their leaders – forthrightness, courtesy, maturity, humanity – and that all but his blindest supporters must admit he lacks.

This morning I was enormously gratified to find that M had given my comment a Facebook “like.”

This tiny interaction is my template for how we’ll win back the decent, diverse America we once had and have forgotten we want. We only need to approach conversations like this with no thought of putting the other person in their place, but in the sincere belief that we have more to learn than to teach.

We’ve been trained to treat half of the country as our ideological enemy. It’s time we learned the true enemies are the ones who’ve been turning us against each other.


Bonus: Storm, of the musical comedy duo Paul and Storm, had a similar story yesterday about engaging respectfully with a political opponent and achieving civility: Fist-bump with Uncle Sam.

DIAF 2016

Herewith, my annual accumulation of the things I wrote on social media rather than here on my blog. (Previously.)

If I’d had any idea how 2016 was going to go when it began I never would have greeted it so cordially.

  • Welcome, 2016! I am excited to discover what awesomeness you have in store for us all.

  • It's been a couple of years and I should be over this but I'm not: it has bothered me all along that the anachronistic word “fractal” is in the lyrics of the most popular song from Frozen.

    I just can't Let It Go.

  • In the JJ Abrams universe, you need only look up into the sky of one planet in order to witness the cataclysmic events taking place on another light-years away, even in broad daylight.

  • [The 50th anniversary of the premiere of the 1960's Batman.]

    Pow! Bam! Sock! Oof!

    12 January

  • We didn't win the $1.5 billion Powerball last week. But I can't bring myself to throw away the lottery ticket because, you know, clerical errors happen all the time.

  • Realization: Donald Trump is The Mule from Foundation and Empire, disrupting what should be the normal flow of history via strange powers of mental subversion.

  • Astonishing, depressing, and completely fascinating: the detailed story of the original negative of Star Wars and how it degraded to total crap.

    Saving Star Wars: The Special Edition Restoration Process and its Changing Physicality

  • Take a Dixon-Ticonderoga pencil and some white-out. White out parts of the name Ticonderoga, leaving the word “cider.” Phonetically, it now says “Dick's inside 'er.”

    Archer shared this trick with me recently. He learned it from his peers. I think he was testing to see whether he'd get in trouble for knowing this.

    For my part, I was impressed. You have to white out just part of the N in Ticonderoga to turn it into an I! Whoever came up with that showed real dedication to the pursuit of a microscopic naughty thrill. That is just so middle-school.

  • The best thing I've read explaining Trump's popularity. Read it. Read it.

    Trump Supporters Aren't Stupid

  • Just woke up from a racial-harmony dream. It was beautiful, man.

  • How I know that either time travel is impossible or Trump won't win the presidency: no time travelers from the future are appearing to stop him.

  • High on the list of things you never want to read on nextdoor.com is that a scorpion once was seen in the backyard of the house next to yours.

  • Of all the people not to invite to a party, the Goddess of Discord? Whose bright idea was that? That was never going to end well.

  • Among my news headlines this morning, both Donald Trump's week and Gmail's April Fools gag were described as “terrible, horrible, no good, very bad.”

  • “Smith & Noble”?

    How do Barnes and Wesson feel about this?

    • Perhaps I’ll ask Garfunkel and Oates.

  • Feeling appreciated.

  • Archer asked me the other day, “Would you rather have time and no freedom, or freedom but no time?”

    While I was trying to figure out how to respond, he added this clarification: “So, kid or adult?”

    I was speechless.

  • By a statistical fluke, I was considerably taller than all the other commuters around me on a crowded Muni train this morning. It was glorious.

  • [On the death of Prince.]

    Thinking about the night in 1984 when Steven Stern and I wanted to enter the West 4th Street subway station but were prevented by a scary dude who ranted at us for a while about Purple Rain, which was then brand-new. After importuning us for a couple of minutes, he asked, “What's the best color?” Luckily, Steve had the presence of mind that I didn't, and he gamely answered, “Purple!” The dude said, “What's the best movie?” Steve said, “Purple Rain!” And the dude let us pass.

  • What I learned from rewatching Purple Rain last night:

    • It's OK to be a jerk if you're very talented and very sexy

    • If you're very talented and also funny, but not quite as sexy, you deserve to be pushed into a pile of garbage

    • Women are for sex

    • If you treat a woman as an equal partner you will fail to earn her loyalty

    • If you alternately slap her around and cuddle with her, she'll be yours forever

  • Fellow getting-old people: where is it possible to smell mimeograph fumes today, so younger generations can know what they're missing?

  • Ordered an egg cream at the Cowgirl Creamery milk bar in the Ferry Building. Got a cup of watery Ovaltine.

  • That gratifying feeling when you've been vaguely sick for a day or two and the thermometer finally validates all your complaining.

  • I don't watch Game of Thrones. But in my dream last night, I complimented Peter Dinklage on the fine job he's been doing on that show.

  • [On the plea for clemency by Brock Turner's father, based on the fact that Brock raped his victim for only twenty minutes.]

    Dear Mr. Turner,

    How many more minutes of rape would be needed, do you think, before your son would deserve a harsher penalty?

    Just curious,
    – Bob

  • [On the popularity of the Fall Out Boy song “Uma Thurman.”]

    I hummed the theme from The Munsters before it was cool.

  • Attention young people: That scene in Jaws where Quint crushes a beer can in his hand, and Hooper lamely tries to match him by crushing his coffee cup? In 1975, crushing a beer can in one hand was in fact a manly display of strength, as cans were made of heavy steel, not flimsy aluminum.

  • To those Brexit voters now feeling remorse, and to everyone else watching who longs for a return to some version or other of the Good Old Days, please learn this lesson: there is no going back, there is only going forward. Even if it were possible to go back, and even if the Old Days were as Good as you think they were, the same forces that brought you to the hated present would still exist. Better to “launch and iterate” as we say in software engineering; “rollbacks” are always more costly than you expect.

  • This painted-on path-use indicator is surprisingly bumpy to roll over on a road bike. But, fun game: no bumps if you can roll through the stencil gaps in the wheels, plus you improve your cycling precision.

  • [On July 4th.]

    240 years of the Declaration of Independence! 50 years of the Freedom of Information Act!

  • RIP Sydney Schanberg and Michael Herr, two extraordinary journalists who opened my young and naive eyes to some of the world's severest unpleasantness.

  • Remarkable long read convincingly explaining our worsening political dysfunction. Tl;dr – the system of party functionaries, horse trading, and smoke-filled rooms that we've spent a generation dismantling as undemocratic actually performed an essential role in moderating our politics.

    How American Politics Went Insane

  • I've been immersing myself in the headlines of 1966 all year, while maintaining its1966.tumblr.com. Though it may be cold comfort, know that as bad as things seem in the world right now, they're much better than they were then.

  • “Jeb Bush and Mitt Romney would be spinning in their graves, if they were dead, and right now they wish they were.”

    “Trump is dangerous precisely because he does not seem like a real person, and the people voting for him do not think they’re voting in a real election with real consequences.”

    Can't wake up from this nightmare.

    His dark materials: After that diabolical, masterful performance, Donald Trump could easily end up president

  • “All republics are fragile; the [Weimar Republic], like the Third French Republic it paralleled, did not commit suicide—it was killed, by many murderers, not least by those who thought they could contain an authoritarian thirsting for power.”

    “No reasonable person, no matter how opposed to her politics, can believe for a second that Clinton’s accession to power would be a threat to the Constitution or the continuation of American democracy. No reasonable person can believe that Trump’s accession to power would not be.”

    Being Honest About Trump

  • “Damn all the people who will vote for him, and damn any progressives who sit this one out because Hillary Rodham Clinton is wrong on this issue or that one. Damn all the people who are suggesting they do that.”

    This Isn’t Funny Anymore. American Democracy Is at Stake.

  • Are you one of those who hears comparisons of Trump to Hitler and secretly thinks, “Maybe that's just what this country needs right now”?

    If so, may I suggest you take another look at how that turned out for Germany?

  • I love that “old Bob” (as opposed to “new Bob”) is the same as “young Bob” (as opposed to “old Bob”).

  • This is excellent, even if you're not interested in learning web design.

    Web Design in 4 minutes

  • 50 years ago tomorrow, a price increase of one cent per quart of milk was front-page news in the New York Times.

  • It's cool how the Overton Window is moving to drain the phrases “his husband” and “her wife” of their strangeness.

  • The original is in my pantheon of perfect films. It cannot be improved upon.

    Rocketeer reboot in development at Disney

  • Some guys, when not wearing their sunglasses, perch them on the back of their heads, facing backwards. That seems like it should be insufferably dopey, but for some reason I can't figure out, it's just not.

  • Trump's eagerness to use nuclear weapons reminded me of something.

    Forget about the badge! When do we get the freakin guns!

  • The moment we've all been waiting for: when Donald Trump's strength and momentum are finally revealed to be merely bluster and frenzy.

  • It's not really the future yet if I still have to fill out two of these by hand every year.

  • Don't want to check fivethirtyeight.com too often. Afraid I'll jinx it.

  • Embarking on a five hour listen. Only Dan Carlin could make that a pleasant prospect.

    King of Kings III

  • My long search is over! Pizza in San Francisco that actually is “NY style” instead of being falsely advertised as “NY style.”

    Pizzeria Avellino

  • <3

  • Lenny Bruce died fifty years ago this month. Writing challenge: Imagine he'd lived and been given his own sitcom, like Seinfeld and others he paved the way for. What would an episode of that have been like? Go.

  • A banner day for Chain.com!

  • #TIL about UEFI locking. Evil – worse by far than browser exclusion, which resulted in an anti-trust judgment against Microsoft in the 90's. It's preventing me from installing Linux on my new Dell box, and I anticipate a rough time getting satisfaction from Dell customer support.

  • Finn the human!

  • GASP! “The first ever roguelike celebration”!!

    There's virtually no chance I'll be able to go on such short notice, but if you can make it, please report back.

    Roguelike Celebration

  • Please let this be peak Trump.

  • [The home stretch of the presidential campaign.]

    Go team Age of Enlightenment!

  • So you're a Trump voter – or at least, you were. Now you're starting to have your doubts. But everyone in the lamestream media is insisting that you MUST NOT vote for him, and you'll be damned if you'll ever take THEIR advice – or look like you're taking it.

    You need a way to reach a no-vote decision that preserves your independence, that has nothing to do with all the criticisms of how Trump throws his weight around, which is secretly why you like him.

    Try this: if he's elected President, the revelations so far about his likely lawbreaking (violating the Cuba embargo, flouting charitable foundation rules) will be just the beginning. He'll be more beset by investigations and allegations than Bill Clinton was, or even Nixon. Even if you think he'd do a good job, he WON'T GET THE CHANCE.

  • Apparently I work just down the street from the Mertin Flemmer Building.

  • There are plenty of weird Tumblrs out there. This is one of them.

    redandjonny

  • When we visited Thailand several years ago, our taxi driver told us in his broken English about why their king was so beloved: “No drink, no smoke, one wife, no girlfriend.” RIP King Bhumibol.

  • This is how we defeat Trump.

  • Short but damn good writing.

    The Agonizing Essence of Donald Trump, in One GIF

  • After decades of working almost exclusively on closed-source projects whose potential for actually improving the world was limited at best (never mind what the marketers always said), it gives me tremendous pleasure to be able to present the open-source and actually transformative fruits of my past year's labor, and that of what must surely be among the best small software teams ever assembled.

    Our site: https://chain.com/
    Our short explanatory video: https://www.youtube.com/watch?v=bK6wHW1K9jM
    Our whitepaper: https://chain.com/docs/protocol/papers/whitepaper
    Our CODE!!! https://github.com/chain/chain
    Our press: http://www.bloomberg.com/news/articles/2016-10-24/blockchain-hype-takes-hit-as-chain-releases-code-for-all-to-use http://fortune.com/2016/10/24/visas-blockchain-chain-open-source/

  • Funny birthday cards from my kids.

  • Happy fourth birthday, Pepper!

  • President Clinton's first official act when taking office in January: she should pardon Donald Trump like Ford did Nixon. Not even kidding.

    • I doubt anyone would like to see Trump have to answer for his lifetime of bullying behavior (in its many forms) more than I would. But if we pursue that beyond a Clinton victory we'll be no better than the Trump voters calling for Clinton blood.

      Here's what pardoning Trump would (hopefully) achieve:

      • Disarm the Trump true believers who are bracing to defend their hero against Crooked Hillary;

      • Demonstrate, in clear contrast to what Trump has promised, that in America politicians do not use the machinery of government to persecute their opponents;

      • Begin to mend our political rift;

      • Ensure that the national conversation moves beyond Trump as quickly as possible;

      • Consign Trump to national irrelevance, which is as good as jail for him.

      Trump loves nothing more than a fight. Let's take that away from him.

  • [Just before Election Day.]

    These last few days are increasingly hard to take. I think I need to start drinking and not stop until Wednesday morning.

  • One is a boor and the other's a bore
    Neither one's rhetoric soars
    Can't help but cringe at the lunatic fringe
    Or the one I've no eagerness for

    One is too bold and the other's too cold
    Also they're both pretty old
    After eight years of class how'd we get to this pass?
    The current guy: he broke the mold

  • Good morning, America! I'm gonna vote SO HARD today.

  • Earlier generations of Americans have had their worthy challenges: throw off monarchy, end slavery, defeat the Axis, etc. We are the coddled and too-comfortable product of their efforts and, in historical terms, haven't done a single thing to earn our privilege. Trump is both the perfect symbol of that and, at last, our worthy challenge.

  • To the extent that Trump voters have been feeling fear and disenfranchisement and needed to spread those feelings around: fair, and mission accomplished.

  • A few hopeful thoughts from the group commiseration that took place at work today:

    First, Hillary eked out a popular vote victory despite being, let's face it, a not very inspiring candidate. With someone who's energizing and totes less baggage, the sky's the limit.

    Second, we sent a Latina, a Thai woman, and a female amputee to the Senate. That's not nothing.

    Third, crisitunity: clearly the Democratic party needed to be destroyed to be saved insofar as it wasn't working for very large numbers of Americans whose votes it took for granted. Under a President Clinton that would not have happened (and the underlying problems might have gotten even worse); now it can.

  • Worth hearing: yesterday's Fresh Air interview with journalist James Fallows, who's been criss-crossing America visiting small usually overlooked towns to understand their politics, discovering that in most places, the people there believe they're doing well, and even have progressive values, but also believe, thanks to the constant-crisis media, that the rest of the country is going to hell.

    How Trump Broke Campaign Norms But Still Won The Election

  • Ugh, just got an image in my head of what Donald and Melania will get up to on the first night in the Oval Office.

  • Cheer up! The country is not dominated by swarms of hateful bigots you've been underestimating.

    https://twitter.com/tegmark/status/796387518803546112/photo/1

  • Deplorable.

    Women, minorities, immigrants, genderqueers: I am a white man on your side.

    Day 1 In Trump's America

  • Keep voting.

    The Official #GrabYourWallet Boycott List of Companies that Do Business with and/or Back the Trump Family

  • Everyone's wondering what Trump will and won't actually do as President. To me it seems clear: he couldn't care less about any particular policies except insofar as they allow him to humiliate powerful people. Whatever results in more abasement before him, that's what Trump will choose.

  • I signed, and donated.

    Tell Donald Trump to Reject Hate and Bigotry

  • Dear Donald Trump,

    I get it, you had to prove you could be elected President. You have to be the biggest and the best, and as long as other people could win the Presidency, there's always been someone bigger and better than you.

    But you're still not there yet. You won the election but now you must be judged alongside dignified, thoughtful, compassionate men like Washington, Lincoln, Roosevelt (either one, pick your favorite), Eisenhower, and Kennedy. You won't be the biggest or the best unless you can stop doing what's right for Donald Trump and start doing what's right for your fellow Americans. If you can, I think you'll find that that is what's right for Donald Trump.

  • I listen to podcasts on my commute, and I'm pretty backlogged. I'm hearing shows that were recorded in October. Mostly they don't deal with politics, but of course the subject of the election still comes up from time to time. All those poor naive people of a few weeks ago who have no idea how things are about to turn out…

  • Gazing out the window of the ferry at the whitecaps and the swells sliding by. Glanced at the laptop screen of a fellow commuter and it appeared to move and flow like whitecaps and swells. Cool.

  • Presenting my Sunday project: Trumpit, a Chrome extension that rewrites occurrences of Donald Trump's name in web pages. From the README:

    Do not allow the press to normalize the things that Trump has said, done, and failed to do on the way to the White House.

    Every mention of his name should be a stark reminder of who and what he is.

    This extension makes that literally true.

    Trumpit

  • An updated version of my Chrome extension is available that adds tooltips: hover your mouse over e.g. “Donald J. Tax Evader” to get a randomized, detailed reminder of some outrage such as:
    Donald Trump said “I could stand in the middle of Fifth Avenue and shoot somebody, and I wouldn't lose voters.”

    Trumpit

  • Happy birthday mom. If you were still around, I know you'd be over the moon about your wonderful grandsons, in love with Chris Pratt, sick with outrage about Trump, and stubbornly refusing to understand my explanations about the blockchain. And we would constantly be talking about all those things.

  • Holiday movie report:

    Doctor Strange: even this straight guy is in love with Benedict Cumberbatch. Never mind how they executed those special effects, how did they even conceive them?? Also, perfect “solution” to the movie's main plot and character dilemmas.

    Fantastic Beasts and Where to Find Them: lots of inventive depiction of magic, but no character arcs or mystery, yawn.

    Moana: tears-streaming-down-face perfection.

  • Moderate Republican senators surely feel like the party has left them behind. If I were a multimillionaire, I would be meeting with them right now saying, “I have $20 million in cash for the first of you to switch to the Democratic party, $5 million for the second, and $1 million for the third.”

  • 20 lessons from the 20th Century. Wise (and practical) words against authoritarianism by Yale historian, Holocaust expert, and Member of the Council on Foreign Relations Timothy Snyder:
    “1. DO NOT OBEY IN ADVANCE. Much of the power of authoritarianism is freely given. In times like these, individuals think ahead about what a more repressive government will want, and then start to do it without being asked. You've already done this, haven't you? Stop. Anticipatory obedience teaches authorities what is possible and accelerates unfreedom.
    2. DEFEND AN INSTITUTION. Follow the courts or the media, or a court or a newspaper. Do not speak of “our institutions” unless you are making them yours by acting on their behalf. Institutions don't protect themselves. They go down like dominoes unless each is defended from the beginning.
    3. RECALL PROFESSIONAL ETHICS. When the leaders of state set a negative example, professional commitments to just practice become much more important. It is hard to break a rule-of-law state without lawyers, and it is hard to have show trials without judges.
    4. WHEN LISTENING TO POLITICIANS, DISTINGUISH CERTAIN WORDS. Look out for the expansive use of “terrorism” and “extremism.” Be alive to the fatal notions of “exception” and “emergency.” Be angry about the treacherous use of patriotic vocabulary.
    5. BE CALM WHEN THE UNTHINKABLE ARRIVES. When the terrorist attack comes, remember that all authoritarians at all times either await or plan such events in order to consolidate power. Think of the Reichstag fire. The sudden disaster that requires the end of the balance of power, the end of opposition parties, and so on, is the oldest trick in the Hitlerian book. Don't fall for it.
    6. BE KIND TO OUR LANGUAGE. Avoid pronouncing the phrases everyone else does. Think up your own way of speaking, even if only to convey that thing you think everyone is saying. (Don't use the internet before bed. Charge your gadgets away from your bedroom, and read.) What to read? Perhaps “The Power of the Powerless” by Václav Havel, 1984 by George Orwell, The Captive Mind by Czesław Milosz, The Rebel by Albert Camus, The Origins of Totalitarianism by Hannah Arendt, or Nothing is True and Everything is Possible by Peter Pomerantsev.
    7. STAND OUT. Someone has to. It is easy, in words and deeds, to follow along. It can feel strange to do or say something different. But without that unease, there is no freedom. And the moment you set an example, the spell of the status quo is broken, and others will follow.
    8. BELIEVE IN TRUTH. To abandon facts is to abandon freedom. If nothing is true, then no one can criticize power, because there is no basis upon which to do so. If nothing is true, then all is spectacle. The biggest wallet pays for the most blinding lights.
    9. INVESTIGATE. Figure things out for yourself. Spend more time with long articles. Subsidize investigative journalism by subscribing to print media. Realize that some of what is on your screen is there to harm you. Bookmark PropOrNot or other sites that investigate foreign propaganda pushes.
    10. PRACTICE CORPOREAL POLITICS. Power wants your body softening in your chair and your emotions dissipating on the screen. Get outside. Put your body in unfamiliar places with unfamiliar people. Make new friends and march with them.
    11. MAKE EYE CONTACT AND SMALL TALK. This is not just polite. It is a way to stay in touch with your surroundings, break down unnecessary social barriers, and come to understand whom you should and should not trust. If we enter a culture of denunciation, you will want to know the psychological landscape of your daily life.
    12. TAKE RESPONSIBILITY FOR THE FACE OF THE WORLD. Notice the swastikas and the other signs of hate. Do not look away and do not get used to them. Remove them yourself and set an example for others to do so.
    13. HINDER THE ONE-PARTY STATE. The parties that took over states were once something else. They exploited a historical moment to make political life impossible for their rivals. Vote in local and state elections while you can.
    14. GIVE REGULARLY TO GOOD CAUSES, IF YOU CAN. Pick a charity and set up autopay. Then you will know that you have made a free choice that is supporting civil society helping others doing something good.
    15. ESTABLISH A PRIVATE LIFE. Nastier rulers will use what they know about you to push you around. Scrub your computer of malware. Remember that email is skywriting. Consider using alternative forms of the internet, or simply using it less. Have personal exchanges in person. For the same reason, resolve any legal trouble. Authoritarianism works as a blackmail state, looking for the hook on which to hang you. Try not to have too many hooks.
    16. LEARN FROM OTHERS IN OTHER COUNTRIES. Keep up your friendships abroad, or make new friends abroad. The present difficulties here are an element of a general trend. And no country is going to find a solution by itself. Make sure you and your family have passports.
    17. WATCH OUT FOR THE PARAMILITARIES. When the men with guns who have always claimed to be against the system start wearing uniforms and marching around with torches and pictures of a Leader, the end is nigh. When the pro-Leader paramilitary and the official police and military intermingle, the game is over.
    18. BE REFLECTIVE IF YOU MUST BE ARMED. If you carry a weapon in public service, God bless you and keep you. But know that evils of the past involved policemen and soldiers finding themselves, one day, doing irregular things. Be ready to say no. (If you do not know what this means, contact the United States Holocaust Memorial Museum and ask about training in professional ethics.)
    19. BE AS COURAGEOUS AS YOU CAN. If none of us is prepared to die for freedom, then all of us will die in unfreedom.
    20. BE A PATRIOT. The incoming president is not. Set a good example of what America means for the generations to come. They will need it.
    ETA: Feel free to share, but please copy + paste into your own status or else it will not be viewable to all of your friends.”

  • When I shared this link earlier this year, I wrote:

    “Remarkable long read convincingly explaining our worsening political dysfunction. Tl;dr – the system of party functionaries, horse trading, and smoke-filled rooms that we've spent a generation dismantling as undemocratic actually performed an essential role in moderating our politics.”

    Reposting now with the observation that the Electoral College is one of our few remaining “smoke-filled rooms.”

    How American Politics Went Insane

  • What are we talking about now? Whether flag burners can or should be punished.

    Why are we talking about it? Was there some flag-burning emergency? No, we're talking about it because of a Trump tweet.

    What are we talking about less as a result? Trump's baseless allegations of voter fraud and his outrageously corrupt cronyism.

    Don't be fooled.

  • And now for something completely different: an old-timey tune that Google Play Music threw into my playlist this morning. Sound familiar?

    Gracie Fields – Sing As We Go

  • Not mentioned in this article: the Big Mac was created to compete with an almost identical sandwich at a BOB's Big Boy restaurant in Pittsburgh; and it was named by an advertising secretary named GLICKSTEIN. For real!

    Creator of McDonald’s Big Mac dies at 98

  • I keep hearing that demographics favor Democrats going forward, because young people overwhelmingly vote that way. But wasn't that also true in the 60's and 70's? Where are those young people now?

  • I wanted to know the meaning of some lyrics in a song from Moana. They're in some Pacific-islander language (Samoan, I think), so I went to Google Translate and selected “detect language.” It chose Japanese and gave me this translation:

    Oh yeah
    Muuuuuuuu
    Do not worry about it
    Oh yeah
    Well, Fuh – Wah,
    Naked rice cookies.

  • As a matter of Constitutional law, which is Obama's greater responsibility: to transfer power to Donald Trump on January 20th, or to refuse to?

    Yes, he took an oath to preserve the Constitution, which mandates an orderly transfer of power; and we as a nation take rightful pride in our long history of peaceful changes of leadership.

    But the President is also sworn to defend the Constitution – against, for example, those who with the help of adversarial foreign powers openly seek to undermine it. If such a figure manages to position himself, via deception and subversion of the democratic process, to receive that peaceful transfer of power, surely no reasonable interpretation of the Constitution requires that the country roll over and submit?

  • The president ignoring his presidential daily briefings… where have I heard that before?

  • Two questions for the Electors:

    1. Which will you regret more in the future: blocking Trump, or not blocking him?
    2. Which requires greater courage?

    The answer to the second should inform your answer to the first.

  • “Republicans — led by a man who rage-tweets fake news in the middle of the night — are about to embark on a long voyage of turning every single thing they touch into garbage. There should be no Democratic fingerprints whatsoever on the coming catastrophe. Democrats must not give the imprimatur of legitimacy to the handsy Infowars acolyte who is about to take the oath of office. Not to get some highways built. Not to renegotiate NAFTA. Not to do anything.

    At long last, Democrats must learn from their tormenters: Obstruct. Delay. Delegitimize. Harass. Destroy. Above all: Do. Not. Help. This. Man. Govern.”

    It's time for Democrats to fight dirty

  • On the bright side, our collective odds of dying from cancer, Alzheimer's disease, and other infirmities of age have gone down! True, it's because our odds of dying from war, political violence, economic collapse, or diminished food/product/building safety standards have gone up, but always look for the silver lining, I say.

    With electoral college vote, Trump's win is official

  • What positive, constructive things has the modern Republican party achieved at a national or state level?

    This is a sincere request for information. It is not an invitation to heap scorn.

    That said, it seems to me that the Republican party exists only to maintain its own power and help those who need help the least. It does this by systematically disenfranchising large numbers of voters, by persuading large numbers of other voters as to which of their fellow citizens they should mistrust and ridicule, and by (in the words of Thomas Jefferson) “refusing assent to laws the most wholesome and necessary for the public good.”

    There's also the wars and the economic mismanagement.

    Those are all achievements, strictly speaking, but not positive, constructive ones. Can anyone credibly refute my view of the Republican party?

    [No one meaningfully did.]

  • Close, Facebook, close. You're off by only 1,728 miles.

  • Santa came and ate half of a cookie we left out for him! The kids said, “Let's get a saliva sample from the cookie and DNA-test it to prove it's Dad!” While cleaning up after opening gifts, I ate the rest of the cookie, before they could collect the evidence. Oops. 😉

  • Rogue One is about stealing the Death Star plans. For months leading up to its release, Jonah and I have been saying “space heist!” to each other with mounting excitement. We got a gritty war thriller instead. It's good, but the world still needs its space heist movie.

  • In 1980, when we learned that The Empire Strikes Back was the fifth episode in a planned nine-movie series that wouldn't be complete until 2001, I worried that the cast might not survive long enough to tell the full story. (Mark Hamill had already almost checked out in his post-Star Wars car crash.) Then we learned that the only characters who would be in all nine films were the droids, and I relaxed a little. In 1983, Lucas said never mind, he was done making Star Wars movies, and though by then I cared less, I still breathed a sigh of relief. Then Disney bought Lucasfilm[*] and started a new series of sequels with the original cast, and my old worry returned. Today my decades-old fear came true.

    RIP, Your Worshipfulness.

    [*] – There may have been some other nominal Star Wars movies in the interim ¯\_(ツ)_/¯

  • I posted this earlier this year, and I’m sorry to say I no longer think this is true.

    I’ve been immersing myself in the headlines of 1966 all year, while maintaining its1966.tumblr.com. Though it may be cold comfort, know that as bad as things seem in the world right now, they’re much better than they were then.

    Then: Civilian casualties of U.S. military action widely protested (due in part to the draft)
    Now: U.S. military action mostly out of sight, out of mind

    Then: Widespread racial strife vigorously combated by federal government
    Now: Racial strife tacitly encouraged by incoming government

    Then: Congressional action on numerous matters of public import, including several unanimous votes on big bills
    Now: Unyielding partisan obstruction on all matters of public import

    Then: 10% of nation’s wealth concentrated among top 0.1%
    Now: 25% of nation’s wealth concentrated among top 0.1%

    Then: Batman didn’t casually kill bad guys by the dozen

  • Tl;dr – wide swaths of America now reflexively regard any story reported in e.g. the NY Times as false, no matter how well substantiated.

    This weaponizes citizens against the country. More than Trump, more than Pence, more than Putin, more than anything, the right-wing propaganda apparatus is the enemy.

    Fake News Is Not the Real Media Threat We’re Facing

A lump of coal in our national stocking

This one was my least-favorite of all to write.

You better watch out
You better not cry
You better not pout
I’m telling you why
President Trump is coming to town.

He’s writing a tweet
And checking it once
Bashing Jill Stein
And Hillary, those cunts
President Trump is coming to town.

He’s terrific when he’s sleeping
He’s the best when he’s awake
He’s better than everyone in the world
So give up for goodness’ sake

His feelings get hurt
He whines to his kooks
And sics ’em on you
But now he’ll have nukes
President Trump is coming to town.

(Previously.)

Behind the magic of the blockchain

[Cross-posted at blog.chain.com.]

This is part two in a series. In part one, we learned that the big idea behind blockchains is this:

I don’t give you digital data as payment. I give the rest of the world a signed statement saying I paid you.

In this article we’ll take a closer look at just how this is done. That is, we’ll look at how:

  • I give the rest of the world
  • A signed statement
  • Saying I paid you

Let’s take these one at a time, in reverse order.

Step 3: …Saying I paid you

Suppose I want to pay you ten dollars on a blockchain. To “say” that I paid you, I have to construct a message called a transaction that combines information about what I’m paying with where I’m sending it.

what “ten dollars”
where “to you”

The ten dollars is called the input to the transaction. Where it’s going is called the output. Ultimately this message will be incorporated into a blockchain, which we learned last time is a ledger – a record of transactions – that is immutable, distributed, and cryptographically secure. More about this below.

Of course I have to have ten dollars before I can pay it to you. It has to come from somewhere. So the input needs to be some earlier transaction saying that someone paid me ten dollars.1 This means each transaction has to have some sort of unique name, or number, or other identifier, so later transactions can refer back to earlier ones.

transaction-id “unique identifier for this transaction”
input “unique identifier for some earlier ten-dollar transaction”
output “you”

What if the only earlier transaction I have is one where I received twelve dollars? Since I only want to send you ten, and since I have to use up all of the earlier transaction (for reasons that will become clear), my new transaction must send you your ten dollars and must also send me two dollars as change. This means that a transaction must be able to have multiple outputs.

transaction-id “unique identifier for this transaction”
input “unique identifier for some earlier $12 transaction”
output1 “$10 to you”
output2 “$2 to me”

Now that we’ve decided transactions can have multiple outputs, it’s necessary to say which output of an earlier transaction you’re using as the input.

transaction-id “unique identifier for this transaction”
input “unique identifier for output1 of some earlier $12 transaction”
output1 “$10 to you”
output2 “$2 to me”

And what if I don’t have a single $10 or $12 transaction to draw on, but I do have a $5 one and a $7 one? Let’s let transactions have multiple inputs as well as multiple outputs.

transaction-id “unique identifier for this transaction”
input1 “unique identifier for output1 of some earlier $5 transaction”
input2 “unique identifier for output1 of some earlier $7 transaction”
output1 “$10 to you”
output2 “$2 to me”

Let’s now focus on those unique transaction identifiers. How should they be chosen so that:

  • Distinct transactions have distinct identifiers, and
  • Anyone in the world can construct his or her own transaction, and
  • No one needs to coordinate with anyone else, or with any central authority, in order to construct a transaction?

The main problem is to prevent “collisions” – two different transactions having the same identifier. If you and I both construct a transaction at the same time, on opposite sides of the world, and don’t coordinate with each other or anyone else, what’s to stop us from accidentally choosing MYCOOLTRANSACTION17 as the identifier for both transactions?

Blockchains solve this problem using a technique called hashing. This is a process that transforms a message of any length, such as the transactions we’re constructing, into a single number of a predetermined size, called a hash. There are several different recipes for computing the hash of a message; they have names like MD5 and SHA1. But good hashing recipes all have the same goals:

  • Given a message, it must be easy to compute the hash (well, easy for a computer);
  • Given only the hash, it must be close to impossible to come up with a message that produces it (even for a computer!);
  • Two identical messages always produce the same hash;
  • Even a tiny difference between two messages must produce wildly different hashes.

The ease of going from message to hash, and the difficulty of going from hash to message, makes this a so-called one-way function, an idea that will be important a little later on.

Now, when squashing a long message down to a number of a predetermined size, it’s unavoidable that different messages will collide – i.e., produce the same hash. But if the predetermined size is big enough – 32 bytes, say – and if the recipe is very good at scattering hashes evenly throughout all 232×8 possible values (that’s 100 quadrillion-quadrillion-quadrillion-quadrillion-quadrillion, give or take a few quadrillion-quadrillion-quadrillion-quadrillion-quadrillions), then the odds of a collision are so low as to be effectively impossible.2

So when you and I construct our transactions, we don’t choose identifiers at all. Instead, we compute identifiers that are nothing more or less than a hash of each transaction’s contents.

input1
  • transaction hash of some earlier $5 transaction
  • output1
input2
  • transaction hash of some earlier $7 transaction
  • output1
output1 $10 to you
output2 $2 to me

When you are deciding whether to accept this transaction as payment for something, you can consult the complete history of transactions on the blockchain to make sure that the inputs of this transaction really do exist, and that they haven’t already been spent in some other transaction. Later on, when you want to spend this money you’re now receiving, someone else will look at this transaction to make sure you own it.

Using a transaction’s hash as its unique identifier also explains why one must consume all of a transaction’s output at the same time (as when, in an earlier example above, I had to consume a $12 transaction output and return $2 to myself as change). If I could consume only part of an old transaction, that would alter the amount available from that old transaction. Altering the transaction would change its hash, which cannot be allowed if hashes are permanent, unchanging unique identifiers for transactions. Once published on a blockchain, a transaction can never change, it can only be referenced by newer transactions.

Step 2: …A signed statement…

Remember that this transaction, like all others on a blockchain, is a message that’s going to everyone in the world. My earlier $5 and $7 transactions, the source of the funds I’m paying to you, are sitting out there on the blockchain for everyone to see, like all unspent transaction outputs, just waiting to be used. What prevents someone else from using them in a payment of their own?

This is where the “to you” and “to me” part of the transaction outputs come into play. I need to be able to write “to you” in such a way that no one but you can construct a new transaction claiming that $10.

This is done using so-called public-private keypairs. You choose a very (very, very) large random number and keep it secret. This is your “private key.” This number can be transformed with some fancy arithmetic into another number, the “public key,” that you publish for everyone to see. The fancy arithmetic is a one-way function akin to hashing, so no one with only your public key can figure out your private key.

Public-private keypairs have some amazing superpowers. One of them is that you can digitally sign a message so that everyone in the world can be sure it’s you signing it. You do this by combining your private key in a particular way with the message you’re signing (or, more typically, a hash of the message you’re signing). The resulting “signature” has some special properties:

  • It was created using another one-way function, so no one looking at just the signature can discover either your private key or the message you’ve signed;
  • There remains a mathematical relationship between the signature and your public key, so if someone has that and the message you signed, they can verify that the signature is genuine. Even without knowing your private key, they can be sure the signature was made from it, and from that particular message and no other. (So no one can take your valid signature from one transaction and stick it on another one in the hope that it’ll be valid there – it won’t.)

So to make sure that only you can access the $10 I’m paying you, I secure the output of my transaction by attaching your public key. I also secure the $2 in change that I’m paying to myself by attaching my public key.

input1
  • transaction hash of some earlier $5 transaction
  • output1
input2
  • transaction hash of some earlier $7 transaction
  • output1
output1
  • $10
  • to your public key
output2
  • $2
  • to my public key

In order to redeem one transaction’s output for use as the input to another transaction, the payee supplies a digital signature made from the new transaction’s hash and his or her private key. My transaction paying you $10 redeems $5 and $7 from two earlier transactions, which were paid to my public key, so I redeem them like so:

input1
  • transaction hash of some earlier $5 transaction
  • output1
  • signature made from this transaction’s hash and my private key
input2
  • transaction hash of some earlier $7 transaction
  • output1
  • signature made from this transaction’s hash and my private key
output1
  • $10
  • to your public key
output2
  • $2
  • to my public key

Anyone can look at this transaction and verify that my signature on the inputs matches the public key attached to the earlier transactions’ outputs. As long as I’ve kept my private key secret, no one else can produce a valid signature that matches both this transaction and my public key.

The balance of money that I own on the blockchain is simply the sum of all unspent transaction outputs that have my public key attached.

Step 1: I give the rest of the world…

These transactions must be distributed to be useful, meaning that everyone in the world has, or can get, the data they need to validate transactions.3 If I create a transaction sending you $10, in principle you’ll need the entire history of earlier transactions leading up to that one in order to validate it (i.e., to believe that you’re really receiving $10), including all the unrelated transactions in the system to ensure I haven’t spent that same $10 somewhere else. When you want to spend the $10 I send you, your payee will need the same thing.4

It’s easy to imagine a system in which each new transaction is broadcast to all blockchain participants that are somehow subscribed to new-transaction notices. But the reality of network delays means that different subscribers will receive these notices in different orders. (Transactions that originate closer on the network will arrive sooner, in general, than transactions that need more “hops” to get to you.) The system only works if everyone has a consistent view of the transaction history: if I see A, then B, and you see B, then A, we might disagree about the validity of C, and a distributed ledger (or any ledger, really) can’t work if there’s disagreement about a transaction’s validity. Here’s why: if I were dishonest,5 I might try to exploit network delays to spend the same $10 twice, to two different people, each of whom might believe (thanks to differences in ordering) that theirs is the valid $10 and the other is the invalid double-spend. No one would be willing to accept either person’s (purported) $10 as payment for anything, and confidence in the whole scheme goes out the window.

What’s needed is some authority that everyone can trust to put a stamp on the official correct ordering of transactions; and once the order is set, to publish the sequence for all to see. The published sequence could, in principle, consist of a list of individual, timestamped transactions, digitally signed by the timestamping authority; but if there are more than just a few transactions each second, the processing and communication overhead of this approach is prohibitive. For efficiency, it’s better to group transactions into blocks, certifying and publishing a block containing many transactions every so often, with each block linked to the block before it (by including the earlier block’s unchangeable hash, in the same way transactions refer to other transactions by their hashes) in an ever-lengthening blockchain.

Whom to trust for generating blocks in the chain? That depends on how a particular blockchain is going to be used. If it’s for managing an anti-authoritarian global cryptocurrency, the answer is “no one.” If it’s for managing the loyalty-reward points of a national coffee-shop chain, the answer is probably the corporate parent of the coffee shops. Other use cases require in-between levels of trust.

There are techniques for concentrating trust or spreading it around to match different use cases. The just-trust-headquarters case is easy, of course: everyone sends their proposed transactions there, and listens for the blocks that occasionally emerge, confirming their transactions. The trust-no-one case has everyone broadcasting their proposed transactions to as many others as they can, and everyone racing to collect them up and be the one that produces the next valid block in exchange for some small reward (a process called “mining,” designed so no one person or group can control the contents of the blockchain). The in-between case of trusting a group of independent authorities can require that, if one of that group proposes a block, all or a majority of the others must endorse it by adding their digital signatures.

In most cases, the simple existence of a transaction in a block of the blockchain is the transfer of money: final and authoritative, with no further steps required before the recipient can spend what they’ve just received – by adding a transaction of their own.

Sounds great but

Transferring money (or other kinds of value) on a blockchain is as fast and easy as handing someone cash – easier, since you don’t have to be in the same place to do it.

But cash isn’t the right answer for every type of transaction. Sometimes you need a delay, and sometimes you need to cancel or reclaim your payment. And what about this everyone-can-see-every-transaction business? Do you really want to give everyone in the world the ability to look at your whole purchase history?6

There are ways to preserve privacy on a blockchain, as well as ways to delay payment until a certain time elapses or other conditions are met, and even ways to eliminate “counterparty risk” (the risk that you pay for something and then don’t get what you paid for), but I’ve gone on long enough for now and discussion of those will have to wait until part three.

[My thanks to my Chain colleagues Adam Ludwin, Nadia Ali, and Zarya Faraj for their input on early drafts of this article.]
  1. And that transaction had to have a source too, and so on, and so on. Where do the dollars on a blockchain ultimately come from? It’s a good question with a complicated answer that we won’t get to in this article. The short version is that participants can “buy in” to a blockchain in the same way one converts dollars to chips in order to play at a casino (among other options). []
  2. Many newcomers to hashing worry about the difference between “effectively impossible” and “actually impossible” and waste a lot of energy in a vain attempt to eliminate even the tiny remaining possibility of a hash collision. But that’s only because our ape brains are bad at understanding really, really, really tiny possibilities. When it’s likelier that your blockchain system will be disrupted by simultaneous drunken-rhinoceros stampedes at multiple datacenters than by even one hash collision, your efforts are better directed elsewhere (like putting up rhino fencing). []
  3. Who is “everyone in the world”? It would be more accurate to say “everyone participating in a particular blockchain.” A blockchain managing consumer dollars, as in the examples in this article, would necessarily be global, and “everyone in the world” would literally mean everyone in the world. Other blockchains managing other kinds of asset might confine participants to particular companies’ customers, or particular traders, investors, or institutions. []
  4. If you’re thinking that’s a tremendous data requirement, you’re not wrong. In a future article we’ll discuss clever ways to mitigate this and even make it fast. []
  5. I’m not. But if I were, that’s just what I would say. []
  6. Millennials: this is a rhetorical question. The answer is “no.” []