Good News, Bad News, and Ugly News
The good news is that I'm officially restarting work on The Complete Friday Q&A: Volume II. I got partway into it a while ago and ran out of steam. The restarted edition includes all posts made...
View ArticleAdvanced Swift Workshop in Washington, DC
I will be holding a one-day workshop on advanced Swift programming in the Washington, DC area on December 12th. If you enjoy my articles and want to sharpen your Swift skills, check it out.(Read More)
View ArticleAdvanced Swift Workshop in New York City
I will be holding another one-day workshop on advanced Swift programming in New York City on May 4th. This will be much the same as my previous one in Washington in December, in a new location and with...
View ArticleMore Advanced Swift Workshop, and Blog and Book Updates
I'm hoping to resume a regular posting schedule soon, and I wanted to give everybody some updates.(Read More)
View ArticleFriday Q&A 2017-06-30: Dissecting objc_msgSend on ARM64
We're back! During the week of WWDC, I spoke at CocoaConf Next Door, and one of my talks involved a dissection of objc_msgSend's ARM64 implementation. I thought that turning it into an article would...
View ArticleFriday Q&A 2017-07-14: Swift.Codable
One of the interesting additions to Swift 4 is the Codable protocol and the machinery around it. This is a subject near and dear to my heart, and I want to discuss what it is and how it works...
View ArticleFriday Q&A 2017-07-28: A Binary Coder for Swift
In my last article I discussed the basics of Swift's new Codable protocol, briefly discussed how to implement your own encoder and decoder, and promised another article about a custom binary coder I've...
View ArticleFriday Q&A 2017-08-11: Swift.Unmanaged
In order to work with C APIs, we sometimes need to convert Swift object references to and from raw pointers. Swift's Unmanaged struct is the standard API for handling this. Today, I'd like to talk...
View ArticleFriday Q&A 2017-08-25: Swift Error Handling Implementation
Swift's error handling is a unique feature of the language. It looks a lot like exceptions in other languages, but the syntax is not quite the same, and it doesn't quite work the same either. Today I'm...
View ArticleCorporate Training, NYC Workshop, and Book Update
I'm afraid I ran out of time for Friday Q&A this week. Will shoot for next week instead. Instead, I present a little update about various other things in my world.(Read More)
View ArticleThe Best New Features in Swift 4
I'm afraid I once again don't have a Friday Q&A for you today, but I wrote up the best new features in Swift 4 for the Plausible Labs blog, which is almost as good. Check it out over there!(Read More)
View ArticleFriday Q&A 2017-09-22: Swift 4 Weak References
Soon after Swift was initially open sourced, I wrote an article about how weak references are implemented. Time moves on and things change, and the implementation is different from what it once was....
View ArticleFriday Q&A 2017-10-06: Type-Safe User Defaults
It's fun to re-imagine traditional techniques with a Swift twist. I've implemented a type-safe layer on top of the venerable NSUserDefaults, and I'm going to discuss my little library today....
View ArticleThe Complete Friday Q&A Volumes II and III Are Out!
It's finally here! I'm pleased to present The Complete Friday Q&A Volumes II and III.(Read More)
View ArticleFriday Q&A 2017-10-27: Locks, Thread Safety, and Swift: 2017 Edition
Back in the dark ages of Swift 1, I wrote an article about locks and thread safety in Swift. The march of time has made it fairly obsolete, and reader Seth Willits suggested I update it for the modern...
View ArticleFriday Q&A 2017-11-10: Observing the A11's Heterogenous Cores
Apple's newest mobile CPU, the A11, brings a new level of heterogeneous computing to iOS, with both high and low performance cores that are always on. With the release of the iPhone X, I set out to see...
View ArticleFriday Q&A 2017-12-08: Type Erasure in Swift
You might have heard the term type erasure. You might have even used type-erased types in the standard library, such as AnySequence. But what exactly is type erasure and how do you do it yourself? In...
View ArticleFriday Q&A 2018-04-27: Generating Text With Markov Chains in Swift
Markov chains make for a simple way to generate realistic looking but nonsensical text. Today, I'm going to use that technique to build a text generator based on this blog's contents, an idea...
View ArticleFriday Q&A 2018-06-29: Debugging with C-Reduce
Debugging a complex problem is tough, and it can be especially difficult when it's not obvious which chunk of code is responsible. It's common to attempt to produce a reduced test case in order to...
View Articleobjc_msgSend's New Prototype
Apple's new OSes are out. If you've looked through the documentation, you may have noticed that the prototype for objc_msgSend has changed. Previously, it was declared as a function that took id, SEL,...
View Article
More Pages to Explore .....