June 8, 2022
Debugging at 14,000ft
Last summer, I was getting bug reports for my app Landscape that data would sometimes be lost while recording a hike. Data loss is a big issue because it erodes any trust and confidence that a... read more
June 8, 2022
Last summer, I was getting bug reports for my app Landscape that data would sometimes be lost while recording a hike. Data loss is a big issue because it erodes any trust and confidence that a... read more
August 23, 2021
The star of the show at WWDC 2021 for developers was news of built in concurrency to the Swift language. This has been a long awaited set of features and proves to aid developers in writing... read more
August 23, 2021
Data races are an unfortunate reality of building concurrent programs. They are easy to introduce and difficult to track down. Let's look at a conceptual data race in this code snippet. I love... read more
August 23, 2021
Swift’s new concurrency features includes structured concurrency which in itself is analogous to structured programming, a paradigm we already use in Swift. Structured programming was pioneered by... read more
August 23, 2021
Before diving straight into using async and await let’s take a farewell tour of our past conventions for asynchronous programming. Callbacks via closures are probably the most prevalent... read more
March 1, 2021
In 2017, I left Ohio for a summer internship in Colorado. I had never seen the Rocky Mountains or even thought of climbing them but my college roommate, who was also in Colorado for the summer,... read more
September 3, 2020
I really appreciate the commitment to preserving the past here in Colorado. There are still plenty of remnants of the Wild West to be seen; the dirt road leading up to the Missouri Gulch trailhead... read more
June 17, 2020
The first big hike of the year is always rough, neither my lungs nor legs are ready to climb several thousand feet. I remember thinking "why in the world do I do this" a few times even before... read more