Greg Heo

Greg
πŸ€“πŸ“πŸ‡¨πŸ‡¦πŸ¦Š

I’m a software engineer in San Francisco, California. I like puppies, shoot a lot of photos, and am originally from Toronto πŸ‡¨πŸ‡¦.

I currently work at Apple on the Camera & Photos team, have previously worked at Instagram, and also produced tutorials at raywenderlich.com.

You can reach me by email at hello@ this domain or elsewhere on the web: Twitter, Instagram, Flickr.


Conference & Meetup Talks

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?

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?

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?

Clarity, Cohesion, Coupling, Complexity
Swift Summit, San Francisco πŸŒ‰πŸ‡ΊπŸ‡Έ, november 2016

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
@objc and dynamic ↝
Objective-C runtime visibility and the depths of dynamic dispatch in the modern Swift era.
5 December 2017
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

See all posts