Andrey Sverdlichenko August 10, 2018 12:54 PM

I think comic is talking about airplane/elevator safety, but voting machine security. It’s quite different.

To compare apples with apples, just look how ugly aviation attempts to provide security are (think TSA or even era before it). They only successful because bad people are rarely trying. And elevators have hardly any security at all.

Humdee August 10, 2018 1:27 PM

I would also like to point out the the risks involved with airlines and elevators are not the same type of risks as are involved in elections. To use a trope: an airline passenger does not have their finger on a nuclear button. As your own book title has it “press here to kill everybody” is not a problem for elevator safety.

The comic is neither funny nor true.

Rick Lobrecht August 10, 2018 1:58 PM

They are both different and the same problem. The message isn’t that its safety v. security, its confidence and knowledge vs. confidence and knowledge.

Designers of airplanes, elevators, cars, etc. say we understand the problem, we know how to design to solve the problem, we know what it will cost for quality control, etc.

Software experts say we understand what you are trying to do with software voting, and we recommend against it. We don’t know how to do what you are asking. And people in charge of voting (and voters in general) are saying we don’t care, do it anyway.

Clive Robinson August 10, 2018 2:26 PM

@ Andrey Sverdlichenko,

I think comic is talking about airplane/elevator safety, but voting machine security. It’s quite different.

First of for some reason the English language has two words “safety/security” where as other languages such as French have one “sécurité”. It shows a difference in mental perspective, which often does not in reality.

What the cartoon does show is the difference between an “engineered” aproach and an “artisanal” approach.

The later is why I very much dislike the term “Software Engineering” and why I call the general software industry approach “code cutting”.

It needs be said as I did a couple of days ago, it’s the managment of the software industry that is majorly to blaim for why “code is cut” and often pasted rather than “software being engineered”.

Engineers look to produce systems that are “intrinsically safe” and will not require any “re-engineering” or other post production remedial changes. I think most here know that the majority of consumer software is quite deliberately pushed out the door in a state that will require not one but many remedial changes, so much so we have actual schedualed dates for such remedial changes, the most known being “Patch Tuesday”…

Thus the cartoon is contrasting not just the difference between the two very different production processes but also the attitudes of the respective workers to what they produce.

Lets put it this way a 747 is reputed to have several million parts, those that designed them were more than happy in fact often vocally proud to fly in them. Whilst software with less than a million lines of code often produces a “what use it!!!” style response not just in the designers but third, second and sometimes first line support and those in the marketing department as well…

Jeff August 10, 2018 2:35 PM


Bob Graham does make some good points, but he is missing a point, as well. Computerized voting machines might be better than mechanical systems in certain respects, but they create completely new failure modes that appear to be not fully prevented, completely independent of resistance to potential attack by bad actors.

Many (clearly not all) computerized voting systems are completely computerized — no paper trail — as would be internet based voting systems (implied by his Blockchain reference and the mouseover on cryptographic voting protocols). These systems can fail in such a way as to lose large quantities of votes. That’s really hard to do with paper or even paper-backed computerized systems. You might lose a vote because of a hanging chad, but you won’t lose an entire precinct (not that that has happened yet with computerized voting, I think).

For me, the proof is in the computer support help line. When was the last time you’ve heard that Otis responded to a service call with “Turn the elevator off and on. Maybe it’ll fix itself”?

Large computer systems are too complicated to fully debug and current computerized voting systems (both physical voting terminals and internet-based systems) w/o paper ballots for audit/validation appear to be a real problem. A computer assisted voting system (with an audit trail and appropriate validation, and security processes surrounding it) might be OK, but that’s not what I think the comic was addressing.


D-503 August 10, 2018 2:58 PM

I just had to laugh at this one:
As DefCon Begins, Child Hackers Ready to Crack US Voting Systems (Because Adult Hackers Find It Just Too Easy)

Remember, moving a tiny number of electrons over by a few nanometers counted 16,000 negative votes for Gore in Florida in 2000. Today, with the orders of magnitude more complex hardware and software, it’s much easier for such accidents to happen.

bob August 10, 2018 3:05 PM

I dont understand what it is about, really. Is it about double standards when asking experts? Is it about software engineers being bad at what they do? Is it about blockchain being bad? The first is true, the second and the third are false, but none are funny to me.

Hmm August 10, 2018 3:21 PM – oblig

It would have to be bigger/better/trustier than all interests trying to subvert it for control.
Who could even possibly undertake it? Who would you trust to verify it? Who could believe it?

This is potentially the most consequential software program in the world we’re talking about,
but do we give it anything approaching that in terms of attention or resources, surety?

Of course not, it’s the low-bid contractor paradigm. The Manhattan Project run by McDonalds.

Anura August 10, 2018 3:32 PM

This comic holds up true for pretty much the entire tech industry, outside some very specialized systems. Most consumer and business products are just a mess, and the security industry is plagued by snakeoil. The way we develop software is very much designed for low development cost rather than formality; buildings and airplanes have to be able to go without crashing for decades.

Hmm August 10, 2018 3:35 PM

“Is it about software engineers being bad at what they do?”

It’s about misplaced trust in systems that don’t deserve it, almost nobody being in a position to verify it, yet meanwhile deciding that course not even by the low standard of a public popular vote but by massively lobbied private interests contracting for the right to pretend to do the job as rigorously as it requires, and then spouting technology buzzwords to the unwashed masses as if to convince them, if they even really cared – which they mostly don’t.

Fred P August 10, 2018 3:40 PM

I gather that few people read the rollover text on the comic. Example: Bob Graham’s writeup claims “It ignores the solution, which isn’t to fix software bugs, but to provide an independent, auditable paper trail.” – which is addressed in the rollover text.

bob August 10, 2018 4:00 PM

@Fred P

Yeah, I didn’t either, tells me something about important information not being visible enough. In any case, it shouldn’t need a rollover text so that most readers understand what it is about. I could even say the rollover text doesn’t matter, as the comic is a thing in itself.

bob August 10, 2018 4:34 PM


Its no more than comic anyway, dont want to turn xkcd into charlie hebdo. But, though what you said is what I wanted it to mean the first time I read the comic, its not what I thought it meant in the end. And idiocracy, that movie should be watched by everyone on earth, specially the start!

Bubble Wrap August 10, 2018 4:35 PM

It is a valid comparison – in each case, the comic is addressing the first thing of importance – “you had one job”. For airplanes etc. it’s reliability, not dropping out of the sky; for voting machines it’s being tamperproof, voters not being cheated.

Andrey Sverdlichenko August 10, 2018 4:37 PM

@Clive Robinson

I have to disagree, there is quite significant difference between safety and security. If there were “civil engineer DefCon”, we all would have great time watching elevators falling like stones after quick hack with sledgehammer and blowtorch. Which doesn’t make them unsafe, just not secure against targeted attacks.

In Russian there is only one word for “safety” and “security” too. I think this is bug, not a feature. We usually use “reliability” as in place of “safety”, which gives slightly different context.

Ismar August 10, 2018 4:44 PM

Not sure why nobody else has mentioned this but both planes and elevators use and rely deeply on software. As such the cartoon may be trying to simply say embrace our reality and go with electronic voting the same way you embraced modern elevators and planes

Steve August 10, 2018 5:03 PM

It’s perhaps of interest to note that airplanes weren’t always safe and reliable.

I’m old enough to (barely) recall the de Havilland DH 106 Comet which fell out of the skies with distressing regularity. It took a few such disasters for the engineering community to learn how to build a safe and reliable airplane.

Elevators, of course, had problems with falling down shafts when the lift cable broke until Elisha Otis came up with his safety device.

Perhaps in 75 or a hundred years, computer engineering will become as reliable as aeronautical and civil engineering.

If so, I somehow suspect it won’t involve “blockchain.”

Clive Robinson August 10, 2018 5:17 PM

@ C,

I reconsidered after reading the Bob’s article.

You should not have as his arguments are, what some here would call strawmen arguments or worse.

For instance he makes out that Software replaced Mechanical voting machines because of hanging chads, and that the software is more accurate than the mechanical machines. Which is actually not really true at all. The real reason for the hanging chads and the other faults in the mechanical machines was “nonexistant or poor maintanence” along with poor storage / transportation and similar issues with ageing mechanical machines. Ohh and don’t forget the incentives from lobbying etc.

But it also shows his lack of experience, most embedded systems engineers with reasonable experience know that the UI using Commercial Off The Shelf (COTS) buttons / keys / switches are actually quite unreliable compared to correctly designed but quite expensive mechanical actuators. Switches and buttons for instance can have as low as 1,000 operations reliability, keys designed for key pads might be around 10-50,000. Whilst purpose designed actuators usually have upwards of 100,000 operations reliability, some upwards of a million operations. I have mechanical shaft encoders in my junk box that are rated at 600RPM for a minimum of 50,000 hours (~6years) which if you do the math is 1,800,000,000 actuations.

Likewise the argument that it was not the software but the hardware because the manufacturer had made the jtag test points enabled / available, is realy silly, because it’s the software that is going to be altered or missused to rig votes, the jtag is just one of many routes it could be got at by an attacker. His argument is like saying the locks supplied to a prison were a failure because the guy that designed the door frames did not make the recess for the locking bolt tamper proof, it’s inept miss direction.

Sorry Bob’s arguments “do not stack up” or if you prefer “hold water”, plain and simple.

But there is something else you should also consider, nearly all Internet sites that are well known and have an identifiable person come in for these sorts of attack, they are almost always contrived. There is a name for this sort of attack, but as others here will no doubt see after a little thought they say more about the attacker than they do the attacked. Call it the Internet version of the physical world Napoleon Complex, with the “lack of stature” having the other more common meaning, not that of height.

Clive Robinson August 10, 2018 5:32 PM

@ Bob,

Is it about blockchain being bad?

Who appart from you has mentioned the “blockchain”?

As for what makes people ammused, well it’s like beauty, very much “In the eye of the beholder”.

After all some don’t get/like sarcasm, likewise irony, puns and jokes about small furry creatures from Alpha Centauri, or Norwegian Blue Parrots.

bob August 10, 2018 5:33 PM


“Perhaps in 75 or a hundred years, computer engineering will become as reliable as aeronautical and civil engineering.”

Well, technological advancement is exponential, not linear, so I believe 75 years is way too much. Also, computer engineering is very different to aeronautical or civil in that it is swallowing the world. I mean, in 75 years it will have expanded and diversified beyond imagination, civil and aeronautic will probably be subfields of computer engineering (to say it somehow). I believe software engineers are more or less as good as any professional, the problem is software engineering is INCREDIBLY complex (and I had to use caps because most people refuse to believe it).

bob August 10, 2018 5:39 PM

@Clive Robinson

‘Who appart from you has mentioned the “blockchain”?’

xkcd mentioned it, in the comics last panel.

‘As for what makes people ammused, well it’s like beauty, very much “In the eye of the beholder”.’

And thats why I said “funny to me”.

Lawrence D’Oliveiro August 10, 2018 6:05 PM

Is air travel really that safe?

I remember a study published some years ago which explained that, on a passenger deaths per unit distance travelled basis, passenger aircraft are about an order of magnitude safer than passenger cars. But when measured on passenger deaths per unit time spent travelling, the two are similar; and when looked at from passenger deaths per journey, flying is more dangerous than being in a car.

The issue is the difference in characteristics of accidents in the two modes of transport: two thirds of air accidents happen around take-off and landing, and you’ve got to have one of each, regardless of the length of the journey. Whereas car accidents happen with similar frequency at any point.

In other words, looking at passenger deaths per unit distance travelled, while it make sense for cars, is a misrepresentation of the safety of air travel.

Clive Robinson August 10, 2018 6:06 PM

@ Bob,

Darn I put the double quote in the wrong place it should have been “the blockchain”.

It’s a part of the joke, the questioner uses a buzzword incorrectly and gets an unexpected paranoid response.

It reflects the reason for “the bkockchain bubble” market and all the evangalising behind it on one side and “garlic waving” and “cross sign making” –like you see in bad vampire movies– on the other side. Which has turned into a modern “flame war”.

One of the things about XKCD cartoons is that they frequentky have multiple levels, over and above those explained in the “mouse over”.

But my “has mentioned” is a refrence to another British Comedy program. John Cleese, who was a Python, from which the “Dead Parrot” sketch came from, also did “Faulty Towers” and he had a line of “Don’t mention the war”,

Which became a catch phrase that is still around today and used by various people including Jeremy Clarkson indirectly in a number of episodes of Top Gear, which has apprared in most countries world wide (apparently appart from France).

Eye of the Beholder August 10, 2018 6:11 PM

“But it also shows his lack of experience,”

Clive there’s really no need to be a jerk just because you disagree with Bob on an issue.

You don’t need ad hominem to say he’s wrong about industrial switch longevity, or anything else.
Make your points without the daggers and you’ll be 100% more respectable for it.

bob (not graham) August 10, 2018 7:03 PM

@Clive Robinson

I see, but I didnt mention “the blockchain”. I didnt use the word “the” and I referred to what I believe xkcd referred to, blockchain as a technology, an idea beyond any particular implementation (like the bitcoins blockchain). But then, if your “has mentioned” is a reference to the cultural background around a sketch or a phrase, I must say I lack said cultural background (I lfaoed at cleeses video tho XD). Maybe thats why I see the message as unclear, if so, my bad. But if not, see exhibit A: Ismar’s comment.

Alyer Babtu August 10, 2018 11:23 PM

Not to commit the sin of interpreting a moral to Aesop’s fable, but the comic might be seen as cautioning against letting enthusiasm for that “good thing” science run past reality, there is science, and there is “science”. The real scientists know “Ars longa, vita brevis”.

albert August 11, 2018 11:01 AM

@Lawrence D’Oliveiro,
“…But when measured on passenger deaths per unit time spent travelling[sic], the two are similar; and when looked at from passenger deaths per journey, flying is more dangerous than being in a car….”

Comparing cars to aircraft is apples and oranges to me. In the US, we lose well over 30,000 people in traffic ‘accidents’ every year. Equipment failures account for a much lower percentage today, compared to past years. Obviously, the drivers are accountable. They are the cause.

Ironically, pilots are usually responsible for most aircraft accidents, even in some cases of mechanical failures.

The human factor cannot be ignored. Unskilled, untrained, brain-addled druggies, drunkards, take your choice.

@Clive, @Person Who Knows FCS,
There is a shipload of code running Flight Control Systems, yet I can’t recall any software failures on commercial aircraft.

Despite the best efforts of the paper ballot folks(whom I agree with, BTW), it looks like we’re heading for across-the-board eVoting. If these systems are designed with the same thought and care as other commercial systems, there will be plenty to talk about in the coming years.

. .. . .. — ….

herman August 11, 2018 11:59 AM

@Steve – AFAIK only 3 Comets broke up, while four DC10 aircraft had engines fall off in flight and several Boeing 747 aircraft had the forward fuel tank explode in flight. So, aerospace engineers are still learning…

Clive Robinson August 11, 2018 1:40 PM

@ Albert,

There is a shipload of code running Flight Control Systems, yet I can’t recall any software failures on commercial aircraft.

There have been failures, or more accurately incorrect responses to actuator, sensor and other non human inputs, or chaotic responses or overly complex redundant systems or just “positively dangerous” engine managment software that would kill all engines of the aircraft…

One case that comes to mind was that a human “cleaner” left self adhisive patches over the inputs to the pitot tubes on one side of an aircraft, that threw the Air Data Computer into a chaotic mode,

Unfortunatly rather than blaim the defective ADC design and implementation they put the crash and seventy fatalities including the air crew down to the air crew and other human factors[1],ú_Flight_603

Airbus had aircraft stall out on take off and similar for various FCS related reasons. But also had to pull and replace a major tripply redundant system for “complexity reasons”. Have a look at,

[1] There is a truism in the air industry of “If the pilot died it’s automatically the pilots fault” thus the air accident investigators write it up that way…

However if the relatives are persistant and get politicians involved such reports can be replaced with those more fitting of the facts. As happened with the RAF Chinook that had been retro fitted with a type two upgrade that had “positively dangerous” engine managnent software that Boeing were only to aware of long befor the upgrades were carried out. The pilots in thick fog flew into a mountain on the mull of kintire. All aboard were killed, the passengers just happened to be the most senior of Intelligence Officers for Northern Ireland and had left NI flying to Scotland for a secret conferance, thus the case received rather more attention than the “corner of the carpet lifters” expected, thus they got caught out eventually (15years down the line and received no real punishment),

TE901 August 11, 2018 3:49 PM

Computers should have the vote?. No not yet. As for me– I would rather do my own voting and should not need help or permission from a computer to do so. Is it even legal for a computer to vote on my behalf?.

MK August 11, 2018 4:52 PM

“Is it about software engineers being bad at what they do?”
It’s about software engineers not being software architects. If you want to design a building you don’t do your undergraduate degree in “hammer”. IBM had it right years ago when they had System Analysts who designed systems, and “coders” who implemented them.

NotAnEnginer August 12, 2018 6:55 AM

For me, there the term “engineer” as applied to software is a

Briefly, an extract from Wilipedia for “Engineer”:

Engineers, as practitioners of engineering, are people who
invent, design, analyze, build, and test machines, systems,
structures and materials to fulfill objectives and
requirements while considering the limitations imposed by
practicality, regulation, safety, and cost.[2][3]

The word engineer (Latin ingeniator[4]) is derived from the
Latin words ingeniare ("to contrive, devise") and ingenium

My take on all of this is that requirements are either too
vaguely defined in the software domain compared to other domains;
e.g. — In a construction engineering domain, the engineering
effort for a load-bearing steel I-Beam might include:

- Evaluating stresses to be withstood, up to maximum
  "natural" stresses, which may include significant events
  such as tornadoes/hurricanes/tsunamis/earthquakes;
- Man-made events such as
      crashes/fire/bombing/synchronised jumping;
- Ability of the underlying material to maintain its
  strength throughout its design lifetime, e.g. corrosion,
  warping, cracking etc, which in turn can be translated 
  into parameters regarding the material's brittleness,
  softness, operational ranges for e.g. heat
* and the above, in turn, can be related to the composition
  of the beam, and the manufacturing processes (tempering?)
  that it is subjected to.

Software languages at various levels haven’t yet come up with a
good way of expressing and working with tolerances, first from
the initial requirements specification, and down through the
quality of the materials at various levels that support the
high-level solution languages.

It’s tolerances that allow you to marry real-world imperfect
solutions into a meeting a requirements specification with
sufficient trust that the resulting residual risks are

— NotAnEngineer (nor that good with HTML tags, sorry)

Winter August 12, 2018 9:27 AM

I miss the most obvious explanation of the commic.

Airplane engineers trust airplanes. Elevator engineers are happy to ride elevators. However, software engineers want computerized voting machines burried in the desert, not to be touched without gloves.

When those who build it do not trust it, what does this tell you? And why would you be so insane as to not follow their advice?

albert August 12, 2018 10:16 AM


“…[1] There is a truism in the air industry of “If the pilot died it’s automatically the pilots fault” thus the air accident investigators write it up that way…”

Doesn’t happen with the NTSB. And the last thing the airlines want to see is “pilot error”, for obvious reasons.

The incident you mentioned also involved the -static- ports, which are much more critical. Blocked pitot tubes (like Air France Flight 447) shouldn’t cause a crash, unless the pilots fail to follow procedure.

Then I wonder why the pilot didn’t see the blocked ports during his walk-around.

It’s difficult for computers to decide if their inputs are correct. If you’re flying at 30,000 ft and your air speed is zero, something is obviously wrong. That is when the autopilot disengages and the human is supposed to take over.

Unfortunately, I am unable to find NTSB cases in the incidents in your links.

. .. . .. — ….

ted August 12, 2018 12:50 PM

Ironic with the airplane stolen on Friday. Airport/airplane security is never as good as people are sold.

Clive Robinson August 12, 2018 1:44 PM

@ ted,

I just looked the plane theft up, and the aircraft stolen is a Bombardier Dash 8 Q400 tugged at a thread in my memory…

I thought it has been mentioned on this blog before over an upgrade that our host @Bruce had highlighted as security by obscurity. Something about an upgrade that put the flight instrumentation on the same wire with passenger entertainment…

Well I found this,

A different aircraft… But at the bottom of the page a poster mentions Bombardier… Which just does not seam right, I guess I’ll just have to keep scratching my noggin as to why the Q400 hit a chord.

albert August 12, 2018 3:31 PM

@Alyer Babtu,

“…Now, is there some way to combine the totally part-less pulse jet with the autogyro to get a practical result….”

A pulse jet autogyro capable of carrying passengers would indeed be a marvel. It would be so loud that the folks at the destination airport could hear it take off:)

If you haven’t seen Colin Furze, see:

. .. . .. — ….

MK August 12, 2018 3:33 PM

“Now, is there some way to combine the totally part-less pulse jet with the autogyro to get a practical result ?”
The Hiller Hornet would fit that bill. But it’s very loud (Hiller museum started one up at an airshow — I’d guess 140db).

albert August 12, 2018 4:30 PM


A fascinating machine. Thanks for mentioning it.

At 140dB, the polar opposite of our stealth helicopters:)

. .. . .. — ….

Alyer Babtu August 12, 2018 5:24 PM

@albert @MK

Thanks for the link and the history. I hadn’t even searched the Internet, thinking from things I had read that except for use in WWII pulse jets were a path basically abandoned near their beginning. Seems rather that there is quite a bit of interest.

Is the noise a necessary consequence of the design ? Or can the channel be shaped and “tuned” to eliminate most of the sound but still keep power ?

Alyer Babtu August 12, 2018 10:57 PM



That is a magnificent beast ! And per Wiki, they were getting close to solving the noise.

albert August 13, 2018 9:50 AM

@Alyer Babtu, @MK,
Modern passenger jets aren’t exactly quiet. I would guess that there are noise mitigation techniques yet to be discovered. It wouldn’t surprise me if the military does a lot of research in this area. If you’ve ever heard an F-117 fly over you at 100ft, you’ll appreciate the effectiveness of military noise reduction research.

. .. . .. — ….

Aerospace Software Engineer August 13, 2018 10:57 AM

Another reason this comic is wrong is because the more I learn about engineering airplanes, the less I want to fly in them. And I’m not alone among my colleagues. Statistics are great and all, but they don’t always reassure you when you’re making the sausage. Maybe engineers were unanimously proud to fly the 747 when it first came out, but that’s not true of the 787.

Random Software Engineer August 13, 2018 3:37 PM

I do think engineer can be applied to someone who writes software. I use the title myself (though my title is technically Cloud Security Engineer because I build custom security solutions for enterprise-scale clients – sadly, 90% of that is still slapping peoples’ hands when they open port 22 to

I think the main difference is that the tolerances and stresses we test against are primarily security and use-case stresses, not necessarily physical limitations. We have to code against users who don’t know how to use the software and will try to force it to work how they want it to (i.e. uploading pictures of transaction receipts to a database instead of actually uploading the data from the receipt) and those who will try to intentionally break whatever we have designed.

Clive Robinson August 13, 2018 4:02 PM

@ Albert, Alyer Babtu, MK,

I would guess that there are noise mitigation techniques yet to be discovered.

Very probably, we’ll know if and when we find them. However there are known techniques yet to be more thoroughly exploited.

For instance with a jet engine it’s tail noise is in part related to the difference between the velocity of the jet exhaust in relation to the air moving past the outside of the exhaust coloumn. Which is one reason turbo fan engines are quieter.

If there was an efficient way to have more coaxial layers of moving air then the noise would be less, and the engine efficiency higher. In part due to less turbulence but also as you produce more of a gradient than a boundry.

What I don’t know is where the diminishing returns point is. I could make a semi educated guess, but you would need a domain specialist to give you the maths and the real answers.

Weather August 13, 2018 4:44 PM

Aerospike design compared to nozzle, the noise isn’t so much about velocity technically but pressure difference between air and exhaust, if p1=p2,the effecincy is the highest

Jay Dee August 14, 2018 9:47 AM

The early days of flight control software had some interesting divergences that no one wishes to talk about.

PeaceHead August 18, 2018 2:15 PM

Jay Dee and Winter, I’m with you guys.
For those that just don’t get it, it’s like anything else such as mathematics or linguistics or dancing or still-life painting. If you can’t relate or can’t comprehend, nobody else can do it for you. For the rest of us, please, let’s move on. Sure it’s a niche comic, but I thought it was sophisticated enough to be funny and funny enough to be sophisticated.

What I’m not laughing about is that our elections are poised to be trashed and we are nearly guaranteed to become victimised by the next several waves of self-appointed idiot sociopath megalomaniacs. And yeah, those people are a threat to both security and safety–they prove it over and over and over again without fail. You can’t learn of the deeper truths and their effects from those who are complicit.

MEGA MEDIA CORPORATIONS, your corruption and psychological warfare is not essential for Democracy. You are part of the PROBLEM.

Leave a comment


Allowed HTML <a href="URL"> • <em> <cite> <i> • <strong> <b> • <sub> <sup> • <ul> <ol> <li> • <blockquote> <pre> Markdown Extra syntax via

Sidebar photo of Bruce Schneier by Joe MacInnis.