The Shape of Everything
A website mostly about Mac stuff, written by August "Gus" Mueller
» Acorn
» Retrobatch
» Mastodon
» Micro.blog
» Instagram
» Github
» Maybe Pizza?
» Archives
» Feed
» Micro feed
My iPhone Battery Life After a Year at 80% Charge Limit

Juli Clover at MacRumors:

With the iPhone 15 models that came out last year, Apple added an opt-in battery setting that limits maximum charge to 80 percent. The idea is that never charging the iPhone above 80 percent will increase battery longevity, so I kept my ‌iPhone‌ at that 80 percent limit from September 2023 to now, with no cheating.

My ‌iPhone 15‌ Pro Max battery level is currently at 94 percent with 299 cycles

Via John Gruber, who's stats are "max capacity: 89 percent, 344 charge cycles".

I kept my phone at 80% charge for most of the year. There were 4-5 times where I let it charge to 100% for things like camping trips or long climbing days. I never cary an extra battery (with the exception of camping where there was no power), and I don't think I once depleted my phone. With a handful of exceptions, I charge via MagSafe.

My day one iPhone 15 Pro stats are: max capacity: 100%, cycle count: 229.

Am I an outlier, or are Gruber and Clover?

Is Safari Now a Bad Web Browser?

Nicolas Magand:

Today, after nearly 20 years of loyalty to Safari, I’m considering switching to another default browser on my personal computer. I mean, why is it so hard to watch a YouTube video without hiccups, and why can I only choose from a selection of 4 search engines, including three Bing-based?

Apple needs to spend more resources on their browser, and find new ambitions for it now that it will be more challenged on iPhones and iPads. The world needs a strong, well-funded alternative to Chrome.

Safari has been pretty sketchy for me as well lately. And frequently videos in YouTube will pause until I move my cursor around (though audio will still play). I've been contemplating moving to Chrome more and more.

Six Colors Turns Ten

I’m doing exactly what I dreamed of doing ten years ago. I got to be home when my son was in middle school and when both my kids were in high school. I get to collaborate on projects with all sorts of great people, including Dan, Myke Hurley and Stephen Hackett, and the entire Incomparable gang.

Congrats to Jason (and Dan!) on making Six Colors awesome for ten years, and more to come.

September 16, 2024
Topping out on Flyboys, an 1800ft climb. That is not me in this photo.
Topping out on Flyboys, an 1800ft climb. That is not me in this photo.

This past Saturday I went up Flyboys, an 18 pitch, 1800 ft, climb in Mazama, Washington. I lead every pitch with my climbing partner Caitlin handling the belaying.

It was pretty awesome. Maybe even epic.

Flyboys has been on my todo list for a long time as it's a pretty moderate route, with easy access, and a ton of bolts. And it's super long, which is its main attraction.

We woke up at 5:30 am I was delighted to see that there was only one party ahead of us at the parking lot — I really didn't want to get stuck behind multiple slow parties. After a 30 minute approach there were at least 10 more cars in the parking lot. It was going to be a busy day here.

At 6:30 we started climbing.

A conga line of folks waiting to get on the climb.
A conga line of folks waiting to get on the climb.

Pitch after pitch, belay after belay, we slowly made our way up. Sadly we didn't get to go as fast as I would have liked, as the party ahead of us was having issues with the climbing (it might have been a little bit above their pay grade). But they were super nice folks so we cheered them on, sent positive vibes, and chatted quite a bit with both them and the party behind us.

Eventually however they got stuck around pitch 12 and asked for some help. We hatched a little plan where I would lead the route and then Caitlin would follow me and place a rope past the section they couldn't manage (climber speak: Caitlin put draws on bolts 3 and 4 so they were essentially on top rope through the crux). This way they could still lead most of the route, but the tricky part would be well protected and they could cheat their way through if necessary.

Side note: a lot of climbing is mental. And when you're 1000 ft above where you started and have been climbing for hours, your brain can act funky even if you're staying hydrated and eating the right food. I think this was the problem they were facing. Had this pitch been earlier I bet they could have made it.

So now we were the first party!

Myself and Caitlin somewhere up the side of a cliff.
Myself and Caitlin somewhere up the side of a cliff.

With nobody to worry about ahead of us I could just climb as fast as I'd like and setup the belay anchors without dealing with another party, and it was just wonderful. I was all smiles.

Party #3 also skipped ahead of the previous group, and caught up with us after a bit. But it was all chill as we were mostly climbing at the same pace.

The view from the top of pitch 18 as I belayed Caitlin up.
The view from the top of pitch 18 as I belayed Caitlin up.

We finished pitch 18' at 5:21pm, for a total time of 10:23:12. This was roughly double what I think we could have done — but the weather was perfect and what else were we going to do that day? Besides eat pizza, because we did do that.

Some fun Apple Watch stats:

watch move stats watch exercise stats

I'm really curious what the spike at 10am was. If I do this climb again (I'm sure I will) I'll take some notes.

The Canary Has Been Dead for a Long Time Now

Jason Snell at Six Colors: Apple’s permissions features are out of balance:

In an attempt to protect Mac users from getting themselves into trouble, Apple introduced numerous permissions pop-ups into macOS Catalina. In the years since, the company has accelerated its approach, adding ever more situations where users must grant specific permission. Often multiple times, in multiple places. (It can be magnified by migrating to a new Mac and getting those requests all at once.)


Now comes the news that things may be getting worse, not better. 9to5Mac reports that macOS Sequoia beta has introduced a new prompt that doesn’t allow a user to permanently grant permission, but requires an occasional re-authorization.

Acorn "records the screen" to sample pixels in other apps when you use the color loupe. This is great if you see a color in a Safari window that you'd like to grab, even if you do have to deal with a scary warning (once) from MacOS. At least it was only once, until now.

I've been running the Sequoia betas for a while now and I thought it was a bug that I was having to open up System Settings every other day to grant this permission yet again. Apparently this is as designed (and since I rebuild Acorn from source multiple times a day it seems to trigger something in MacOS Sequoia that says I need to give permission yet again).

John Gruber at Daring Fireball:

I think it shows just how much care and thoughtfulness went into turning up the dial on these nags that the button label incorrectly capitalizes the “to” in “Continue To Allow”. You can say, well, that’s a little thing. But that’s exactly the sort of little thing that almost never shipped from Apple, even in beta, until the last few years.

This is sad, but not unsurprising given the trajectory of things lately. And if you look closely, you can still see bits of yellow feather intermixed with the rest of the decomposing body.

10 Commandments of Guitar Playing

For the guitar players out there, I'd like to share Captain Beefheart's 10 Commandments of Guitar Playing.

Never point your guitar at anyone
Your instrument has more clout than lightning. Just hit a big chord then run outside to hear it. But make sure you are not standing in an open field.

May 16, 2024

YouTube: 2024 Youth Regional Championships | Vertical World Climbing Team.

My fav climbing gym just put up a little video from the regional campionship they had this past weekend. It was a fun event, where my daughter got to participate and I got a chance to lead belay a bunch of the older kids.

There's a ton of work that goes into setting up all these climbing routes, and this short film only scratches the surface.

March 20, 2024

Retrobatch 2.1 is out, and it's a free update for 2.x license holders.

Here's what is new and awesome:

  • A new Look up Table (LUT) node! (This is my favorite).
    The LUT node can be used to quickly and easily alter the color and tone of your images. LUTs can be used to create a wide range of effects, from subtle color adjustments to dramatic stylistic changes — it's like a pre-programmed filter, but with more flexibility and control. Use one of Retrobatch's LUT presets, or download additional LUTs that emulate film stocks, create specific moods (like warm, cool, or vintage), or simply enhance the natural colors in your image.
    You can also adjust the opacity and blending mode of the LUT. Use a grayscale LUT and then dial back the opacity to create some dramatic effects in your images. (Retrobatch Pro only)
  • New "Tile Chop" node which will take an image and split it up into multiple images based on a width and height set in its properties.
  • New "Camera Capture" node which uses your Mac's built in camera to take a photo (Retrobatch Pro only).
  • Photos Export now has an option to export the Current, Unadjusted, or Original versions of your Photos Library images. *New "Auto Process" option in the RAW Import node. This lets you skip the fiddly options and just lets Retrobatch make the best guess at how the image should be processed.
  • Two new nodes for renaming files. "File Rename" which will take one search string and replace it with another, and "Web Safe Rename" which will take a sequence of characters and then replace those with a given string. This is handy for tasks where you need to take out special characters or spaces from your images to make them easier for handling on the web.
  • There's a new Advanced tab in Preferences, with some new options:
    • A new "Default Write Folder" that will be used anytime you add a Write node.
    • A "Clear JavaScript console when a workflow runs" option, which is useful for plugin authors.
    • A "Allow unknown file types" option, which can be used to load ancient file types that MacOS no longer recognizes (Pro only). Find out more about this preference if you find it intriguing.

There are additional changes and bug fixes of course. You can read all the gory details from the release notes.

You can use the Retrobatch ▸ Check for Updates… menu item to get the latest release, or if you have downloaded it via the App Store you can update it from there.

And of course, I've always got more planned so look for more fun stuff in the future.

February 22, 2024

Acorn 7.4.4 is out, and it's a free update for anyone with an Acorn 7 license.

As previously mentioned, I'm not incrementing Acorn past the 7.4 number ('74 was a good year for me). But that doesn't mean I'm not adding new features, and this release has some. Here are some highlights straight from the release notes:

  • Super Resolution ML resizing. This new option in the Image ▸ Resize Image… menu item lets you increase the size of your image up to 4x using Machine Learning. Or is it AI now? I don't know and don't care, but it's pretty awesome! It packs a ton of crazy statistics and math into a simple little dropdown menu. Give it a shot for your photos, you won't be disappointed. (Super Resolution is for MacOS 12 or later only).

  • Stroke Selections! Finally. You can now perform this long requested feature via the Select menu, and even works with Magic Wand selections (MacOS 11 or later only). Change your stroke size, blending, anti-alias or not, and even add a fill.

  • You can now convert Magic Wand selections to shape layers. This is also super awesome! If you've got a fun outline of something that you want to convert into a shape, this is the way. (MacOS 11 or later only).

  • New "Simple Film Grain" filter, which will add a grainy overlay to your image. Just like Grandpa's photos used to have.

Other Interesting things:

  • The Text Palette now shows what the font looks like in the font pop-up menus.
  • Holding down the backslash key ('\') will temporarily switch off any layer filters you have on selected layers.
  • The tool palette will now dim tools that you can't use in modal operations (such as when cropping, scaling and rotating, and similar operations).
  • Neat new trick with the Shortcuts Crop action: If you choose "Custom" as the position and put in negative values, the canvas will expand instead of shrink. A negative X value will increase the size on the left, Y on the bottom, Width on the right, and Height for the top.
  • Various little improvements to the File Info window, including shortcuts (Command 1-4) to switch between the sections.
  • Double clicking on a non-bézier shape with the anchor select tool will now convert it to a bézier shape (previously this only worked with the move tool (shortcut key 'v').
  • A new Shortcuts action to open images in Acorn.
  • Various improvements to Acorn's SVG importer.
  • The AppleScript command do filter name "Your Filter Preset Name Here" will now work with filter presets as well. This is in addition to the call filter preset with name command. There is a story behind this. It isn't very good.

And of course, I have squashed some bugs as well, and you can read about those in the full release notes.

Retrobatch has been getting most of my attention lately (the upcoming 2.1 release includes LUT support!) but working on Acorn always brings joy, and I have lots more fun things planned for in the future.



January 24, 2024

Today marks the 40th anniversary since the introduction of the Macintosh. I can't let it go by without saying something. After all, my current livelihood would be impossible without it.

I've been developing apps for the Mac for most of its life now. That's crazy. And the best thing about the Mac turning 40? I can easily see it going for at least another ten. It didn't always seem that way, but MacOS is an incredibly robust OS and so many applications couldn't be possible without it. How long will it go? Everything ends at some point, but the Mac just keeps on keeping on. I'm hopeful and excited about its future.

Happy Birthday little guy.

November 7, 2023
Retrobatch

Retrobatch 2 is out!

In case you're not aware, Retrobatch is a node based batch image processor, which means you can mix, match, and combine different operations together to make the perfect workflow. It's kind of neat. And version 2 is even neater.

Here's the quick stats for the impatient:

Retrobatch 2 requires MacOS 12 or later and it runs on Apple Silicon or Intel. It comes in 2.5 flavors:

  • Retrobatch (regular): currently $19.99 one time fee. Comes with all 2.x upgrades.
  • Retrobatch Pro: currently a $39.99 one time fee (or $24.99 if you're upgrading from 1.x). Also comes with all 2.x upgrades. It has more "Pro" features (aka, wacky things with color profiles, JavaScript, and more).
  • Retrobatch Pro (App Store): $24.99 a year with a free 7 day trial. It also has some features missing because of App Store restrictions - but that may not matter to you.

This is the first time Retrobatch has been on the App Store, so this is … slightly exciting? We'll see what happens. It's also nice being able to offer upgrade pricing on my own store again without feeling like I'm penalizing App Store folks.

Gus's Favorite New Features

The full release notes are available, but here's what I think are the coolest features:

  • Command Bar: This is just like the Command Bar in Acorn, but I find it way more useful in Retrobatch for adding new nodes to the canvas. I no longer search through the little catalog - I just type and press enter.
  • Dark Mode: It's nice? And it's about time it showed up?
  • Larger Previews: The new way to view large previews is super easy. Select a node(s), hit the spacebar. A sheet comes up with node properties on the left, and a large preview on the right. It's a great way to dial in node properties.
  • Super Resolution ML Scaling node: Retrobatch has a node which uses the Beby-GAN model to do 4x scaling of your images. This was a fun little project because the original model I used was over 60MB, but using Apple's coremltools I was able to quantize it down to just under 17MB. Machine learning models are awesome, but they can be pretty big. And going from a 32 bit model down to 8 bits didn't seem to impact the fidelity of what was generated.
  • Photos Export node: This node replaces the previous "Image Library" node because of deprecations by Apple (they want me to stop using older APIs). This new node is more refined and lets you export your photos from your Photos library, and even download full resolution images from iCloud. I have a couple of interesting samples in the documentation on how to use it:
  • Acorn Maker node: It makes native layered Acorn images. Combine that with the updated screenshot node and you can make layered screenshots straight from Retrobatch.
  • Shortcuts Support: It's a simple implementation which lets you run workflows with gathered images, but since Shortcuts has system wide support, you can now make a workflow and run it straight from the Finder's Quick Actions menu.

Updated Documentation

The new documentation has more samples than ever. There are so many things you can do with Retrobatch, and I really need to start showing those things off.

I've also started a little "Technotes" section where I hope to expand on little things in Retrobatch which are important to know about, but don't necessarily fit in the greater documentation.

Retrobatch is obviously not Flying Meat's most important app (Acorn would fill that role), but I really do like working on it and there's a bunch more ideas that I want to implement. I feel like Retrobatch is an app that the Mac needs, and it makes me incredibly happy to read all the nice letters I get from folks when they figure out how to use it in their daily work.

Five years after Retrobatch 1 shipped, I'm happy to see version 2 out in the world. And I can't wait to see what folks are going to do with it.

October 30, 2023

five watt world has a great 18 minute video on the history of Fender guitars made in Japan : Fender Japan: A Short History

One of my favorite guitars, a '62 Stratocaster reissue, was made in Japan. It's always been exceptionally good for what I paid for it, and I can still remember the first time I plugged it into an amp and played it. There was just something special about it, and I couldn't believe someone would have traded it in (I got it used, and made an even trade with a more expensive guitar for the swap. I just had to have it).

Years after I acquired the strat (and decades ago at this point), I was reading an article about older Japanese reissue strats, and that some folks were trying to pass them off as original 60's. There was really only one external sign on the guitar that gave it away - which was a "Made in Japan" sticker under the finish at the heal of the neck. Apparently people would try and remove it, but it was placed under the finish so it was impossible to remove without damaging the guitar.

I walked over to my guitar, flipped it over, and saw right away that someone had tried to scratch off the "Made in Japan" sticker. It made me laugh.

Sadly the neck warped sideways a number of years ago, so it's no longer "original". I've since put on a matching neck and still play it all the time.

Stu Maschwitz on ProRes Log Video Recording With iPhone 15 Pro

Stu Maschwitz: Log is the “Pro” in iPhone 15 Pro:

The iPhone 15 Pro and Pro Max feature log video recording. This is a big deal, but there’s already some confusion about it. Where consumer devices and pro video overlap, that’s where the Prolost Signal gleams brightest in the night sky. So let’s get to work.

First, what exactly is log? It’s short for logarithmic encoding, which is a math thing, but what does it mean to videographers?

It really boils down to two things: Log is flat, and log is known.

I'm not really a video person, but I found this article super interesting (it helps that I know enough about color spaces to be dangerous).

The new ProRes Log video format in the iPhone 15 looks great, and with the combo of USB-C and recording to external drives — well, it means more video folks are going to be grabbing an iPhone 15 to record with.

October 5, 2023

Herman Martinus: How I stay motivated as a solo-creator:

When you're working solo, however, there isn't a specific thing you have to do. No pre-set route to take. If I decide to not do any work today, no-one will notice. But if I continue doing so for too many days things start falling apart. Slowly at first, then rapidly, until everything I've built comes toppling down around me.

What Martinus describes in his post isn't too far off from my day to day routine.

September 25, 2023

Acorn 7.4.3 is out, and it's a free update for anyone with an Acorn 7 license.

This release is mostly about bug fixes, but I snuck in a couple of little things, one of which has been asked for a bunch of times over the years: the ability to know the number of pixels you've got in a selection. The count shows up in the Selection palette right below the width and height fields.

There's also a new "New Auto Level / Straighten" command, layered screenshot improvements, and a couple more things. You can read the gory details in the full release notes.

One more super geeky thing I've added is a JavaScript Console:

This tool is really meant for folks developing plugins in Acorn, and it is only accessible from the Command Bar, but a part of me absolutely loves pointing out little things like this. I was just chatting with Brent Simmons the other day at Xcoders how you can't really spelunk in apps any more because of all the restrictions that are (justifiably) put on recent MacOS releases. While a console isn't exactly a spelunking tool, I still think it's kind of cool and fun and maybe someone will discover it accidently and that will inspire them to do stupid and entertaining things like we used to do back in the 10.x days.

Anyway, here's a picture of some groovy flowers out of the 1970s, because I'm still stuck on the ’74 theme for recent Acorn releases.



September 6, 2023

This piece "On Craft" by Cat Hicks really resonated with me:

There is this thing I guess for me here, craft as communication and collaboration and creation, versus craft as weapon. Craft as fixing a table for everyone who will sit at it later versus craft as judging whose work gets to be seen as authentic and skilled.

July 12, 2023

Quentin Carnicelli on Rogue Amoeba's Poorly Thought Out Alerts:

Since the very first computer platform was created, there has been a power struggle between platform owners and developers. As developers, we wish for a stable platform. It’s understood that it must evolve, but it should do so slowly and predictably. Platform owners, on the other hand, wish to cut out cruft and move forward rapidly. This tension is the normal state of affairs. When managed well, it keeps both parties in check.

This poorly-written alert, instructing users to contact developers for new software, is an unacceptable disturbing of that balance. The last thing users should ever have to worry about is “deprecated APIs”.

This in response to Craig Hockenberry's post An Alerting Vista of Sonoma, where he points out how Apple is adding some weird ass alerts to MacOS Sonoma.

In the past, I've been received emails from Apple about APIs that are about to change behavior after they were deprecated for a while (off the top of my head - FlySketch used CGDisplayAddressForPosition to grab the base address of a display to read pixel data. In a Mac OS update that started returning null). Apple also dings you when using deprecated APIs when uploading to the App Store. Between all that and the warnings you get when compiling, I think the new alerts in Sonoma are just dumb.

Make Your Renders Unnecessarily Complicated

siirrandalot on YouTube: Make Your Renders Unnecessarily Complicated:

Had this idea 10 years ago, finally got around to it. Took a good couple of months too.

Maybe I'll have to come back in another 10 years in order to properly simulate diffraction and lens flare...

What happens if you make a pinhole camera in Blender, and then take that idea to it's logical conclusion? You get this insane idea. This was amazing to watch and if you're a camera or graphics nerd, it's a must watch.

Via my buddy Jake Carter.

Oh… So That's How Hash Tables Work

Leo Robinovitch: A simple hash table in C:

"I implemented a simple hash table in C when solving a problem in CS Primer. Solving it helped me gain better intuition around hash functions, pointers, and memory segments like the stack and the heap."

I'm a mostly self taught programmer, and as such, I've never bothered to learn how hash tables work. But this implementation of a very simple hash table in C was pretty eye opening. Such as … well I now understand why it's called a hash table and how collisions are handled.

Such a simple and elegant solution for a data structure everyone uses all the time.

June 8, 2023

I spent a few days down in Cupertino / San Jose for WWDC 2023 earlier this week. I didn't have a ticket, but since a bunch of my friends were going to be around I didn't want to pass up the opportunity to see everyone.

While it obviously didn't have the feel of previous WWDC years, there was still a nice vibe going on and I hope it grows a little more every year to the point where we've got little conferences orbiting around the main event again. It'll take years to build up, but I think it'll happen.

On the announcement front: I'm very excited about the Vision Pro. I think has a very bright future, and I can see it replacing Macs for a lot of people as well. It's not for everyone just yet, but the form factor and price will come down over time which will make more folks come to it. Vision Pro's capabilities will expand as well, and developers will figure out just what to do with it.

I have ideas of course. Maybe I'll even find the time to implement them.

On the new Mac Pro: I can only assume this isn't the processor that they wanted to ship in it. I'd bet a small amount of money that at some point in the future it'll get a processor that makes sense in this giant case*. Something that's drowning in CPU and GPU performance. Otherwise I just don't see the point of having it.

On Software: I haven't had a chance to dig into the API changes yet - but I did notice that the Accelerate framework now has flood fill operations for vImage. I'm very curious to see how my implementation performs compared to Apple's.

June 15 Update: When I was hanging out in the Signia (né Fairmont) hotel lobby, anytime an interesting song came on I made sure to add it to a little playlist. Which I now present to you.


* I hate the Mac Pro case design. It's big, ugly, and cost way too much. I kind of wish they would go back to the pre trash can design, or maybe do the trash can again, but bigger.