
Iβm a software engineer currently living in San Francisco. I like puppies, shoot with Fujifilm cameras, and am originally from Toronto π¨π¦.
You can reach me by email at hello@ this domain or on the Twitter.
Conference & Meetup Talks
![]() |
The Least You Need to Know About Hashing in Swift
Swift Language User Group, San Francisco βοΈ, august 2018 What is the simplest hash implementation? How about the worst? What is a hash anyway? And why does it matter? |
![]() |
Should it be shared or should it be mutable? Why not both? |
![]() |
What does crafting augmented realities teach us about crafting better software? |
![]() |
How do we deal with uncertainty in our programming lives, and how can the thread sanitizer help us in managing that uncertainty? |
![]() |
Dealing With Asynchrony in a Synchronous Swift World
Swift Language User Group, San Francisco π€πΊπΈ, april 2017 How do we deal with Swift code that executes in a (mostly) straight line when there are so many side tangents and threads to wait around for? |
![]() |
How can reading more code help us write better code? |
![]() |
What I Learned From 55 Swift Standard Library Protocols
Swift Summit, San Francisco π«πΊπΈ, october 2015 How does the way the Swift standard library uses protocols give us hints on how we should do it? |
π£ See all talks |
Writing
Size, Stride, Alignment ↝ The basics on the memory layout of Swift struct instances | 12 March 2018 |
Fun With Flags Managing concurrency with better communication. And flags. | 15 Jan 2019 |
Concurrency From the Ground Up Based on a talk presented at 360iDev 2018 | 27 Aug 2018 |
Getting Under Swift's Skin @ NSMeetup Three ways to get under Swift's skin: reflection, debug toolchains, and SIL | 8 Feb 2018 |
Five Unbelievable Secrets of Reactive Programming the Experts Don't Want You to Know! Totally non-clickbaity article about lessons learned from reactive programming. | 23 Feb 2017 |
See all posts |