Books
Advanced Programming in the Unix Environment Amazon BN
Also known as APUE. This is the definitive book on the ins and outs of Unix programming arcana. Includes (also gets bogged down in) historical details on why some of the Unix API's warts exist.
Books
The C Programming Language Amazon BN
"K&R", the classic C book. It's a little dated, but it's a great read to get the flavor of the originators of the language.C: A Reference Manual Amazon BN
A comprehensive reference for the various dialects of the C language (K&R C, ANSI C, C99, etc). It's got some typos and some problems with the index, but it has a lot of good information.
Code Samples
Code Samples for Chapter 2 (C Refresher, part 1)
Includes bitmask.c, conditional.c, constants.c, factorial.c, file-1.c, file-1.h, file-2.c, file-2.h, first.c, leaveout.c, limits.c, macros.c, variables.c
Websites
The comp.lang.c FAQ
Tons and tons of information about C and C's dark corners.An on-line introduction to C programming.
Code Samples
Code Samples for Chapter 3 (C Refresher, part 2)
Includes array-parameter.c, function-pointer.c, pass-reference.c, strlen1.c, strlen2.c, struct-point.c, tree.c, union.c
Code Samples
Code Samples for Chapter 4 (The compiler)
Includes debuglog.m, define.m, describeObjects.m, multilineMacro.m, predef.m, preprocTest.m, vararg.m, warning.m
Websites
Using the GNU Compiler Collection
The documentation for the GNU C/C++/Objective-C compiler.Complete documentation for the gcc C preprocessor.Status of C99 features in GCC 3.3
Status of what C99 features work, or are broken, in GCC 3.3.
Code Samples
Code Samples for Chapter 5 (Libraries)
Includes BundlePrinter.h, adder.h, src0.c, src1.c, src2.c, src3.c, src4.c, useadd.m, SimpleMessage.m (dylib plug-in), ComplexMessage.m (dylib plug-in), bundleprinter.m, projects and files for Adder, BundlePrinter, ComplexMessage (Cocoa plug-in), and SimpleMessage (Cocoa plug-in)
Websites
Making Other People's Software Work for You
CocoaDevCentral's article on making plugins in Cocoa.Andrew Stone's essay on using loadable bundles in your application's architecture.
Code Samples
Code Samples for Chapter 6 (Command Line Programs)
Includes dumpargs.m, getopt.m, upcase-env.m, upcase-fnmatch.m, and upcase.m
Code Samples
Code Samples for Chapter 7 (Memory)
Includes dataseg.m, limits.m, mallocalign.m, malloccheckstart.m, mallocguard.m, mallochelp.m, mallochistory.m, mallocscribble.m, mallocsize.m, memerror.m, nodepool.m, objectleak.m, openfiles.m, openfiles.m (revised)
Websites
Omni Object Meter
The Omni Group's memory monitoring and optimization tool.
Code Samples
Code Samples for Chapter 8 (GDB)
Includes assert.m, assert2.m, memerror.m
Websites
GDB Quick Reference Card
Includes downloadable postscript and PDF files in various page sizes. There are also C and CVS reference cards there.gdb introduction at MacEdition.
Code Samples
Code Samples for Chapter 9 (Exceptions)
Includes catch.m, catchblock.m, exception.m, interrupt.m, longjmp.m, open.m, raise.m, syslog.m
Code Samples
Code Samples for Chapter 10 (Files, Part 1)
access.m, append.m, buffread.m, fbinaryio.m, mmap-rot13.m, readstring.m, readvecstring.m, tempfun.m, uid.m, writestring.m, writevecstring.m
Code Samples
Code Samples for Chapter 11 (Files, Part 2)
Includes cheapls.m, permtype.m
Code Samples
Code Samples for Chapter 12 (NSFileManager)
Includes project and files for Remover.
Books
Unix Network Programming (by Stevens) Amazon BN
In-depth documentation on network programming, including Berkeley sockets. A must-have if you're doing any serious network programming with sockets.
Code Samples
Code Samples for Chapter 13 (Networking)
Includes addresses.m, chatterclient.m, chatterserver.m, simpleclient.m, simpleserver.m
Websites
Beej's Guide to Network Programming
An easy introduction to Berkeley sockets.Writing Networked Simulations (can you say "games"?)
Matt Slot (of Ambrosia Software) has written a series of essays about issues involved in writing a networked game.Networking Frameworks Comparison
Stepwise has a survey of various Objective-C wrappers for BSD sockets.
Code Samples
Code Samples for Chapter 14 (CFRunLoop)
Includes scf-dump.m, projects and files for CFChatterClient and SCFMonitor.
Websites
CFRunLoop Reference
The official CFRunLoop Documentation from AppleThe Darwin source for CFRunLoop
Code Samples
Code Samples for Chapter 15 (Multiprocessing)
Includes fork.m, pcal.m, pipeline.m, status.m, webserve.m
Code Samples
Code Samples for Chapter 16 (NSTask)
Includes projects and files for SortThem and TraceRoute.
Code Samples
Code Samples for Chapter 17 (Accessing the Keychain)
Includes add_item.m and dumpem.m
Websites
Apple's Security Site for Developers
Documentation for Security-related stuff (including the keychain).
Code Samples
Code Samples for Chapter 18 (Authorization)
Includes projects and files for four versions of the Remover example.
Websites
CDSA Mailing List
Apple's website where their implementation of the Common Data Security Architecture is dicussed.
Code Samples
Code Samples for Chapter 19 (Distributed Objects)
Includes projects and source files for chatterd and ChatterClient.
Websites
Apple's Distributed Objects Docs
The "Tasks and Concepts" section for Distributed Objects.
Code Samples
Code Samples for Chapter 20 (Rendezvous)
Includes projects and files for the Rendezvous-aware chatterd and ChatterClient.
Websites
Rendezvous Frequently Asked Questions
Apple's FAQ for RendezvousApple's Rendezvous Mailing List
Code Samples
Code Samples for Chapter 21 (Directory Services)
Includes projects and files for UserPictureBrowser
Websites
Open Directory Page
Apple's page for Open Directory. Includes the source.Apple's Docs (with no example code) for Open Directory
Code Samples
Code Samples for Chapter 22 (Multithreading)
Includes basics.m, mutex.m, webserve-thread.m, and project and files for ThreadDraw.
Code Samples
Code Samples for Chapter 23 (Distributed Objects Between Threads)
Includes project and files for Mandelbrotter.
Websites
Multithreading with Cocoa Docs
Apple's introduction to multi-threading with Cocoa. Includes a discussion of NSLock and its subclasses. It also includes a short discussion of using NSConnection to communicate between threads.
Websites
The CVS Book
The book Open Source Development with CVS is one of my favorite books on CVS. The PDF of the completesecond edition is available at this website. (for the first edition, only the CVS-related chapters were online).All your versions are belong to you, An introduction to CVS
MacEdition's intro to CVS.A revision control system designed to be a compelling replacement for CVS.This is Beth Kirschner's CVS cheat sheet, giving some quick instructions on some common tasks (including recovering aftercvs removing
a file)
Code Samples
Code Samples for Chapter 25 (Performance)
Includes locality.m
Websites
Apple's Performance and Debugging Tools
Includes a download link for the CHUD tools.Apple's Maximizing Mac OS X Application Performance
This is a collection of tips and hints from Apple on optimizng a number of areas (like text drawing, app launch, memory, etc)