About Me

All Posts

2017

April

App Case Study - Love Laugh Read Books

written by Andrew Wagner on

A look at the interesting technical challenges I ran into while developing this app.

more...

January

5 Core iOS Competencies to Be a Great Hire

written by Andrew Wagner on

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

more...

Deploying Server-Side Swift

written by Andrew Wagner on

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.

more...

Deploying Server-Side Swift

written by Andrew Wagner on

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.

more...

5 Core Swift Competencies Before You Get a Job

written by Andrew Wagner on

A list of skills, beyond just the ability to get the job done, every Swift developer should know before they get paid to develop.

more...

Filling Holes in Swift on Linux

written by Andrew Wagner on

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.

more...

Learning Swift, Server-Side Swift, and the Future

written by Andrew Wagner on

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.

more...

2016

April

The Most Difficult Thing I've Ever Done - Writing a Technical Book

written by Andrew Wagner on

An in-depth discussion of my experience writing a technical book about learning Swift.

more...

2014

August

Practical Use for Curried Functions in Swift

written by Andrew Wagner on

An practical example of how curried functions in Swift can be useful for implementing a logger

more...

July

Swift KVO Substitute: Observable Variables

written by Andrew Wagner on

My attempt to implement a KVO replacement purely in Swift

more...

Getting Started With Swift

written by Andrew Wagner on

A list of key concepts to know when getting started with Swift and links to resources to stay current with its development.

more...

What is an Optional in Swift

written by Andrew Wagner on

A summary with examples of what an Optional is in Swift

more...

Uses for Implicitly Unwrapped Optionals in Swift

written by Andrew Wagner on

A list with concrete examples of when and when not to use Implicitly Unwrapped Optionals in Swift.

more...

June

7 Cool Features in Swift

written by Andrew Wagner on

Concrete examples for some cool and practical new features in Swift that will improve the daily lives of iOS and OS X programmers.

more...

Swift’s Weird Handling of Basic Value Types and AnyObject

written by Andrew Wagner on

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.

more...

March

Testing Asynchronous Code in Objective-C

written by Andrew Wagner on

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.

more...

Better UIAlert Handling and Easier Testing

written by Andrew Wagner on

A more declarative and testable way to display alerts in iOS.

more...

February

Be A Better Indie - 5. Listen to Podcasts

written by Andrew Wagner on

A list with descriptions of the main podcasts that have made me a better developer and keep me informed.

more...

Be A Better Indie - 4. Create a Singular To-Do List

written by Andrew Wagner on

The way that I handle my to-do list so that I stay on task with minimal effort.

more...

Devise: determine unconfirmed, confirmed, or not signed in user

written by Andrew Wagner on

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.

more...

Be A Better Indie - 3. Trim Your Incoming Email

written by Andrew Wagner on

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.

more...

January

Be A Better Indie - 2. Accept, appreciate, and, channel the stress

written by Andrew Wagner on

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.

more...

10 Ways to Be a Better Independent Developer

written by Andrew Wagner on

A series of posts about how to be a better independent developer

more...

Be A Better Indie - 1. Cultivate A Support Structure

written by Andrew Wagner on

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.

more...

2013

October

Comfortably Uncomfortable

written by Andrew Wagner on

A look at how pushing through discomfort is exactly where I want to be.

more...

Changes at a Glance

written by Andrew Wagner on

A system to make version control change sets more understandable at a glance.

more...

June

Implicit Animation for CAShapeLayer's Path

written by Andrew Wagner on

A way to make all path changes on a CAShapeLayer be animated automatically.

more...

February

Enforce Good UX Through Reusable Code

written by Andrew Wagner on

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.

more...

Bind a UITableView to a Property

written by Andrew Wagner on

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.

more...

The 2 Biggest Challenges in Speech UX

written by Andrew Wagner on

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…

more...

January

Objective-C Bindings

written by Andrew Wagner on

An extension to NSObject that adds the allows binding the properties of two different objects together, allowing for much more declarative and understandable code.

more...

Taking the Plunge

written by Andrew Wagner on

How I came to the decision to finally take the plunge and go independent.

more...

UX and Agile

written by Andrew Wagner on

Discusses a high level way that we can integrate UX designers better into Agile software practices.

more...