Browse through the showcased feeds, or enter a feed URL below.
A website mostly about Mac stuff, written by Gus Mueller
A feed by Gus Mueller
Permalink - Posted on 2020-11-18 17:36
Starting January 1, 2021, App Store developers can apply to have their commission rates dropped from 30% to 15% if they made less than $1 million in proceeds the previous year.
This is very good news and I'm happy to see a reduction in fees finally happen.
Can we get upgrade pricing next?
Permalink - Posted on 2020-11-18 21:27
In short, Apple has created a fork of TensorFlow (a machine learning package) which is accelerated on Macs (including the new M1 Macs).
One of the problems I've encountered when trying out machine learning ideas is that a lot of sample code and tutorials out there are written with TensorFlow in mind, but CoreML is the standard library on MacOS. And the TensorFlow to CoreML model converters seemed a bit finicky. I'm hoping this new Apple improved branch of TensorFlow will be a lot nicer.
Permalink - Posted on 2020-11-19 22:24
Capo is an app that helps you learn songs by ear, available on both the Mac and iOS. It's one of my favorite apps and I use it on both iOS and the Mac to help figure out tricky guitar solos (Hendrix, SRV, etc.).
The new version has a really neat ML power chord detection algorithm. Chris Liscio, the creator of Capo, has a written a number of interesting articles about how exactly that happens. I've used it a bit, and it's great, but my favorite feature is still the spectrogram combined with the tabbing features. It's pretty amazing.
If you haven't checked out Capo already, you really should. And if you play guitar, you kind of need this app- there's nothing else nearly as good as Capo out there.
Permalink - Posted on 2020-11-20 18:13
In short, to make a boot disk for MacOS:
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
I had no idea Apple was including a shell tool as part of the OS distribution, specifically for making bootable disks. And apparently it's been around for quite some time. I always squirrel away all the OS releases for testing, so this is super helpful for me.
Permalink - Posted on 2020-11-23 18:35
I'm hearing from a number of people that some old versions of Acorn aren't working correctly on Big Sur. This isn't unexpected, as apps that haven't had updates in 5-10 years probably aren't going to work on the latest and greatest versions of MacOS. Every year Apple changes fundamental things in the OS, and it's a ton of work for developers to keep an app looking correct and running with the latest MacOS versions.
At the same time, I've been amazed that people have been using Acorn 3.x for over 8 years. That's … kind of amazing? Acorn has gone through all kinds of changes since then and I think it's in a much better spot these days. But I can't help but be wowed that it was still working great for people for so long. They probably know that version of the app better than I do at this point.
I look back at Acorn 3's single palette and I get a little nostalgic. It seemed such a simpler time (it probably wasn't, but everything is rosy when you look back).
If you have an older OS and want to grab and older version of Acorn, we keep all the previous copies available for download on our legacy page. If you bought it from us, you'll always be able to get it from us.
As of now, the only officially supported version of Acorn for Big Sur is version 6.6.3. But if you're on a previous version of Acorn and it runs great on your OS and you love it, you do you and keep on keeping on.
Permalink - Posted on 2020-11-27 05:40
Buddy on Muddy Waters: "The rumor was he was sick, let's call him and go out there. And he answered. 'I ain't sick motherfucker, just keep the blues alive.'"
Permalink - Posted on 2020-12-27 22:12
The covert cadre of whales, described in a paper published last week in the journal Endangered Species Research, has its own signature anthem: a slow, bellowing ballad that’s distinct from any other whale song ever described. It joins only a dozen or so other blue whale songs that have been documented, each the calling card of a unique population.
“It’s like hearing different songs within a genre — Stevie Ray Vaughan versus B. B. King,” said Salvatore Cerchio, a marine mammal biologist at the African Aquatic Conservation Fund in Massachusetts and the study’s lead author. “It’s all blues, but you know the different styles.”
How could I not link to this?
Permalink - Posted on 2020-12-29 22:42
I'm looking for some folks to help test out the next major version of Acorn. Does that sound interesting? If so, send an email to email@example.com and I'll add you to the list.
What's new? Now optimized for Apple Silicon, single window mode, multi-threaded flood fills and other optimizations, more export options including animated gifs and gray color profiles, a new color picker, and more.
Permalink - Posted on 2020-12-30 23:24
From the study:
The researchers saw little to no response to code in the language regions of the brain. Instead, they found that the coding task mainly activated the so-called multiple demand network. This network, whose activity is spread throughout the frontal and parietal lobes of the brain, is typically recruited for tasks that require holding many pieces of information in mind at once, and is responsible for our ability to perform a wide variety of mental tasks.
I've long thought programming is to a great extent about organizational skill, especially when it comes to larger projects.
Author Clive Thompson:
Just anecdotally — having interviewed hundreds of coders and computer scientists for my book CODERS — I've met amazing programmers and computer scientists with all manner of intellectual makeups. There were math-heads, and there were people who practically counted on their fingers. There were programmers obsessed with — and eloquent in — language, and ones gently baffled by written and spoken communication. Lots of musicians, lots of folks who slid in via a love of art and visual design, then whose brains just seized excitedly on the mouthfeel of algorithms.
Programming is different. If you haven't tried it because you think you suck at math, you should try anyway. You'd be in good company (I suck at math too).
Permalink - Posted on 2021-01-23 18:36
Dr. Brad Cox, Ph.D of Manassas, Virginia, died on January 2, 2021 at his residence. Dr. Cox was a computer scientist known mostly for creating the Objective – C programming language with his business partner, Tom Love, and for his work in software engineering (specifically software reuse) and software componentry.
I had always struggled building apps for the Mac, first in Classic MacOS and then in Mac OS X. I used Java, I used REALbasic, and I even had a professional license for Metrowerk's CodeWarrior so I could write apps in C or C++. But there was always some sort of mental block, or maybe the way my brain worked never really lined up with the way these programming languages did. Out of these I was most efficient with Java, but the UI toolkit was pretty lacking.
Then I saw these cool apps coming out for Mac OS X, and they were proudly written in Objective-C.
I took a couple of runs at it. The brackets and pointers threw me off, but I kept on trying because I knew I needed to learn this language to build the apps I wanted to see in this world.
And then one day, I believe when plugging away on my little internet search utility VoodooNetKey, everything clicked.
Pointers, the brackets, selectors, messages. Oh my god, I get it now — the brackets! It's not a function call, it's something way better!
Everything just sort of aligned in my brain. Previously I found myself struggling to express the ideas I had in my head, and it was a frustrating experience. Now I was struggling to type fast enough and come up with new ideas that I could express in Objective-C. I felt like I could do anything I wanted with it.
And loadable bundles, and input managers- I can't express to you about how much fun it was being able to inject my Objective-C code into Safari or other applications to add functionality at runtime. Or using class-dump against the system frameworks to explore private methods. NSObject's
performSelector: was just so great when you needed to quickly hack around something.
Objective-C was brilliant, powerful, and elegant.
All my applications are written in Objective-C even to this day. I play around in other languages from time to time, but I haven't found one that fits me like Objective-C does.
I realize it's not for everyone, and that Objective-C requires discipline, but it's been amazing for me. I owe my career in part to Brad Cox's creation, and I am forever grateful for it.
Permalink - Posted on 2021-03-19 19:46
Acorn 7, our image editor for humans, is out. It's currently on sale for $19.99 (50% off), directly from us or via the App Store. After the sale, the full price is moving up to $39.99 from $29.99. So unless you feel like giving me more money later on, now is a good time to buy it.
So what's new? Here's a casual overview of some things I find interesting with this release.
Visually, the most striking difference is the new unified windows. Acorn 7 has all the floating palettes placed together in the same window as the canvas (and if you prefer floating windows, we've got a pref for that). Unified windows have been a major feature request for a number of years, and I'm super happy to finally have it done for everyone.
It's nice. The same shortcuts work as before - the tab key will hide the inspectors, and ⌘⇧F will bring up the filters inspector as always. Pressing the
f key will throw the window into full screen, and now the canvas isn't covered up by the floating palettes.
Acorn 7 is optimized for Apple M1 Silicon. The previous version of Acorn ran pretty well in the M1's emulation layer, Rosetta, but now Acorn 7 is natively built for the M1 which bumps up the speed. Beyond that, a bunch of filters were re-written in Apple's Metal GPU shading language, and I also managed to discover some other Metal optimizations which made Acorn's canvas drawing run quite a bit smoother (As an aside, I was very happy about this. While researching this problem I encountered forum questions posted by myself on this very topic from years ago. It always feels weird when that happens).
The Flood Fill, Instant Alpha, and Magic Wand tools all use a brand new multi-threaded seed fill routine I wrote and optimized on the M1 as well. Super geeky side note: as part of the debugging process when I was coding it, I had each thread draw different colors into a mask which was used for the result. On Intel, each color had a mostly equal representation across the mask. But when I was testing it on the DTK, which has two high performance cores and two low performance cores, you saw an imbalance where some colors were overrepresented and others were underrepresented. It was a visual result of the different speeds of the cores, which I thought was pretty cool.
New Perspective Fix & Crop tool. This handy little tool will draw guides on your canvas to help you fix perspective distortions. You simply line up the guides on your image by moving four handy little corners around, and press enter. Your image is then run through a perspective correction filter and cropped to the appropriate area.
I didn't think much of this feature at first, but I'm pleasantly surprised at how well it's being received. Props to for Kirstin pushing for this feature to be included.
Acorn 7 also has a new color picker. I've been wanting to do this for years, because the system color picker has been nothing but problems for me on account of its inability to set and stick with a specific color profile. For instance, if you have an image open in sRGB but you sample a color from the screen using the system picker, Acorn has to jump through hoops to convert it from the screen's color profile (which most certainly is not what the image is) and then into sRGB, and also keep the color picker informed about this profile change. And then I'd get support questions asking why colors were shifting ever so slightly, and I always hated answering those emails because to understand what's going on requires a lot of base knowledge about profiles and such, and well… it was a bother.
I could write pages and pages of other problems I encountered - but I'll spare you the details. Obviously, I had all these issues in mind when making the new picker, so it only ever has a single profile it draws with, and that's whatever color profile is set for the image. It's kind of nice just side-stepping all of those issues now. It was fun, in a strange way, writing the color picker. I don't consider it finished either, as I think there are a ton of other fun things I can eventually do with it.
OK, what else? The Export window is Über! (Acorn doesn't actually call it "Über" anywhere- I just think it's a good description of what it is now). I combined the previous web export window and the regular export save dialog into a single interface. So you get a nice preview, information on how big the file size is, as well as toggling between what you had previously and what it currently looks like. And I've even added animated GIF support when exporting. So you can open up an animated GIF, apply some filters or add some frames, and export it back out.
There's a new Navigation & Zoom Inspector which will probably be familiar to you if you've used other image editors in the past. It's a good way to quickly pan around your image when you're zoomed way in.
New Command Bar, which is sort of like Spotlight, but geared towards Acorn's commands and documentation. To search Acorn's docs, type "h" followed by a space, and then whatever topic you're interested in. Or, if you just want to quickly use the new Perspective Fix & Crop tool, you can type start to type "pers" which will filter up any commands that have those letters. Perspective Fix & Crop will be first, so you can hit enter and then you're in that mode quickly.
One nice thing about the Command Bar is that I can also include other random oddball things in there which don't necessarily deserve a menu item by itself. For instance, there's a toggle in there to switch Acorn into Dark Mode or to Light. There's an entry to quickly switch to pixels for the ruler, or fill the current selection or layer with the stroke color, or capitalize any currently selected text. I get requests all the time for cool little ideas (just today I got someone asking for the ability to pull the alpha channel out into its own layer). I've always shied away from these ideas because I want Acorn to be approachable, and having too many options in the menus can be a big turn off. But if they could be tucked away in the Command Bar, ready at your finger tips if you know it's there? I think that might end up being a very powerful thing if I can solve the discoverability problem (which might just be a matter of making sure everything is documented).
That's just a few of the new things in Acorn 7 I think are fun. As always, the full release notes are of available. There's a bunch of little things in there that are worth knowing about, so check them out. And of course, download a trial of Acorn today.
Permalink - Posted on 2021-04-09 16:36
Collin Donnell's The Run Loop podcast is back! Collin and myself talk a while about Acorn 7 and pixels and pipelines and lots of other stuff too. It was a fun time.
Permalink - Posted on 2021-04-29 19:16
Update (May 25): Security Update 2021-003 Catalina was released by Apple, and has the required fixes in it to enable Acorn to work correctly again.
These releases fix most of the problems introduced by the security update, but Flood Fill, Instant Alpha, and the Magic Wand tools are still broken in Acorn. The App Store version of Acorn has not been updated because there's no way to have a new version distributed once it's been removed from sale (even if it is put back on sale, because I tried that and it's not working). Retrobatch was never in the App Store, so it was super easy to get an update out to everyone.
Acorn and Retrobatch are not the only apps impacted by this problem, and I'm hopeful that Apple will be releasing a patch which fixes this in the near future. It could still be a matter of weeks though, so please sit tight until then. The right people inside Apple are aware of the problem, so I'm sure it will be a temporary (though very very unfortunate) issue.
A few days ago on April 26, 2021, Apple released Security Update 2021-002 Catalina for anyone running MacOS 10.15.7.
This security update unexpectedly breaks OpenCL, which is a framework from Apple used for processing images. Other Apple frameworks such as Core Image use OpenCL in some situations. In those cases Core Image no longer works correctly.
The latest release of Acorn, version 7, no longer uses OpenCL by default for processing images. So if you've upgraded to Acorn 7 you're safe.
The Apple security update has broken Acorn versions 6 and lower. Any files saved in these versions of Acorn will end up empty. The update also breaks adding new layers, painting, just about anything to do with processing pixels in previous versions of Acorn.
Retrobatch is also impacted if you use any nodes that process images through Core Image.
While I'd love for everyone to take this opportunity to update to Acorn 7 as a fix, I realize that's not always the best solution and in some cases, not possible.
I'm currently investigating a fix for this, and I have a beta for anyone who is impacted by this to try out.
Acorn 6.6.5 beta: http://flyingmeat.com/download/latest/Acorn6Preview.zip
Retrobatch 1.4.4 beta: http://flyingmeat.com/download/latest/Retrobatch1Preview.zip
I don’t have any updates for Acorn 4 or 5. Unfortunately, those products are too old to be updated further. My hope is that Apple will revert their breaking change, so that Acorn 4 and 5 can once again work as expected on MacOS 10.15.7. However, if you don’t wish to wait, upgrading to version 7 is the way to go.
Here's the technical version of things as I understand it at this time.
The "Security Update 2021-002 Catalina" has broken Apple's OpenCL framework. Core Image, another framework by Apple and one that Acorn relies on heavily, uses OpenCL to process images when its renderer is set to "software" mode (the other mode is to use the GPU). Core Image tries to use OpenCL and then fails, so all images come out empty.
The quick fix is to tell Core Image not use the software renderer, and then Core Image will move everything to the GPU for processing and use Apple's Metal framework instead of OpenCL — for most cases. I think there is still hardware out there that can't use Metal, so it might fall back to OpenCL in that case.
The Acorn and Retrobatch betas above force Core Image operations to run on the GPU instead of the CPU if it detects you're running on 10.15.7. This will have an impact in various areas such as performance and possibly rendering. I've not done extensive testing so I'm not sure what the fallout from this change will be (though I know it will be there).
It's easy enough for me to pass out a beta and eventually a final release to anyone who purchased Acorn 6 directly from Flying Meat. However Apple's App Store has no mechanism for updating an app that's no longer for sale, and I don't know how to get this fix out to them. (Side note: Acorn 6 is actually marked as available for sale from my end in App Store Connect …but it's nowhere to be seen in the actual App Store. I've never been able to figure out why, and it's been this way since I released version 7.)
It's a big mess.
So why isn't Acorn 7 impacted by the security update? I spent a bunch of time last year getting Acorn 7 to run on the GPU. Targeting Core Image to use OpenCL was deprecated by Apple and it was a good time to stop using it. I was also able to do this because I dropped support for older versions of MacOS where Metal and OpenGL weren't quite accurate enough for Acorn.
Acorn 7 does have the ability to target the software renderer if you mess with the right preferences, but that's not the default setup for Acorn, and I haven't had any reports of people running into the issue (yet).
Nothing in the release notes for the security update mentions OpenCL. I'm baffled and completely in the dark as to what the changes were or why they were done. I've filed a bug report with Apple (FB9091798) and pinged some folks on the inside, but I don't know anything more than that.
Permalink - Posted on 2021-05-21 19:52
50 Years ago today, Marvin Gay's album "What's Going On" was released. It's such an amazing album and if you haven't listened to it recently, why not today? The music and lyrics on this album are timeless in so many ways, both good and bad.
On May 21st, 1971, Tamla-Motown released Marvin Gaye’s 11th LP, his first masterpiece, What’s Going On. Marvin used his platform as an artist to talk about what he was seeing in the world: people struggling to survive — addiction, rampant police brutality, and ecological disaster. Fifty years later, this album is as relevant as ever. On Friday, May 21st, join KEXP in celebrating a half-century of this landmark in music, while recognizing how much farther we still have to go. Because: It’s Still Going On.
There's a wealth of Marvin Gaye music on YouTube as well.
Permalink - Posted on 2021-08-09 22:46
macOS only allows sandboxed apps to access a limited number of files at a time, but there is no way for an app to query how many files it can open, or if it’s close to the limit. In fact, this limit is dependent on the amount of RAM installed in the computer and the number of files open by other apps. Because this limit only affects apps that can batch process thousands of files, and users that want to do so, many users—and developers—remain unaware of it, despite the fact that it has affected some of Apple’s own apps.
This is the primary reason Retrobatch isn't sandboxed (and thus, not on the App Store). I've considered just dealing with the likely support emails (and suggesting folks give it full disk access, or only add folder), but I just can't bring myself to do it. What a pain this bug has been for years.
Every year at WWDC, since about 2015, I would hunt down a particular engineer I knew who was aware of this issue, and the first question I would ask is if this bug was fixed.
See also this really old radar: rdar://13006144: Sandbox and limitation on number of files that can be opened from a user.
Permalink - Posted on 2021-08-17 19:21
This has easily been the longest sale we've ever had on Acorn - since March 17th!
But if you've been holding out on buying it for some reason, now is the time to purchase. The 50% off sale will end Monday, August 23rd, and the price will double from $19.99 up to $39.99 USD.
The bundle discount will still be available though. So if you buy multiple copies (or multiple apps), you can save some cash. Or buy now and save even more.
Permalink - Posted on 2021-08-20 16:43
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.
Permalink - Posted on 2021-09-02 20:16
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.
Permalink - Posted on 2021-09-02 20:50
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.
Permalink - Posted on 2021-09-08 16:22
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.