The Shape of Everything
A website mostly about Mac stuff, written by August "Gus" Mueller
» Acorn
» Retrobatch
» Twitter
» Micro.blog
» Mastodon
» Instagram
» Github
» Maybe Pizza?
» Archives
» Feed
» Micro feed
November 23, 2022

I really don't normally do sales like this, but this time around I thought - hey, why not? This one looks good.

Acorn 7 is part of a Black Friday bundle where you can pick and choose from a number of wonderful Mac apps at 50% off, or all of them for almost 80% off: Pick-Me-Apps: Black Friday Mac Apps Collection 2022

It's not going to last for long, so if you're interested in Acorn or any of the other apps - make sure to jump on it sooner rather than later.

November 15, 2022

Rober Dam: I record myself on audio 24x7 and use an AI to process the information. Is this the future?

I bought a couple of Chinese microphones, I wear them and turn them on all day recording everything I speak, at the end of the day the files are processed with OpenAi’s Whisper and transformed into text files from which the information is extracted.

In that context I realized that you could create a rudimentary “Ok Google” style “Digital Assistant” to actively take advantage of the fact that it was recording everything anyway.

This is a pretty clever idea. I can't see myself wearing a microphone all day, but I could see something in my office for this.

Maybe I could make a Siri Intent to do this? But Siri is always getting what I say wrong and I have to interrupt what I was doing to correct it. If I don't correct it I'll see a reminder in a few hours and have no idea what it's for.

Wouldn't it be cool to have the recorded information to go along with reminders or notes to yourself?

20 Years of Rogue Amoeba

In 2022, Rogue Amoeba is going stronger than ever. Every day, our audio tools help countless Mac users create podcasts, enhance video calls, and so much more. […] But as the date of our twentieth anniversary approaches, it’s nice to take a few minutes to review the past and reflect.

Paul Kafasis and Quentin Carnicelli, two (out of three) founders of RA, were among the first indie Mac developers I met when I was starting out. I remember Paul talking on numerous occasions that the goal was not to create a single great app, but to create a great and sustainable company. And from that, great apps would emerge.

It's indisputable they reached that goal. Congrats to the whole crew over at Rogue Amoeba on 20 years.

September 14, 2022

Outside: Yvon Chouinard No Longer Owns Patagonia.

Effective immediately, 100 percent of Patagonia’s earnings not reinvested in the business will be distributed to the Holdfast Collective to help “protect nature and biodiversity, support thriving communities, and fight the environmental crisis,” according to a press release. The company has for years donated 1 percent of its sales to grassroots and environmental causes, but this shift will increase that figure dramatically. The estimated charitable outlay of the new company will be roughly $100 million a year.

Yvon Chouinard:

“One option was to sell Patagonia and donate all the money,” he wrote. “But we couldn’t be sure a new owner would maintain our values or keep our team of people around the world employed. Another path was to take the company public. What a disaster that would have been. Even public companies with good intentions are under too much pressure to create short-term gain at the expense of long-term vitality and responsibility. Truth be told, there were no good options available. So, we created our own.”

Yvon Chouinard is quite a character, and I've always liked him. Patagonia's products were always a bit more pricy, but the quality is amazing and their commitment to the environment more than makes up for it.

I've you've not already watch Valley Uprising, you should. It's a great film about rock climbing in Yosemite and Chouinard plays a key part in it. He's a legend.

September 13, 2022

This is what happens to an Apple Watch when you're hand jamming up some of the stellar granite at Index, and you forget to take off your watch. Or you're just climbing in general and don't want to take off your watch because you religiously close those rings. I'm a little shocked the watch has lasted almost two years as it is.

So I'll be getting an Apple Watch Ultra, eventually, once this one kicks the bucket. Because I'm not gentle with these things. And the new waypoints feature would have come in super handy this past weekend while I was in Tieton.

Sure, Ben. Yea, I bet that's where the trail was. Right past that rock where a rattlesnake is obviously hiding under. I can't wait to hear another tail shake at me. Where are we again?

September 9, 2022

Charles Petzold:

Whenever a 2nd edition of a book is published, people ask “I already have the 1st edition. Do I need to get the 2nd?” It’s a legitimate question and I’ve asked it myself. Reading a 2nd edition after the 1st is not trivial: It’s a commitment of both additional money and additional time.

Sometimes a 2nd edition has mostly small changes: correcting a few mistakes, adding some more up-to-date information. But other times a 2nd edition involves some major upheavals. Perhaps the author had become dissatisfied with certain aspects of the 1st edition and wanted to fix them.

The 2nd edition of Code: The Hidden Language of Computer Hardware and Software falls into that second category.

"Code" is one of my favorite programming books ever (even though it doesn't really go into programming much). I've read it multiple times, and when I first started reading it, I'd make it only part way through before I had to stop and start over from the beginning. There's just so much good information in that that really builds on itself.

I'm super excited about the second edition, and I've had it ordered for months now, but I think I'm having to wait on a second printing or something. I'm guessing I'm not the only one.

I wished dearly that the Mac and Windows came with built-in BASIC environments. If that were the case, the language I would have discussed in this chapter would have been BASIC.

But I didn’t have that freedom. My hands were tied. There was only one real choice. My free will meant nothing, and I was forced into JavaScript.

So it goes. The only consolation is that I’m not the only person in the world forced into using JavaScript. There are literally millions.

This made me laugh.

August 9, 2022

I got the idea for these two filters a long time ago and even sketched out some prototypes a way back. But now that a convolution filter has made its way into the next release, I figure it's time to push these two out into the world as well.

They are pretty simple - and really aren't "filters" so much as they are "store and load" commands you can use in a layer's filter chain. The first is "Snapshot" and the second is "Snapshot Reblend". The first filter remembers the image as it's passed through it, and the second lets you composite that image back into the filter chain.

What's this useful for? Have you ever thought about how drop shadows are made? The most common way is to apply a gaussian blur + grayscale filter + the original image composited back on top. What if you wanted to make a custom shadow which keeps its color and instead of a gaussian blur, it uses a zoom blur?

Here's our deer again, this time with a transparent background. You can see that we're storing a copy of the image, then blurring it, and then drawing on top of that blur, which gives us a drop shadow to the image.

The Snapshot Reblend filter has a couple of options, including the ability to change the blending mode. If we change it to something like "Destination Out", we're essentially erasing where our original pixels were and are left with just the shadow, which is another useful effect. You see it above - but this time with a motion blur.

You could also use this technique with the "Fuzz Stroke" filter to get an outline of your opaque areas.

These effects have always been possible, but you had to use copies of your image on multiple layers and then things might get out of sync and it could be a mess to update. With the Snapshot and Snapshot Reblend filters coming in Acorn 7.3, we just made those annoying to update effects so much easier to do.

If you'd like to play with these filters right now, you can grab them from Acorn's latest builds page.

August 1, 2022

I've started working on Acorn 7.3, and for some reason I got the itch to add a custom convolution filter to it. I've been thinking about adding one for years, and have had some requests for it as well, but it's a bit advanced and maybe not that necessary? But I really wanted it for some reason and it's not a UI change - it's just a filter that's going to be hiding out among the others so you'll never see it unless you want to.

If you want to play along you can do so by grabbing the 7.3 beta from Acorn's latest builds page. The filter is named "Custom Filter" (because that's what Photoshop named its equivalent, and I'm not going to go around renaming stuff just because) and you can find it under the Filter ▸ Misc menu.

The above image is what it looks like when you first add the filter (and you can click on it to view it larger). You'll see a 5 x 5 grid of numbers, with a 1 smack dab in the middle. This is known as the "identity" convolution, which does nothing but let the pixels through unmodified. By the way, I found this painting of a whimsical deer in a short tunnel while recently camping at Larrabee State Park.

Next up I've changed the numbers in the convolution matrix a bit, and all of a sudden the image gets sharper (more noticeable in the larger version). You can also create little blurs by altering the kernel as well (and Acorn comes with some presets for this if you want to play with it).

You can also use convolution kernels for detecting edges.

As well as embossing and making sobel filters.

You can also get a little creative with it by plugging in numbers to see what happens.

Wikipedia has a page on image kernels which goes into detail about what's really going on, and a Google search yields lots more information as well.

The bias field can be used to add to each cell, and the scale value will divide everything by the amount input. For instance, if you're going to apply a 5 x 5 Gaussian blur to this, you'll want to divide everything by 273 (at least with the preset I've added). As long as everything adds up between 0 and 1, you'll be good.

July 22, 2022

Lost in my FM 20th Anniversary post, was any mention of a new version of Acorn. But the day Flying Meat turned 20, I also released Acorn 7.2, which includes support for Shortcuts and some other new features.

But behold - now you can use the power of Shortcuts on MacOS 12 to automate Acorn into cropping, flipping, resizing, rotating, enhancing, trimming, and applying filter presets to your images. And I'm not going to stop there. I have more ideas in mind, but I'd also love to hear if you have any requests. So send them to support@flyingmeat.com if you do.

Acorn has had 10+ years of AppleScript, JavaScript, and Automator support built into it. And now with the new Shortcut actions you'll find yourself with another great option for automating or scripting tasks in Acorn.

What else is new in Acorn 7.2? Text boxes have three new alignment options: top, middle, and bottom. This is awesome for those pesky layouts you're trying to get just right (or maybe you've got placeholder text which will be scripted out using the AppleScript "replace text" command (and similar API in JavaScript)).

There's a new "Auto Enhance" filter (to go along with the Shortcut action), a "Matte" filter to give a colored background to transparent layers / images, and a new option for the Histogram filter: "High fidelity". This will use a slower, but more accurate method of sampling your images for the histogram. This is awesome if you have a pretty noisy image and want to make sure the histogram you're looking at is 100% accurate.

For exporting, there is a new option in Layer Export where you can crop a layer's bounds to the canvas size. I've also added a "Lossless" option when exporting images as WebP.

And for the last of this short list, there are new Command Bar actions: "New Image From Selected Layers" and "Delete Hidden Layers".

The whole list, including a new AppleScript command and other QOL improvements can be found in Acorn's release notes.

June 20, 2022

Oh hey, look at that:

gus@srv:~/.
$ whois flyingmeat.com | grep -i creation
Creation Date: 2002-06-20T22:24:19

On this day twenty years ago I registered the flyingmeat.com domain. I had no idea what I was doing back then, only that I loved coding, I loved sharing what I worked on, and indie companies were undisputedly cool.

Twenty years later I still have no idea what I'm doing, but I still love coding and sharing what I make, and indie companies are still the best.

It seems that everything else has completely changed since then (we're on our 3rd CPU architecture for the Mac!), but the values that enable and drive what I do to make Flying Meat what it is - those are constant.

There's so much I could write about what I've learned over the years, but that'll have to wait till another day.

However I'm not going to let this opportunity pass without a little bit of fun, so I've put all my apps on sale for $20*. Acorn? Normally $39.95, now $20. Retrobatch Pro? Normally $49.99, now $20. Retrobatch Pro Upgrade? Normally $19.99, now $20 (Yes, we raised the price. No, it makes no sense to purchase it).

And as always, we love receiving feedback from our customers. So if you have any feature requests or ideas you think might be cool, you should email us at support@flyingmeat.com. Or just drop a note to say "hi", we love hearing that as well.


* Acorn is actually $20.99 on the App Store, since I couldn't make it a flat $20. So you can save a tiny bit of money by buying directly from us.

What goes into making an OS to be Unix compliant certified?

Terry Lambert, Apple Core OS Kernel Team:

We had a lot of gratitude in the Open Source community particular for our fixes to make bash pass the tests.

You have absolutely no idea how much Apple contributed to the Open Source community, as part of this project, because it was a secret project - at least to people outside Apple so we didn't advertise the fact.

But I expect we contributed about two million lines of code, to hundreds of Open Source projects, over the course of that year.

A lot of gratitude - but it wasn't collective, and so Apple was still faulted for "using Open Source code, but never contributing back".

We fixed at least 15 major gcc bugs, for example.

You have no idea.

Tomoya Ikeda - Macintosh Artist

Matt Sephton:

Tomoya Ikeda (池田友也) might not be a name you’re familiar with, but if you used a classic Macintosh computer at any time during in the 1990s you’re likely already familiar with some of his work.

November 16, 2021

Collin Carroll: Female excellence in rock climbing likely has an evolutionary origin

As hypothesized, relative female rock-climbing ability was shown to be extraordinary. A female climber has climbed a 5.15b-rated route, one of only 27 people to have successfully ascended a route rated 5.15b or higher. Additionally, this exceptional performance is not limited to one female outlier. Two other women have climbed 5.15a-rated routes, placing 3 females in the top 90 climbers of all time. This level of female achievement is far beyond that seen in other sports. The 100-m dash, with a relatively narrow PG itself, does not have a single female runner in the top 2,000 competitors, and the fastest female time ever recorded is slower by 0.19 s than the 2000th-fastest-ever male time. This trend holds true for the marathon, too. The top female does not enter into the top 2,000 marathon runners, and she is more than 2 min slower than the 2,000th-fastest male (“World Athletics” 2020). This means that there are likely many thousands more male runners who surpass the world-record-holding females in each track & field event. Rock climbing as a sport shows a much narrower PG at its upper echelon than either short-distance or long-distance running.

The world is finally noticing that female rock climbers are getting really, really good. And when you look at the top female climbers, they aren't exactly tall either. A lot of the weekly youth classes at our gyms are mostly populated by girls as well. If you're a lady and rock climbing interests you - I say go for it.

I wouldn't be surprised in the slightest if at some point in the near future, the hardest route in the world was first sent by a female.

When Led Zeppelin Was in Seattle

Lord Rare Rock on Instagram:

Seattle - 1977 - After Zeppelin was banned for life from the Edgewater Inn for previous incidents, such as the infamous shark, they somehow got that ban reversed. The manager, James Blum, warned them to be on their best behavior this time. I think we can imagine how they took that warning. It is said that on that night, the band threw not one, but five televisions into the Puget Sound which was directly below the windows at the Edgewater Inn. The band racked up an obscene amount of damage fees, which Richard Cole happily paid. When they were checking out, Cole was asked by one of the hotel clerks - "I’ve heard that Led Zeppelin has a reputation for throwing TVs. But I thought it was BS. Can you tell me, what does it feel like to just toss a TV out of your window?” Cole replied, ”Kid, there are some things in life that you’ve got to experience for yourself," as he slid $500. “Go toss a TV courtesy of Zeppelin”

November 10, 2021

Tedium:10 Image File Formats That Didn’t Make It

From PCX to TGA to VRML, considering a number of image formats that the world forgot. Not every image standard is going to last, no matter how pretty it is.

Some of these formats I'd argue did "make it". But time marches on.

October 15, 2021

This coming Monday, Apple is having an event they are referring to as "Unleashed". The general rumor is this will be an announcement of new MacBook Pros with faster M1 based processors.

That'd be great, but what I really want is some sort of M1/M1X/M2 based iMac Pro with a big display. It's been a while since I've bought a new desktop (I'm still rocking a late 2015 iMac for some reason), and I'm eager for something newer and faster. Hopefully we'll also get a release day for MacOS Monterey.

One thing that I haven't seen remarked upon much, is that it's been few weeks since a new beta of Xcode 13 dropped with a Monterey SDK to build against. This makes me think that there will be new APIs for dealing with some sort of new hardware in whatever is coming out Monday. So whatever we're getting, I bet it's going to be a little more involved than just a standard hardware upgrade.

Ben Thompson on Apple's App Store Conundrum

The Sub Club Podcast:

On the podcast, we talk with Ben about all things app stores. From Apple’s revolutionary launch of the App Store in 2008 to the monopoly-like powers, both Google and Apple now wield today. With multiple lawsuits filed, government investigations ongoing, and developer sentiment at an all-time low, we take an honest look at the challenges and trade-offs in trying to bring two of the world’s largest companies to heal.

This is a great interview with Ben Thompson on all of the big issues currently surrounding Apple's App Store. If you're a developer on any of Apple's platforms, you need to make some time to give this a listen.

September 2, 2021

I released Acorn 7.1 yesterday, which has some new features, changes, and bug fixes. There's nothing earth shattering in here, just another release that continually improves Acorn. The full release notes are available as always.

There is one little, yet devilish, bug fix in the 7.1 release. It took a while to track down and the fix of course was super easy.

Soon after the release of MacOS 11.5 I started getting crash reports. Lots of crash reports. They all had similar stack traces, pointing to something in the guts of Apple's Key Value Observing code (_NSKeyValueObservationInfoGetObservances specifically).

But the messages from my customers in the crash reports all pointed to wildly different things. Someone was using flood fill, and got a crash. Someone else was changing the size of the pencil tool, or someone else was changing a preference, or someone was exporting an image. The one thing that they all had in common was that a preference was being changed or read.

So something in the frameworks for MacOS 11.5 obviously changed, and was surfacing a bug in Acorn that's probably been around for a while (this wasn't my first thought of course. My first thought was that Apple broke Acorn again, horribly, like they did last April).

And I couldn't get it to reproduce more than once or twice. It was pretty infuriating.

I started bouncing ideas off some friends, and I eventually came to the idea of having one of my tech savy customers who could reproduce it to try running Acorn from the terminal with NSZombies turned on. If you're not familiar with it, NSZombies is a debugging tool which will report when messages are sent to classes which have had their memory reclaimed.

And sure enough, the crash happened with a message helping me pinpoint exactly where it was going wrong. What was it? Acorn's startup window had a bit of code that was listening for a preference change and when that window was closed it wasn't unregistering the listener code from the framework.

Here's the kicker - this particular preference (which was a setting for all white windows (which never shipped for good reasons)) was never called or used in any way. Just this little bit of code saying "hey let me know if this pref changes so I can update my appearance". And then when it was released, it never cleaned up. So the fix was to delete the code which listened for the no-longer-existing pref.

Programming is really dumb sometimes.

So Acorn 7.1 is out, you should go grab it. It's got a really good bug fix in it.

Oh, and support for Mozilla's MozJPEG encoder in the Export window is new. That's been a popular request.

Allen Pike on the Persistent Gravity of Cross Platform

Allen Pike: The Persistent Gravity of Cross Platform

In practice, the tradeoff is about more than “cheap vs. good”. Unintuitively, sometimes native tech can actually be the cheapest way to achieve a certain goal, and sometimes cross-platform technologies actually lead to better products, even for very well-funded companies. So what is a useful way to think about the tradeoff?

Over the last decade I’ve talked to people at hundreds of companies about how they’re developing and supporting apps, helping them evaluate and plan native and cross-platform app work. While there are a lot of factors that go into this technology decision, there’s one that I think is particularly illuminating.

More and more apps written with web tech (such as Electron) are showing up on the Mac desktop everyday. I understand why, but I don't have to like it.

The Beauty of Bézier Curves

Freya Holmér has a wonderful video about how bézier curves are constructed with some amazing animations throughout. I wish this video had been around a decade or more ago, when I was really getting into bezier curves and implementing them in Acorn. It would have come so much more quickly to me after watching this.