• Three (ish) ways to implement timeouts in Go

    Timeouts are a common concurrency pattern. You want to wait for a long-running task, but you don't want to wait forever. There are a few ways to implement a timeout in Go, some easier to manage than others. I'm going to outline three of them (although the first one I'd...
  • Why Developers Should Journal

    Most developers I know hate writing. Spec writing and documentation are dreaded tasks to be avoided in favor of getting a little more coding done. I'm no exception to this, my Trello board full of blog ideas that I never quite managed to get beyond a few notes. To try...
  • Atom Packages That Wowed Me

    After about a year of using Vim for a sizable chunk of my text editing, last week I got a bit frustrated with a weird autocomplete bug and started playing around with Atom. I've been mightily impressed. Atom is surprisingly zippy for a JavaScript-based application, has a nice intuitive split/tab...
  • Speaker Alert 2.4.0: Revamped Settings View, Countdown Mode and Contest Support

    Version 2.4.0 of Speaker Alert is now available in the app store. This version overhauls the settings screens and provides a number of new options to give you exactly the view you need during your speech. New Options Need to see the time while practicing a speech? You can now...
  • The 'feel' of a language

    I've been thinking a lot about programming language choices lately, and realized that a lot of my preferences relate to how a language "feels" to me. This may be down to the properties of the language, the look of its syntax or something as meaningless as the style of a...
  • Speaker Alert 2.3.0: Now with Audio Alerts

    The latest release of Speaker Alert, 2.3.0 is now available in the App Store. This update adds optional audio alerts to aid in practice or situations where the screen might not be visible. You can enable audio alerts from the Settings tab. Choose from 10 different sounds provided by notificationsounds.com....
  • 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...

subscribe via RSS