• A Better MVC, Part 5: An Evolution

    About five months ago, I wrote about improving MVC and fixing the “massive view controller” problem.

  • Presentation Nerves

    I was talking with a fellow attendee at a recent conference who was surprised to learn about the nerves I get prior to presenting. They thought it must be completely natural for me to get up and present. When I mentioned that wasn’t the case, they encouraged me to write a post about it. I thought that was a great idea, so here we are!

  • Yet Another New Blogging Engine

    A few days ago I got an email from the folks at DreamHost (my hosting provider) saying their security scans had detected some malicious code that had found its way in to my server.

  • If iPads were meant for kids

    I bought my kids (6 & 8) their own iPads last fall. I’m nice, and I’m fortunate to be able to afford it. However, I’ve come to realize that despite my attempts to spoil my kids, these iPads (and all iOS devices in general) are not meant for kids.

  • Apple Networking Feedback

    Recently Quinn, an engineer on the Developer Technical Support team at Apple, posted a request for feedback on Apple’s networking APIs. Here are his questions and my answers:

  • Sometimes I hate being a programmer

    There are two things that make me hate being a programmer.

  • Swift Protocols Wishlist

    If I were Supreme Swift Potentate, there are a few things I’d change about how Swift deals with protocols, and how this gets manifest in the standard library.

  • The 2018c Timezone Database Update

    I subscribe to a couple of mildly interesting and low-volume email lists. One such list is the tz-announce list hosted by ICANN. It’s the list for people who care way too much about timezones.

  • Simplifying Swift framework development

    I’ve developed a handy trick when writing frameworks in Swift that makes the overall process a little bit nicer, and it’s just adding a single file to your framework.

  • Reading your own entitlements

    When you’re writing an iOS or macOS app, you typically don’t need to dynamically know what your own entitlements are. However, there are a couple of rare circumstances when it could be Nice To Have.