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 –

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.

Hour of Code

This week 15 million students learned to code.

A friend of mine called me Wednesday night to ask if I was available to talk to some of his high school students about Computer Science and hangout while they worked on the Hour of Code. They have no Computer Science curriculum so this could be one of a few times they could experience Computer Science first hand in high school.

I didn’t really know what Computer Science was when I started studying it, so I think getting kids exposed to it while they’re still deciding what they want to study can only be a good thing.

We started by showing a promotional video for Hour of Code.

Then they started programming.

One group got in way over their heads. I noticed right away that they were writing Objective-C, so I asked if they had written any iOS apps, or even had any programming experience. They didn’t. My first thought was that starting with Objective-C without any experience would be pretty hard, but I offered to answer any questions they had. The next time I walked past, they flagged me down. They needed to instantiate an object.

Again, I thought it would be pretty hard to write Objective-C without understanding what Objects are — or, even the basic things you learn in the first week of any programming class. I gave a basic description of objects and helped them move on to the next step.

The next time I walked past, they had a ship flying on the screen and were working on creating a guy to shoot at the ships. They asked me a few more questions throughout the hour or so that I was there and by the end they had gotten pretty far through the iOS tutorial with ships flying back and forth and a guy to shoot at them when you tapped the screen.

It was a fun day answering questions about Computer Science and hopefully convincing a few of them to dig into it some more on their own.

Spinlocks in Webkit

When I got my first Mac a little over four years ago, the first thing I did was install the nightly build of Webkit. Since then I’ve used a host of different browsers, but recently came back to Safari. This article reminded me why I was using the nightly builds of Webkit back then. It’s noticeably faster and I doubt TCSpinLock is the only reason.

Yes, we really did achieve a 3.7X speedup on a garbage collection benchmark by removing a call to sleep().

Why sleep()?

The original TCSpinLock was benchmarked against ten threads running on four CPU cores. In this environment, one thread could monopolize a CPU core, while the thread holding the lock didn’t run at all. Sleeping a little bit was a simple way to guarantee that the thread holding the lock got the CPU.

Why not just use the standard library locks?

Our spinlocks take advantage of a critical optimization: Knowing they’ll be held for a short time. Since spinlocks never sleep, they recover from contention as quickly as possible. As the profile showed, standard locks are much more conservative, and they may even idle a CPU core.