TweetFollow Us on Twitter

NSConference 2010

Volume Number: 26
Issue Number: 07
Column Tag: Conferences

NSConference 2010

NSConference 2010

by Dave Dribin

What is NSConference?

NSConference is a multi-day conference put on by the venerable Steve "Scotty" Scott of the Mac Developer Network. Scotty does a lot of wonderful things for the Mac and iPhone developer community, including his podcast, the MDN Show. In 2009, he decided to branch out into putting on his own conference. This first year, the conference took place only in the United Kingdom. For 2010, Scotty expanded the conference to the United States and put on the conference in both the UK and US. In interest of full disclosure, I was a speaker at this year's conference.

The Structure

There were three days of sessions and one day of longer training workshops. The three session days were broken down into two days of Mac-related sessions and one day of iPhone-related sessions. As with most Mac and iPhone-related topics, however, there was a lot of crossover between the two types. For example, my talk was on clean code was part of the Mac sessions, but pertained equally well to iPhone programmers (at least I hope it did).

The sessions at the UK and US versions were generally the same. There were minor differences due to scheduling conflicts, and the speakers were free to change up their presentation slightly. I've included a list of all the sessions at the end of this article. The full-day workshops were classes concentrating on a single topic. The topics were generally quite technical in nature. Some were about specific APIs or technology, along the lines of presentations you might expect at Apple's WWDC. Others were topics that you would never see at an Apple sanctioned conference, and still others were more abstract in nature.

I was lucky enough to be invited to speak at this year's conference, which means I got to attend both the UK and US versions. The UK version was held in Reading, not too far from London, and the US version was held near downtown Atlanta, Georgia on the Georgia Tech campus. The UK version had the day-long workshops first, followed by the Mac and iPhone sessions while the US version had the day-long workshops after the other sessions.

Each session was about an hour long with about thirty minutes between sessions. The long breaks between sessions were nice because it allowed for socializing with other attendees. While the technical content of the sessions is no doubt the focal point, the social aspects of conferences like WWDC have been of great value to me. I was glad that Scotty recognized this and incorporated it as a core part of NSConference.

The Sessions

I'm not going to give opinions on any of the other sessions, as that would be a little awkward, given that I was a speaker. I can, however give a brief overview of my talk and then list all the presentations. The video of all sessions are available for purchase on the NSConference website. The video for the workshops are not yet available.

My Clean Code Session

My presentation was titled "Clean Code" and while technical, was not about any specific APIs or technology. Writing clean code is very important for real-world projects, in my opinion. While it is important for an application to function properly, it is only part of the problem we programmers face in day-to-day coding. Clean code, to me, is about the quality of the code itself. The quality of the code plays a huge role in how fast new features can be added or bugs can be fixed. Anyone who has been programming for more than a few years knows that spaghetti code is much harder to understand, and hence, to extend or modify.

The core of clean code, to me, is about readability and understandability. The compiler doesn't care how well the code is written or what language it was written in. Thus code should be written with other programmers as a prime audience. A quote I used from the Abelson and Sussman textbook, Structure and Interpretation of Computer Programs adequately describes how I feel about this:

"Programs must be written for people to read and only incidentally for machines to execute."

I gave some specific tips on what clean code is and how to recognize it, such as the Don't Repeat Yourself or DRY principle along with the advantages of small classes and methods. I went over a few "before and after" examples of how shortening methods to about fifteen lines of can drastically help readability. I also discussed the differences between the main techniques to reduce coupling between different layers of the application: delegates, notifications, and key-value observing. If you want to hear more about these topics, along with why I think the singleton design pattern is almost always a design smell and should be avoided, download the full video, complete with some good Q&A.

List of All Sessions

Here is a full list of all the sessions. Remember that if you find any of these interesting, you can purchase videos of many of these on the NSConference website.

"Engineering Life" - Mike Lee

"Spelunking OS X" - Jonathan "Wolf" Rentzsch

"Clean Code" - Dave Dribin

"Signing Your Apps" - Graham Lee

"Data Presentation in Mac Apps" - Drew McCormack

"Core Animation" - Marcus Zarra

"Cocoa Design Patterns that Leverage the Objective-C Runtime" - Jeff LaMarche

"Brushing Up on Open CL" - Andy Finnell

"Meet the User" - Mike Lee

"Hard and Fast OpenGL ES" - Jeff LaMarche

"Core Data Synchronization with ZSync" - Marcus Zarra

"The Physics of Sumo" - Drew McCormack

"Supporting Online Play and GameKit in Your Application" - Jeff LaMarche

"The Many Faces of Data Persistence" - Aaron Hillegass


Dave Dribin has been writing professional software for over eleven years. After five years programming embedded C in the telecom industry and a brief stint riding the Internet bubble, he decided to venture out on his own. Since 2001, he has been providing independent consulting services, and in 2006, he founded Bit Maki, Inc. Find out more at http://www.bitmaki.com/ and http://www.dribin.org/dave/.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

VOX 2.8.24 - Music player that supports...
VOX just sounds better! The beauty is in its simplicity, yet behind the minimal exterior lies a powerful music player with a ton of features and support for all audio formats you should ever need.... Read more
OmniPlan 3.7.1 - Robust project manageme...
With OmniPlan, you can create logical, manageable project plans with Gantt charts, schedules, summaries, milestones, and critical paths. Break down the tasks needed to make your project a success,... Read more
Dropbox 24.4.17 - Cloud backup and synch...
Dropbox is an application that creates a special Finder folder that automatically syncs online and between your computers. It allows you to both backup files and keep them up-to-date between systems... Read more
WhatsApp 0.2.4238 - Desktop client for W...
WhatsApp is the desktop client for WhatsApp Messenger, a cross-platform mobile messaging app which allows you to exchange messages without having to pay for SMS. WhatsApp Messenger is available for... Read more
SteerMouse 5.1 - Powerful third-party mo...
SteerMouse is an advanced driver for USB and Bluetooth mice. It also supports Apple Mighty Mouse very well. SteerMouse can assign various functions to buttons that Apple's software does not allow,... Read more
OmniPlan Pro 3.7.1 - Professional-grade...
With OmniPlan Pro, you can create logical, manageable project plans with Gantt charts, schedules, summaries, milestones, and critical paths. Break down the tasks needed to make your project a success... Read more
1Password 6.7 - Powerful password manage...
1Password is a password manager that uniquely brings you both security and convenience. It is the only program that provides anti-phishing protection and goes beyond password management by adding Web... Read more
Adium 1.5.10.4 - Popular instant messagi...
Adium is a fast and free instant messaging client which supports AIM, ICQ, Jabber, MSN, Yahoo!, Google Talk, Yahoo! Japan, Bonjour, Gadu-Gadu, Novell Groupwise, SIP/SIMPLE (Text), and Lotus Sametime... Read more
File Juicer 4.57 - $18.00
File Juicer is a drag-and-drop can opener and data archaeologist. Its specialty is to find and extract images, video, audio, or text from files which are hard to open in other ways. In computer... Read more
WhatsApp 0.2.4238 - Desktop client for W...
WhatsApp is the desktop client for WhatsApp Messenger, a cross-platform mobile messaging app which allows you to exchange messages without having to pay for SMS. WhatsApp Messenger is available for... Read more

Latest Forum Discussions

See All

Olli by Tinrocket (Photography)
Olli by Tinrocket 1.0 Device: iOS iPhone Category: Photography Price: $2.99, Version: 1.0 (iTunes) Description: Get drawn in with Olli by TinrocketOlli instantly turns your everyday moments into hand-drawn art and animations. • Watch... | Read more »
Penarium (Games)
Penarium 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: | Read more »
Fire Emblem Heroes is way more profitabl...
Profits for Nintendo's mobile game Fire Emblem Heroes are apparently impressive enough to beat out other Nintendo titles likeSuper Mario Run, despite having 10 times fewer downloads. [Read more] | Read more »
Classic series Robot Unicorn Attack 3 no...
The classic Adult Swim browser game, Robot Unicorn Attack, branched off into a series of popular mobile games. Now, the latest entry into the series, Robot Unicorn Attack 3, is available for iOS and Android mobile devices. [Read more] | Read more »
Sudoku Sweeper (Games)
Sudoku Sweeper 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: A minimalist mashup of Minesweeper and Sudoku. Logic puzzle perfection. Every row, column and zone contains a bomb and one of... | Read more »
Under Leaves (Games)
Under Leaves 1.0.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0.0 (iTunes) Description: Journey into the forest, the jungle or the depths of the deep blue sea. Find chestnuts for the pigs, a caterpillar for the... | Read more »
Ninja Pizza Girl (Games)
Ninja Pizza Girl 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: In the not-so-distant future, rampart traffic congestion has resulted in only one way to deliver pizzas across town in thirty... | Read more »
SCRAP (Games)
SCRAP 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: That day, for no apparent reason, SCRAP decided to wake up and run. He had to, because his activation was a mistake the "Factory" could... | Read more »
The Bunker (Games)
The Bunker 1.1 Device: iOS Universal Category: Games Price: $3.99, Version: 1.1 (iTunes) Description: The critically acclaimed console hit "The Bunker" comes to iOS, The groundbreaking live-action thriller adventure set in a real... | Read more »
Die With Glory (Games)
Die With Glory 1.2.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.2.0 (iTunes) Description: Die with Glory is an epic adventure game where your goal is to die in glorious fashion. You must help Sigurd, a brave old... | Read more »

Price Scanner via MacPrices.net

New System Clock for macOS by B-Eng Now Avail...
Fehraltorf, Switzerland based B-Eng has announced the release and immediate availability of System Clock, the company’s new system monitor and information app developed exclusively for macOS. System... Read more
DEVONtechnologies Celebrates 15th Anniversary...
DEVONtechnologies celebrates its 15th company anniversary with a 30% discount on all its software products from May 1st through 5th, 2017. In spring 2002, DEVONtechnologies opened its website and... Read more
WaterField Designs Invites Customers to Help...
San Francisco based WaterField Designs invites customers and air travelers to participate in developing the next generation in-flight travel case, the Air Porter. Frustrated with limited legroom,... Read more
Save up to $260 with Apple refurbished 12-inc...
Apple has Certified Refurbished 2016 12″ Retina MacBooks available for $200-$260 off MSRP. Apple will include a standard one-year warranty with each MacBook, and shipping is free. The following... Read more
Digital Paper Tablet Offers Distraction Free...
I typically spend 8-10 hours a day gazing at the screens in my laptops and iPad, as tools of my livelihood, I don’t as a rule use electronic devices for pleasure reading. I subscribe to a daily... Read more
“Today at Apple” Bringing New Educational Ses...
Apple has announced plans to launch dozens of new educational sessions next month in all 495 Apple Stores ranging in topics from photo and video to music, coding, art and design, and more. The hands-... Read more
Smart Finance Free Comprehensive Personal Fin...
Moscow-based indie developer, Alexander Survillo has announced the release and immediate availability of Smart Finance: Personal Finance, Budget & Money 1.1.4, an update to his comprehensive... Read more
12-inch 1.1GHz Retina MacBooks on sale for $1...
B&H has 12″ 1.1GHz Retina MacBooks on sale for $100 off MSRP. Shipping is free, and B&H charges NY & NJ sales tax only: - 12″ 1.1GHz Space Gray Retina MacBook: $1199.99 $100 off MSRP - 12... Read more
13-inch 2.7GHz Retina MacBook Pro on sale for...
B&H Photo has the 13″ 2.7GHz Retina MacBook Pro on sale for $130 off MSRP. Shipping is free, and B&H charges NY & NJ tax only: - 13″ 2.7GHz/128GB Retina MacBook Pro (MF839LL/A): $1169 $... Read more
15-inch 2.2GHz Retina MacBook Pros available...
B&H Photo has the 15″ 2.2GHz Retina MacBook Pro available for $200 off MSRP including free shipping plus NY & NJ sales tax only: - 15″ 2.2GHz Retina MacBook Pro (MJLQ2LL/A): $1799.99 $200 off... Read more

Jobs Board

*Apple* Mac Computer Technician - GeekHampto...
…complex computer issues over the phone and in person? GeekHampton, Long Island's Apple Premium Service Provider, is looking for you! Come work with our crew Read more
*Apple* Retail - Multiple Positions- Chicago...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* Systems Engineer - California Polyte...
Cal Poly, San Luis Obispo Apple Systems Engineer Department: ITS - Customer & Tech Support (134900) College/Division: Academic Affairs Salary Range: Position Read more
*Apple* Mobile Master - Best Buy (United Sta...
**501042BR** **Job Title:** Apple Mobile Master **Location Number:** 000416-East Lansing-Store **Job Description:** **What does a Best Buy Apple Mobile Master Read more
Best Buy *Apple* Computing Master - Best Bu...
**501195BR** **Job Title:** Best Buy Apple Computing Master **Location Number:** 000211-Colorado Blvd-Store **Job Description:** **What does a Best Buy Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.