Is Apple's Software Quality Slipping?

If you're working in the Apple ecosystem, you've probably noticed some sturm und drang about Apple's software quality. Many people are pointing out that it seems to be slipping. I don't want to debate if that, itself, is the case. What I haven't seen in this conversation, though, is a difference between problems in newer, high-level software/systems ("Handoff"), and long-term, foundation software/systems ("WiFi").
For example, the Handoff feature is essentially at version 1.0. It mostly works, but certainly isn't up to Apple's famous, "it just works," standard. To be clear, this is fine by me. It's version 1, they'll get it right next time. On the other hand, how on Earth do you screw up WiFi? In 2014-2015, this is how you connect. The vast, overwhelming majority of your customers use Wifi. It's a well known system at this point. How did Yosemite ship with a drastic bug in WiFi? (Go search for Yosemite WiFi - this is not an isolated incident.) The list goes on: DNS, for example. In many of the past major releases, DNS behaves in ways completely different from previous OS releases. Of course, Apple releases no public documentation about this, so, we're left to discover and document this on our own. In Yosemite? Regressions, missing options supported previously, and so on. Go on, change iTunes' UI, let AirDrop be a mess, even give us a questionable new UI for the entire OS. But for all that is sacred, DO NOT SCREW UP DNS! If you're going to change it (for the better) ensure that this change is truly forward compatible. (Update: this was, 'as shipped'. 10.10.1 mostly knocked things back into shape as far as DNS, but there are still previously-supported options missing. So, no longer, 'broken,' but still not where it should be. At each release, I've had Apple Engineers proudly proclaim that their subsystem was, "rewritten from scratch." 15 years ago, Joel Splosky wrote about why this is a bad idea: Times haven't changed.)
Is Apple's software quality slipping? I tend to agree with some of the apologists here: there have always been problems. The part that worries me, though is that a different class of software is slipping or just not getting better. Before I even get to the trivial issues (Handoff, iTunes, Finder rows not alternating properly, etc.), I'm confronted with decades-old subsystems that should be on auto-pilot by now not working as expected. That's terrifying to me.

Music Rig at MacTech Conf 2014

To open up MacTech Conference in 2014, instead of the usual pre-progrmmed audio/video, I decided on a little bit more of a performance. This included some live coding of music, some live performance by playing music, live sampling and pre-recorded segments. I promised a lot of people to detail my setup, so, this post aims to do just that.

I opened it up with some really basic live coding of music using Sonic Pi: Originally created for the Rasberry Pi, there's a Mac version now, and naturally, that's what I used. The great thing about running it on a Mac, is that you have a host of other tools at your audio disposal. While Sonic Pi has some basic effects available, it's much nicer to be able to enable/disable and adjust effects on the fly using, "traditional," knobs and sliders.

Like many single-use things-that-make-sound on the Mac, sound is sent directly to the default output as specific in the Sound Preference Pane. Soundflower ( is a system extension that creates a virtual sound interface that then allows you to route audio around internally. Using Soundflower, I set the system default output to Soundflower's input. If you're thinking about this, you'll realize that this means all sound will go into Soundflower's in, but never get output anywhere. Here's the real secret sauce: Logic Pro.

I'm not saying Logic Pro is the only tool here, but it's the one I use. I've been using Logic since version 3, before Apple bought eMagic and took over the software, so, it's pretty ingrained in my brain, muscle memory, and workflow. (Logic: With Logic, I can set a channel to mix a Soundflower channel in, and output Logic's master out to *any output on the system*, overriding the System default. Of course, on that channel, you can apply effects and manipulate them in real time.

So, in this initial example, the flow looks like this:

Sonic Pi -> Soundflower -> Logic -> System Output.

Of course, you can have several tabs in Sonic Pi starting up sounds and rythyms independently (or even synced to a Sonic Pi internal metronome). I did some it-stays-in-sync-because-it-does syncing between Sonic Pi and Logic for some of the later pieces. On my MacBook Pro, I found that Sonic Pi's tempo command is exactly half of the BPM used in Logic. (So, set the tempo in Sonic Pi to 65, and in Logic to 130.) This is great for effects-only load outs in Logic, where you just want effects to be in time, or even where you're actually keeping music in sync. I was able to start up a drum beat in Sonic Pi, and then, with a lot of practice, start up Logic's sequencer and just let that go, and the two stayed in time.

For a little fun, when I let the procedurally generated music go without my input, I'd fire up visualizers that could react to the audio and get that up on the large screens.

Sonic Pi is fun to use on its own, but it does take a little work to get up to speed to anything really interesting. Soundflower is a useful utility in ways outside of audio, but I am also surprised how many electronic musicians don't know about it. Finally, there's Logic. Logic may not be the tool for everyone, so, I'd love to hear about alternatives that may be less expensive or less confusing.

If you're looking to experiment with any of this, have fun! I'm happy to answer questions where I can.

Speaking Professionally

I've been speaking at conferences since about 2004 or so. I'm always looking to improve my craft of presenting the material I'm looking to deliver. I certainly think I've improved, but know that I can always get better. Now, I have seen a lot of good advice to speakers, particularly Peter Hosey's, "Presentation Tips," [] and others. However, most of what I've seen talk mostly about your slides. I also happen to run a conference [], so, I have some views from that perspective as well.

PSU Presentation: Computing By The Numbers

I'm giving a talk at Penn State's MacAdmins Conference. Attached are the talk notes, so people don't have to scribble furiously during the talk:


Anti-Virus Options for OS X

I'll give you the executive summary ("TL;DR") version right up front: the world of anti-malware products for OS X is pretty awful.

Most products are re-cycled from their Windows counterparts and don't feel like something made for OS X. Many products destabilize the OS or have a heavy impact on CPU. Worst, many have vulnerabilities themselves, making you feel secure for having installed them, but in reality making you less secure.

Then, there's just plain foolishness. While evaluating the state of current A/V for OS X, I tried to get a trial of Symantec Endpoint Protection for Mac. After spending time on the website, and figuring I was just missing how to download it, I chatted with a sales rep. No, he assured me, I wasn't just missing it: there is no trial for the Mac. "Can't be," I thought.

The good news: there is a Mac client.

The bad news: you need to download the Windows version of the product, which weighs in at 1GB. It's a Windows .exe executable file. Or is it?

The Windows app is really a 7zip executable, so you can unpack it with The Unarchiver on your mac. This reveals a "Symantec_Endpoint_Protection_12.1.2_Part1_Trialware_EN" folder. Inside that archive at the path SEPM/Packages/, you'll find SEP_Mac.dat. Rename it to and again use The Unarchiver to unpack this and you'll get a new folder with the installer.

Why the obscurity?

Possibly the worst part of the whole experience? Symantec recommends that you use their Java-based download manager to download the file. Yeah, Symantec is truly concerned about security.

MacSysAdmin 2012-Logs, Damn Logs and Statistics

I'll be speaking at this year's MacSysAdmin Conference. So that people can listen without feeling the need to quickly copy everything down, I've prepared this handout that contains everything I reference.

Download it here:


PSU MacAdmin Handout

I'm giving a presentation at this year's Penn State MacAdmin Conference. So people can pay attention and don't have to scribble notes, here's a complementary document that contains notes and links to everything I talk about in the presentation.

More (Race) Data Nerdery

So, another race (Habitat for Humanity 5k charity, 2011), another batch of data. Unlike the last batch of data, I had less pre-conceived notions about the makeup, as I was paying more attention to our 9-year-old who ran her first 5k with us. Like the last set of data, the bulk of people came from towns in close proximity:

Ronkonkoma        Bohemia
   35                31 
Oakdale           Sayville 
   18                12 
Holbrook          Patchogue 
   11                11 
Manorville       West Babylon 

Challenge Your Assumptions

I've been on a small data analysis kick lately. It was great news when a recent race I ran freely shared the race data in a nice plain-text format ( I converted this into a CSV file and read it into R. Now, just looking at the crowd, I would have guessed that there were a 'few hundred' people, the bulk of which were men. In fact, there were 969 runners overall with nearly an even split between men and women (480 female and 489 male - that's a pretty insignificant margin).

MacTech Conf 2011 Intro Playlist

Once again, I had a lot of people asking me about the music I chose for MacTech Conference. The idea for the Intro Playlist is that it entertain people while waiting for the initial opening of the conference. It's timed so that as the final song plays, Neil, Scotty and I can get up on-stage with no worries of changing, muting or stopping the music. Here's what I played this year:

Syndicate content