Apple WWDC 2012 Session Videos Live

This is a heads up for anyone who does iPad or iPhone development; Apple have made available their awesome WWDC 2012 sessions videos to developers! iOS 6 features such as Passkit, maps and Facebook looks interesting as does the new Game Center functionality such as “Challenges” along with a whole host of new APIs and technologies. More information can be found on the Apple iOS 6 site and the developers’ iOS 6 overview site.

You should also look at the new OS X technologies in the soon-to-be-launched Mountain Lion release. Notification Center seems like such a natural addition that I’m surprised Apple didn’t add it in back in the early days of Mac OS X and Game Center will be exciting to play with on the Mac. I just hope it doesn’t distract me too much from work!

Of course most of it is still under a non-disclosire agreement so only blog and comment about the publicly announced WWDC stuff but this will good to play with over the summer when it’s too hot to be outside.

How to call a block after a delay

On iOS and on OS X you sometimes need the User Interface to update after a short delay. The old way of doing it was calling the performSelector:withObject:afterDelay: selector on any NSObject subclass but that requires defining a new method in your class and you can only pass one object as a parameter.

Instead, you can use dispatch_after from the Grand Central Dispatch APIs to execute code within a block after a certain time interval. Don’t be afraid, it might be low-level C but you can cut and paste and just put your code inside and it will retain the variable scope that blocks usually do!

double delayInSeconds = 0.5;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

  // Your code here

});

WWDC Update: 5 key points for iPhone apps

It’s now been just over 3 weeks since the torrent of information unleashed at Apple’s World Wide Developer Conference refreshingly drenched the brains of designers, developers and engineers. I’ve resisted blogging about the public announcements to fully let the impact soak in and gage everyone’s reactions but now feels like a good time to talk about where the future of computing is heading.
Continue reading

Calculating UNIX file permissions

Permissions Mac AppA few years ago I wrote a simple but handy Mac app that calculates unix file permissions using a matrix of check boxes. I wrote it because I wanted to better understand how those octal values get calculated and to expand my experience of writing Mac apps.

I was also learning some crazy assembly code at the time too so I was also making sense of putting bitwise operations to task. Rather than let this code languish on my hard drive, I thought I’d share…
Continue reading