A look at the interesting technical challenges I ran into while developing this app.
A list of core skills that are necessary in almost every app. If you can do all of these things reliably, you are well on your way to being a great hire as an iOS developer
There are many ways you could choose to host a Swift website or web service, but here I share what has worked well for me.
A list of skills, beyond just the ability to get the job done, every Swift developer should know before they get paid to develop.
The hardest part of developing Server-Side Swift is the incomplete nature of Foundation including some pretty critical basic functionality. After I thought up this technique, the problems I ran into changed from mountains to mole hills.
I have been extremely busy so I haven't made the time to write any blog posts. In this post I give a brief overview of what I have been up to and what are my short-term plans for the future.
An in-depth discussion of my experience writing a technical book about learning Swift.
An practical example of how curried functions in Swift can be useful for implementing a logger
My attempt to implement a KVO replacement purely in Swift
A list of key concepts to know when getting started with Swift and links to resources to stay current with its development.
A summary with examples of what an Optional is in Swift
A list with concrete examples of when and when not to use Implicitly Unwrapped Optionals in Swift.
Concrete examples for some cool and practical new features in Swift that will improve the daily lives of iOS and OS X programmers.
Basic value types like String and Int can be secretly converted to Objective-C types like NSString and NSNumber. This has some interesting effects and implications.
A more declarative and testable way to display alerts in iOS.
Testing asynchronous code in Objective-C can be a real pain unless you make one simple change to the way you program it in the first place.
A list with descriptions of the main podcasts that have made me a better developer and keep me informed.
While developing a Rails backend using Devise for user management, I ran into trouble determining a user's status. This is how I solved that problem.
The way that I handle my to-do list so that I stay on task with minimal effort.
I hate being constantly distracted by incoming emails. To solve this problem I decided to drastically reduce the amount of emails I receive. This is how I did that.
Being and independent developer can be extremely stressful. It is important that you learn to accept, appreciate, and channel to turn it into something positive.
No person is an island. It is virtually impossible to be successful in anything that you do without having a good support structure around you.
A series of posts about how to be a better independent developer
A look at how pushing through discomfort is exactly where I want to be.
A system to make version control change sets more understandable at a glance.
A way to make all path changes on a CAShapeLayer be animated automatically.
My theory on how user experience's and code architecture's interests can converge. Good UX can encourage good code reuse and code reuse can encourage effective UX.
A library to allow binding a UITableView directly to a to-many property. The library automatically handles insertions and deletions as long as you make sure the to-many property emits KVO notifications.
Speech is still a relatively new interface. Technology is finally starting to catch up to the dreams that we've had since the invention of the computer itself: dreams of having natural conversations…
An extension to NSObject that adds the allows binding the properties of two different objects together, allowing for much more declarative and understandable code.
How I came to the decision to finally take the plunge and go independent.
Discusses a high level way that we can integrate UX designers better into Agile software practices.