SwiftUI Prerequisites: Key Paths

February 10, 2020

I’m finally jumping on the SwiftUI train, albeit tentatively, but before I get started actually working with the framework there’s a lot I need to catch up on - some basic prerequisites if you will. In this series (if I actually get around to…

Continue Reading →

A New Chapter

June 24, 2019

Earlier this month, June 3rd to be exact, I was laid off from Treehouse. I saw it coming, had time to prepare myself mentally and get a jump start on job hunting but it still felt extremely strange to actually hear the news. The people I worked with…

Continue Reading →

Building an AST Parser Pt 1: Scanning

September 01, 2018

Before we get into the nitty gritty of writing the actual parser, let’s get a lay of the land. Rob Nystrom does a great job with this and if you want the details you should check out A Map of the Territory chapter. I’ll give you quick tour. When we…

Continue Reading →

Using Sourcery to Implement Equatable Conformance

September 01, 2018

One of the most cumbersome things in Swift programming is having to implement conformance for enums. Let’s use an example from a project I’m currently working on - building an AST parser in Swift. In the project I use an enum to define tokens that…

Continue Reading →

Improving Swift Code Challenges at Treehouse

August 31, 2018

At Treehouse we test student’s code in the browser using a custom solution we call (as does everyone else) code challenges. The implementation details vary slightly depending on the language being tested but from the start testing Swift code has been…

Continue Reading →

Back at It

August 21, 2018

It’s been almost 4 years. Clearly I’m terrible at this. The last time I published a post I didn’t have any kids! I hear the trick is to not worry about crafting the perfect post and just get something out until you’re in a rhythm. Let’s give that a…

Continue Reading →

Pattern Matching in Swift

October 25, 2014

When playing around with Swift, something I’m trying hard to avoid is just implementing Objective-C patterns in my Swift code. It’s been tough, especially since the community is only just figuring out how things should be done. I’ve spent the past…

Continue Reading →

Behaviors and Breakpoints

May 25, 2014

In addition to learning about Xcode, another takeaway from CocoaConf was how to use behaviors and breakpoints to improve my workflow. Behaviors From the docs: A behavior preference pairs an event with a set of actions to perform in response to that…

Continue Reading →

Becoming an Xcode Power User

May 16, 2014

Until recently, I had notoriously bad typing habits and preferred using the mouse for most things. I decided to retrain myself lest I be shamed by developers worldwide and get better at using my tools sans mouse. Retraining went well but I still…

Continue Reading →

UI Prototyping with Quartz Composer and Origami

March 15, 2014

When working on my first app, I didn’t have any idea on what a proper workflow was. I designed the entire app using Sketch, but since a significant part of the interface was made up of animations triggered by touch events, I didn’t have any way to…

Continue Reading →

Reading List

February 01, 2014

I consider reading an essential part of my learning process. While I spend a majority of my time hacking away, I devote some (not enough) time to keeping up on certain blogs and newsletters. This reading is not just to improve my programming…

Continue Reading →

Setting Up My Static Blog

December 26, 2013

Roughly about a year ago I moved my blog from Wordpress over to a simpler, static implementation but I never wrote down the process. I did it rather haphazardly, cobbling together from a few different articles without really bothering to make note…

Continue Reading →

Managing Dependencies in Objective-C Projects

December 17, 2013

When working with Objective-C projects in Xcode, you will occasionally want to work with third party libraries. This can be a bit cumbersome as Xcode doesn’t have a clean solution. You can either link a static library, which involves setting up the…

Continue Reading →

iOS Memory Management: Automatic Reference Counting

December 04, 2013

In our previous post we went over the basics of memory management and the manual-retain-release model that was used before the introduction of ARC. With the introduction of ARC, most of the practices under the manual-retain-release model were…

Continue Reading →

Help, I'm Stuck

September 18, 2013

As a novice to programming, one of the most common places I find myself in is one of despair. There are many things you need to know to program effectively and early on, try as hard as you might, it’s inevitable to run into problems; that’s part of…

Continue Reading →

iOS Memory Management: The Manual-Retain-Release Model

September 01, 2013

Edit: This post was rewritten to be a bit more clear and was originally posted on the Treehouse Blog. Being a Business teacher at Treehouse, where our mission is to teach people to code, it’s lame to be someone who doesn’t know how to actually code…

Continue Reading →

Django Form Validation

August 16, 2013

On the current project I’m working on, users can create a subject and subsequent topics within each subject. A topic has to be unique within each subject, but not unique across the app. So Math as a subject can have only one Theory topic, but English…

Continue Reading →

Why Business Types Should Learn to Code

April 30, 2013

Being able to code is pretty cool. It really does feel like a superpower to be able to create something from next to nothing. While it is a great idea for everyone to learn to code, I think it is not just a good idea, but essential for entrepreneurs…

Continue Reading →

The Importance of Good Teachers

April 15, 2013

Teaching yourself seems to be in vogue as of late - partly due to the rising costs of education, but more due to the ease of access to quality educational resources. Blog posts proclaiming I taught myself to code in X days, months, or years always…

Continue Reading →

Goodbye Wordpress

February 16, 2013

I have nothing against Wordpress; I just don’t blog heavily enough for it to be my platform of choice. For a few entries here and there, logging in and going through the usual process in the admin panel was starting to passively annoy me. Ever since…

Continue Reading →