Expensive integer overflows, part N+1

Now the European Space Agency has published its preliminary report into what happened with the Schiaparelli lander, it confirms what many had suspected:

As Schiaparelli descended under its parachute, its radar Doppler altimeter functioned correctly and the measurements were included in the guidance, navigation and control system. However, saturation – maximum measurement – of the Inertial Measurement Unit (IMU) had occurred shortly after the parachute deployment. The IMU measures the rotation rates of the vehicle. Its output was generally as predicted except for this event, which persisted for about one second – longer than would be expected. [My italics]
This is a classic software mistake - of which more later - where a stored value becomes too large for its storage slot. The lander was spinning faster than its programmers had estimated, and the measured rotation speed exceeded the maximum value which the control software was designed to store and process.
When merged into the navigation system, the erroneous information generated an estimated altitude that was negative – that is, below ground level.
The stream of estimated altitude reading would have looked something like "4.0km... 3.9km... 3.8km... -200km". Since the most recent value was below the "cut off parachute, you're about to land" altitude, the lander obligingly cut off its parachute, gave a brief fire of the braking thrusters, and completed the rest of its descent under Mars' gravitational acceleration of 3.8m/s^2. That's a lot weaker than Earth's, but 3.7km of freefall gave the lander plenty of time to accelerate; a back-of-the-envelope calculation (v^2 = 2as) suggests a terminal velocity of 167 m/s, minus effects of drag.

Well, there goes $250M down the drain. How did the excessive rotation speed cause all this to happen?

When dealing with signed integers, if - for instance - you are using 16 bits to store a value then the classic two's-complement representation can store values between -32768 and +32767 in those bits. If you add 1 to the stored value 32767 then the effect is that the stored value "wraps around" to -32768; sometimes this is what you actually want to happen, but most of the time it isn't. As a result, everyone writing software knows about integer overflow, and is supposed to take account of it while writing code. Some programming languages (e.g. C, Java, Go) require you to manually check that this won't happen; code for this might look like:

/* Will not work if b is negative */
if (INT16_MAX - b >= a) {
   /* a + b will fit */
   result = a + b
} else {
   /* a + b will overflow, return the biggest
    * positive value we can
   result = INT16_MAX
Other languages (e.g. Ada) allow you to trap this in a run-time exception, such as Constraint_Error. When this exception arises, you know you've hit an overflow and can have some additional logic to handle it appropriately. The key point is that you need to consider that this situation may arise, and plan to detect it and handle it appropriately. Simply hoping that the situation won't arise is not enough.

This is why the "longer than would be expected" line in the ESA report particularly annoys me - the software authors shouldn't have been "expecting" anything, they should have had an actual plan to handle out-of-expected-value sensors. They could have capped the value at its expected max, they could have rejected the use of that particular sensor and used a less accurate calculation omitting that sensor's value, they could have bounded the calculation's result based on the last known good altitude and velocity - there are many options. But they should have done something.

Reading the technical specs of the Schiaparelli Mars Lander, the interesting bit is the Guidance, Navigation and Control system (GNC). There are several instruments used to collect navigational data: inertial navigation systems, accelerometers and a radar altimeter. The signals from these instruments are collected, processed through analogue-to-digital conversion and then sent to the spacecraft. The spec proudly announces:

Overall, EDM's GNC system achieves an altitude error of under 0.7 meters
Apparently, the altitude error margin is a teeny bit larger than that if you don't process the data robustly.

What's particularly tragic is that arithmetic overflow has been well established as a failure mode for ESA space flight for more than 20 years. The canonical example is the Ariane 5 failure of 4th June 1996 where ESA's new Ariane 5 rocket went out of control shortly after launch and had to be destroyed, sending $500M of rocket and payload up in smoke. The root cause was an overflow while converting a 64 bit floating point number to a 16 bit integer. In that case, the software authors had actually explicitly identified the risk of overflow in 7 places of the code, but for some reason only added error handling code for 4 of them. One of the remaining cases was triggered, and "foom!"

It's always easy in hindsight to criticise a software design after an accident, but in the case of Schiaparelli it seems reasonable to have expected a certain amount of foresight from the developers.

ESA's David Parker notes "...we will have learned much from Schiaparelli that will directly contribute to the second ExoMars mission being developed with our international partners for launch in 2020." I hope that's true, because they don't seem to have learned very much from Ariane 5.


Journalist ecomonic understanding makes me cry

The megalopolis of San Jose, CA has approved a rise in the minimum wage to $15 by January 1 2019. The usual suspects are weighing in approvingly, but my eye was drawn in fascinated horror to the way that the journalist (or press release author) expressed the financial changes expected:

Mayor Liccardo launched the effort last fall to follow the lead of five other cities in Santa Clara County and to come up with a regional approach to raise minimum wage throughout Silicon Valley.
City statistics show it would mean a $300,000 raise for 115,000 workers.
To which I can only say huh? Assuming they're on $12/hour now, they're working 100,000 hours per year?

What the author means, one assumes, is that each worker is going to benefit by just under $3 per hour, but that's a horrible way of expressing that statistic. And of course, the statistic itself is misleading. The workers are going to pay a varying amount of tax on that additional money, other benefits they are currently paid may change, and of course that assumes that otherwise their salary would not have risen at all by January 2019 despite the extra 2 years of experience and possible promotion they would have achieved by then.

But let's look at what the author believes is the downside of this measure - because they're trying to be even-handed, yes?

Some small business owners and non-profits worry raising the minimum wage would reduce their share of the economic pie. The result could either mean service reduction for non profits or price increases for mainstay businesses.
Or, you know, firings left and right for any worker whose skills aren't valued at $15/hour (plus additional costs) by the business they work at. Or businesses closing down because they're no longer economically viable. Or employers cutting existing worker benefits to offset the new costs. Heck, ask workers and business owners in Seattle how their new $15/hour minimum is working out.

You can just taste the disdain for business owners in the expression "reduce their share of the economic pie". Why exactly does the author think the owners have put in all the work and risk to create the businesses that create the jobs for these good people in the first place?

Always consider what happens when the shoe switches feet

The recent panic from the LGBT+ / Black / Hispanic communities about increased violence in the wake of Trump's victory has caused a sharp uptick in blogs and forum posts from various West Coast people, notably those of the transgender persuasion, claiming a new fear for the personal safety of them and their families. This seems to be based around the assumption that a Trump presidency will embolden the less savoury side of society prone to gay-bashing to perpetrate physical violence on them. Let's say, for arguments' sake, this is true: what should they do about it?

Larry Correia, author of the "Monster Hunter Nation" and related high-output high-sales fantasy book series, penned "A Handy Guide For Liberals Who Are Suddenly Interested In Gun Ownership" which is as sympathetic to the political gripes of Hillary/Bernie supporters as the title suggests, but does provide a lot of good practical advice about how you can go about getting armed and trained in effective self-defence. Correia owned a gun store and did a lot of concealed-carry training before his literary career properly started, so seems to know what he's talking about.

What he really nails is the ever-increasing squeeze on firearms possession, gun ranges and ammo purchase that has been happening in Democrat-controlled states over the past few years, and why it's relevant now:

When the already super powerful government wants to make you even more powerless, that scares the crap out of regular Americans, but you guys have been all in favor of it. Take those nasty guns! Guns are scary and bad. Don't you stupid rednecks know what's good for you? The people should live at the whim of the state!
But now that the shoe is on the other foot, and somebody you distrust and fear is in charge for a change, the government having all sorts of unchecked power seems like a really bad idea, huh?

It's hard enough owning a gun in California anyway, but cities like San Francisco have taken it to extremes. They have used local law changes to force all the gun shops to close down. In last week's voting, there was a strong San Francisco representation pushing state Proposition 63 to make ammunition purchases harder and more expensive. The net effect is that you can guarantee that no-one in San Francisco is carrying a gun unless they're a law enforcement officer or a criminal.

Gay bashing is far from a new crime in San Francisco. Despite the city's image as gay-friendly, there are enough unreconstructed citizens who are not keen on public displays of homosexuality or trans people for there to be a significant risk of violence. Since these folk know that their victims won't be armed, they have no disincentive to engage in these attacks. But if there were a few well-publicised self-defence shootings in reaction to gay bashing attempts, you can bet that the rate of gay bashing attempts would decline rapidly.

For now, California citizens have to deal with the laws as they stand - and as Correia notes, those laws make it hard for law-abiding citizens to be armed effectively:

See, traditionally Democrats don't like the 2nd Amendment and historically have done everything in their power to screw with it. Your gun laws are going to vary dramatically based upon where you live. It might be really difficult and expensive for you to exercise your 2nd Amendment rights, or it might be relatively easy.
But you’re scared right now! Well, that's too bad. Because for the most part Democrats have tried to make it so that citizens have to abdicate their responsibilities and instead entrust that only [the] state can defend everyone... That doesn't seem like such a bright idea now that you don't trust who is running the state, huh?
Perhaps San Francisco Mayor Ed Lee could take time out from his crusade against the gun industry to ensure that his vulnerable constituents can defend themselves against the increasing violence in his city. I'm not holding my breath for this to happen, but if the LGBT+ community wants to be able to protect themselves then Ed might be a good target for their lobbying. "Mayor Lee, why don't you want the gay community to be safe in your city?". They could recommend that Lee work with past SF Democrat mayoral candidate Leland Yee to draw on the latter's expertise in firearms supply.


Silicon Valley in the Time of Trump

The past few days have given me a great view into how the famously liberal population of the Bay Area has taken the election of Donald Trump. "Not well" is fair, but a yuuuuge understatement.

Do you know what California's principal export is? Whine.

The Bay Area is probably the most pro-Clinton anti-Trump group outside the island of Manhattan, and the residents were never going to be entirely happy with a Trump victory. I predicted butthurt-ness, and was I ever right. However even I, with my jaundiced view of human nature, never expected the level of rage and opprobrium directed at Trump and his voting enablers. So far I've seen - not heard but actually seen written on group emails and forums - the following:

  • claims of suicidal feelings, particularly from trans and gender-fluid folks;
  • assertions that anyone voting for Trump needs to publicly denounce Trump's perceived opinions about Black Lives Matter, Hispanics, gays (wut?) and immigrants;
  • statements that anyone voting for Trump needs to go work for another company;
  • room-sized group hugs to support each other post-election; and
  • claims that Trump and Pence wanted to electrocute people who were gay or trans.
Thank goodness Trump has elephant-thick skin, because there's probably enough libel in every Bay Area tech company's emails to pay for the building of another Trump Tower.

The straw that broke the camel's back for me was a bundle of complaints around the theme:

"I was hoping to teach my girls that, if you work hard and dream big, you can be anything you want to be. I would like to thank 2016 for putting me right."
It seems that a large number of people were going to use "Hillary as first woman president" as the totem for their children to show that the glass ceiling had been shattered. While I'm all in favour of showing children role models, is Hillary really the model you want to use?

I actually found it inspiring, in a way. The lesson I took from the election was that if you are a woman, even if you are a revolting and corrupt human being, you can make it to within a gnat's chuff of being the President of the United States, and your party organisation will happily screw over men to help you get its nomination. It wouldn't have taken much of a vote change in one or two swing states for Hillary to be elected, at which point I guarantee that no-one on the Dems side would be talking about upsetting the electoral college applecart.

Hillary is (of course) not happy and blames FBI Director Comey for her narrow defeat:

But our analysis is that [FBI Director James B.] Comey's letter raising doubts that were groundless, baseless, proven to be, stopped our momentum,” she said. “We dropped, and we had to keep really pushing ahead to regain our advantage — which going into the last weekend, we had."
She's right, of course. Comey's letter was quite possibly enough to cause Hillary voters in key states to stay home on polling day.

On the other hand, there were many other what-ifs, any one of which was probably enough to get her elected:

  • what if she had actually achieved something of note as Secretary of State?
  • what if she and Bill hadn't gone around the world soliciting hundreds of millions of dollars from various dubious countries and individuals?
  • what if she were actually personally likeable?
  • what if she'd not blown her chance to land a kill-shot on The Donald in the debates?
  • what if she'd insisted that the DNC not put its thumb on the scales, and instead beat Bernie fairly in the nomination?
All these were in her control, so to blame solely Comey for her loss seems rather obtuse.

And on the flip side, what if Comey had taken the - apparently quite reasonable - step to indict her for her recklessness in running her own email server and exposing any amount of State classified material to any intelligence service worth its name? Isn't she grateful to him for not doing that, at least?


Trump triumphant

Blimey, he actually did it. Just how poor a candidate must Hillary have been, with all the media, technical, organisational and financial advantages she had, to go down so badly to Trump? I'm guessing that Hillary 2020 is not going to be a thing.

I continue to feel very comfortable in my prediction of an unprecedent wave of butthurt about to appear from the Guardian opinion pages (and indeed all other articles) and the BBC US correspondents.


2016 US election prediction

It's less than 24 hours before we'll have a good idea whether Hillary Clinton has made it to the 270 electoral college votes needed to secure the presidency to which she clearly believes she's entitled. At this stage, although I wouldn't write off Trump, I'd have to say that Hillary is likely to make it. Her Get-Out-The-Vote ground game is much better organised than Trump's, Wikileaks and the FBI haven't landed a killer blow on her, and the media have carried water faithfully enough to keep most of her followers following. I'm sure a lot of Bernie supporters are extremely unhappy with the revelations of past weeks, but I suspect most of them will hold their noses and vote Hillary nevertheless.

Should The Donald continue his trend of confounding predictions and actually pull off an upset - winning Florida, Pennsylvania and such other states as needed to break 270 - I confidently predict the most ear- splitting snit of all times from 95% of the US media. Hillary herself might actually evaporate in a toxic plume of rage. It would be quite something to watch.


DDoS and the Tragedy of the Commons of the Internet of Things

On Friday there was a massive Distributed Denial of Service attack on DynDNS, who provide Domain Name services to a number of major companies including Twitter, Spotify and SoundCloud, effectively knocking those sites offline for a significant fraction of the global population. Brian Krebs provides a useful summary of the attack; he is unusually well versed in these matters because his website "Krebs on Security" was taken offline on 20th September after a massive Internet-of-Things-sourced DDoS against it. It seems that Krebs' ongoing coverage and analysis of DDoS with a focus on the Internet of Things (IoT) - "smart" Internet connected home devices such as babycams and security monitors - raised the ire of those using the IoT for their nefarious purposes. It proved necessary to stick Krebs' blog behind Google's Project Shield which protects major targets of information suppression behind something resembling +5 enchanted DDoS armour.

Where did this threat to the Internet come from? Should we be worried? What can we do? And why is this whole situation a Tragedy of the Commons?

Primer on DNS

Let's look at Friday's outage first. Dyn DNS is a DNS hosting company. They provide an easy way for companies who want a worldwide web presence to distribute information about the addresses of their servers - in pre-Internet terms, they're like a business phone directory. Your company Cat Grooming Inc., which has bought the domain name catgrooming.com, has set up its web servers on Internet addresses and, and its mail server on Somehow, when someone types "catgrooming.com" in their internet brower, they need that translating to the right numerical Internet address. For that translation, their browser consults the local Domain Name Service (DNS) server, which might be from their local ISP, or a public one like Google's Public DNS ( and

So if Cat Grooming wants to change the Internet address of their webservers, they either have to tell every single DNS server of the new address (impractical), or run a special service that every DNS server consults to discover up to date information for the hostnames. Running a dedicated service is expensive, so many companies use a third party to run this dedicated service. Dyn DNS is one such company: you tell them whenever you make an address change, and they update their records, and your domain's information says that Dyn DNS does its address resolution.

To check whether a hostname on the web uses DynDNS, you can use the "dig" command which should work from the Linux, MacOS or FreeBSD command line:

$ dig +short -t NS twitter.com
This shows that twitter.com is using Dyn DNS because it has dynect.net hostnames as its name servers.

Your browser doesn't query Dyn DNS for every twitter.com URL you type. Each result you get back from DNS comes with a "time to live" (TTL) which specifies for how many seconds the answer is valid. If your twitter.com query came back as with a TTL of 3600 then your browser would use that address for the next hour without bothering to check Dyn DNS. Only after 1 hour (3600 seconds) would it re-check Dyn DNS for an update.

Attack mechanism

The Internet of Things includes devices such as "babycams" which enable neurotic parents to keep an eye on their child's activities from elsewhere in the house, or even from the restaurant to which they have sneaked out for a couple of hours of eating that does not involve thrown or barfed food. The easiest way to make these devices accessible from the public Internet is to give them their own Internet address, so you can enter that address on a mobile phone or whatever and connect to the device. Of course, the device will challenge any new connection attempt for a username and password; however, many devices have extremely stupid default passwords and most users won't bother to change them.

Over the past decade, Internet criminals have become very good at scanning large swathes of the Internet to find devices with certain characteristics - unpatched Windows 2000 machines, webcams, SQL servers etc. That lets them find candidate IoT devices on which they can focus automated break-in attempts. If you can get past the password protection for these devices, you can generally make them do anything you want. The typical approach is to add code that makes them periodically query a central command-and-control server for instructions; those instructions might be "hit this service with queries randomly selected from this list, at a rate of one query every 1-2 seconds, for the next 4 hours."

The real problem with this kind of attack is that it's very hard to fix. You have to change each individual device to block out the attackers - there's generally no way to force a reset of passwords to all devices from a given manufacturer. The manufacturer has no real incentive to do this since it has the customer's money already and isn't obviously legally liable for the behavior. The owner has no real incentive to do this because this device compromise doesn't normally materially affect the device operation. You can try to sell the benefits of a password fix - "random strangers on the internet can see your baby!" but even then the technical steps to fix a password may be too tedious or poorly explained for the owner to action. ISPs might be able to detect compromised devices by their network traffic patterns and notify their owners, but if they chase them to fix the devices too aggressively then they might piss off the owners enough to move to a different ISP.

Why don't ISPs pre-emptively fix devices if they find compromised devices on their network? Generally, because they have no safe harbour for this remedial work - they could be prosecuted for illegal access to devices. They might survive in court after spending lots of money on lawyers, but why take the risk?

Effects of the attack

Dyn DNS was effectively knocked off the Internet for many hours. Any website using Dyn DNS for their name servers saw incoming traffic drop off as users' cached addresses from DNS expired and their browsers insisted on getting an up-to-date address - which was not available, because the Dyn DNS servers were melting.

Basic remediation for sites in this situation is to increase the Time-to-Live setting on their DNS records. If Cat Grooming Inc's previous setting was 3600 seconds, then after 1 hour of the Dyn DNS servers being down their traffic would be nearly zero. If their TTL was 86400 seconds (1 day) then a 12 hour attack would only block about half their traffic - not great, but bearable. A TTL of 1 week would mean that a 12 hour attack would be no more than an annoyance. Unfortunately, if the attack downs Dyn DNS before site owners can update their TTL this doesn't really help.

Also, the bigger a site is, the more frequently it needs to update DNS information. Twitter will serve different Internet addresses for twitter.com to users in different countries, trying to point users to the closest Twitter server to them. You don't want a user in Paris pointed to a Twitter server in San Francisco if there is one available in Amsterdam, 500 millseconds closer to them. And when you have many different servers, every day some of them are going offline for maintenance or coming online as new servers, so you need to update DNS to stop users going to the former and start sending them to the latter.

Therefore the bigger your site, the shorter your DNS TTL is likely to be, and the more vulnerable you are to this attack. If you're a small site with infrequent DNS updates, and your DNS TTL is short, then make it longer right the hell now.

Alternative designs

The alternative to this exposed address approach is to have a central service which all the baby monitors from a given manufacturer connect to, e.g. the hostname cams.babycamsRus.com; users then connect to that service as well and the service does the switching to connect Mr. and Mrs. Smith to the babycam chez Smith. This prevents the devices from being found by Internet scans - they don't have their own Internet address, and don't accept outside connections. If you can crack the BabyCams-R-Us servers then you could completely control a huge chunk of IoT devices, but their sysadmins will be specifically looking out for these attacks and it's a much more tricky proposition - it's also easy to remediate once discovered.

Why doesn't every manufacturer do this, if it's more secure? Simply, it's more expensive. You have to set up this central service, capable of servicing all your sold devices at once, and keep it running and secure for many years. In a keenly price-competitive environment, many manufacturers will say "screw this" and go for the cheaper alternative. They have no economic reason not to, no-one is (yet) prosecuting them for selling insecure devices, and customers still prefer cheap over secure.

IPv6 will make things worse

One brake on this run-away cheap-webcams-as-DoS-tool is the shortage of Internet addresses. When the Internet addressing scheme (Internet Protocol version 4, or IPv4 for short) was devised, it was defined as four numbers between 0 and 255, conventionally separated by dots e.g. This gives you just under 4.3 billion possible addresses. Back in 2006 large chunks of this address space were free. This is no longer the case - we are, in essence, out of IPv4 addresses, and there's an active trade in them from companies which are no longer using much of their allocated space. Still, getting large blocks of contiguous addresses is challenging. Even a /24 (shorthand for 256 contiguous IPv4) is expensive to obtain. Father of the Internet Vint Cerf recently apologised for the (relatively) small number of IPv4 addresses - they thought 4.3 billion addresses would be enough for the "experiment" that IPv4 was. The experiment turned into the Internet. Oops.

This shortage means that the current model where webcams and other IoT devices have their own public Internet address is unsustainable: the cost of that address will become prohibitive, and customers will need something that sits behind their single home Internet address given to them by their ISP. You can have many devices behind one address via a mechanism called Network Address Translation NAT) where the router connecting your home to the Internet lets each of your devices start connections to the Internet and allocates them a "port" which is passed to the website they connect to: when the website server responds, it sends the web page back to your router along with the port number, so the router knows which of your home devices the web page should be sent to.

The centralized service described above is (currently) the only practical solution in this case of one IP for many devices. More and more devices on the Internet will be hidden from black-hat hacker access in this way.

Unfortunately (for this problem) we are currently transitioning to use the next generation of Internet addressing - IPv6. This uses 128 bits, which is a staggering number: 340 with an additional 36 zeroes after it. Typically your ISP would give you a "/64" for your home devices to use for their public Internet addresses - a mere 18,000,000,000,000,000,000 (18 quintillion) addresses. Since there are 18 quintillion /64s in the IPv6 address space, we're unlikely to run out of them for a while even if ever person on earth is given a fresh one every day and there's no re-use.

IPv6 use is not yet mainstream, but more and more first world ISPs are giving customers IPv6 access if they want it. Give it a couple of years and I suspect high-end IoT devices will be explicitly targeted at home IPv6 setups.

Summary: we're screwed

IPv4 pressures may temporarily push IoT manufacturers to move away from publicly addressable IoT devices, but as IPv6 becomes more widely used the commercial pressures may once more become too strong to resist and the IoT devices will be publicly discoverable and crackable once more. Absent a serious improvement in secure, reliable and easy dynamic updates to these devices, the IoT botnet is here to stay for a while.


Hillary doesn't deserve to be President

I've just finished watching the #2 US Presidential Debate, chaired by Anderson Cooper - for whom I have a reasonable amount of respect as a more-fair-than-average interviewer - and Martha Raddatz, who was hopelessly out of her depth and showing awful bias. Coming out of the debate, I have one question for Hillary: how, with all the advantages you had two hours ago, did you manage to lose?

Going into this debate, Hillary had Donald cornered by the media after his not terribly edifying 2005 remarks about pussy-grabbing opportunities in showbiz were reported. Near-universal media agreement was that The Donald was fatally holed beneath the waterline. Even Trump's own Vice President pick, Pence, was publicly disapproving of Trump's comments. Republican senators and Congress critters were denouncing Trump and saying they wouldn't vote for it. In golf, this would be like being 2 inches away from the hole when your opponent is 200 yards away in a bunker, and it has just started to rain.

And yet... Hillary missed the putt, kept missing it, and Donald chipped his ball onto the green and snuck it into the hole before Hillary found her game.

Trump is not a great public speaker. His train of thought wanders as he speaks, and he assumes technical and factual knowledge in the audience rather than explaining as he goes along. These traits were in full display this evening. A great example was in the "birther" issue where Hillary accused Trump of asking the "racist" question about whether President Obama had actually been born in the USA. Trump (accurately) pointed out that this issue had first been raised by Hillary's consiglieri Sidney Blumenthal, but he did it in such an indirect way that anyone not substantially familiar with the people concerned would have had no idea what he was talking about and how it was tied to Hillary.

Still, somehow he did a better job of debating than Hillary herself. Tonight's debate format seemed to work better for him, because he's comfortable doing spontaneous exposition on topics. Hillary is awful at this, visibly working her way through pre-prepared points on each topic rather than going with the flow of the question and debate. Trump was prone to wander off the thread to include the attacks he wanted to make on Hillary (Bill's disbarring, Russia, black poverty, Syria, tax policy and of course her email server) but seemed to make most of it stick and force Hillary to respond.

Raddatz did her best to cover for Hillary's poor quality responses - Cooper, to his credit, did not - but it seemed clear to me that Trump had managed to bring up nearly all the Hillary dirty laundry that he had avoided in the first debate. Hillary did a variable job in responding to these points, but looked really weak on Russia/Syria, and her responses on the email server were strong but - frankly - flat-out lies. If Donald could learn to speak with more clarity and focus, he'd crucify her. As it was, this was a win on points only, but compared to expectations Donald killed it tonight.

Why was the pussy-grab tape such a non-event in this debate? I think it was because of the apology. Trump apologised for what he said on the tape a few hours after it was publicised, and did so again in the debate as soon as it was brought up. Once he'd done that, it was much harder for Hillary to use it as leverage. "He said these horrible things!" "I've apologised for that, you heard me." Where do you go from there? You can try "this shows what he thinks about women!" but Trump was willing to go on the offense about Bill Clinton and his bimbo eruptions - perhaps the lack of challenge in this area is a sign of how vulnerable Hillary thinks she is here.

By contrast, Hillary's mea culpa for the email server still had a whiff of "I'm sorry I got caught" - her assertions around "no evidence that anyone hacked the server" were incredibly weaselly. A responsible candidate would have agreed that it was quite likely that unfriendly nations had got at least some access to that server, and taken personal responsibility for any consequences arising from their decision to use it.

Conclusion? It's still game on for November 8th. Somehow Donald has mitigated the worst of the impact of the pussy-grab, and is challenging Hillary on the issues again. What other gotchas for him has she got left to leak? Are they good enough to be game-ending, or are they just "the same again"?


Why jail women at all?

I've noticed increasing concern among UK media column writers over the past year about the situation of women in prison, with a clamour to reduce - if not eliminate - the practice of sending women to jail. A good example is this column from Eric Allison in (where else?) the Guardian, late last year: "Women are dying in jails they should not have been sent to":

Many female prisoners are mothers and primary carers. Every year, around 18,000 children are affected by their mother being sent to jail. As women are usually the main caregiver, many end up in care. We can only guess how much that adds to the anguish of mothers behind bars.
A compelling argument to be sure.

Let us turn to the case of Eunice Spry from Gloucestershire, who was sent down for 14 years at Bristol Crown Court in 2007:

Judge Simon Darwall-Smith told the devout Jehovah's Witness that this was the worst case he had come across in 40 years.
Passing sentence, he said: "It's difficult for anyone to understand how any human being could have even contemplated what you did, let alone with the regularity and premeditation you employed."
As punishment for misbehaving, she would beat the children on the soles of their feet and force them to drink washing-up liquid and bleach.
I'm sure Eunice Spry's children were affected by her being sent to jail, but I'd imagine it's more along the lines of thanking God that she was finally kept away from them.

Her defence brief did his best to mitigate, but had something of an uphill struggle:

Mr Mitchell also revealed that Spry had needed protection in prison following her convictions and it was a "particularly unpleasant" place for her.
To which I'd be minded to respond "Et alors?" I hadn't realized before reading the detailed verdict that she was also convicted of "Intimidating a juror or witness or person assisting, or who has assisted, the investigation of an offence" - this is not just a woman who made a few bad choices.

Spry was of course eligible for parole in April 2014 and (of course) was released on schedule - the 14 year imprisonment sentence was reduced to 12 years on appeal.

There's certainly an argument that people are being sent to jail for crimes which are not obviously harmful to society - for example, possession of substantial quantities of narcotics but no obvious intent to supply outside their circle of dysfunctional friends - but let's not special-case women in this argument. If we are serious about gender equality, we should apply the same standards to the decision about jailing a father that we do about deciding to jail a mother. Otherwise we're perpetuating serious inequality in the application of the law to men and women - and isn't that something an enlightened society should want to fix?


Does Putin want Trump as President?

I'm a huge fan of thoughtful blogger Richard Fernandez from Belmont Club, but respectfully have to disagree on his take on the current Wikileaks leaking of Democratic National Catfight emails and voicemails:

By striking at Hillary's aura, the Russians may be attempting the same thing. Democratic voters looked up to her to protect and defend the nation because that's what presidents do. By hacking Hillary and humiliating her, Putin has sent the message that she cannot even defend herself -- and what's the use of a president who can't defend herself?
This is an excellent point, except that - despite the tone of publicity - Hillary is not actually President of the United States. She's locked in a deadly struggle with Donald Trump for the title, and the decision won't happen until November.

I have no trouble at all believing that the Russians have the goods on Hillary. FBI Director Comey's statement on the Clinton private email server left little doubt that any competent foreign security service would have gained complete access to her communications, and have any amount of blackmail material on her and on her confidants. But if you're playing poker and have four kings, why would you all-but-announce this at the start of bidding?

Wikileaks has doubtlessly been compromised by Russian security services, but such compromise is covert - the SVR doesn't have an editorial veto - and it still provides a low-friction platform for publicising controversial data. This is a classic example of a disgruntled insider publicising information to hurt someone they loathe; Wikileaks is just the medium.

If you doubt this assertion, ask yourself: if you were Putin, with whom would you want to negotiate? Trump who is well-established as a wildcard who could say or do anything, and is (in practice) very hard to blackmail because of all the unsavory facts which are already public? or Hillary who still tries to project an aura of robustness and foreign intelligence savvy from her time at State, and whose private email correspondence you have available on request?