Latest Publications

Big Nerd Ranch: My Final Verdict

Big Nerd Ranch LogoOver a week has now passed since I attended the Big Nerd Ranch and although I probably should have wrote this entry last week, I had to adjust back to normal life at home.

So, was it worth it all? Yes, I feel it was. It was probably the best learning experience I’ve had the pleasure of participating in. Having waited this long to write this post, I have a more objective view of what transpired. It’s not that I came away from the Big Nerd Ranch an absolute expert in iPhone development, on the contrary, I’m still very much a novice, but what it has given me is a solid foundation on which I can better build upon; one which would have taken a very long time to build on my own or at home. My situation at home is busy, I have a wife and 6 year old which keeps me busy, but I also have a busy work schedule, which at times, goes beyond the normal nine to five grind. So, being in such an environment, I may have only an hour, maybe two, per night to really dedicate time to working on iPhone development. At the Big Nerd Ranch, I was completely absorbed in learning about the iPhone, from the start of the day to the later hours in the evening, I was learning! A very different experience than something like conference, or being at a corporate training center, where breaking for lunch usually meant seeking food elsewhere, and class would normally end at 5pm or 6pm, then you were on your own. Over at Banning Mills, we were out in the country, nowhere near the bustling city of Atlanta, so there was no temptation to go running off to see the sights. We worked from 9:00 am till 6:30pm, with a break for breakfast, lunch, a brief hike, and dinner (no need to seek food!). We never left the facility, and we ate together as a group, so we all got to know each other. The teacher, Mark (for the weekend), and Joe (for the week), were with us, and stayed after dinner in the lab till 9pm or 10pm each night so we can continue working.

So where am I at now. Well, I’ve not really created anything solid on the phone, but I’m comfortable using XCode, reading the syntax, and able to at least write code and deploy it to my phone. I can easily look at all the resources on the web and understand what they are trying to accomplish. The overview of C/Objective-C, which was a little slow at first was very important for me, since I’ve studied C in the past, I hadn’t done any serious work in it, so having that foundation was extremely helpful for the remaining iPhone classes. The content got increasingly harder as the week progressed. The hardest part had to be the OpenGL ES section, it was alot of typing, and probably the only part of the bootcamp I didn’t get much out of, except an understanding of how hard raw OpenGL work can be.

In the end, I’m happy with what I learned and I’m also happy to have a group of people that have gone through the same thing I have and can call upon for help and suggestions. I would recommend anyone that’s interested in learning iPhone development to attend their bootcamp!

Big Nerd Ranch Day 07

Big Nerd Ranch LogoToday ended day seven, the last day of the Big Nerd Ranch. It wasn’t a full day, we ended the day at noon. We had lunch and then it was off to the airport. For the last day we covered the address book, bonjour, preferences, and sqllite. Being a half day and having done so much over the past several days most of us really couldn’t concentrate on the course work.
The bus ride back was interesting, since all of us were on one bus. We all downloaded the Bump app and bumped each other our contact information, which was pretty humorous. I’ve been waiting at the airport for a while. I didn’t realize the class ended early, or I would have taken an early flight. Luckily I wasn’t alone, James Ramsey, one of my fellow Nerds also did the same thing so we waited together. It’s now 9pm, so my flight should be boarding soon. I’ll summerize my experience tonight. I can’t wait to get home.

Things Coming Soon

Just a note about things I plan to write about in August.
My wife bought me the Logitech MX Revolution. It’s not a new mouse, in fact, it’s over 2 years old, but Logitech doesn’t seem to have anything new or better in their lineup. How does it hold up to my expectations? Digging in my basement I discovered my still boxed Logitech CyberMan 3D mouse! I’ll also delve into some gaming, by reminiscing about my MMO experiences as I search for the next time sink. Lastly, maybe I’ll get my act together and properly theme my web site!

Big Nerd Ranch Day 06

Big Nerd Ranch LogoToday ends the last full day of the Big Nerd Ranch iPhone Bootcamp. Hard to believe tomorrow’s a half day and we all go our separate ways, it’s even harder to believe the amount of information that’s been crammed into my skull over the last 6 days!

Today’s lessons were WebKit, Web Services, Media and OpenGL ES. The first three were very good and was of particular interest to me, since being a web developer, and web services are the way things are headed. The Media portion was fun, we got to learn how to play music, video and audio clips. OpenGL ES was a tough chapter. The exercise was very long, lots of typing, but it served as an intro to how difficult OpenGL ES is… There was an exceptional amount of code used to establish an OpenGL ES View, but once we were done, it wasn’t hard to see why OpenGL ES is powerful. We animated a box on the screen, which doesn’t sound that fantastic, but the animation on screen was exceptionally smooth and fast; this became even evident when I randomized the color background every screen refresh, which showed how has OpenGL can cycle colors, while animating the box.

The highlight of the day was when 11 of us took advantage of the Banning Mill’s Zip Line Tour. I’m not sure if having been working so much with the iPhone that I became more bold, but this tour had us start off a very high tower and had us riding a cable across the property at 40 miles/hour 150feet in the air — and I’m afraid of heights too! We ended up going across three zip lines and crossing several cable suspension bridges high above the valley. Quite an experience, and one that I’m glad I didn’t miss out on, I’ll post some videos and photos when I return home and have a chance to process them.

Tomorrow, we go over a few last topics, the Address Book, Resources, and we’ll touch on SQLLite. by 1pm we’ll be back on a bus to the airport and we all return to our normal lives, but better equipped to build the next great iPhone app!

Big Nerd Ranch Day 05

Big Nerd Ranch LogoDay five draws to a close. The course material got much more challenging during the day 4 and 5. Today we continued with the table views exercises we began on Day 4 and expanded on what we had done to include editing table data and saving the information out to the internal disk. We also added an additional screen for editing our table data which was accessible through a new view. Lastly, our application included the ability to utilize the camera to add an image to our data and also present a thumbnail in our table cells. We moved onto Core Animation and Multi-touch. A very intense day.

Even after dinner, a majority of us stayed behind to continue working on the exercises or our own projects. Joe helped out and even gave us a sample look at a game he hopes to publish to the app store. He went into quick details about how the project was structured, and showed us how it contains many of the things we have learned so far.

I spent the time after dinner to redo the UITableView project, because it had so many components, I sped through them the first time, typing more than understanding the code, but this time, I went through the exercises and spent more time on the spots that I didn’t really understand. It’s now past midnight, so I’m headed to bed. Tomorrow is our last full day. We’re going to go over WebKit, Webservices, OpenGL ES and other topics. Tomorrow a few of us are also planning on going to the Banning Mill’s Zip Line’s Tour… I’m a bit apprehensive, since I’m not a fan of heights, but I’m sort of looking at it as a right of passage, after having spent so much time with the iPhone.

Big Nerd Ranch Day 04

Today was a big day. We learned to work with the Accelerometer, detect and handle rotation, work with multiple views using tabbed views and the navigation bar, and lastly we learned to work with data and table views. Today was probably one of the more grueling days so far. It all made sense, but it was an incredible amount of detail. Particularly hard today was working with Table Views, which is pretty essential in writing any iPhone application. We made an app that loaded data from a random object generator and put them into a table view, which we then coded to allow us to delete and add data to the table, then adding a screen which let us modify records. Aaron Hillegass came tonight and reviewed some Objective-C material with us. We mainly went over memroy management again, and reinforced how Objective-C is very pointer centric; a concept I need to come to grips with, since Actionscript and Java don’t use this concept.

Tomorrow, after giving us time to continue with the Table Views exercises, we go into the Camera, and I think we’ll also begin to get into Core Animation.

Big Nerd Ranch Day 03

Big Nerd Ranch LogoToday ends Day three of the Big Nerd Ranch. Mark finished his overview of Objective-C and now it was Joe’s turn to take us into iPhone development.  Our first appication was a simple quiz application that served as an introduction to using Xcode’s Window Based Application template, Interface Builder, and deploying an application to our iPhone. It wasn’t anything fancy, we had an NSArray of 3 questions and answers that populated labels on the screen when one of two buttons were pressed. We went over the necessity for good memory management again, which is critical because unlike other environments (like your pc or mac desktop) there is no automatic garbage collection.

From the quiz application we continued onto building an application that utilized Apple’s CoreLocation library to pull our GPS location and learn about delegates. It was quite interesting, the only thing I can equate delegation to is setting up an event listener, or an ajax call. Where, once the delegate is setup to run, it will go about doing it’s task and report back when it’s completed it’s task without the need to constantly poll or ask for a request completion. Lastly, we continued onto an introduction to CoreGraphics, where we learned about Views and made a simple application that used CoreGraphics to draw shapes on the screen, add text and establish a ScrollView, which allowed for panning and zooming of the window.

It was a large amount of content to cram into a day, but it was very exciting to see the pieces of our hard work over the past few days come together.

Big Nerd Ranch Day 02

Big Nerd Ranch LogoDay 2 comes to an end. Mark finished teaching us about Objective-C. It was alot of material today. Much more about objects, inheritance, subclassing, Categories, Memory Management and Protocols to name just a few. The topic of Memory Management was very helpful, and all along Mark has been showing us how the areas of memory are reserved and used as our applications run, this is essential knowledge, since the iPhone lacks any garbage collection capability, and after going through this, I have a much better understanding of this topic now. The topics of Categories, Delegates, and Protocols were not quite as clear. Protocol’s I seem to understand, but the Categories and Delegates, I understand the concept, but executing them is a little hard to follow.

Our nature hike was a good one today, we went down to an old mill on the property, it was actually a much harder hike than yesterday, since the terrain was a little more rugged. But it was enjoyable, and got the blood flowing.

Mark left today, and it will be our next instructor Joe’s turn, and tomorrow we start building actual iPhone applications. All I can say is that having gone through the Objective-C course, I’m much better prepared to tackle iPhone development because now i can better understand the syntax of the language, and understand why things are written the way they are.

Big Nerd Ranch Day 01

Big Nerd Ranch LogoToday ends Day One of the Seven Day boot camp. Today was an intensive review of C, and an introduction to Objective-C. For me, it was a great class. Mark, our instructor did a great job explaining the topic. We started off slow, with variables, then going into loops, functions, structures, enumerations, and moving onto extending the C language and an introduction to Objective-C and object oriented programming. All at the same time building up our familiarity with XCode. It was a large amount of data to absorb, and even though there are similarities to Java and Actionscript, Objective-C definitely has it’s quirks to get used to. Having met many of the class members already over meals, it was good to see how much of a diverse group we have. There are some that have never programmed before, others haven’t in a long time, and some that come from different programming backgrounds. A few own their own company, and others work for companies like Adobe. We even have someone from Apple, who is one of their Genius technicians. I’m definitely enjoying the environment. It’s nice to be in a place that isn’t an office building. The nature walk in the afternoon was great, it really got the blood flowing and got me out of my oncoming food coma.

Tomorrow will be more hardcore Object Oriented programming in Objective-C. I know most of the concepts of OOP, but application in Objective-C is different than know about OOP.

Big Nerd Ranch Day 00

Big Nerd Ranch LogoI arrived in Atlanta without issue today. The flight was a little bumpy due to turbulance, but otherwise was smooth. It was a long walk to the baggage collection area in the airport. Once I got my bag, I waited for the shuttle bus to arrive. I had to wait for the 5pm shuttle, because my flight got me in at 2:30pm, missing the first shuttle. While waiting, I met 6 other Nerd’s there, and it was a pleasent bus ride (about 50 minutes) to the Banning Mills Resort.

The resort is out in the woods, and is a very pleasant country setting, probably the nicest place I’ve been to for training. Once checked into our rooms, we met for dinner with the others that had come with the 2pm shuttle. It was nice getting to know some of the people that I will be training with. They’re a pretty good bunch, all with varying backgrounds, most have not done any Objective-C programming before. But that will change tomorrow. Tomorrow morning, we begin the 2 day workshop of Objective-C! It should be a good class, and I’m looking forward to it.