In 2024 I lost my watch, my ID and other important things to a volcano. Due to the politics and stupidity surrounding the removal of the blood oxygen sensor feature caused by a patent dispute between Masimo and Apple I decided to not replace it.
It's not like I needed the O2 sensor (although it did come in handy while hiking at 12,000ft / 3657 meters above sea level to see how much I should rest to get my numbers back up). It was more the principle of the thing. Two extremely rich companies fighting over something that really shouldn't be patentable.
A few months ago, I climbed the volcano Acatenango in Guatemala with four of my best friends. It was a disaster of a trip on so many levels, but thanks to being able to spend quality time with people I love, I had a good time. I did, however, lose my Apple Watch, AirPods, my wallet with my ID and all my credit cards, and some additional camping equipment when I accidentally kicked them off a cliff during the worst tropical rainstorm I've ever seen. It appears that Guatemalan adventures and I are developing an expensive electronics destruction habit.[1]
As soon as I regained internet, I re-ordered and re-purchased replacements for everything I lost, except the Apple Watch. My reasoning at the time was that it was silly to buy a watch in June when new ones were going to come out in September. But as September 9 approaches, I am no longer certain I'll replace my watch at all.
This surprised me because I was an Apple Watch early adopter. I woke up at 5 a.m. to place an order for the very first Series 0 watch in 2015. That piece of crap was barely fast enough to tell the time (let alone any “smart” activities), but at the same time it was absolutely amazing to have a tiny computer on my wrist. I began to rely on the watch as a notification proxy and then quickly as a health-tracking device.
Documenting Apple's undocumented and unclear code.
Last month I encountered my first need for a custom CoreData merge policy and turned to the Apple documentation for guidance. There wasn't much. I had a unique constraint on an id field and I wanted to overwrite the database values for conflicts with non-nil fields from the incoming change without overwriting the existing record's information if the incoming change were nil.
For example, if I made a GraphQL query that did not include some field (say a binary blob or something expensive to fetch), but the local copy of the CoreData model representing the GraphQL model already had that field from a previous (and different) call, I did not want to overwrite the already-stored-expensive-data field with nil.
Safari users rejoice! StreetPass is a browser extension that helps you find interesting people on Mastodon. I've been waiting for Safari support for a while and today I noticed it's here!
I particularly like how it maintains a running list of the accounts associated with various web sites you visit throughout the day. For example, here's my experience after two minutes:
My only disapointment is that it does not yet support iOS Safari, but maybe @[email protected] will add that soon.
Quite frequently I find myself needing to import a module to gain access to a type (usually a model), but I never interact with that module again. Recently I discovered simple way to skip having to put import ModuleName at the top of my code. This trick is especially handy in SwiftUI, but works for any use case.
Here's an example, let's say a user wants to see their weight from HealthKit in either pounds or kilograms. To do so they press a button. In order to change this information we will create a mock class that interacts with the health data store and returns the current unit for the user's weight:
A forced experiment in living like the ancestors did.
Last week I found myself outside of the United States without a functioning phone. “Let's descend under three feet of water and take a photo with my phone”, I suggested to the dive master. “I'm not really comfortable with that. I'm afraid I will drop it in the lake. I will take a photo of you on the surface”, he replied. One minute and three splashes later, I had a memorable photo of me and my friends scuba diving at 5,000ft (1,520 m) and a camera module filled with water. I quickly copied the photos off my phone onto my iPad and then my phone got painfully hot and shut off. Odd considering I washed it with soap and water under a faucet the week before.
I was 2,000 mi (3,200 km) from home and my only working technology was a Wi-Fi-only iPad and a 3 year old cellular Apple Watch Series 5 whose cellular function didn't work in Latin America. Three days later I flew back home like my ancestors did—paper boarding passes, streaming HBO to my own 11-inch screen on the plane, and navigating the airport and public transit via the light of the stars—err turn-by-turn instructions.