Steve Wart is organizing the first meeting for the Vancouver iPhone Developers Group. Here are the details for the first meeting:
BCIT Downtown Campus
555 Seymour Street
Room 353
Thursday, October 16, 2008
6:30PM – 8:00PM
This is the agenda that Steve sent for the meeting:
It’s open to anyone who is interested in iPhone development, in particular just getting up to speed with XCode, Objective-C, memory management, and some of the more important classes and frameworks.
1. Introductions
2. Discuss idea of an iPhone developer’s group in Vancouver
3. Walk through a hello world app using interface builder
4. Next steps: set a follow-up meeting etc.
There is a chill in the air. I put on my fedora and rain jacket before stepping out the door. The sky is gray and there are leaves on the sidewalk. It is fall.
It’s amazing how fast the year has raced by.
There is something special about autumn. It is a transitory season. I always find myself in an introspective mood. Last year, I jumped on my motorcycle and disappeared for two weeks to think about where I was in life.
The answer did not exist on the beautful places that the motorcycle took me to. The answer existed in the person that was guiding the motorcycle.
I’ve always had mountains in my life. The small town I grew up in was snuggled in a valley. My childhood home was located on the Fraser River. Across the muddy Fraser was a mountain. It always loomed large through the picture window in the living room.
The mountain had been carved out of the landscape many years ago when the glaciers retreated after the last ice age. It took an epic event to put that mountain there.
Mountains exist to remind one of the epic.
The North Shore Mountains sit directly north of the downtown core. I always turn north after I put on my fedora and rain jacket and step out the door. I take the time to pause for just a moment before I head out on my way.
Mountains remind me not to accept bullshit in my life.
I went to school at Simon Fraser University. Choosing to go to school on top of a mountain just felt right.
I was 18 my freshman year of university. Although the legal drinking age in my jurisdiction is 19, I was crafty enough to sneak by the bouncers at the university pub.
I recall walking back to my dorm room after one night at the university pub. I recall standing on top of that mountain and looking down on the city. I recall not wanting to be the person I had been the first 18 years of my life. I recall wanting to be better.
I have been fairly successful over the last ten years. But it was time to redefine my definition of success.
My last epic encounter with a mountain was at the Pemberton Music Festival. Pemberton is also snuggled in a valley. The house I was staying at was located on the slopes of Mount Currie.
I sat on the slopes of that mountain one night after bands had left the stage. It was just myself, the Japanese Husky that lived in the house I was staying at, and the mountain.
I took out my Moleskine notebook and on the left page I wrote everything in my life that was unacceptable. On the right I wrote everything that I believed in and everything that I’ve aspired to be.

Moleskine
I decided then and there to be better.
Recently, I have been told that the problem with the markets has been ”investor confidence”. That doesn’t sound like a problem with the markets. That sounds like a problem with the investor.
The biggest investment in one’s life is one’s life itself.
It’s taken me a year to gain conifidence in what I believe in.
I want to be better. Magnitudes better. That’s why I will only work on things that I believe in.
I write this here because I want to hold myself to that promise. Hold me to that promise.
Allow me to fail. But don’t allow me not to try.
When teaching Objective-C, I’m finding that some have trouble reading method signatures. Reading Objective-C methods can be made easier if proper spacing and indenting is used.
This is what a method looks like in Objective-C:
- (ret-type) keyword:(arg-type)arg-name keyword:(arg-type)arg-name
It is much easier to read if it is typed as such:
- (ret-type) keyword:(arg-type)arg-name
keyword:(arg-type)arg-name
In the above signature, the minus sign implies that the method is an instance method. Class methods are prepended with a plus sign.
The first keyword can be thought of as the method name. In concrete terms, a method would look like this:
- (void) insertObject:(id)anObject atIndex:(NSUInteger)index
This is much easier to grok, if it is pictured like this:
- (void) insertObject:(id)anObject
atIndex:(NSUInteger)index
And it can be read as “insert an object of type id at an index”. This is easier to read at the point where a method is called.
Array* array = [[Array alloc] init]];
[array inserObject:anObject
atIndex:0];
The above can be read as “insert an object into array at index 0″. Objective-C is designed to be a self-documenting language. Interfaces are generally designed such that they can be read in real English.
I bookmarked this video on YouTube earlier. But really, it deserves a full post.
[youtube]http://www.youtube.com/watch?v=Ci2VGxweA7E[/youtube]
We know that money comes and goes. We know that possessions become a burden. They really become a burden. But story, story is so valuable and is painless to carry with us and it’s something that we share. And the pixies were pure story. And my grandparents, at this point, are pure story. Because six months after my grandmother died my grandfather died. And I would venture that ultimately the most important things in your life are going to be stories.
Steven Pressfield did not expect The Legend of Bagger Vance to be a successful novel when he decided to write it. He did not expect it to be adapted into a film starring Matt Damon and Will Smith.
This is the central theme that The War of Art expounds. An artist can not expect to create art. All an artist has is her work ethic.
Pressfield invokes Godwin’s Law early:
You know, Hitler wanted to be an artist. At eighteen he took his inheritance, seven hundred kronen, and moved to Vienna to live and study. He applied to the Academy of Fine Arts and later to the School of Architecture. Ever see one of his paintings? Neither have I. Resistance beat him. Call it overstatement but I’ll say it anyway: it was easier for Hitler to start World War II than it was for him to face a blank square of canvas
Forgive Pressfield for this particular fallacy in his logic because the rest of the book is fantastic.
The book is written in short chapters that have been laid out in easy to read bits. It is a book that can be read in an afternoon.
Resistance is portrayed as an invisible force that arises from within oneself. It is never directly defined. This is because Resistance manifests itself in different forms in different people. Procrastination, fear, hedonism in excess, and substance abuse are all forms of Resistance.
Resistance can only be felt; it can not be directly pointed to. It shows its face only when there is an important task at hand.
As a corollary, if Resistance is not felt when attempting a feat, then that task is truly not important.
Turning professional is the solution that is offered to combating Resistance. A pro commits fully to her craft. She is able to disassociate her ego from her work. This allows her to ignore criticism while exercising her craft.
An artist focuses on ruthless execution. Ruthless execution is the best way to combat Resistance.
Pressfield has written a number of novels detailing Greek history. It is no wonder that he introduces the concept of the Muses to move beyond Resistance. In Greek mythology, the Muses are the nine daughters of Zeus and Mnemosyne, the goddess of memory. The Muses are thought to inspire great art.
An artist must reap inspiration from somewhere. Pressfield uses the Muses as a label or placeholder for this inspiration. The important point is that an artist must acquire inspiration from a divine source to create great art.
The job of the artist is to define what divine means for herself. The best way for an artist to do this is to put her head down and work on her craft every single day.
The iPhone SDK has been updated at a blistering pace and the documentation has not kept up with the API changes as quick as it could be. Some of the information from Apple is inconsistent or incomplete.
It’s not really possible to have command-line applications on the iPhone. So, you need to have some sort of view that can talk to the window manager on the iPhone.
XIB stands for XCode Interface Builder. It is the filetype that is spit out by the Interface Builder application.
http://developer.apple.com/tools/interfacebuilder.html
NIB stands for NextStep Interface Builder. It is the legacy filetype and name. Back in the day, when Steve was banished from Apple, he started a company called NeXT. It was eventually purchased by Apple. But a ton of work on Mac OS X, Cocoa, Objective-C came from NeXT.
http://en.wikipedia.org/wiki/NeXT
The best cheat sheet I’ve seen for Objective-C is here:
http://developer.apple.com/iphone/gettingstarted/docs/objectivecprimer.action
You need to be logged in as a registered Apple Developer to access that page.
The general rule is that if you see an @ sign, it is a directive to the compiler. If you see lines of code wrapped in square brackets, [...], then it is a message to a Objective-C object.
A framework is kind of like a class library in the Java sense. Here is the Framework Programming Guide:
http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Frameworks.html
Whenever you have a question about a high-level concept, you can search for the accompanying guide here:
http://developer.apple.com/documentation/DeveloperTools/Xcode-date.html
NS stands for NeXTSTEP. Objective-C doesn’t have namespaces, so classes in frameworks get prefixes.
Newer frameworks get CF for Core Framework, CA for Core Audio, CM for Core Media, etc.
Railtown is beautiful, especially at night. I hope that us yuppies don’t descend on the neighbourhood too soon.
I left the party uncharacteristically early for myself. It was a great party and I bumped into a few old friends. I also met a few people that may become great new friends. However, thoughts of the class I would be teaching the next morning were weighing heavy in my mind.
It was a clear night and the taste of fall was in the air. My hands were in my pockets as I was not wearing a jacket.
Railtown is located just north of the Downtown Eastside. It’s safe and clean for the most part, but the neighbourhood does have its share of homeless and drug-addicted.
I hadn’t been to The Alibi Room since New Year. It felt like a lifetime ago and frankly I wanted to forget that night.
The City of Vancouver Waterworks is completely incompetent. There are chunks of streets around the city that have been uprooted for weeks at a time.
A big piece of sidewalk was missing from this street. In its place was a patch of dirt surrounded by traffic cones. And in the patch lay a person having a full-blown panic attack.
And I kept walking.
It only took a few steps until I felt that sharp pain in my gut. It was the sharp pain that is supposed to tell you when you are doing something wrong. I ignored it for a few moments because I had been feeling that gut instinct a little too often recently. She lay there in the patch dressed like an American Apparel model. I instantly recognized the blouse and the leggings. She was a mess but she was far too good-looking to be a homeless person.
“Are you okay? Do you need help?”
She was still in the midst of her panic attack. Breathing too heavy for words to come out. I took her by her hands and stood her up.
“Alright babe, let’s breathe,” I said as I tried to steady her by looking into her eyes. The word “babe” is my favourite term of endearment and I use it very rarely.
“What’s your name?”
“Elise,” she said. (Actually, that isn’t her name. It’s best if I don’t use her real name.)
“Well Elise, let’s put on our shoes.”
Her slippers were something an American Apparel model would wear, too. Elise wasn’t in the best shape to stand on her own. I leaned her up against a parked car and started picking the twigs out of her golden blonde hair.
“Were you at the Alibi Room?” I asked. She didn’t remember.
“Were you out with friends?” I asked. She didn’t remember.
She didn’t remember her phone number. She remembered the street she lived on but didn’t remember the house number.
The logical part of her brain had completely shut down and the emotional part of her brain was in charge now.
A waitress walked out of the Alibi Room and asked the same questions.
“Why don’t you go away!” snapped Elise as she stood up straight and raised her nose trying to look proud. She had that catty tone of voice that women get when they are being judged. Elise had probably been the popular girl growing up. Always having to compete, always being judged.
As the waitress walked away, Elise slumped and returned to her old pose.
We walked a few steps to the curb and sat down.
“This is going to sound vain. I’m not supposed to have problems. I’m beautiful.”
She was beautiful and I did understand. We all have hairshirts that we wear and have burdens that we must bear. The world’s expectations must have been weighing heavily on her that night.
She threw up a little before resting her head on my shoulder. She was snotting on my one-of-a-kind t-shirt that I paid way too much money for. I would have to hand wash it the next morning, but I didn’t mind.
It was a clear night and I just stared up at the stars.
“I stink.”
“Yeah, you smell a little bit.”
We sat on the curb and talked. It was starting to get late and I was running out of options. Elise had trouble spelling her last name. I had my phone on me and I tried to Google her and look her up on Facebook. I was able to find her profile, but she would have to approve me as a contact before I could see her contact information. She was in no state for that happen.
I walked a few steps away and dialed 911. It was my last option.
I passed along the details I had to the dispatcher. He asked for her age.
“Elise, how old are you?”
She didn’t remember. I told the dispatcher she was 22.
Two squad cars arrived a few minutes later.
“Elise, stand up. These guys are going to take care of you now.”
“Oh my god. You guys are freaking me out,” she said as I took one of the officers aside.
I whispered the details of what happened.
“Whoah. She must have been drugged.”
The cops were taking care of her now.
With a shoulder full of snot and tears and a renewed sense of my own humanity, I walked away without saying bye.
I just finished reading The War of Art by Steven Pressfield. I thought I would share a quote:
These are serious fears. But they’re not the real fear. Not the Master Fear, the Mother of all Fears that’s so close to us that even when we verbalize it we don’t believe it.
Fear That We Will Succeed.
That we can access the powers we secretly know we possess.
That we can become the person we sense in our hearts we truly are.
…
We know that if we embrace our ideals, we must prove worthy of them. And that scares the hell out of us. What will become of us? We will lose our friends and family who will no longer recognize us. We will wind up alone, in the cold void of starry space, with nothing and no one to hold on to.
Of course this is exactly what happens. But here’s the trick. We wind up in space, but not alone. Instead we are tapped into an unquenchable, undepletable, inexhaustible source of wisdom, consciousness, companionship. Yeah, we lose friends. But we find friends too, in places we never thought to look. And they’re better friends, truer friends. And we’re better and truer to them.
I recently shutdown a number of accounts at social networking sites. This site contained a number of widgets and links to those sites. So, I decided it was time for a little bit of a facelift to the site’s theme.
The new theme is meant to be much more clean and compact. The main page should load much faster as it doesn’t contain any images or widgets.
I also took the time to update my Bio. I actually hadn’t updated since I started Smartful Studios. If you’ve been wondering what I look like, it also contains a picture.
This site will display with a custom theme if you visit using Mobile Safari on your iPhone. Please take the time to install the WPTouch plugin if you run a WordPress site. Here is a screenshot of what it should look like from your iPhone:

Mobile Safari on iPhone
If you subscribe to my RSS feed you probably already see the pages I bookmark. Now you can see what I’m up to on my Lifestream page. Some people call this an Activity Stream, microblog, or μblog. You can think of it like the status updates on Facebook.