Somewhere amid all the big themes in life, the sweep of politics and the question of what the economy will be there’s something that’s been bugging me: How does my Apple Watch decide what a minute of exercise is for the green activity ring?

Well, in June, I got at least part of the answer. It’s 3.3 miles per hour or 5.3 km/h.

At a event associated with Apple’s Worldwide Developer’s Conference (WWDC) early in June, I had a short talk with one of the engineers involved in the Apple Watch activity tracking software. For running and walking at least…


Accuracy vs precision. They’re not the same thing. And six digits (or more) of GPS shows that you’re mixing them up and confusing yourself. And likely confusing your app’s users.

Precision is the level of detail in how you describe your measurements. How many decimal places do you have? If you use eight decimal places for GPS location that’s your precision.

Accuracy of a measurement is a way to determine how close to reality you are. If your GPS position is very accurate, then your true location is inside a small circle around your measured GPS location. …


Friday July 14, 2017 at 2:40:00 UTC the UNIX seconds clock rolls over to 1,500,000,000 seconds or 1.5 Gigaseconds. This clock is used by basically all computer systems now. So I’m calling Thursday Gigasecond Eve. What are your party plans?

Since a gigasecond lasts 31 years and 248 days or so (about 8 months) a half gigasecond is over 15 years. (See https://www.epochconverter.com or another time site that shows time in seconds.) This is not something that happens very often. It’s roughly equivalent to a New Year’s decade rollover like 2000 or 2010 in level of timekeeping importance.

So how…


Does your tableview scroll at 60 fps (frames per second)? Or does it look a jerky and not smooth? Mine’s running smoothly at 60 fps now. It used to be erratic and averaged about 38 fps. This is how I did it.

Tables with complex cells in each row can be difficult to make scroll smoothly. You’re configuring and laying out cells as the scrolling happens, there’s a limited amount of time. And when it takes to look, scrolling gets slow and jerky. Mine was averaging around 38 fps (although had a broad distribution). It was visibly slow. The problem…


You start off with a version number on you app’s splash screen. Then later you have an in-app profile screen the version number should be on. Then you realize your logging would be more useful if it had a logged the version info when the app started up. Now you need something to keep these versions all in sync and to easily update them.

When next year rolls around, you realized two releases into the new year that you’ve still not updated your copyright message with the current year.

I created a auto versioning script for Xcode for use in…


I’ve been reading about time management, personal organization, and even taken a course about product management (which turns out to be a similar subject). I do this periodically in a what amounts to a personal grail quest for the perfect time management system.

Clock with no hands

Most recently I have generally used a personalized version of GTD (David Allen’s Getting Things Done) for a few years now. I owe a lot to Allen’s book and my thinking is heavily influenced by his system. But there are good reasons to deconstruct time managment and have a theory of how it operates. Our needs evolve…

Malcolm Teas

iOS developer since 2009. Previously UNIX/Linux/Mac networking software. Pro geek, runner, voracious reader.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store