A great loss

Today’s news that Aaron Swartz committed suicide hit me hard. I’ve known him from the days of Radio Userland when we exchanged many emails and chatted about scripts & features. I never had the opportunity to meet him in person, but he was someone I respected.

Aaron was only 14 when he contributed to the RSS standard, which is the basis of blogging. Aaron’s work with Demand Progress helped revolutionize online political activism and was one of the reasons Obama was elected.

Detective Update

I’ve been working on an update to Detective which fixes some drawing problems in Mountain Lion and fixes a problem where it sometimes stops updating when the Mac wakes up from sleep.

Unfortunately it was rejected by Apple because of a sandboxing issue involving Growl. I haven’t been able to successfully set the entitlements for the auxiliary executable required by Growl, so I’m considering eliminating Growl, using Notification Center, and requiring Mountain Lion.

Goodbye Bionic Panda

Bionic Panda Games ran out of money. I’m really sorry to see it happen & I’m going to miss everyone. They were one of the best teams I’ve ever worked with, and I learned a lot from them. Unlike some other companies, rather than laying everyone off right away, the CEO & CTO kept the office open as long as they could and worked really hard to make sure everyone found a new job.

We spent our last weeks at Bionic Panda making a game just for fun, which we had no intention of releasing: “Angry Zombie Poker Farm Pets”.

I’m now at Fuzebox, working on both Mac & iOS products. The environment is very different than Bionic Panda and I’m really excited about their product and looking forward to new challenges.

This is really bad

I’ve avoided writing about politics because I get too mad, but I have to post this. It seems that Romney’s family has bought voting machines in Ohio. This story needs to be widely publicized and I have a bad feeling this election will be stolen.

Tagg Romney, the son of Republican presidential candidate Mitt Romney, has purchased electronic voting machines that will be used in the 2012 elections in Ohio, Texas, Oklahoma, Washington and Colorado.

“Late last month, Gerry Bello and Bob Fitrakis at FreePress.org broke the story of the Mitt Romney/Bain Capital investment team involved in H.I.G. Capital which, in July of 2011, completed a “strategic investment” to take over a fair share of the Austin-based e-voting machine company Hart Intercivic,” according to independent journalist Brad Friedman.

According to Truth Out:

Through a closely held equity fund called Solamere, Mitt Romney and his wife, son and brother are major investors in an investment firm called H.I.G. Capital. H.I.G. in turn holds a majority share and three out of five board members in Hart Intercivic, a company that owns the notoriously faulty electronic voting machines that will count the ballots in swing state Ohio November 7. Hart machines will also be used elsewhere in the United States.

In other words, a candidate for the presidency of the United States, and his brother, wife and son, have a straight-line financial interest in the voting machines that could decide this fall’s election. These machines cannot be monitored by the public. But they will help decide who “owns” the White House.”

Both The Nation and New York Times confirm the connection between the Romney family, Solamere and the Bain Capital investment in the voting machine company, Hart Intercivic, whose board of directors serve H.I.G. Capital.

“Mitt Romney, his wife Ann Romney, and their son Tagg Romney are also invested in H.I.G. Capital, as is Mitt’s brother G. Scott Romney.

This could be a disaster for the election.

Picslide is now open source

I’ve decided to open source PicSlide, which was one of my first iOS games. It isn’t selling enough to make it worthwhile updating for the iPhone 5. When I looked at the code I didn’t find it too embarrassing and it didn’t make me want to vomit, despite being written in 2009, so I decided to share it. Some pieces like scaling & slicing images and doing Quartz drawing may be helpful as sample code.

The source code is now available on Github at https://github.com/mike3k/picslide

World Wide Photo Walk 2012 – Golden Gate Park

Photo Walk GroupDSC_9265Cute dog outside the botanical garden#gotframedPhoto Walk CookiePhoto Walk Cookie
DSC_9307DSC_9309Our LeaderFountainDSC_9348This bird mooned me

The Scoop

For the last 4 years I’ve been using a Keurig B70 K-Cup coffee maker. I always had mixed feelings about it. I loved the speed & convenience. It was wonderful to be able to drop in a K-Cup and push a button for my first cup of coffee in the morning without a lot of fuss. On the other hand, I didn’t like the expense & waste of K-Cups, and it the “my K-Cup” with ground coffee made really weak coffee.

Recently the Keurig started to become more temperamental, often taking as long as an hour to heat up, until it finally died completely. Rather than getting another Keurig or a different pod-based machine to replace it, I got The Scoop from Hamilton Beach.

The Scoop is a single cup coffee maker that uses regular ground coffee rather than pods. It has only two buttons, “regular” & “bold” and will brew various cup sizes up to a travel mug in about 2 minutes. I find it to be about as fast & convenient as the Keurig and the coffee quality can be excellent, depending on the beans & grind.

The Scoop

Nexus 7

I’ve had a Nexus 7 for two weeks and there are lots of things I love about it and some things I really dislike.


  • I love the size. After using it, I really want a 7″ iPad.
  • I really like the universal back button at the bottom of the screen.
  • The soft home button moves to the correct position when you use it in landscape mode.
  • Rearranging icons is less annoying than in iOS.
  • Widgets can be placed on the home screen.

Not so good:

  • UI is ugly. No rounded corners, shadows, or gradients. Everything looks flat & square.
  • Endless march of notification icons across the top of the screen.
  • Many of my favorite apps aren’t available for Android. The only Twitter app I use is Echofon because it’s the only one that syncs my mute settings as well as unread tweets. It isn’t available on Android, which seriously limits my ability to use Twitter on the Nexus 7.

For a long time I dismissed the rumors of a 7″ iPad, but after using the Nexus 7 it makes perfect sense. A 7″ tablet is a lot more comfortable to use than a 10″ tablet, yet the amount of screen real estate is just as usable.

Sugar Rush 1.4 Update

I’ve submitted a minor update to Sugar Rush which changes the FaceBook SDK to use the latest API so sharing will continue to work. It also adds support for built-in Twitter accounts in iOS 5 or later and updates the Kiip SDK to the latest version.

Sugar Rush Free gets a much bigger update. In addition to those SDK changes, I’ve renamed it to Sugar Rush Lite and added in-app purchase to get rid of the ads & height limit. You can also buy Donuts, which will make it functionally equivalent to Sugar Rush Pro. Both Sugar Rush Lite & Sugar Rush Pro now share the same Game Center leader board & achievements.

Sandboxing revisited

When I submitted an update to Detective, I discovered a few tricky things related to sandboxing and embedded helper apps.

In order to support ‘start at login’ in a sandboxed app, you need to embed a helper app that launches the main app (the entire process is described here). What I didn’t realize is that the helper app also has to be signed, or it will fail to let you start it at login. However, when you sign the helper app, it will include its own embedded provisioning profile, so when you try to submit your app, it will be rejected with the following message:

Invalid Provisioning Profile Location – The provisioning profile for your Mac OS X app must be located in the Contents directory of the main app bundle. A provisioning profile is optional, but you cannot submit more than one.

One of the suggestions in Apple’s developer forum is to remove the embedded profile from the helper app. Note that deleting the embedded profile doesn’t affect the actual code signing. After some experimentation, I found that the easiest way to do it is to add a Run Script build phase to the main application that deletes the profile from the helper app:

rm ${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Library/LoginItems/DetectiveLoginHelper.app/Contents/embedded.provisionprofile

After doing this, I was able to submit the app successfully.