I'll be there soon - a future self in Swift

Working with Cocoa APIs in Swift is a mostly pleasant experience, even more so with the upcoming Objective-C changes to express nullability.

There's one case that really irks me though:

import CoreBluetooth

class MyBluetoothClass: CBCentralManagerDelegate...
Posted on February 12, 2015 (Permalink)

Building a NeXTstation display cable

A friend recently gave me a NeXTstation (c. 1991) that he didn't want to take with him on his move across the country. In the decade since the computer was last used, he misplaced the DB-19 display cable. These cables are very hard to come by two decades...

Posted on August 04, 2014 (Permalink)

Implementing Binary Protocols in Swift (Part 1)

Many people in our community have played great titles such as Diablo II and WarCraft III. During the mid-2000s, there was a small community of young developers building third-party chat clients for the Battle.net gaming and matchmaking service. The most famous of these clients, StealthBot, was developed right here in Madison, WI.

Posted on June 27, 2014 (Permalink)

I can see my language from here!

When Apple announced Swift one of the first things I heard was "hey, they copied feature from language!" Wikipedia lists Objective-C, Rust, Haskell, Ruby, Python, C#, and CLU as the language's influencers, so it's not surprising that everyone sees something from their favorite language.

Let's take a look at various code samples in different languages and see how they compare to Swift.

Posted on June 19, 2014 (Permalink)

Middleman Blog Engine

When I decided to start this project I knew I needed a way to easily write articles and view them locally. Since static websites are the latest craze, and can be hosted almost anywhere, I did a bit of searching and found the blog extension for Middleman. I also found a guide on running Middleman on Heroku. I decided that since I'm already managing my blog with Git, I might as well post the whole thing on Github so you can see my configuration.

Posted on June 12, 2014 (Permalink)

A New Project

I'm starting a new project.

If you've used the internet, you may have heard of John and Hank Green, the VlogBrothers. If you haven't heard of them by that name, you've probably at least seen one of their videos on YouTube. They started a project on the first day of 2007, called Brotherhood 2.0.

Posted on June 10, 2014 (Permalink)

Is that a guitar rig in your pocket?

Hello again, everyone!

I was recently introduced to Audiobus, a system for inter-app audio on iOS. You can configure various inputs, outputs, and filters in between, much like a musician has their guitar and amplifier with effects boxes. The app costs $5. I wanted to see if I could use it to replace my guitar setup, which is a few cheap ($30-$40) effects pedals and a Marshall practice amp I bought for $10 and fixed.

Posted on December 09, 2013 (Permalink)

A class taught by students

If you’re reading this blog, you probably know that I’m a graduate of Madison Area Technical College’s iOS development program. I’ve completed the final course in the series as both a student and an auditor, and I am taking the class again, this time again as a student. This means that I will be completing the assignments and in-class activities, and will receive a grade that will go on my college transcript (though as a working professional, that’s probably not of much consequence anymore).

Posted on September 20, 2013 (Permalink)

Software pricing

A new version of Riposte was released recently which included “Riposte Pro”, a $5 in-app purchase to unlock a brand new set of features. Whining ensued.

Posted on May 01, 2013 (Permalink)

Making the iOS Simulator case sensitive

In Dave Koziol’s iOS Debugging session at CocoaConf, he pointed out that the iOS Simulator does not have a case sensitive file system. As the actual device does have a case sensitive file system, this allows bugs to enter your application unnoticed.

Posted on March 08, 2013 (Permalink)