These are the slides, demo, and supporting documentation for a tech talk I first gave in 2015.
http://www.sealiesoftware.com/blog/archive/2013/09/24/objc_explain_Non-pointer_isa.html
https://www.mikeash.com/pyblog/friday-qa-2013-09-27-arm64-and-you.html
https://www.mikeash.com/pyblog/friday-qa-2015-07-31-tagged-pointer-strings.html
https://www.mikeash.com/pyblog/friday-qa-2015-07-17-when-to-use-swift-structs-and-classes.html
https://www.mikeash.com/pyblog/friday-qa-2012-07-27-lets-build-tagged-pointers.html
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ObjCRuntimeRef/index.html
http://www.cocoawithlove.com/2010/05/look-at-how-malloc-works-on-mac.html
https://gist.github.com/anonymous/52c3def9af04cdf2a3a7
http://brian-webster.tumblr.com/post/102637339374/the-mystery-of-the-crashing-nspredicate