Mar 13

Achievement unlocked: iOS Programming – The Big Nerd Ranch Guide 3rd Edition

Achievement unlocked: Despite being a busy father of three and having a day job I pour a lot of energy into, I finally managed to spend countless nights to work through @AaronHillegass’ and @joeconwaybnr’s excellent “iOS – The Big Nerd Ranch Guide 3rd Edition” (and the countless challenges presented therein). I attribute this to a) my generous intake of Monster Energy drinks late at night and b) the compelling way the material is presented.

The book is at it’s best when the authors take the reader through a series of chapters developing what at least remotely resembles a real-life application introducing new concepts along the way, like MapKit, UITableViews, UISplitViewControllers, UIGestureRecognizers or accessing Web services.

I especially appreciated the bottom-up approach of not using template applications to get up-to-speed quickly but starting from scratch instead which helps tremendously practicing basics over and over again.

The weaker parts of the book are those not dealing with “real-life applications” like the chapters on Core Graphics and Core Animation. Although those explain the technology in reasonable detail, they lack the motivation and “connection” of how to use those technology in a “useful” application.

A very minor complaint – The naming of variables is not very consistent across different chapters, I suggest either sticking with abbreviations or going with fully spelled variable names. (*)

But who am I to complain, I barely managed to cough up the hours every night to actually work through the book.

I learned a ton. Strongly recommended.

Off to creating my first iPhone app (you read it here first)…

(*) Run & hide, a nit-picker 😉

Mar 13

Developing a Vectorworks 2013 Plug-in, TDD-style – Updated Epilogue

The code

I have updated the project files for my series “Developing a Vectorworks 2011 Plug-in, TDD-style”.

Please download the Xcode 4.6 / Visual Studio 2010 project files (haven’t tested it explicitly, but should work with Visual Studio 2012, too) for use with Vectorworks 2013 including all the sources here – SimpleCabinet2013.zip. The folder SimpleCabinet2013 should be dropped into Vectorworks 2013 SDK’s Sources folder, like this:

Please note that the projects assume that the folder hierarchy is set up like this.

The project features two targets, a testing target named “CppUnitLite2” and the plug-in module shared library target, which outputs to /Applications/Vectorworks2013/Plug-ins. You will notice that all classes plus tests are contained in ExtObject.cpp. I’m doing this for small spikes – in real life, I would put each class in a separate file, no code in the header file etc.

The code drop features additional tests, refactorings and more usage of VWFC in SimpleCabinetCreator.

There’s also a Vectorworks document with a Simple Cabinet object included for your convenience.