Archive for July 29, 2022

Friday, July 29, 2022 [Tweets] [Favorites]

Scrubbing Through iOS 16’s Music App

Jason Snell:

The real advance, though, is in how you control volume or scrub through a track. Previously, you needed to put your finger down on the dot itself, and then slide the dot back and forth. If you missed the dot, you failed. In iOS 16, the entire area of the bar is swipeable. You just put your finger down, anywhere, and slide it back and forth.

Picking a Portable Power Station

Adam Engst:

The big name in the field appears to be Jackery, and its Explorer 160 costs only $139.99 for 167 watt-hours of energy storage with an AC outlet, USB-C port, two USB-A ports, and a DC 12V port. It’s reasonably light at 3.97 pounds (1.8 kg), which is important given the amount of gear I have to pack. The only downside is that its USB-C port puts out just 15 watts, not enough to charge the MacBook Pro while in use. I could plug the MacBook Pro into the AC outlet, but that seems limiting when there’s a USB-C port. The Explorer 300 puts out 60 watts over USB-C, but its 293 watt-hour capacity jacks its weight up to 7.1 pounds (3.22 kg) and price to $299.99.


After several hours of research, I finally unearthed the $89.99 TECKNET Portable Power Station, a 155-watt-hour, water bottle-sized device with a carrying handle that weighs 3.75 pounds (1.7 kg) and features a three-prong AC outlet, a 45-watt USB-C port, and three 18-watt USB-A ports.


If you can imagine needing to jump-start your car or charge digital devices while on the road, I highly recommend something like the Tacklife jump starter. Just make sure you have the appropriate cables—I’ve added a Lightning cable to the USB-C and micro-USB cables that came with mine.

It claims to offer 12 months of standby time.

Deep Codable

Mike Lewis (via Dave Verwer):

I recently built DeepCodable, a package to encode and decode arbitrarily-nested data into flat Swift structs, by defining the coding paths with a result builder. I personally have been wanting something like this for a long time when interacting with third-party APIs, so I decided to build it.

Update (2022-08-02): Jsum:

Jsum is a JSON object-mapping framework that aims to replace Codable for JSON object mapping. It takes a lot of inspiration from Mantle, if you’ve ever used it back in Objective-C land.


Codable is often thought of as not being flexible enough. Many common problems with it are outlined in the replies to this Swift Forums post. In my opinion, Codable requires you to give up its most valuable feature—synthesized initializers—too often, and this is why it feels so cumbersome to use.

Codable and JSONDecoder don’t offer a lot of up-front decoding customization, and miss a lot of common use cases. All of these missed use cases mean you have to implement init(decoder:) and manually decode every single property for that type, even if you only needed to adjust a single property’s behavior.

Using Stage Manager and Spaces Together

William Gallagher:

Because you’ve already chosen Stage Manager in your first or regular Space, it’s on for all of them. And when you turn it off, you are turning it off for all of them.

So what you end up with is a Mac desktop that has you focusing on just the apps and documents you need for your current task. Most other items you use are there in the Stage Manager column of icons and so are a click away.

And an entire new set of apps and documents is a swipe away in a second Space.