May the Force Touch be with You

Last week I bought a newly updated 13" MacBook Pro with an amazing new Force Touch trackpad. I love it and it’s hard to go back to the older trackpad on my MacBook Pro at work. I’ve already caught myself trying to press on the top corners of the older version and have tried to press harder a few times. At this week’s NSCoder Night I decided to play around with the new Force Touch API to see how it works.

Continue Reading »

Swift, you’ve changed so much

During the crazy week of WWDC 2014—right after the announcement of Swift—I decided to spend a little time trying to implement a quick weather app using the new language. I managed to wrap it up in a few hours (and spent way too much time trying to figure out how to parse JSON with a generically-typed dictionary) and open sourced it. There it sat for all these months while several versions of Swift were released.

Continue Reading »

Videos for iOS and Mac Developers

I haven’t been very disciplined in updating CocoaHeads.tv this year. One of my goals for CocoaHeads in 2015 is to improve the quality of videos I record and find ways to improve CocoaHeads.tv. I’ve been really inspired by some of the videos out there in the community. 360|iDev and 360|iDev Min The folks at 360 have been pretty good about providing the videos from sessions at their conference. Currently there are videos from the last two years of 360|iDev and this years 360|iDev Min.

Continue Reading »

My Developer Tools and Utilities List (2014 Edition)

I’ve often wanted to do a yearly roundup of the tools and utilities I use; if only as a log of things I use over time. I did this two years ago in 2012 and when I was thinking about getting back to blogging I wanted to update the list. The funny thing is not much has changed. I’m actually surprised that I don’t use that many tools. Hardware Retina MacBook Pro - Still working with my 2012 Retina MacBook Pro with 2.

Continue Reading »

Where I change my mind about CocoaPods

It has almost become a joke at our local NSCoder Night. Bring up CocoaPods and a long and heated discussion about whether it is a good idea will begin. I’ve always been on the “I don’t like it” side of the argument. Then today during our weekly “CocoaBrains” tech talk at Two Toasters we re-review this dependency management solution. Spoiler: I am changing my mind about CocoaPods. Reasons I didn’t like it I tried CocoaPods when it was pretty new.

Continue Reading »

Xcode Build Settings Script

The current project I’m working on is a static library. Part of the application includes a set of Calabash acceptance tests and a rake script to launch them. This means my build and test script needs to know the location of the built product to launch. When I first started this project back in the early days of Xcode 4, I decided to stick with the legacy build settings and use a build directory in the same location as the project.

Continue Reading »

Fall 2013 Conferences

2013 went by really quick. It seems like I just made my resolution to blog more (that didn’t turn out well). One easy blog post I normally like to do is a recap of any conference I attend. This fall I attended iOSDevCampDC, 360iDev, and CocoaConf Atlanta. Here is a quick review of each. iOSDevCampDC 2013 This was my second time going to iOSDevCampDC. This time the event was a little smaller but no less fun.

Continue Reading »

Objective-C Hackathon and JNJProgressButton

A few weeks ago I saw a tweet talking about how Objective-C lost it’s 10th place on the GitHub top language list. A bunch of developers thought this was a shame and started “Back on the Map” as a hackathon to get a bunch of developers committing some Objective-C to GitHub. I thought is was a cool idea and it is always fun to hack on an open source project, so I played along and made JNJProgressButton.

Continue Reading »

Fun with CGGeometry

Deep inside of the Core Graphics framework, there is a treasure trove of awesome known as CGGeometry.h. It isn’t as obscure as a lot of the corners of the Cocoa frameworks; last Decemeber NSHipster covered many of the details behind this collection of geometry tools. However, I still see a lot of code that does geometry the hard way. It often helps for me to visually see how things work together, so I put together the following samples for your geometry needs.

Continue Reading »

→ Implementing a language with LLVM

Writing a programming language is not something I’d ever attempt to accomplish. However, the idea of getting a better understanding of LLVM is very interesting. This tutorial isn’t a complete lesson in the compiler, but I think it will at least help you learn a little more about it..

“This tutorial runs through the implementation of a simple language, showing how fun and easy it can be.”

Sounds fun. I’m in.