The Shape of Everything
A website mostly about Mac stuff, written by Gus Mueller
» Acorn
» Retrobatch
» Twitter
» Mastodon
» Instagram
» Github
» Maybe Pizza?
» Archives
» Feed
» Micro feed
September 16, 2019

A new climbing gym, Vertical World North, just opened up about a month ago near us. It's big, it's spacious, and it's not usually very crowded. I think it's a beautiful gym, so here are some quick pictures of it:

Madeline climbing.

Madeline climbing.

Madeline climbing.

Madeline climbing.

Madeline climbing.

Madeline climbing.

Dan Erickson also has some great pictures from the construction of it: Behind the Walls - Vertical World North. It's amazing just how much steel and structure goes behind those walls.

So this gym has been in the works for about four years now. Maybe five depending on when you start counting. The climbing community has been waiting a long time for it, but I think it's been worth the wait. It's been great reconnecting with old friends, and making new ones as well (climbers are pretty easy going folks).

It's not fully open yet (there are limited hours during the day, and the second floor bouldering area is yet to be completed), but there's a bunch of top ropes and lead routes for climbers of every skill level. And of course classes have started as well. I find myself there more often than I should be, but climbing's fun- so why not?

If you're in the area, or don't mind a little drive up from Seattle, I highly recommend checking it out if you're curious about climbing or just want to try out a new gym.

September 11, 2019

If you're a programmer that loves cameras or image processing, and working for Apple sounds like a good move- @ivanski wants you to know they're hiring. There are multiple open positions on the Camera Framework and Core Image teams down in Cupertino.

Unsurprisingly, I've had many interactions with the people on Apple's Core Image team over the years from my work on Acorn, and they've always been super great to work with. I think it'd be a great team to join if GPU programming, image processing, and pushing pixels around is something you enjoy.

September 9, 2019

Daniel Jalkut: App Movement Monitoring:

"Essentially, when a Mac app is launched, the location of that app on disk is saved, and used repeatedly whenever an internal component needs to located. The dynamic nature of resource loading in Mac apps means that these components are not typically loaded until they are need. For example, if you never show the Preferences window in a typical Mac app, the resources that define that window will never be loaded.

"If, on the other hand, you decide to show the Preferences window, but you’ve moved the app since it was launched, things have a tendency to go haywire."

Daniel wrote this post after figuring out a crasher in NetNewsWire 5. And the solution he came up with is contained in a single source file you can embed in your Mac app, RSAppMovementMonitor. It's a good solution and I'll have to integrate it into Acorn and Retrobatch for their next updates.

But shouldn't the Finder prohibit moving an app while running in the first pace? I think so, and so does Paul Kafasis as he writes at Rogue Amoeba: The Finder Really Should Prevent Moving Running Applications.

Daniel also talks about his solution on episode 382 of the Core Intuition podcast.

September 5, 2019

Craig Hockenberry: iCloud Clusterfuck:

"Anyone who’s not a developer, and hasn’t been burned by a bad OS, does not know the kind of trouble that lies ahead. It’s irresponsible for Apple to release a public beta with known issues in iCloud. It’s doubly egregious to then promote that release with an email campaign to customers. For a company that prides itself in presenting a unified front, it sure looks like the left hand doesn’t know what the right hand is doing."

I've been doing this long enough to remember when the .Mac APIs were built against an SDK. I understand why Apple ties iCloud API updates to OS releases, but I really wish they wouldn't. Apple's coders are smart enough to make things backwards compatible, and being able to deploy new iCloud APIs to last year's OS release would be a nice win for everyone.

And more importantly, a separate SDK that isn't tied to this year's beta OS means less instability for developers testing the new OS update. At this point in the beta cycle, I would usually be running 10.15 full time. I've barely tested it this year, precisely because of the iCloud issues people were encountering. When a new build comes out I boot into it, test my apps, and then go back to 10.14 for work.

This isn't good for Apple, and I know I'm not the only developer taking this approach for this OS cycle.

September 3, 2019

Bug Bytes: Gus Mueller:

In his 23 years coding for the Mac, Gus Mueller, creator of the popular image editor Acorn, has had ample opportunity to make errors. Here, he talks about his most memorable one, which goes back to VoodooPad, an advanced journaling app Mueller released in 2003.

This was a fun little writeup about what was probably my worst bug ever. Or at least, the one that gave me a giant panic attack when it happened. I can still remember the dread when composing an email to the customer explaining that the data was gone. I felt awful. But then there was the surprise happy ending and I felt like I had dodged a bullet.

The link above will give a little preview to the story, but to read the whole thing, you'll need to follow the link to the Mac App Store.

August 26, 2019

NetNewsWire 5.0 Now Available:

"In case you haven’t been following along until just now: NetNewsWire is an open source RSS reader for Mac. It’s free! You can just download it and use it. No strings.

It’s designed to be stable, fast, and free of bugs. It doesn’t have a lot of features yet, and that’s because we prioritized quality over features. We will be adding more features, of course, but not quickly. We’re also working on an iOS app."

A big congrats to Brent Simmons and everyone else who worked on NetNewsWire 5.0. I've been using NetNewsWire since version 1.0- which was released way back in 2003! I'm super happy to see development started back up on it and I know it has many more great years ahead of it.

July 25, 2019

I go climbing at a local gym at least a couple of times a week if I'm not climbing outside (which sadly, is pretty rare these days). There's always new faces in there, and of course regulars who show up every week on the same nights as myself.

I tend to keep my eye on folks I don't recognize or who look new to climbing, just to evaluate how they are belaying their climber. A "belayer" is the person in charge of holding the end of the rope with a belay device, which keeps the climber at the opposite end of the rope from hitting the ground should they fall. A belayer also lowers the climber when they are ready to come down.

I keep an eye out because over the years I've seen a couple of people dropped from bad belaying techniques, and I knew before the drop happened that something was up. And both times I've regretted not saying anything prior to the fall (even though nobody was seriously hurt in these instances). As a result, over the decades, I've developed a kind of sixth sense for feeling out when something might go wrong, someone needs a little adjustment in their technique, or even an encouraging word to just relax a little. It's been pretty useful a number of times.

So last night, I witnessed a belayer who kept releasing their brake hand while the climber was up on the wall. You don't ever let go of your break hand when belaying. If you do and the climber falls at the same moment, he or she will likely hit the ground at a less than optimal speed. Aka "decking". There are padded floors everywhere, but you can still get seriously hurt depending on how high up you are when you fall.

So I walked over to let the belayer know how to make things safer (and in a polite and depreciating way, which is usually much more receptive). But while doing so I look down at his belay setup and have a minor internal freak out. The belay device is setup all wrong. Very much all wrong in a very, very bad way.

I quickly tell the belayer "hey, this is all wrong and I'm taking over", set up my belay device past his and as I'm doing so call over to one of the gym employees to come quickly, take a look at this, and be a general witness in case the belayer decides to get angry or aggressive towards me.

The employee quickly realized what was happening, encouraged me to continue what I was doing, and the climber was safely lowered to the ground. The belayer and the employee had a chat, and I walked away since this part was none of my business.

There's more details I could go into, but that's not the point of this story. What happened next is.

I walk away to another part of the gym with my climbing partner, and let the employee take over with the bad belayer. But then people start walking up to me saying things like "wow, I'm really glad you said something, his belaying was super sketchy" or "I can't believe that guy was doing that, it was freaking me out a bit".

At least four other climbers saw the bad belaying, and did nothing.

There's a certain etiquette in a gyms towards other climbers. You don't give out unsolicited advice to climbers about how to get past a hard problem. You don't loudly talk about "how easy that climb was" when someone else is currently struggling on it. And in general, you let people belay how they are as long as it's safe, even if it's not your preferred technique. If someone is belaying with an ATC but you prefer to use a Grigri, you're not going to comment on it.

And I think it's this mini-culture that kept other people from speaking out, combined with maybe a bit of uncertainty or embarrassment.

So what should you do if you see someone being sketchy in a climbing gym?

The simplest and best solution is to mention it to a gym employee. The employee will then (hopefully) casually walk over and observe the situation, and make a decision based on what they see.

I've talked with numerous gym employees about this, and every one of them absolutely wants to know if someone is suspected of being unsafe in the gym. So don't feel embarrassed by this. Don't think you are lacking experience to make the right call. Just go let the employees know. You might be wrong- so what? It's better to be safe than sorry, especially when someone could potentially be seriously hurt.

I feel at this point, I need to defend gym climbing a little bit. In 20+ years of climbing*, I've only had to take over someone's belay maybe once or twice. What I did last night was super rare. Even having to comment or report on someone's belay style is pretty rare. Maybe 2-6 times a year?

Climbing indoors is safer today than it's ever been. The belay equipment is modern and amazing, harnesses are more comfortable than ever, and new climbing gyms are popping up all over the country. The collective wisdom from all of this has increased the safety of climbers 10x.

One of my favorite analogies is to compare climbing to driving a car. Of course it's dangerous! But climbing is no more dangerous than driving- in fact it's probably safer. You wouldn't just hand your keys over to a 16 year old who's never driven and say "here you go- be back by 10!". That would be insane.

Instead you take a climbing and belay course, or learn from someone who knows what they are doing. And just like you have to pass a test to get a driver's license, climbing gyms make you pass a test to be able to belay someone. (I'm not sure the person who was belaying last night had passed the test- I wasn't privy to that part of the conversation. I can say that I've seen 8 year olds belay better than that guy).

* In my 20+ years of climbing, I've learned that experience doesn't actually count for much. You can climb for decades and still be doing it all wrong. You just got lucky. Take a course. Read some books or watch safety videos from climbing gear companies. Keep your skills sharp. Equal parts skepticism, paranoia, common sense, and knowing how to relax can go a long way to keeping you safe.
238 Seconds of Some Solid Guitar Playing

If you're a fan of blues and didn't know John Mayer could play, check out the first 238 seconds of this recording (the second half is one of his pop songs, which I don't like much). I have fond memories of playing this over and over in my car, while driving long distances to meet up with my future wife for the weekend. just enjoying the little things John Mayer does in this improv. He's a phenomenal guitar player, and I wish he'd do more of this stuff.

I was recently compiling some of my favorite songs for a thing, and I wasn't able to use this entry because the album it's on doesn't show up on the platform. Luckily for us however, YouTube has everything.

Acorn 6.5b1

Psst. The first beta of Acorn 6.5 is up.

Ive Departs Apple

Financial Times: Jony Ive, iPhone designer, announces Apple departure

Sir Jonathan is setting up his own new venture, a creative business called LoveFrom, with Apple as its first client. The transition will begin later this year, with LoveFrom launching fully in 2020.

I'm optimistic about this. Ive has done wonderful things at Apple for decades, but he's also worked with and grown amazing design teams at Apple, and I think they'll be just fine.