A writer, musician, and developer interested in crafting interesting and artful things. Developer of the iOS app Chordal Text, and AU Additive Synthesizer Partial. TJ is working to create innovative and intuitive solutions to musical problems. He is a graduate of Eugene Lang College and Berklee College of Music.
You want to share code. You really do. Maybe not with the world but with yourself at the very least (or most). The Cocoa community has, in recent years, seen a bourgeoning interest in sharing code between projects and people. We'll talk about how we can — and should — take “sharing” toward Python’s slogan of “Batteries Included” and outline the tips, tricks, and methods I have collected in my quest to include batteries.
You want to share code. You really do. Maybe not with the world with yourself at the very least (or most). The Cocoa community has, in recent years, seen a bourgeoning interest in sharing code between projects and people. We'll talk about how we can–and should–take 'sharing' toward python's slogan of "Batteries Included". We'll also outline the tips, tricks, and methods I have collected in my quest to include batteries via work on a framework of my own.
XCode 5 and Bots provide quite a few new and interesting tools to those interested in test-aware workflow. I will review some of these tools–including Bots, The Test Navigator, and XCTest. I will discuss other tools at our disposal that are often overlooked and, more importantly, why we would want to use any of these tools.
We will explore text kit and some of the possibilities it opens up and smooths out. Tasks that used to be prohibitively difficult are now just a matter of understanding the new classes made available. NSTextStorage and LayoutManger will be front and center.
Swift, with all of its robust types and its more assertive type checking, allows the opportunity to capture much more meaning and intent in our types. Many communities have enjoyed and explored this kind expressiveness before and have lessons to offer. We will discuss these lessons and recognize new chances and challenges offered by Swift's many facets including but not limited to:
Generics are quite the utility. They afford us a means to not only describe behavior in our app but to prove bits of our software. In this session, we will explore the idea of provable code and learn how to bear the burden of proving our software correct.
Unit tests are a challenge to write. "Did I think of every relevant case?" is an almost impossible question to answer. We don't have the answer but we have the tools to help find more relevant cases. Property based testing helps us find edge cases and become more confident about the assumptions that our code is built upon.
The public and private stages that make up our lives often give us the sense that what we say bears different meaning in or does not pass between contexts. We will, through discussion, explore how and when this might be true.
Debugging is quite the challenge. Tests and design patterns often fail us and we are left printing out values in lldb or pulling in logging frameworks from third parties. Apple has finally released a tool of their own to address logging and we are going to get set up using it in this session.
Audio Units have finally been brought to the masses. The templates finally provided within Xcode allow the creation of an Audio Unit with a few clicks. We can make sound! It's alive! Now what? Control. In this talk, we will explore accepting input from the user while rendering audio in our instrument.