Greg Heo

Conferences & Talks

When I’m not being a total recluse reading up on the latest reference documentation, I sometimes pop up at tech conferences and meetups around the globe.

Iโ€™m currently on conference talk hiatus but have delivered a good number of talks on topics ranging from iOS architecture, the Swift programming language, and concurrency.

Past Talks

Fun With Flags
Toronto CocoaHeads ๐ŸŒฎ, Toronto ๐Ÿ, january 2019

Swift, Synchronization, and Semaphores. Why is multi-threaded code so difficult, and how can semaphores help?

Concurrency From the Ground Up
360iDev, Denver ๐Ÿ”, august 2018

What are the fundamental building blocks of concurrency underneath the APIs we use every day?

What is the simplest hash implementation? How about the worst? What is a hash anyway? And why does it matter?

Shared or Mutable: Pick One
AltConf 2018, San Jose ๐Ÿ‡บ๐Ÿ‡ธ, june 2018

Should it be shared or should it be mutable? Why not both?

Augmented Reality; Crafted Reality
Craft Conf, Budapest ๐Ÿ‡ญ๐Ÿ‡บ, may 2018

What does crafting augmented realities teach us about crafting better software?

Getting Under Swiftโ€™s Skin
NSMeetup, San Francisco, february 2018

Three ways to get under Swift’s skin: reflection, debug toolchains, and SIL

Compiler Sanitizers for Fun and Profit
iOS Conf Singapore, Singapore ๐Ÿฆ๐Ÿ‡ธ๐Ÿ‡ฌ, october 2017

How do we deal with uncertainty in our programming lives, and how can the thread sanitizer help us in managing that uncertainty?

Thirteen Ways of Looking at a View Controller
AltConf, San Jose โ˜€๏ธ๐Ÿ‡บ๐Ÿ‡ธ, june 2017

View controllers: we know them, love them, despise them, and overload them. Let’s look at them a little closer.

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?

Lessons learned from learning reactive programming.

Clarity, Cohesion, Coupling, Complexity
Swift Summit, San Francisco ๐ŸŒ‰๐Ÿ‡บ๐Ÿ‡ธ, november 2016

How can reading more code help us write better code?

Scouting Swift 3
CocoaConf, San Jose ๐Ÿค“๐Ÿ‡บ๐Ÿ‡ธ, october 2016

New and exciting features in Swift 3

Cross-Platform Swift
Indie DevStock, Nashville ๐ŸŽธ๐Ÿ‡บ๐Ÿ‡ธ, september 2016

Sharing code from iOS to Linux isnโ€™t too painful after all. Also, where does the word “geometry” come from?

Intermediate Swift
iOSDevUK, Aberystwyth ๐Ÿ‰๐Ÿ‡ฌ๐Ÿ‡ง, september 2016

Hands-on workshop iOSDevUK, September 5โ€“8, 2016. I covered a bunch of Swift 3 features and wrote up one of them as a blog post (link below).

Programming in a Swift Style
RWDevCon, Alexandria ๐Ÿฆ…๐Ÿ‡บ๐Ÿ‡ธ, march 2016

What are some things in Objective-C that need more of a re-think when moving to Swift?

Swift Style
@Swift, Beijing ๐Ÿ‡จ๐Ÿ‡ณ, january 2016

When we write Swift, how can we write it not just to tell the computer what to do, but to express an idea?

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?

Switching Your Brain to Swift
360iDev, Denver โ›ฐ๐Ÿ‡บ๐Ÿ‡ธ, august 2015

Whatโ€™s new, whatโ€™s the same, and whatโ€™s completely different when programming for the same platform in a new language?