Quantcast
Channel: NSBlog
Browsing latest articles
Browse All 20 View Live

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 Article



Advanced 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 Article

Advanced 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 Article

More 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 Article

Friday 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 Article


Friday 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 Article

Friday 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 Article

Friday 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 Article


Friday 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 Article


Corporate 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 Article

The 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 Article

Friday 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 Article

Friday 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 Article


The 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 Article

Friday 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 Article


Friday 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 Article

Friday 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 Article


Friday 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 Article

Friday 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 Article

objc_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
Browsing latest articles
Browse All 20 View Live




Latest Images