The Shape of Everything
A website mostly about Mac stuff, written by Gus Mueller
» Acorn
» Twitter
» Pizza Lab
» Code
» Archive
April 6, 2016

Sound Off, a non-profit founded to help marginalized people in tech, are raising money to provide live captioning for UIKonf.

If you have some money to spare (and if you're in tech, you do), then why not give a little to help out?

March 29, 2016

From a 2010 article on the 40th anniversary Jimi's death:

"“We started from the premise that music was a mission, not a competition,” says Mayer, who describes himself as a “sonic consultant” to Hendrix. “That the basis was the blues, but that the framework of the blues was too tight. We’d talk first about what he wanted the emotion of the song to be. What’s the vision? He would talk in colours and my job was to give him the electronic palette which would engineer those colours so he could paint the canvas.

"“Let me try to explain why it sounds like it does: when you listen to Hendrix, you are listening to music in its pure form,” he adds. “The electronics we used were ‘feed forward’, which means that the input from the player projects forward – the equivalent of electronic shadow dancing – so that what happens derives from the original sound and modifies what is being played. But nothing can be predictive – it is speed-forward analogue, a non-repetitive wave form, and that is the definition of pure music and therefore the diametric opposite of digital.

"“Look, if you throw a pebble into a lake, you have no way of predicting the ripples – it depends on how you throw the stone, or the wind. Digital makes the false presumption that you can predict those ripples, but Jimi and I were always looking for the warning signs. The brain knows when it hears repetition that this is no longer music and what you hear when you listen to Hendrix is pure music. It took discussion and experiment, and some frustrations, but then that moment would come, we’d put the headphones down and say, ‘Got it. That’s the one.’"

March 29, 2016

Christian Maioli: How to reduce the cognitive load of your code:

Christian provides a good list, and the personal quirks hits a little close to home for me.

"Don’t code 'your way'. Just follow the coding standards. This stuff is already figured out. Make your code predictable and easy to read by coding the way people expect."

I used to do silly little things in my code which I thought were neat (such as using 0x00 instead of nil), but I eventually came around and realized they were pointless and probably confused people. I still come across it in my code every once in a while, and mentally chastise myself before fixing it.

January 18, 2016

For What It’s Worth: A Review of the Wu-Tang Clan’s “Once Upon a Time in Shaolin” by Dan Cohen:

"This is what we know: On November 24, 2015, the Wu-Tang Clan sold its latest album, Once Upon a Time in Shaolin, through an online auction house. As one of the most innovative rap groups, the Wu-Tang Clan had used concepts for their recordings before, but the latest album would be their highest concept: it would exist as only one copy—as an LP, that physical, authentic format for music—encased in an artisanally crafted box. This album would have only one owner, and thus, perhaps, only one listener. By legal agreement, the owner would not be allowed to distribute it commercially until 88 years from now."

Wu-Tang Clan is a national treasure.

January 15, 2016

I've just uploaded a new beta build of Acorn (v5.3b) which includes a feature that has been requested many times over the years: laying out text in a circle.

New and Shiny

With this new feature, I can finally reproduce Flying Meat's logo in Acorn. It always irked me whenever someone would write in asking how to do this, as there is text in a circle in our logo, so it must be possible. But FM's logo was made over a decade ago in Illustrator, years before work on Acorn was started.

Most text features you'd expect work with it. Right, left, and center alignment, and you can rotate the text beyond that as well. Kerning works as expected and Acorn even supports ligatures and gets the selections right with it.

As a first go at this feature, it's pretty good. There are still things to clean up and add to it, but overall I'm fairly happy with it.

And before everyone asks, yes, this is a prelude to text on a curve. That feature won't be making it into Acorn 5.3, but this is a nice step towards it some day. No promises of course.

Want to play with it? Head on over to the latest builds page and grab a copy of the beta.

January 5, 2016

In their own words, Sound Off works to increase access to professional settings for marginalized peoples in tech.

And to start things off they are raising money for ASL interpreters for the AlterConf conferences:

"We're tremendously excited to lead off our first fundraising campaign raising money to provide American Sign Language (ASL) interpreters and live captioning for the 2016 series of AlterConf conferences. Sign language and live captioning benefit not only hearing impaired but attendees for whom English may not be their primary language."

Sound Off has some very worthy, and very realistic goals. And as Brent Simmons says, people of the future will look back and judge us for how well or poorly we expanded our tribe.

We need to expand, and we need to be inclusive. Good thoughts are great, but helping out with a little bit of money is even better.

December 3, 2015

Christopher Phin: Is the Apple Pencil a true design tool?:

"Let me be completely clear: this is the best digital drawing tool there has ever been. Better than a Wacom Intuos, better than a Wacom Cintiq, and better, by a margin so wide it's downright comical, than any other stylus for iOS or Android.

"Actually, let me be even clearer: pair this stylus with the iPad Pro – the only device it currently works with – and at a hardware level, it's capable of a fluidity and unthinking naturalness that genuinely comes as a shock. You have never used anything so quick, so lovely, so wonderfully analogue."

Tell us how you really feel.

November 25, 2015

Hello fine people of the Internet. Good day to you.

I'm currently putting the finishing touches on the next version of Acorn, v5.2, and I'd like to invite you to try it out. You can download Acorn 5.2b1 from the latest builds page.

There's two notable changes that I'd like to call out. The first is the color well in the tools palette. It has a simple new look, which I think clears up quite a bit of confusion that people have had in the past when trying to figure out which color was used for stroke, and which was for the fill.

I think it's pretty obvious now which color is going to be used for fill, and which color is stroke. In addition, the fill and stroke checkboxes in the inspector now have little color wells you can click on to quickly change the color of your selected shapes.

The second new feature, and my personal favorite and one that I've been wanting for years, is deep color support for the 2015 iMac 5k as well as to the Late 2013 Mac Pros.

I'll get to the technical bits in a minute, but the short version is this: no more banding, more colors, and a wider range of accuracy and values for your filters to play with.

Since it's creation, OS X has been sending 24 bits of color (aka "True Color", or 16.7 million colors) to our displays. Even if you bought a fancy display which was capable of showing more colors, you would only see 24 bits because the graphics plumbing just wasn't in place to push more color.

However, with OS X 10.11.1, that changed. And we even have some hardware to show it off.

The displays in the iMac 5k (the most recent, as well as the previous generation) are capable of receiving 30bit "deep color" when running on 10.11.1 and later. The late 2013 Mac Pros are also candidates for this if they have a decent monitor hooked up.

So how many colors can Acorn 5.2 push to the display now?

Over one Billion

1,073,741,824 to be exact.

That's kind of amazing.

What does that mean in practice? Color banding is a thing of the past. Dithering when using the gradient tool in Acorn is no longer happening. You also have a wider range of values to manipulate when adjusting exposure or temperature or other color controls. You can actually see all the colors when taking photos with your 14 bit RAW cameras now.

It's great, and it's the future, and I love it.

So what do you need for this? Obviously, you'll need the Acorn 5.2 preview, and a 5k iMac or a Mac Pro with a 30 bit display.

If you just want to view images with deep color, you can do so with Acorn 5.2 and OS X 10.11.1.

If you want to use Acorn 5.2 to adjust or make new deep color images, you'll need to be running the latest OS X 10.11.2 public beta. It contains some fixes that are needed for Acorn to work correctly when handling deep color images.

And finally, if you're creating new images with deep color support, you're going to want to create your images with 16 bpc (bits per component or channel)*. This does mean that your file sizes will be bigger (more color data equals bigger files), but in my opinion it's worth the tradeoff.

And as always, if you run into any issues, questions, or ideas, let us know by emailing

* Technically a 16 bpc image is capable of having 281,474,976,710,656 different colors, but we don't have display technology available to show them all. Images like this are still pretty useful for certain scientific applications though.

** It's really hard to show off screenshots of what deep color looks like in practice since web browsers are only showing 8bpc images. So here's a crappy photo of Acorn 5.2 (on the left) and Photoshop (right) displaying a 16bpc image. This is of course is a 8bpc image, but it shows the compressed range of PS vs Acorn anyway.

*** You can download that test Acorn image from here: purple_green_gradient_16bpc.png, or use the native Acorn version with the live gradient filter from here: purple_green_gradient_16bpc.acorn. Try switching the latter image between 16 and 8 bpc to see the banding come and go.

November 20, 2015

I've been using Wacom tablets for about 20 years now. And in all that time, their desktop tablets have been the standard and the most recommended tablets by just about everyone. I love Wacom products. I've had a Cintiq, multiple Intuos tablets, various incarnations of their Bamboo products, a Graphire, and whatever the heck it was they were selling 20 years ago. They have all been great.

I love tablets. I love drawing with a good stylus that works together with the tablet and when built together correctly they become something that feels empowering and wonderful. Endless pages in a sketchbook. All the colors I could ask for. Pencils, brushes, and watercolor all working together in harmony.

Every single stylus that has been made for the iPad or iPhone has been a pile of dog shit when compared to what you can do with a Wacom tablet. Even compared to what you could do 20 years ago with a Wacom tablet. The KoalaPad on an Apple //e was probably better.

It's been hard, and upsetting. And so much money wasted on crappy iOS styluses. I stopped paying attention whenever a new stylus was announced, since I was inevitably let down.

And then this week I got the Apple Pencil (which is Apple speak for a stylus) and an iPad Pro. This new tablet from Apple has the hardware support needed to make a useful stylus. Hardware support that has been missing for five long, very long, agonizing years.

And It's God Damn Amazing.

It feels absolutely right. Super low latency, palm rejection, and … it just works.

Is it the same as drawing in my sketchbook? No. Of course not. I'm rubbing a plastic tip across a glass screen.

It's still God Damn Amazing though.

Is it better? With the right software, possibly, for my use. I've tried a handful of drawing apps and right now my favorite is Procreate, with Adobe Sketch coming in second. If you don't want to pay a few bucks on those apps (shame on you!), the built in Notes app has some pretty decent sketching tools as well.

I find that when using the HB Pencil in Procreate, I get something that is very, very close to what I feel when I'm drawing in my sketchbooks. But of course now I've got layers and many colors and a perfect eraser to work with. And endless pages. I love it. I'm drawn to it. It's wonderful. You should absolutely try one if you haven't already.

Text on a page doesn't do it justice. Videos don't do it justice. Try it out, that's the only way to truly judge it.

I do have minor complaints, such as the price ($99 USD). I wish it was half that, just so it's easier for everyone to purchase. But after using one for a few days, you could double the price and I'd still buy it. It's that good.

People keep on asking me when I'm going to port Acorn to iOS. I have no plans to at this time, for various reasons. I've certainly thought of making a new type of drawing app for iOS, but honestly- I like being able to just use the hardware.

Every single time I fire up Acorn and start using my Intuos with it, I find something I want to change about the brush engine. I find oddball little behaviors I think I can improve, or go off investigating why a particular brush stamp might be off by a pixel or two. So I never actually get to draw anything.

I don't currently have that problem with the iPad. If I'm sketching in Procreate and I come across something that I'd do differently… well, it doesn't matter. I don't have the source code so I can't change anything. I can just sketch and create, and not fret about little things. It's liberating.

October 16, 2015

Acorn 5.1.1 is mostly about bug fixes (out now for direct, waiting for review for Apple's App Store), but I did manage to add a couple of new Automator actions to it- Scale and Export to Folder.

Dev talk: an Automator extension is a little Cocoa bundle that gets run in another process, so you need to find some way to communicate from that bundle to your application. For Acorn, I use Distributed Objects. And for years it worked great, until the App Store Sandbox was introduced. (Boo, hiss!)

Since the Sandboxed version of Acorn didn't have permission to open files or save files that it hadn't previously encountered, batch processing things in Automator became pretty impossible. Apple had "solved" this for most developers who script their apps using AppleScript. When you pass an AppleScript file reference to your app, some magic happens in the background and holes are punched in the Sandbox, which allows the app to open and save to locations that it otherwise wouldn't be allowed to.

But adding AppleScript support is a pain in the ass, so I mostly avoided it and encouraged folks to use the direct version of Acorn if they wanted to do batch processing of things.

But recently when working on the new export action, I wondered if AppleScript was sending around NSURL Bookmark data for the file references, and maybe that was how it was able to get through the sandbox restrictions. So I tried that out, but with no luck. You can't make a bookmark to a file that doesn't exist- which is what I'd need for exporting images. Magic Apple Events were still needed if I wanted write to new files from the sandbox.

But then I came up with a stupid idea. What if I made a new Apple Event, similar to the open document event, which instead of trying to open a file that doesn't exist… just did nothing? We'll call it "sandopen" and all it does it receives a file reference to a (non-existent) file that I'm about to tell Acorn to write to. In essence, it's saying "Here's a file reference that I want you to use your magic sandbox hole punching abilities on for me. Just ignore the fact that I'm not doing anything to it in this event, but rather the next one".

So the automator action sends that event to Acorn first and then tells it over Distributed Objects to save to the location.

And it worked!

So there's a handy little developer tip for you. I still hate the Mac sandbox.