Ben Scheirman
Strongly typed. Loosely opinionated.
Hi, I'm Ben. I'm an experienced software engineer focusing primarily in Swift and iOS. Lately I've also been using more and more Rust and also dabbling in Zig and Odin for fun.
I run NSScreencast, a tutorial video series teaching developers about Swift and iOS. I've been doing this since 2012.
By day I'm a principal software engineer at Nike. All thoughts and opinions expressed here are my own.
Latest Post
Older Posts
mise: My Go-To Tool Manager and Task Runner
For years my machine has had a graveyard of version managers: rbenv for Ruby, nvm for Node, pyenv for Python, etc. Each one had its own shell hook, its own config format, and its own way of getting confused when I would cd into a project.
Organizing Routes in a Real Vapor App
When you follow a Vapor tutorial, you’ll often end up with something like this in routes.swift:
Unfuddling the SwiftUI Alignment Guide API
In general I think Apple’s APIs are pretty good. However there are the occasional exceptions where my brain, for whatever reason, can’t seem to get a hold on the essence of the API design and results in me constantly looking up the docs. In UIKit, the UIAnimatedTransitioning and UIPresentationController APIs come to mind.
Side Mirror 2.5
Today I released a big new update for Side Mirror, my macOS app for presenters.
Read moreAsync/Await and the Future of Combine
Swift 5.5 is here with Xcode 13 Beta and with it comes my favorite new addition to Swift: Async/Await.
Read moreCombine for Mere Mortals
I’m excited to announce that my Combine Swift Course is now complete and available for purchase.
Read moreManaging Version Numbers with Fastlane
In this post I will describe how I use fastlane to manage my iOS and macOS version numbers for my releases.
Read moreExporting a Git History at a Specific Commit
I had a need today to take an existing git repo that has commits, and move the history as of one of those commits into a different git repo.
Read moreSign-in with Apple Profile Information and Security
Sign-in with Apple is a fantastically useful new feature in iOS 13 and macOS Catalina. I knew when it was announced that I would want to support it. I’m currently working on this for NSScreencast and things haven’t gone quite as smooth as I would have expected.
Read moreSwift for Good
A few months ago Paul Hudson asked me if I would be interested in contributing to a new book. The idea of the book was this: many authors, each writing a chapter about Swift, with all proceeds going to charity. I quickly accepted and began writing.
Read more