Programming Resources

This is a list of some good resources I’ve come across in my time trying to learn programming. It isn’t comprehensive, but I’ve had some people ask about resources to look into, so I thought I’d put my list together in one place. If you have a good resource you think is worth adding, let me know and I’ll take a look. Getting Started with Swift/iOS/MacOS The Swift Programming Language Guide Read this!...

December 6, 2018 · 2 min

My Journey Into App Development

The Kindling My journey to start developing software as my livelihood took a while. Looking back, I realize that I was always sort of around computers. I grew up in the age when regular people started using the internet. I had to take a few typing and computer classes in school as a kid. I had a few classes that touched on web development with various tools. My dad also did some work with computers and we always had at least one desktop around the house, and often more than one....

September 3, 2022 · 11 min

Pre Build Actions

I ran into this cool little piece of functionality in Xcode the other day that helped me solve a real problem. I have never seen anyone mention that you can do this, so I’m sharing it here in the hopes that it will help someone else out. I was recently working with a framework which uses a configuration file. This file is stored in JSON and is bundled with the app....

August 29, 2022 · 3 min

Stop Throwing Away Errors

We all know how it goes when we are trying to get something working. We want to get there as fast as we can and we get focused on the “happy path”. Maybe we’re not that familiar with the technology/language/concept, but we have one specific goal or task we are trying to achieve and we don’t care so much about the edge cases or what will happen when things go wrong....

August 27, 2022 · 14 min

5 Reasons to Use Typealias

Swift has many features that allow us as the users of the language to customize how we write code, while still giving us all the protections of a statically typed language. Today we’re going to talk about one of those features which seems small, but it packs a lot of punch. The typealias keyword lets you define a “type alias”, a custom name for a class, struct or any other existing type in Swift....

May 25, 2022 · 8 min

Writing Short Code Isn't The Point

I don’t know about you, but I have spent a lot of time trying to write code in the shortest, most elegant way possible. I have put a lot of thought and time and effort into it over the years. And I see it a lot in other people’s code as well. I have seen it from both junior and senior developers. I have seen it in new code bases and mature code bases, both large and small....

March 13, 2022 · 9 min

Fixing an Unfixable Bug

If you have been an iOS developer for any length of time, you have certainly come across bugs that are hard to understand and hard to track down. And if you have an app out in the world that real human beings use you have probably encountered a bug or crash that is happening for some subset of your users, but that you cannot for the life of you reproduce on your device....

March 6, 2022 · 7 min

Algorithms in Swift - Intro

I am looking for an excuse to learn more about algorithms, so I am going to write a series of posts that cover some of the most common ones and examine at what they might look like in Swift. I know algorithms often feel like an academic topic – something for nerds in computer science classes. They can be intimidating because their explanations and examples tend to be math-heavy and there is a lot of hard-to-decipher jargon out there about them....

January 14, 2019 · 10 min

Advent of Code 2018 - Set up

Original Set up The first (meta) problem with Advent of Code is to figure out how you’re going to organize your code for these challenges. How get the input into a usable format, how to keep things in order and minimize the time it takes, etc. At first, I decided to code my solutions in Swift in an Xcode playground. The organization I landed on for that was to make a blank source file and to declare a public let day1Input: String in there....

December 10, 2018 · 6 min

Advent of Code 2018 - Day 7

Problem 1 My understanding of Day 7’s first problem is this: given a series of instructions like the one below, return a String which is the correct order in which the instructions will be executed. The sample data returns "CABDFE". Step C must be finished before step A can begin. Step C must be finished before step F can begin. Step A must be finished before step B can begin. Step A must be finished before step D can begin....

December 8, 2018 · 9 min