Chad Sellers is the founder and solo developer of Useful Fruit Software in Columbia, Maryland. He began his career focused on software security on Linux, which eventually led him to become a maintainer of the SELinux project. However, his love for the Mac and desire to choose what software to work on led him to spending his nights and weekends building Pear Note for Mac. This side job grew steadily until last year when he left his day job to focus full-time on his own Mac and iOS apps. Now that he's down to just one job, he's managed to have a life outside of work again including playing guitar and singing at church, playing tennis, taking photos, and having fun with his wife and two young daughters.
The Mac and iOS platforms contain many technologies (maybe too many) for displaying and editing plain or rich text. These include AppKit's text system (e.g. NSTextView), UIKit's UITextView and UILabel, Core Text, WebKit, Core Animation (e.g. CATextLayer), and Core Graphics. In this session, we will walk through some of these and discuss why you might choose one over another for your app. This will include delving into some of the common classes used among them, including NSString and NSAttributedString. Then, we'll dive a bit deeper into AppKit's text system and Core Text to help you understand how you would use them in your app and what difficulties you might encounter when you do.
Cocoa provides a rich API for app development, but sometimes we forget there's UNIX underneath it. Understanding how to use the UNIX foundation can be a huge help when trying to solve problems Cocoa doesn't seem to have a good answer for. This talk will cover parts of UNIX that can come in handy for a Cocoa app developer. What's an inode, and how does it relate to hard links and symlinks? What is file locking and how can it be used within an app? How can all those little UNIX utilities be helpful in your Mac app? Can your iPhone be used to stop an attacking velociraptor? The power of UNIX is strong; come learn to wield it.