• Phone Status Glance: View Phone Battery and Network State On Your Watch

    A quick project from my recent vacation: Phone Status Glance is a free and open source iOS app that puts your phone's battery and network status (down to whether you have LTE or Edge) on your watch for quick viewing. Phone Status Glance is available today on the App Store!...
  • Why images never show up in my WatchKit apps first time

    Whenever I'm working with Apple's WatchKit, I'm often frustrated to find that an image I've added to a Watch Interface isn't actually showing up when the app is running. The filename autocompletes in Inteface Builder, and it shows up in the storyboard, but when I launch the app in the...
  • Speaker Alert 2.2.0: Cleaner alert view and easier navigation

    I've put in some extra hours to clean up Speaker Alert a bit, and today pushed the button to launch version 2.2.0! This version tidies up the speech view considerably: removing the status bar, and hiding the play/stop controls when a speech is in progress (just tap the screen to...
  • Bulk Unwatch Webapp for GitHub

    Not long back, I joined a GitHub organization at work and discovered that being added to the organization had automatically added every repository to my watch list. This wouldn't have been so bad, but this particular organization had over 160 repositories! After getting a raft of emails over a couple...
  • Docker for Mac: First Impressions

    Late last month, the good folks at Docker announced a private beta for their new "Docker for Mac" and "Docker for Windows" releases. These tools provide an alternative to the VirtualBox hosted status quo, and aim to create a more seamless environment for running containers closer to the experience available...
  • Auto Layout, and how to royally mess it up (at iOSoho)

    On Monday, I had the pleasure of representing Yext at iOSoho, New York's largest meetup for iOS Engineers. I spoke on Auto Layout, covering the issues that we'd had at Yext during development of Screens and how we worked around them. Looking at in depth examples for: Unsatisfiable constraints Ambiguous...
  • Adding SwiftLint to an Established Project

    In the interests of doing a little pre-Spring cleaning, I recently added SwiftLint (unsurprisingly, a Swift Linter) to my Speaker Alert project. After getting set up, my project was littered with hundreds of warnings, and not a few errors. Seeing 700 warnings on any project is daunting, and enough to...
  • Speaker Alert 2.0.1: Bug fixes and demo mode

    After a quick shakedown at a Toastmasters meeting last night - huge thanks to Humorous Toastmasters - I submitted Speaker Alert 2.0.1 to the App Store this morning. This afternoon, I was pleasantly surprised to discover that the update had been reviewed and approved in record time! Version 2.0.1 adds:...
  • Using rbenv to install Cocoapods post El Capitan

    If you're like me, and only using Ruby to run Cocoapods (and perhaps Jekyll) on your Mac, it's likely you're using the built-in version of Ruby in OSX, and perhaps using sudo to install gems (which is bad, but so much simpler than reconfiguring things). Should that sound familiar, you...
  • The Importance of Keeping Your Speech To Time

    When you're up on stage, timing can be everything. Beginning your speech at just the right moment as the applause dies down. Giving the audience a moment to let an important idea sink in. Letting laughter run just long enough for everyone to enjoy it, but not so long it...

subscribe via RSS