Project Dependencies and Include Files in Xcode

I have read a lot of how-to guides on blogs over the past few years on how to set it up Xcode sub-projects so you can build your project, a dependent sub-project, and have all the header files and libraries be found. Invariably, this involves changing Xcode project settings both in your main application, and in the sub-project so that everything works out. This is wrong!

The proper way to build sub-projects is that a user of your sub-project does not have to do anything but:

  1. Include the .xcodeproj project file.
  2. Add the project to the top project’s dependencies.
  3. Link against the proper library.

If you are having to do more, then the sub-project was not designed correctly.

As it turns out, Xcode already does this right, but the proliferation of how-to guides usually get it wrong and make developers go through more hoops than they need to. Let’s walk through doing it the right way. Note: this post was written with Xcode 4.4 and 4.5 in mind, so older versions may have had different ways of doing things.

For the purposes of this example we need something simple. Let’s just write a Hello World application that uses an external framework to get the text – it will demonstrate all that we need. Also, we will only cover projects targeted for iOS within this post, but look for a follow-up post that discusses extending these projects to work on Mac OS X as well.
Continue reading Project Dependencies and Include Files in Xcode

Lessons Learned on using Chef from Development to Production

Over the past six-months, my team at Alert Logic started and deployed a project where we made heavy use of the Chef infrastructure automation tool. We decided to use Chef from the ground up in our development cycle, from initial coding and testing all the way through final production deployment. Here are some important lessons we learned from the experience.

My 2011 Leadville Trail 100 Experience

In August of 2011 I raced my first Leadville Trail 100 mountain bike event. I was lucky enough to get past the lottery system in February, and spent most of the rest of the spring and summer preparing for the event. This is the story of my training leading up to the actual event and the details of the event itself.

Continue reading My 2011 Leadville Trail 100 Experience

Comparing Colorado Snowpack – 2009 vs 2011

I managed to take a picture of the Taylor Reservoir this June in almost the same place as when I took a picture in June 2009. Both pictures were taken while riding on bicycle tours, but the results are very different.

In 2009, the picture was taken in late June, after a winter of relatively little snow. This year, the picture was taken in mid June, after a winter of very heavy snow and a long, cool spring.

It is also clear from the pictures just how low the reservoir level was this year compared to the past.

Taylor Reservoir in June, 2009
Taylor Reservoir in June, 2009

Taylor Reservoir in June, 2011
Taylor Reservoir in June, 2011

Clouds make for more awesome pictures.