Table of Contents

About The Complete Friday Q&A: Volume 1

Introduction

Acknowledgements

Multithreaded Programming and Parallelism Overview

Blocks in Objective-C

Pros and Cons of Private APIs

Thread Safety in OS X System Frameworks

Interprocess Communication

How Key-Value Observing Works

Code Injection

Profiling With Shark

Operations-Based Parallelization

The Good and Bad of Distributed Objects

Holistic Optimization

Using the Clang Static Analyzer

Intro to the Objective-C Runtime

Objective-C Messaging

Objective-C Message Forwarding

Multithreaded Optimization in ChemicalBurn

Code Generation with LLVM, Part 1: Basics

Code Generation with LLVM, Part 2: Fast Objective-C Forwarding

Objective-C Class Loading and Initialization

Introduction to Valgrind

Mac OS X Process Memory Statistics

Type Qualifiers in C, Part 1

Type Qualifiers in C, Part 2

Type Qualifiers in C, Part 3

Format Strings Tips and Tricks

Practical Blocks

Writing Vararg Macros and Functions

Intro to Grand Central Dispatch, Part I: Basics and Dispatch Queues

Intro to Grand Central Dispatch, Part II: Multi-Core Performance

Intro to Grand Central Dispatch, Part III: Dispatch Sources

Intro to Grand Central Dispatch, Part IV: Odds and Ends

GCD Practicum

Care and Feeding of Singletons

Defensive Programming

Creating a Blocks-Based Object System

A Preview of Coming Attractions

Generators in Objective-C

Linking and Install Names

Dangerous Cocoa Calls

Probing Cocoa With PyObjC

Using Accessors in Init and Dealloc

Building Standalone iPhone Web Apps

A GCD Case Study: Building an HTTP Server

Highlights From a Year of Friday Q&A

NSRunLoop Internals

NSNotificationQueue

Stack and Heap Objects in Objective-C

Toll Free Bridging Internals

Method Replacement for Fun and Profit

Error Returns with Continuation Passing Style

Trampolining Blocks with Mutable Code

Character Encodings

Futures

Compound Futures

Subclassing Class Clusters

OpenCL Basics

Comparison of Objective-C Enumeration Techniques

Implementing Fast Enumeration

Implementing a Custom Slider

Dealing with Retain Cycles

What Every Apple Programmer Should Know

Leopard Collection Classes

Implementing Equality and Hashing

Background Timers

Zeroing Weak References in Objective-C

Zeroing Weak References to CoreFoundation Objects

Implementing NSCoding

Defensive Programming in Cocoa

Index