Feb. 5 ’10

BFF!
 
 

Jan. 31 ’10

Security
 

Jan. 30 ’10

Young at Heart
 

In Retrospect: Several Hilarious Reactions to the 2001 Apple iPod Announcement

Jan. 28 ’10

If the reactions to the launch of the original iPod (and the subsequent domination of the device) are any indication of what the future holds for the iPad, then things look bright.

If the ipod is only the world’s most baddass MP3 player then I don’t know if I’m really going to stand in line to buy it, I have a cd walkman and a burner already (link)
I really wanted to like it. Really. But do the math:
20GB hard drive: $199 from APS tech.
MP3 player: $50 from Best Buy.
You save $150 plus get an extra 15 Gig of storage! (link)
Any way you spin this it is:
1. Not revolutionary….
2. A bad fit…
3. Without a future… (link)
I have no use for an Mp3 player.
My house has a CD player.
My car has a CD player.
My Mac has a CD player
I don’t use headphones. (link)

There are tons more, but I’ll stop here for now.

 

Jan. 27 ’10

Strangerland
 

Jan. 26 ’10

Scratch an Itch
 
 
 
 

Nov. 1 ’09

One circle, lots of lines.

One circle, lots of lines.

 
 

Present Modal View Controller from Modal View Controller

Oct. 20 ’09

What I wanted to do was to present a modal view controller in the viewDidAppear method of a different modal view controller.  Specifically, I have a screen in my app that lets the user send a tweet.  I’m using the MGTwitter engine with Ben Gottleib’s Twitter+OAuth. The tweet view is presented modally.  When it appears, it checks to see if the user is authenticated, if not it automatically presents the OAuth view modally.

This was causing an “EXC_BAD_ACCESS” in:

[UIWindowController transitionViewDidComplete:fromView:toView]

After some furious debugging, I finally figured out that delaying the presentation of the OAuth view by a tenth of a second resolved the issue.  Here’s the code:

 
- (void) viewDidAppear:(BOOL)animated { 	
	[super viewDidAppear:animated];
 	if (oauthEngine) return;
 	oauthEngine = [[SA_OAuthTwitterEngine alloc] initOAuthWithDelegate:self];
 	oauthEngine.consumerKey = kOAuthConsumerKey;
 	oauthEngine.consumerSecret = kOAuthConsumerSecret;
 	[oauthEngine requestRequestToken];
 	
 	UIViewController *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine:oauthEngine delegate:self]; 	
 	if (controller) {
  		[self performSelector:@selector(showTwitterOauthView:) withObject:controller afterDelay:0.1]; 	
 	} 
}  

- (void)showTwitterOauthView:(UIViewController *)controller {
     [self presentModalViewController:controller animated:YES];   
}