2020-06-08

Auditing mappingpoliceviolence.org, part 2

Following on from my previous post about 2015 police killings of unarmed black people, here's a breakdown of the reasons behind cases 27-52 listed by mappingpoliceviolence.org (MPV).

I've not detailed Samuel Dubose, since there was prosecution of the police officer who killed him (although they gave up after 2 mistrials)

Police did something significantly wrong

  1. Kris Jackson (Lake Tahoe, CA): Apprehended by a police officer climbing out of a motel the officer claimed he recognised Jackson as a gang member and thought he might have a gun. Jackson was trying to avoid arrest as he was on probation for selling drugs, but it's not at all clear to me that the officer had any real grounds for opening fire.

Victim shooting seemed justified

  1. James Carney III (Cincinnati, OH): Carney was assaulting a woman in a car at an ATM, beating her with apparent intention of robbing her. Police had to Taser him twice - with him still leaning into the car - first time had no effect: he became unconscious and died. One assumes he had some underlying health issue, but police reaction seems very proportionate and justified.
  2. Asshams Manley (Spaulding, MD): crashed a car while apparently under the influence of narcotics, ran from the scene. Fought with an officer when caught, apparently went for the officer's gun, was shot once, continued to fight, was tasered, and expired shortly afterwards.
  3. Brian Day (Las Vegas, NV): I couldn't find any links for this one (I wonder if the name is correct), but the description from the MPV page indicates the shooting was reasonable: "After speaking to police who were investigating a beating of one of his neighbors, police claim Day went into his apartment and returned with a toy gun. Two officers shot and fatally wounded him after he attempted to 'shoot' them with the toy gun."
  4. Salvado Ellswood (Plantation, FL): Homeless man with a history of violence who refused to move when a police officer found him trespassing, became aggressive and struck the office, shrugged off a Taser and then was fatally shot.
  5. George Mann (Stonewall, GA): Mann became aggressive and locked himself in a home's garage. Police tried to negotiate with him and used a Taser. Mann became unresponsive and died. Tasering seemed like a reasonable response to this, but presumably Mann had an underlying condition that Tasering made fatal.
  6. Freddie Blue (Covington, GA): Blue was one of four men stopped in a car by police. One of the men pointed a handgun at the police, who returned fire. Blue was killed, and one other man injured.
  7. Victo Larosa (Jacksonville, FL): Caught dealing in an undercover drug sting, Larosa fled in his car pursued by officers. After hitting 5 vehicles his stolen car was trapped so he ran, pursued by officers. He fell, twisted towards officers and put his hand in his waistband. Reasonably fearing Larosa had a weapon there, the officer shot him.
  8. Spencer McCain (Ownings Mills, MD): After a long history of domestic violence calls, police were called again to McCain's house where he had (again) repeatedly beaten his partner. Police heard screaming, forced their way in, and found McCain "making body movements and arm movements that placed the officers in fear of serious injury or death from a weapon that they feared he possessed and would engage them with". This is a bit weak, but McCain did have a previous handgun conviction so it wasn't off the wall to assume he was armed. He was shot to death by all three officers.
  9. Kevin Bajoie (Baton Rouge, LA): Police responded to reports of a fight, found Bajoie lying on his back when he suddenly jumped up and attacked one officer. Police had to Taser him repeatedly to stop. He collapsed and later died, probably due in part to the methamphetamine, amphetamine and synthetic marijuana in his system.

Clearly an accident

  1. Felix Kumi (New York, NY): hit by a stray bullet in an otherwise justified self defence shooting by an undercover cop. The city rightly paid $1.1M in compensation, which seemed a bit low to me but in the ruthless calculus of compensation Felix was 61 years old so had limited future earnings.
  2. Billy Ray Davis (Houston, TX): Arrested after behaving erratically and clearly being in severe mental distress, Davis repeatedly fought with officers even when handcuffed. He suddenly collapsed and was taken to hospital but died. Death probably related to hypertension. No suggestion of wrongdoing on the part of the officers.
  3. Jonathan Sanders (Stonewall, MS): Stopped while exercising his horses, there was an argument between Sanders and the police officer which escalated to a fight. The officer applied a in-policy choke hold, but this combined with Sanders' situation of acute cocaine toxicity to cause fatal asphyxia.
  4. Zamiel Crawford (McAllah, AL): Led police on a high speed chase after suspicion of robbery. His SUV eventually spun out and slammed into a wall. Police took him to the hospital but he later died.
  5. Jermaine Benjamin (Vero Beach, FL): Arrested after being high on something called "Flakka", causing him to be disoriented, aggressive and combative. Police arrested and handcuffed him, but he quickly collapsed and died despite being given CPR. He had known heart problems, which couldn't have helped matters.
  6. Kevin Higgenbotham (Trenton, NY): Arrested after he called police who arrived to find him fighting with a neighbour. They had to pepper-spray him before arresting him, but he went into cardiac arrest after transportation to a hospital, and died after being in a coma. There was also concern that he was improperly restrained in hospital though strictly speaking that's not a police issue.
  7. Ross Anthony (Dallas, TX): Tased by police after acting erratically by running into traffic and banging the windows of nearby businesses, Anthony was cuffed and arrested, but showed signs of medical distress and was taken to hospital where he died.
  8. Richard Gregory Davis (Rochester, NY): After driving erratically and crashing his pickup - twice, Davis got out of his vehicle at police urging but then charged the police and was tased. He received medical attention at scene but was pronounced dead at hospital. There were a large number of contributing factors to the death according to the autopsy report.
  9. Curtin Jordan (Huntsville, AL): Police arrested Jordan at his house after being called out by his wife as he was acting irrationally and threatening people. He threw coals in an arresting officer's face. They handcuffed him, but he had a medical issue and was transported to hospital where he died a few days later.

I dunno

  1. Darrius Stewart (Memphis, TN): After being detained but not arrested for a broken headlight, Stewart's name came up as having outstanding warrants. When the officer went to arrest him there was a struggle, video evidence showing Stewart as getting the upper hand with the officer, and the officer shot Stewart twice. A federal review found that there was insufficient evidence to prosecute, though Stewart's family have filed a couple of lawsuits, one of which is still open.
  2. Albert Davis (Orlando, FL): After a fight at a pool party, police were called to the apartment complex. An officer tried to talk to Davis and a fight broke out; the officer used Taser and then shot Davis. I can't find any information on any subsequent investigation.

Something needs to be done

  1. Christian Taylor (Arlington, TX): Loaded with marijuana and LSD, Taylor was apprehended by a sole rookie police officer in a car dealership where he was wrecking the cars. Other police officers were waiting outside but the rookie went in, there was a confrontation, and he shot Taylor as Taylor approached him. The shooting itself is somewhat understandable, but the officer should not have gone in alone, and was later fired; the family was paid $850,000 in a wrongful death lawsuit.
  2. Troy Robinson (Decatur, GA): Robinson was a passenger in a car that police tried to stop for a license tag violation. After a chase, the car stopped and the occupants ran. Robinson was tasered while climbing an 8 foot wall, fell and broke his neck. You can argue that he shouldn't have run, all else being equal, but tasering someone climbing a wall (and running away) was rather reckless and against police department guidelines.
  3. Michael Sabbie (Texarkana, TX): Died in jail after being restrained by officers. Had a number of health conditions known by the jail when he was admitted. The restraint situation may have been reasonable, the lack of health monitoring and follow-up checking was clearly not. A federal lawsuit was settled in favour of Sabbie's family, correctly.
  4. Sandra Bland (Waller, TX): Committed suicide in jail after being arrested for a very minor driving offence that apparently escalated way past what it should have due to the police officer's aggression. While Bland chose to take her own life, it can't be ignored that she wouldn't have been put in that situation if the police officer had been more reasonable.

Evaluation

Of these 26 cases we have:

  • 9 where the shooting was justified,
  • 9 accidents,
  • 4 where there seems to be a need for improvements even if the police officers weren't strictly at fault,
  • 1 where police were at fault and charged, and 1 more where they seem clearly at fault,
  • 2 where I have no idea due to lack of information.
So that's 6 police-at-fault cases out of the 24 where we have enough data to make an evaluation. The accident-vs-justified balance is a bit different to the first 26 cases we looked at, but it's still consistent with our initial findings. We're on track to have only 25% of the cited 104 cases from 2015 actually being the fault of police.

Taser does seem to be a recurring theme in the accidents - it's a lot safer for everyone than gunplay, but it's certainly not perfectly safe. For the cases needing improvement, again we have a clear need for police officer training in de-escalation - and monitoring of prisoners' health in jail post-arrest.

2020-06-07

Auditing mappingpoliceviolence.org

I recently encountered the site mappingpoliceviolence.org which contends that the US police are out of control and desperately need to be reined in, I thought I'd take a look at the data that their data scientist Samuel Sinyangwe and general spokesperson DeRay McKesson present as evidence of these assertions. The site's data is used as one of the main arguments of campaigns such as Campaign Zero which tries to drum up membership and money for anti-police causes in the light of George Floyd's death.

"Mapping Police Violence" (hereafter referred to as "MPV") asserts that unarmed black people are killed by police much more often that their demographics would suggest, that police are seldom held accountable for this, and that this is therefore a clear signal that the US police are racist. Handily they list *all* the victims for 2014 and 2015, with a brief summary of what happened in each case. So I thought I'd look through the list for 2015 to see whether the facts on the ground correspond with their interpretation.

MPV lists 104 fatalities of unarmed black people, 13 of which ended with police officers being charged with a crime. Let's take the first 26 listed (25%), and see what happened in the other cases - did a guilty police officer escape scot free? From these 26 I'm excluding the cases of Tiara Thomas and Paterson Brown where the officers were actually charged and therefore we can safely say something needs to change.

Police did something significantly wrong

  1. Michael Lee Marshall (Denver, CO): In custody with significant mental health problems, restrained by officers in the jail and subsequently choked on his vomit. Denver paid the family $4.65M. Officers involved received a short suspension. They clearly weren't intending to cause him harm, but it seems clear that they were either badly trained or negligent in what they did.
  2. Christopher Kimble (East Cleveland, OH): At first I'd categorized this as "accident", but on reflection I moved it. Kimble was knocked down and killed on a crosswalk by a police cruiser responding to a call. The crosswalk and street lights weren't working. That said, the police cruiser had one headlight non-functional and it was driving about 40mph in a 25 zone without sirens or flashing lights. If you're driving a police car then you're responsible for ensuring its road worthiness, and if you're operating outside normal driving restrictions then you're responsible for doing so safely. There was a civil suit against the city, and to my mind the family should win it.

Victim shooting seemed justified

  1. Keith Childress (Las Vegas, NV): Violent crime history, advanced towards police with what looked like a weapon despite being repeatedly told to stop.
  2. Kevin Matthews (Dearborn, MI): Apprehended after committing a theft, shot while trying to reach an officer's gun during a struggle.
  3. Leroy Browning (Palmdale, CA): Arrested for drink driving, starting struggling while being handcuffed and made a grab for officer's gun belt. In hindsight it wasn't clear from evidence that he'd actually managed to touch the gun but it was reasonable for the officers to fire in self defence as he was "poised to gain" control of the firearm.
  4. Miguel Espinal (Yonkers, NY): After a reckless car chase escaping from being pulled over by police for tinted windows, ran into woods where an officer caught him and they struggled, Espinal tried to get officer's gun and the officer shot him in self defence. Struggle wasn't witnessed but forensic evidence strongly supported the officer's version of events.
  5. Cornelius Brown (Opa-Locka, FL): Schizophrenic, attacked a police car and smashed its windows. Officers tasered twice without effect; when he advanced on them with a stick they opened fire.
  6. Richard Perkins (Oakland, CA): Drugged up on meth and morphine, Perkins approached officers while brandishing a gun that turned out to be an Airsoft replica.
  7. Anthony Ashford (San Diego, CA): After being apprehended "casing" cars in a car park, Ashford grabbed the police officer's taser and tasered him in the neck, tried to get the officer's gun. The officer shot him in self defence.
  8. Dominic Hutchinson (Riverside, CA): Repeatedly declared he had a gun, then ran at the officers carrying some binoculars he'd broken up to look like a gun. "Quintessential suicide by cop" said the police chief, and I'd have to agree
  9. Lamontez Jones (San Diego, CA): When stopped by police for disrupting traffic, Jones pulled out a replica gun and pointed it at the officers. Unable to see that it was a replica, they shot him. There is public video evidence of what happened. The family filed a wrongful death claim against the city but I didn't find any evidence that it went anywhere.
  10. Junior Prosper (Miami, FL): After crashing his taxicab into a stop sign, and apparently intoxicated, Prosper walked away from the scene of the accident. A police officer caught up with him, a fight started and the officer fired his Taser. They went down an embankment into trees, the officer pursued and caught Prosper, struggled again, Prosper bit hard on and worried at the officer's finger, and the officer shot him. The District Court agreed with the officer that it was a reasonable reaction in self defence.
  11. Keith McLeod (Reisterstown, MD): After being chased for trying to buy narcotic cough syrup with a fake prescription, McLeod went for the back of his waistband and pretended to pull out a gun. Although he didn't actually have one, the officer feared for his life and opened fire as McLeod's hand started to move back.
  12. Lavante Biggs (Durham, NC): Suicidal, after prolonged negotiations in a stand-off, Biggs walked towards police officers and produced a gun. He put it down and picked it up a few times, hence the "without a weapon" category, but was always close enough to grab and fire it. I don't see that the officers had any real choice but to shoot.

Clearly an accident

  1. Bettie Jones (Chicago, IL): stray bullet in an otherwise justified shooting. Police officer was nevertheless subsequently fired.
  2. Roy Nelson (Hayward, CA): Voluntarily transported with police for mental health issues, started to struggle. Police applied a body restraint harness as he was a big guy, but that impaired his breathing when coupled with his meth intoxication. He stopped breathing in the car and died. City paid $1M compensation.
  3. Alonzo Smith (Washington DC): Arrested by special police officers after running around shirtless and screaming, Smith was arrested and handcuffed but died of cardiac arrest due to high level cocaine intoxication.
  4. India Kager (Virginia Beach, VA): Travelling in the same car as her child and the father of her child, Angelo Perry. Perry was a known violent criminal, suspected of being about to murder someone. When police stopped the car, Perry opened fire on officers, who shot back. Both Perry and Kager were killed. The 4 year old child was unharmed. A jury awarded Kager's family $800,000; police were clearly not intending to kill her, but returning fire was inevitable once Perry started shooting.
  5. Tyree Crawford (Newark, NJ): Passenger in a stolen car. Police pursued the vehicle. When it stopped, Crawford bailed out and was hit by a police vehicle. Obviously an accident, caused by a poor life choice of getting involved in car theft.

Something needs to be done

  1. Michael Noel (St Martin, LA): Schizophrenic whom police tried to take into protective custody at his home, went off the rails and attacked officers , shrugging off two taserings and striking an officer. The officer shot in self defence. It seems to me that better training in de-escalation for mental health crises could have stopped the situation escalating to this point.
  2. Nathaniel Pickett (Barstow, CA): Stopped by a deputy after trespassing, Pickett tried to escape. The deputy caught him and there was a struggle. The DA's office found the shooting justified but a federal jury disagreed and awarded the family $33M in compensation.
  3. Jamar Clark (Minneapolis, MN): Got into a struggle with two police officers outside a building, police officers claimed he tried to get one of their guns, and shot him in self defence. The available evidence and many witnesses didn't provide a clear picture of what happened, but did not indicate any improper behavior on behalf of the police officers. The city later settled with Clark's family for $200,000.

Not relevant to police

  1. RayShaun Cole (Chula Vista, CA): This is an odd one to be included, and very sad. Cole was shot dead by his Customs and Border Patrol girlfriend in a domestic incident; 3 months later she died in a road accident that has a strong whiff of suicide. This had nothing to do with the police, really.
  2. Wayne Wheeler (Lathrop, MI): Again, shouldn't really be in the list: a neighborhood dispute that ended in punching and Wheeler being fatally struck in the head. The neighbor who struck him was an off-duty cop, and Wheeler apparently attacked the man when he was in his own yard. Nothing to do with police practice or procedure.

Evaluation

Of the 24 cases actually relevant to the police force we have:

  • 12 where the shooting was justified,
  • 5 accidents,
  • 3 where there seems to be a need for improvements even if the police officers weren't strictly at fault,
  • 2 where police were at fault and charged, and 2 more where they seem clearly at fault.
So that's 7 out of 24 where police could reasonably be said to be at fault. If we extrapolate that to the list of 104 (and similarly assume 8 of those 104 cases are not relevant to the police force itself), that would be a total of 28 unarmed black people left to die at the hands of police in 2015.

Now that's still needless 28 deaths too many, but out of about 42 million black members of the US population, it's literally less than one in a million. Looking at 2015 black homicide data, 6,152 victims were male, and 862 victims were female. The black homicide rate is nearly twice the white homicide rate. By all means let's push police-caused deaths down, but there seem to be other, more significant areas that Black Lives Matter could focus on. Incidentally, there were 121 justifiable homicides of black victims by law enforcement.

Similarly, 20 unarmed black people killed by accident by police is tragic, but it's not obvious what the police could do to reduce that in many cases. Note that two of the 5 accidents analysed above were caused by consumption of illegal drugs, and two others by the victim hanging around known miscreants.

You'll also note that only 3 of the cases featured women. 2 of the women were killed accidentally, the other was killed by her police officer boyfriend. For some reason it seems to be that black men interact negatively with the police a heck of a lot more than women. I wonder if the same is true for black men vs white men, and if so why?

Update: analysis of the next chunk of the list in Part 2

2020-05-31

Chinese lives matter

This is not about what you might think it's about. Hong Kong, and indeed the PRC, do not feature.

Yik Oi Huang

Let me tell you about Yik Oi Huang. A grandmother, she was 88 years old on Tuesday 8th January 2019. Early that morning she left her house in Visitacion Avenue, San Francisco, and went for her morning walk - a staple activity of Chinese senior citizens which we could usefully imitate. It would be the last time she walked anywhere.

In the park someone attacked her, beat her brutally, and left her for dead before apparently entering her home and then fleeing the area. She was hospitalized with head injuries, a broken spine, hand and ribs. Allow me to repeat: she was 88 years old. Any level of violence towards someone that old would be shocking, but the injuries inflicted on this old lady went several steps beyond that term.

SFPD arrested a suspect 11 days later. He was 18 years old, and black. The suspected motive was robbery. At this point he is still awaiting trial, though I would imagine that he stands a very good chance of his charges being upgraded to murder.

Yik Oi Huang did not die immediately. She suffered in hospital for the next 360 days before finally - mercifully - passing away on 3rd January this year.

You remember the protests filling the streets of San Francisco, New York, Los Angeles and other places with large Chinese communities? You remember Chinese youths breaking shop windows and setting light to businesses across San Francisco? No, of course you don't - it never happened. This event barely registered outside San Francisco. Try searching "Yik Oi Huang site:cnn.com" on Google. Now try doing the same with "Michael Brown site:cnn.com", "George Floyd site:cnn.com" by contrast - hundreds of thousands of results.

Shuo Zeng

Shuo Zeng was 34 years old on New Years Eve 2019, but would not live to see 2020. With friends at the Starbucks in Montclair District, Oakland to celebrate the New Year and his birthday. He was a research scientist at Aspera, having graduated from Kansas State.

Oakland is notorious for laptop thefts, and today would see another one. Shuo Zeng had his laptop with him, not unusual behaviour for a techie. A teenager ran in to the Starbucks and grabbed the laptop, ducked out through the door being held by an accomplice, and jumped into a car driven by a third man.

Unwilling to lose his laptop, Shuo Zeng bravely - but unwisely - pursued them. He reached them as they got into the car. The car took off and Shuo Zeng was knocked against a parked car. He suffered head injuries and died in hospital.

The police found the suspects and charged them all with special circumstance murder and second-degree robbery. All three men were black, at least two of them from San Francisco.

CNN at least have one article about Shuo Zeng on their site. They do not, of course, mention the race of his assailants. One wonders if they would have done the same had he been black and his assailants white.

Wenjian Liu and the Can Man

There have been other, more famous incidents. Wenjian Liu was one of the two NYPD officers executed by Ismaaiyl Abdullah Brinsley on December 20 2014. An elderly Chinese man collecting cans in San Francisco was abused by two black men in a video that went viral in February this year. Chinese residents in areas with a significant black presence know who they need to be wary about, and it's not the police.

My point

Over 99% of the US population, myself included, felt that the death of George Floyd in Minneapolis on 25th May was appalling, and that the action taken against the officers involved was entirely justified. Police brutality is unfortunately not that rare in the USA. However, I'm baffled as to why anyone thinks there's an obvious racial component to this. Floyd was nicked for passing a counterfeit bill - the actions of the arrest seem heavy-handed, but not the arrest itself. Do they claim that the officers were particularly brutal because he was black? Where's the evidence?

It is instructive to compare the criminally negligent behaviour of Derek Chauvin holding Floyd's head down for far too long, with the criminally negligent behaviour of Shuo Zeng's laptop thieves in driving away with no regard for his safety. In neither case did there seem to be intent to kill, but both cases resulted in death. Chauvin had country-wide protests screaming for accountability - which they already had in part, since he had been fired from the force and charged with murder-3 in record time. Shuo Zeng had a quietly grieving family and local community, but that was it. No protests, no riots. Barely a headline.

The black community might claim - unjustifiably, in my view - that Black Lives don't matter enough to the USA in general. But it seems to me that there's a stronger case that Chinese Lives don't matter as much as Black Lives do.

2020-05-30

The Rule of Dogs - riot edition

I believe it was traveller and raconteur P J O'Rourke who commented (in the 80s) that revolutions were only generally successful when they attracted the beautiful people. When you look at a parade of protesters and see tall handsome men, gorgeous women, and cute chicks, you know that they've got a good chance of succeeding in their aims.

Watching the "protesters" in Brooklyn this afternoon, that rule still appears to hold. The "ladies" in the crowd agitating were a revolting mix of harridans, seriously overweight semi-male lesbians, terrifying poor transvestites, and even the younger elements had faces which would make even the horniest Alsatian hound think "nah, I'll have to wait until it's a lot darker". Their time has clearly not yet come.

March peacefully against excessive police violence to people of all colours and creeds? My Pre-Raphaelite face will be right there with you. Looting Foot Locker and throwing bottles at police? You're on your own, sunshine. Enjoy The Tombs.

2020-05-12

Testing for determinism

Apropos of nothing[1], here's a view on testing a complicated system for deterministic behaviour. The late, great John Conway proposed the rules for "Game of Life", an environment on an arbitrary-sized "chess board" where each square could be either alive or dead, and potentially change at every "tick" of a clock according to the following rules.

  1. Any live cell with two or three live neighbours survives.
  2. Any dead cell with three live neighbours becomes a live cell.
  3. All other live cells die in the next generation. Similarly, all other dead cells stay dead.
You'd think that this would be a very boring game, given such simple rules - but it in fact generates some very interesting behaviour. You find eternally iterating structures ("oscillators"), evolving structures that travel steadily across the board ("spaceships"), and even "glider guns" that fire a repeated sequence of spaceships.

Building a simulation of Conway's Game of Life is something of a rite of passage for programmers - doing it in a coding language new to the programmer generally shows that they have figured out the language enough to do interesting things. But how do they know that they have got it right? This is where "unit testing" comes into play.

Unit testing is a practice where you take one function F in your code, figure out what it should be doing, and write a test function that repeatedly calls F with specific inputs, and checks in each case that the output is what's expected. Simple, no? If F computes multiplication, you check that F(4,5)=20, F(0,10)=0, F(45,1)=45 etc.

Here's a unit test script. It's written in Go, for nerds, [2] but should be understandable based on function names to most people with some exposure to programming. First, you need to check the function that you've written to see whether two Life boards are equivalent, so you create empty 4x4, 4x5, 5x4 boards and see if your comparison function thinks they're the same.
(In Go, read "!" as "not", and "//" marks a comment which the computer will ignore but programmers can, and should, read)

  b1 := life.NewBoard(4,4)
  b2 := life.NewBoard(4,4)
  // These should be equivalent
  if ! life.AreEqual(b1,b2) {
     t.Error("blank 4x4 boards aren't the same")
  }
  b3 := life.NewBoard(5,4)
  b4 := life.NewBoard(4,5)
  if life.AreEqual(b1,b3) {
    t.Error("different size boards are the same")
  }
That's easy, but you also need to check that adding a live cell to a board makes it materially different:
  // Add in a block to b1 and compare with b2
  life.AddBlock(0,0,b1)
  if life.AreEqual(b1,b2) {
    t.Error("one board has a block, blank board is equivalent")
  }
  // Add the same block to b2 in same place, they should be equal
  life.AddBlock(0,0,b2)
  if ! life.AreEqual(b1,b2) {
    t.Error("2 boards, same block, unequal")
  }
This is helpful, but we still don't know whether that "block" (live cell) was added in the right place. What if a new block is always added at (2,3) rather than the coordinates specified? Our test above would still pass. How do we check for this failure case?

One of the spaceships in Life, termed a glider, exists in a 3x3 grid and moves (in this case) one row down and one column across every 4 generations. Because we understand this fundamental but fairly complex behaviour, we can build a more complicated test. Set up a 5x5 board, create a glider, and see if

  1. the board is different from its start state at time T+1;
  2. the board does not return to its start state at time T+2 through T+19; and
  3. the board does return to its start start at time T+20.
Code to do this:
  b5 := life.NewBoard(5,5)
  life.AddGlider(0, 0, b5, life.DownRight)
  b6 := life.CopyBoard(b5)
  if ! life.AreEqual(b5,b6) {
    t.Error("Copied boards aren't the same")
  }
  // A glider takes 4 cycles to move 1 block down and 1 block across.
  // On a 5x5 board, it will take 5 x 4 cycles to completely cycle
  for i := 0 ; i< 19 ; i++ {
    life.Cycle(b5)
    if life.AreEqual(b5,b6) {
      t.Error(fmt.Sprintf("Glider cycle %d has looped, should not", i))
  }
  life.Cycle(b5)
  if ! life.AreEqual(b5,b6) {
    t.Error("Glider on 5x5 board did not cycle with period 20")
  }
Now, even if you assume AreEqual(), NewBoard(), CopyBoard() work fine, you could certainly construct functions AddGlider(), Cycle() which pass this test. However you'd have to try pretty hard to get them right enough to pass, but still wrong. This is the essence of unit testing - you make it progressively harder, though not impossible, for a function to do the wrong thing. One plausible failure scenario is to make the adjacent-cells locator in Cycle() incorrect such that the glider goes up-and-across rather than down-and-across. To fix that, you could add some code to turn-on a critical cell at (say) time 8, such that that cell would be live in the expected motion, so no effect, but empty in the other motion.

Clearly, for unit testing to work, you want a unit tester who is at least as ingenious (and motivated) as the coder. In most cases, the coder is the unit tester, so "soft" unit tests are unfortunately common - still, at least they're a basis to argue that the code meets some kind of spec. And if the client isn't happy with the tests, they're free to add their own.

Why am I so mad at Neil Ferguson? He's free to make whatever epidemiological assumptions that he wants, but he usurped the "authority" of computer modelling to assert that his model should be trusted, without actually undertaking the necessary and fundamental computer science practices - not least, unit testing.

[1] Lies: Neil Ferguson, take note
[2] Object-oriented model avoided for clarity to readers

2020-05-10

Harmeet Dhillon picked a winner

I enjoyed reading a Gizmodo article today. (This is not a common occurrence). The article itself was a mostly-triumphant comment on James "neurotic women" Damore closing his lawsuit against The Google:

Damore proceeded to sue Google for discrimination in January 2018. Per Bloomberg, three other men who worked for or applied for jobs at Alphabet, Google’s parent company, also signed on to Damore's lawsuit. In the lawsuit, Damore's lawyers argued that he and others "were ostracized, belittled, and punished for their heterodox political views, and for the added sin of their birth circumstances of being Caucasians and/or males."
I read the internal blog posts in the initial complaint, and to be honest it looked pretty problematic for Google. So why close the lawsuit now?

Aha! a clue in a the Bloomberg article on the suit conclusion:

A lawyer for the men, Harmeet Dhillon, said they're prohibited as part of their agreement with Google from saying anything beyond what's in Thursday’s court filing. Google declined to comment.
It's pretty clear, isn't it? Google settled. They looked at what would plausibly come out of discovery, and - even if they were pretty confident in a Silicon Valley jury taking the socially woke side of the case - didn't like how a court case would play out in public. This is a guess on my part, to be clear, but a fairly confident guess. How much would a company pay for positive nationwide publicity? You can treble that for them to avoid negative nationwide publicity.

Damore probably got fairly close to a sensible loss-of-earnings amount. Harmeet Dhillon, his lawyer probably got 30%-40% of that; maybe on the lower end because the publicity was worth beaucoup $$ to her.

When your ess-jay-double-yuh's
Cost you many dollars,
That's Damore!

When their memes and blog post
Enrich lawyers the most
That's Damore!

Called it - EU Big Data has no Value

Back in 2014 I said re the EU Big Data project:

The EU is about to hand a couple billion euros to favoured European companies and university research departments, and it's going to get nine tenths of squat all out of it. Mark my words, and check back in 2020 to see what this project has produced to benefit anyone other than its participants.
Well, this is 2020 - what happened?

Here's the bigdatavalue.eu blog - the most recent article?

THE SECOND GOLDEN AGE OF DUTCH SCIENCE, 1850-1914
Posted on February 18, 2019 by admin
Previous post:
PAKISTAN AND AFGHANISTAN: OPPORTUNITIES AND CHALLENGES IN THE WAKE OF THE CURRENT CRISIS
Posted on September 4, 2018 by admin
I guess nothing actually happened then. But hey, it's only €500M....

Per the original article:

The project, which will start work on 1 January 2015, will examine climate information, satellite imagery, digital pictures and videos, transaction records and GPS signals. It will also look at data privacy issues, access rights to data and databases, intellectual property rights and legal aspects of new technical developments such as who holds the rights to automatically generated data.
"Look at", but apparently didn't actually "do" anything...

It's a human tragedy that the UK won't be involved post-Brexit in such innovative projects such as this.

2020-03-07

Women in charge equals... piss-poor arguments

I'd like to draw attention to an inspiring call to action[1] from NZ's minister for women, Julie Anne Genter:

On International Women’s Day, let’s commit to properly compensating women for the unpaid and underpaid work they have always done
A wonderful sentiment! Let's analyse the arguments she presents. Oh wait, it's the Guardian - we're limited to analysing randomised woke bloviating, but let's try to treat it as a principled argument.

What's the top wrongness that we're trying to right?

The world would stop running were it not for the unpaid and underpaid work undertaken by women.
Also true for men. What's your point?
It is tempting to think that women being paid fairly is down to individual choices each person makes. That women just need to apply for different jobs, negotiate for higher salaries, or put themselves forward more.
Yes, indeed. For some reason, trash-collection jobs (early morning, physical exertion, people getting irate if not done properly) are paid higher than hiring diversity managers (10am-4pm flexible hours, hard to measure output, no-one really cares if you turn up to work). It's a shocker.
But that ignores some of the fundamental reasons the gender pay gap remains so stubbornly high.
Oh, do tell.

Julie now switches to blatant sexism:

Female-dominated occupations such as nursing, teaching and caring are indispensable around the world. We must recognise and value their skills and contribution.
You're arguing that male nurses and elementry teachers - who are (obviously) fighting against stereotypes to join their professions - are volunteering to take lower-paid roles than they could otherwise have got? Or are you arguing that they are on average so incompetent that this is their best available gig? Please clarify.

She concludes with an inspiring call to action:

Today, on International Women’s Day, I want more countries to follow our lead and do more to see all women paid fairly. We can end the gender pay gap in our lifetime.
Absolutely. Just make illegal discrimination by gender for hiring in any given job role. Then women can apply for any job they want and be treated exactly the same as men. Great idea.

Already enshrined in law, apparently? Job done then, Julie. Time to resign and save the NZ taxpayer the cost of your salary.

[1] No, not really. But I guess you knew that.

PS: shockingly, Julie Ann Genter is a UC Berkeley philosophy graduate. Bet you couldn't have guessed that from her writing. And she's a member of the New Zealand Green Party, laying claim to a legacy of intellectual rigor that stretches back to... who am I kidding.

2019-12-15

Scottish independence referendum - a compromise

The 2014 Scottish Independence Referendum resulted in a fairly clear "No" vote - 55% No to 44% Yes - but with the recent hilarity of the 2019 UK election result and a very strong Scottish Nationalist showing, there are increasingly strident calls from the Scottish Nationalist Party (SNP) for a re-run.

Inconveniently, the SNP wrote a manifesto for the 2014 referendum in which they promised:

If we vote No, Scotland stands still. A once in a generation opportunity to follow a different path, and choose a new and better direction for our nation, is lost.
[...]
The debate we are engaged in as a nation is about the future of all of us lucky enough to live in this diverse and vibrant country. It is a rare and precious moment in the history of Scotland – a once in a generation opportunity to chart a better way.
[...]
It is the view of the current Scottish Government that a referendum is a once-in-a-generation opportunity. This means that only a majority vote for Yes in 2014 would give certainty that Scotland will be independent.
A "generation" is somewhere between 18 and 30 years (age of adulthood vs average age for first time birth in the UK) so it seems a bit problematic to hold a second referendum before 2032 at the very earliest.

Fear not, First Minister Sturgeon! Hemiposterical has a solution.

The eligibility to vote for the 2014 referendum was:

  • British citizens who were resident in Scotland;
  • Citizens of other Commonwealth countries who were resident in Scotland;
  • Citizens of other European Union countries who were resident in Scotland;
  • Members of the House of Lords who were resident in Scotland;
  • Service/Crown personnel serving in the UK or overseas in the British Armed Forces or with Her Majesty's Government who were registered to vote in Scotland.
Let's flip that around by replacing "Scotland" with "England". Hold a binding referendum on Scottish independence, based on these eligibility criteria in 2023 (9 years after the first referendum, 9 years before the earliest date of the next one) and, if the population of England votes "Yes", wave a cheery farewell to Scotland.

This doesn't disenfranchise the Scots - they retain the right to hold their own referendum in the future and see it pass. It just additionally enfranchises the population in the part of the Union who have to fund Scotland to the tune of an additional £12bn per year, or so, in Barnett Formula payments. Since we had a referendum on EU membership with a similar net payment, this seems proportionate.

I'm not including Northern Ireland and Wales in the referendum in fairness to the Scots - they already receive significant Barnett payment, and so would be highly motivated to vote "Yes", evict Scotland and benefit from a potentially larger pool of funding.

So Boris, Nicola - how about it?

2019-12-12

Carefully considered initial analysis of UK 2019 election result

Hahahahahahahahahaha... hahahahahahaha...hahaha...

[gaaaaaaassssp for breath]

Hahahahahahahahahahahahahaha....

Having Momentum's Jon Lansman on the BBC arguing that the public clearly have an appetite for moar better Socialism is just the icing on the cake.