# Mike Ash

Mac OS X and Cocoa programming

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## objc\_msgSend's New Prototype

DevFeed: [objc\_msgSend's New Prototype](<https://devfeed.tech/articles/objc-msgsend-s-new-prototype-30631.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/objc_msgsends-new-prototype.html>)

Author: Mike Ash

Published: 2019-10-11T12:09:00Z

Content type: article

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Assembly](<https://devfeed.tech/topics/assembly.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [assembly](<https://devfeed.tech/tags/assembly.md>), [cache](<https://devfeed.tech/tags/cache.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>)

### AI overview

The article explains why Apple's newer OS documentation changed the declared prototype of objc_msgSend and related functions to use void parameters and return types. It argues that the true prototype is determined by the method implementation ultimately called, while the compiler uses the method's declared type signature to generate compatible argument and return-value handling.

### Source excerpt

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, and variadic arguments after that, and returned id. Now it's declared as a function that takes and returns void. Similar functions like objc_msgSendSuper also became void/void. Why the change? (Read More)

## Friday Q&A 2018-06-29: Debugging with C-Reduce

DevFeed: [Friday Q&A 2018-06-29: Debugging with C-Reduce](<https://devfeed.tech/articles/friday-q-a-2018-06-29-debugging-with-c-reduce-30628.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2018-06-29-debugging-with-c-reduce.html>)

Author: Mike Ash

Published: 2018-06-29T13:35:00Z

Content type: tutorial

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [debugging](<https://devfeed.tech/topics/debugging.md>), [C](<https://devfeed.tech/topics/c.md>), [test](<https://devfeed.tech/topics/test.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dockerignore-usage](<https://devfeed.tech/tags/dockerignore-usage.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [shell-script](<https://devfeed.tech/tags/shell-script.md>), [test](<https://devfeed.tech/tags/test.md>), [transformation](<https://devfeed.tech/tags/transformation.md>)

### AI overview

This tutorial explains how C-Reduce automatically shrinks programs into reduced test cases. It covers reduction passes, scriptable interestingness tests, installation, and a simple C example for isolating a compiler warning or bug.

### Source excerpt

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 narrow it down. It's tedious to do this manually, but it's also the sort of thing computers are really good at. C-Reduce is a program which automatically takes programs and pares them down to produce a reduced test case. Let's take a look at how to use it. (Read More)

## Friday Q&A 2018-04-27: Generating Text With Markov Chains in Swift

DevFeed: [Friday Q&A 2018-04-27: Generating Text With Markov Chains in Swift](<https://devfeed.tech/articles/friday-q-a-2018-04-27-generating-text-with-markov-chains-in-swift-30627.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2018-04-27-generating-text-with-markov-chains-in-swift.html>)

Author: Mike Ash

Published: 2018-04-28T01:27:00Z

Content type: tutorial

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [text-generation](<https://devfeed.tech/topics/text-generation.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [swift](<https://devfeed.tech/tags/swift.md>), [text-generation](<https://devfeed.tech/tags/text-generation.md>)

### AI overview

This tutorial explains Markov chains and uses Swift to build a text generator from the blog's contents. It describes probabilistic state transitions, data representation, and tradeoffs between simple and more efficient ways to choose transitions.

### Source excerpt

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 suggested/inspired by reader Jordan Pittman. (Read More)

## Friday Q&A 2017-12-08: Type Erasure in Swift

DevFeed: [Friday Q&A 2017-12-08: Type Erasure in Swift](<https://devfeed.tech/articles/friday-q-a-2017-12-08-type-erasure-in-swift-30626.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2017-12-08-type-erasure-in-swift.html>)

Author: Mike Ash

Published: 2017-12-15T14:09:00Z

Content type: tutorial

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [generics](<https://devfeed.tech/topics/generics.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [generics](<https://devfeed.tech/tags/generics.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>), [swift](<https://devfeed.tech/tags/swift.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

This tutorial explains type erasure in Swift, including why it is useful for hiding implementation details, preventing concrete types from spreading through a codebase, and allowing distinct types to interoperate. It discusses limitations involving generics and protocols with associated types, and describes using Any to erase an arbitrary type with a small complexity and runtime cost.

### Source excerpt

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 this article, I'll explore type erasure, why you'd want it, and how to make it happen, a topic suggested by Lorenzo Boaro. (Read More)

## Friday Q&A 2017-11-10: Observing the A11's Heterogenous Cores

DevFeed: [Friday Q&A 2017-11-10: Observing the A11's Heterogenous Cores](<https://devfeed.tech/articles/friday-q-a-2017-11-10-observing-the-a11-s-heterogenous-cores-30625.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2017-11-10-observing-the-a11s-heterogenous-cores.html>)

Author: Mike Ash

Published: 2017-11-10T12:41:00Z

Content type: article

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [cpu](<https://devfeed.tech/topics/cpu.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [iphone](<https://devfeed.tech/topics/iphone.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [ios](<https://devfeed.tech/tags/ios.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

This article examines whether the heterogeneous cores in Apple's A11 mobile CPU can be observed in action on iOS, following the release of the iPhone X. It explains the distinction between high-performance and high-efficiency CPU cores and their differing power characteristics.

### Source excerpt

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 if I could observe these heterogeneous cores in action. (Read More)

## Friday Q&A 2017-10-27: Locks, Thread Safety, and Swift: 2017 Edition

DevFeed: [Friday Q&A 2017-10-27: Locks, Thread Safety, and Swift: 2017 Edition](<https://devfeed.tech/articles/friday-q-a-2017-10-27-locks-thread-safety-and-swift-2017-edition-30624.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2017-10-27-locks-thread-safety-and-swift-2017-edition.html>)

Author: Mike Ash

Published: 2017-10-27T11:28:00Z

Content type: article

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Deadlock](<https://devfeed.tech/topics/deadlock.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>)

Tags: [concurrent](<https://devfeed.tech/tags/concurrent.md>), [deadlock](<https://devfeed.tech/tags/deadlock.md>), [locks](<https://devfeed.tech/tags/locks.md>), [mutex](<https://devfeed.tech/tags/mutex.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [safety](<https://devfeed.tech/tags/safety.md>), [swift](<https://devfeed.tech/tags/swift.md>), [thread](<https://devfeed.tech/tags/thread.md>), [threading](<https://devfeed.tech/tags/threading.md>), [threads](<https://devfeed.tech/tags/threads.md>)

### AI overview

An updated guide to locks and thread safety in Swift, covering mutex types, their behavior, and related Apple and Objective-C synchronization facilities.

### Source excerpt

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 age, so here it is! (Read More)

## Friday Q&A 2017-10-06: Type-Safe User Defaults

DevFeed: [Friday Q&A 2017-10-06: Type-Safe User Defaults](<https://devfeed.tech/articles/friday-q-a-2017-10-06-type-safe-user-defaults-30623.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2017-10-06-type-safe-user-defaults.html>)

Author: Mike Ash

Published: 2017-10-06T12:55:00Z

Content type: tutorial

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Library](<https://devfeed.tech/topics/library.md>), [API](<https://devfeed.tech/topics/api.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [Vapor](<https://devfeed.tech/topics/swift-vapor.md>)

Tags: [2017](<https://devfeed.tech/tags/2017.md>), [api](<https://devfeed.tech/tags/api.md>), [article](<https://devfeed.tech/tags/article.md>), [code](<https://devfeed.tech/tags/code.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

This tutorial presents a type-safe Swift layer over NSUserDefaults. It describes typed keys, automatic key naming, default values, optional values, and conversion handled internally, with implementation examples.

### Source excerpt

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. Credit/blame for this idea goes to local reader José Vazquez, although he inspired it by accident while talking about something else. (Read More)

## Friday Q&A 2017-09-22: Swift 4 Weak References

DevFeed: [Friday Q&A 2017-09-22: Swift 4 Weak References](<https://devfeed.tech/articles/friday-q-a-2017-09-22-swift-4-weak-references-30622.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2017-09-22-swift-4-weak-references.html>)

Author: Mike Ash

Published: 2017-09-23T00:57:00Z

Content type: article

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [change](<https://devfeed.tech/tags/change.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

An explanation of how weak references are implemented in Swift 4, comparing the current implementation with the older design and discussing changes made to address memory usage and concurrent-read safety.

### Source excerpt

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. Today I'm going to talk about the current implementation and how it works compared to the old one, a topic suggested by Guillaume Lessard. (Read More)

## Friday Q&A 2017-08-25: Swift Error Handling Implementation

DevFeed: [Friday Q&A 2017-08-25: Swift Error Handling Implementation](<https://devfeed.tech/articles/friday-q-a-2017-08-25-swift-error-handling-implementation-30621.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2017-08-25-swift-error-handling-implementation.html>)

Author: Mike Ash

Published: 2017-08-25T13:13:00Z

Content type: article

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [exceptions](<https://devfeed.tech/topics/exceptions.md>)

Tags: [assembly](<https://devfeed.tech/tags/assembly.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

This article examines how Swift error handling works internally. It first reviews throwing functions, error propagation, and handlers, then explains the implementation differences between Swift 3 and Swift 4, including hidden error parameters and a dedicated register for error returns.

### Source excerpt

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 going to take a look at how Swift errors work on the inside. (Read More)

## Friday Q&A 2017-08-11: Swift.Unmanaged

DevFeed: [Friday Q&A 2017-08-11: Swift.Unmanaged](<https://devfeed.tech/articles/friday-q-a-2017-08-11-swift-unmanaged-30620.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2017-08-11-swiftunmanaged.html>)

Author: Mike Ash

Published: 2017-08-11T13:14:00Z

Content type: tutorial

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [API](<https://devfeed.tech/topics/api.md>), [C](<https://devfeed.tech/topics/c.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [arc-memory-management](<https://devfeed.tech/tags/arc-memory-management.md>), [c](<https://devfeed.tech/tags/c.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

This tutorial explains Swift.Unmanaged, the standard API for converting Swift object references to and from raw pointers when interoperating with C APIs. It covers how to choose ownership behavior and manually manage object lifetimes when Swift's ARC cannot track the pointer.

### Source excerpt

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 about what it does and how to use it. (Read More)

## Friday Q&A 2017-07-28: A Binary Coder for Swift

DevFeed: [Friday Q&A 2017-07-28: A Binary Coder for Swift](<https://devfeed.tech/articles/friday-q-a-2017-07-28-a-binary-coder-for-swift-30619.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2017-07-28-a-binary-coder-for-swift.html>)

Author: Mike Ash

Published: 2017-07-28T12:44:00Z

Content type: tutorial

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [coding](<https://devfeed.tech/tags/coding.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

This article presents a custom binary coder for Swift. It serializes fields sequentially as raw bytes without metadata, omits padding, byte-swaps numbers for endian independence, and can handle references and custom encoding. The approach relies on consistent encoding and decoding order, so changes to field layout or types can break compatibility.

### Source excerpt

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 been working on. Today, I'm going to present that binary coder. (Read More)

## Friday Q&A 2017-07-14: Swift.Codable

DevFeed: [Friday Q&A 2017-07-14: Swift.Codable](<https://devfeed.tech/articles/friday-q-a-2017-07-14-swift-codable-30618.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2017-07-14-swiftcodable.html>)

Author: Mike Ash

Published: 2017-07-14T13:57:00Z

Content type: article

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [data](<https://devfeed.tech/topics/data.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [2017](<https://devfeed.tech/tags/2017.md>), [apis](<https://devfeed.tech/tags/apis.md>), [apple](<https://devfeed.tech/tags/apple.md>), [apps](<https://devfeed.tech/tags/apps.md>), [automatically](<https://devfeed.tech/tags/automatically.md>), [build](<https://devfeed.tech/tags/build.md>), [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [data](<https://devfeed.tech/tags/data.md>), [error](<https://devfeed.tech/tags/error.md>), [format](<https://devfeed.tech/tags/format.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [json](<https://devfeed.tech/tags/json.md>), [make](<https://devfeed.tech/tags/make.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-apps](<https://devfeed.tech/tags/mobile-apps.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [q-a](<https://devfeed.tech/tags/q-a.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

This article explains Swift 4's Codable protocol and its serialization machinery. It describes serialization of values for storage or network transmission, contrasts Codable with earlier Apple ecosystem approaches, and discusses reducing repetitive encoding and decoding code.

### Source excerpt

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 today. (Read More)

## Friday Q&A 2017-06-30: Dissecting objc\_msgSend on ARM64

DevFeed: [Friday Q&A 2017-06-30: Dissecting objc\_msgSend on ARM64](<https://devfeed.tech/articles/friday-q-a-2017-06-30-dissecting-objc-msgsend-on-arm64-30617.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/friday-qa-2017-06-30-dissecting-objc_msgsend-on-arm64.html>)

Author: Mike Ash

Published: 2017-07-01T04:23:00Z

Content type: article

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [Assembly](<https://devfeed.tech/topics/assembly.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Code](<https://devfeed.tech/topics/code.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [assembly](<https://devfeed.tech/tags/assembly.md>), [cache](<https://devfeed.tech/tags/cache.md>), [code](<https://devfeed.tech/tags/code.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>)

### AI overview

This article explains how Objective-C message dispatch works in the ARM64 implementation of objc_msgSend, including method lookup, caching, and the division between fast and slow paths.

### Source excerpt

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 make for a nice return to blogging for Friday Q&A. (Read More)

## More Advanced Swift Workshop, and Blog and Book Updates

DevFeed: [More Advanced Swift Workshop, and Blog and Book Updates](<https://devfeed.tech/articles/more-advanced-swift-workshop-and-blog-and-book-updates-30630.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/more-advanced-swift-workshop-and-blog-and-book-updates.html>)

Author: Mike Ash

Published: 2017-06-13T16:11:00Z

Content type: news

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [programming](<https://devfeed.tech/tags/programming.md>), [swift](<https://devfeed.tech/tags/swift.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

The author announces two upcoming Advanced Swift Workshops in Washington, DC, and New York City, reports that The Complete Friday Q&A Volume II is nearing completion, and plans to resume regular blog posts covering WWDC topics and Swift developments.

### Source excerpt

I'm hoping to resume a regular posting schedule soon, and I wanted to give everybody some updates. (Read More)

## Advanced Swift Workshop in New York City

DevFeed: [Advanced Swift Workshop in New York City](<https://devfeed.tech/articles/advanced-swift-workshop-in-new-york-city-30614.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/advanced-swift-workshop-in-new-york-city.html>)

Author: Mike Ash

Published: 2017-03-27T15:29:00Z

Content type: article

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [event](<https://devfeed.tech/tags/event.md>), [swift](<https://devfeed.tech/tags/swift.md>), [workshop](<https://devfeed.tech/tags/workshop.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

An announcement for a one-day advanced Swift programming workshop in New York City on May 4th. The workshop will cover ARC, memory management, reference cycles, enums, generics, pointer APIs, and C APIs, with lectures, exercises, Xcode playgrounds, and discussion.

### Source excerpt

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 various tweaks and improvements. If you enjoy my articles and want to sharpen your Swift skills, check it out. (Read More)

## Advanced Swift Workshop in Washington, DC

DevFeed: [Advanced Swift Workshop in Washington, DC](<https://devfeed.tech/articles/advanced-swift-workshop-in-washington-dc-30615.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/advanced-swift-workshop-in-washington-dc.html>)

Author: Mike Ash

Published: 2016-11-12T21:27:00Z

Content type: news

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [advanced](<https://devfeed.tech/tags/advanced.md>), [enums](<https://devfeed.tech/tags/enums.md>), [event](<https://devfeed.tech/tags/event.md>), [generics](<https://devfeed.tech/tags/generics.md>), [memory-management](<https://devfeed.tech/tags/memory-management.md>), [swift](<https://devfeed.tech/tags/swift.md>), [workshop](<https://devfeed.tech/tags/workshop.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

The author announces a one-day advanced Swift programming workshop in the Washington, DC area on December 12th. Topics include ARC and memory management, reference cycles, enums, generics, pointer APIs, and C APIs, with lectures, exercises, discussions, and Xcode playgrounds.

### Source excerpt

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)