Josh Betz

Engineer, Solver of problems, Wisconsin Badger

Biased Algorithms

Biased algorithms and their effects are something I’ve been interested in exploring recently. It’s not a problem with Mathematics or Computer Science per se — humans with implicit bias come to false conclusions all the time. We’re the source of these problematic algorithms after all. The problem is that these bad assumptions can be deployed on a massive scale and aren’t questioned because we think of the math as infallible.

A recent episode of 99% Invisible, The Age of the Algorithm, discusses this topic and gives some examples of where it is having real, negative effects today.

Most recidivism algorithms look at a few types of data — including a person’s record of arrests and convictions and their responses to a questionnaire — then they generate a score. But the questions, about things like whether one grew up in a high-crime neighborhood or have a family member in prison, are in many cases “basically proxies for race and class,” explains O’Neil.

Essentially, any time you use historical data that was effected by a bias to influence the future, you risk perpetuating that bias.

If you’re interested, Cathy O’Neil also wrote a book called Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy.

 

GPG & Git

Back in April, Github added support for a long-standing git feature — commit signing. Technically you’ve been able sign commits with -S since git 1.7.9, but there was no UI for it on Github. This update led folks to start automatically signing all commits, but that’s not necessary.

The git tree is a directed acyclic graph — meaning every commit references its parent — and hashed with SHA-1. In practice, this means it’s impossible to change the history of a git repo without rewriting all succeeding commits. Said another way, if you trust the SHA-1 hash of the head of the tree, you can implicitly trust the entire tree.

What does this have to do with signed commits? Well, when you sign a commit, you’re also signing all previous commits. This is one of the reasons that git originally only allowed tags to be signed:

Signing each commit is totally stupid. It just means that you automate it, and you make the signature worth less. It also doesn’t add any real value, since the way the git DAG-chain of SHA1’s work, you only ever need _one_ signature to make all the commits reachable from that one be effectively covered by that one.

You can automatically sign all tags by adding the following to your .gitconfig file:

[tag]
gpgsign = true

If you don’t tag releases, another good place to sign commits is at the end of a pull request. After a long chain, one signed commit effectively signs the entire branch. You can even add an empty, signed commit with:

git commit --gpg-sign --allow-empty

This way, there’s no need to enter a GPG passphrase for each commit, but only when you need it.

The man who brought us the lithium-ion battery at the age of 57 has an idea for a new one at 92

QZ has an amazing article about 92 year old John Goodenough, inventor of the lithium-ion battery.

The good news is that Goodenough has one last idea. He’s working on it with yet another crop of post-doctoral assistants. “I want to solve the problem before I throw my chips in,” he says. “I’m only 92. I still have time to go.”

Source: The man who brought us the lithium-ion battery at the age of 57 has an idea for a new one at 92 – Quartz

Force Touch Trackpad

Marco Arment doesn’t like the Force Touch Trackpad.

The simulated click vibration does feel like a click, but not a good one. It offers three different firmness settings, none of which feel anywhere near as good as Apple’s trackpads with real buttons. It feels like what it is: mushing my finger against a fixed pane of glass that’s emulating the feel of a button and almost getting there, but not getting there.

Source: Mistake One – Marco.org

I actually love the trackpad on my new MacBook Pro. I know it’s not clicking, but I still don’t believe it. I’ve been in multiple situations where I’ve had to turn my laptop off to prove to someone that it’s a simulated click.

He’s right that the keyboard is not good, though. I tried out a new MacBook and decided on a MacBook Pro partially because of the keyboard.

Better Touch ID Performance

Most people don’t know that you can train Touch ID beyond the initial setup. Of course, every time you use Touch ID, it learns more about your fingerprint. I’m talking about deliberately adding lots of data, which increases performance — decreasing both false negatives and time to verify a fingerprint.

To start training, go to Touch ID & Passcode in the Settings app. It will ask you for your passcode to change Touch ID settings. From here, touch one of your added fingerprints to the Touch ID sensor. You’ll see the entry for that fingerprint is highlighted temporarily, which means it just recorded more data. Do this for a while, walking it to different parts of your fingerprint, and you should notice Touch ID start unlocking your phone faster than before.

Next Page »