The announcement that Nexus One users won’t be getting upgraded to Android 4.0 Ice Cream Sandwich led some to justifiably question Google’s support of their devices. I look at it a little differently: Nexus One owners are lucky. I’ve been researching the history of OS updates on Android phones…
“Actually, Sheldon Has Better Design.”
If you’re an iOS developer, and love the scicom The Big Bang Theory, then you have to watch season 4 episode 12: The Bus Pants Utilization (original air date is January 6, 2011.)
In this episode, Leonard comes up with an idea for his iOS app and derails his friendship with Sheldon.
What’s the app? It’s a handwriting-recognition based equations solver, or in Sheldon’s way: “The Surprisingly Helpful Equation-Linked Differential Optimized Numerator.” The basic idea behind this is to use iPhone’s camera to take a picture of the equation, and scan it with handwriting recognition, then run it through a symbolic evaluation engine, and bam.
During the episode, they show several actual Objective-C code snippets and interesting design sketches on white boards, here are some of them:
You can see they have a
CRecognitionobject holds anUIImageinstance variable, and sadly they are naming it_Photo(with underline as prefix), it’s not the naming convention Apple suggested.
The next morning, Sheldon started his own design, if you look closer, it’s much more considered than Leonard’s.
For example, since this is an utility app, Sheldon comes up with a flip view design that similar to built-in Camera app. You can see a full screen
SPhotoViewwith a snapshot button in the middle, and on the other side, it’sSEquationViewand aUITableViewat the bottom with some buttons.
In here, you can see more details. A
UITableViewholds the scanned equations, and supports rotation for landscape full screen detail view and portrait detail view. And on the right side, Sheldon shows a better understanding ofUIViewController’s view hierarchy.
Later, Leonard’s team is doing some reference counting. Instead of accessing instance variable directly in
-initWithPhoto:and-dealloc, they decide to use retain propertyself.photo, with class method to return a autoreleasedCRecognitionobject, and claim there’s no leak.What a mess, you should always use instance variable directly in
-initWithPhoto:and-deallocwhen creating/releasing instance object.
Here you see Leonard’s app class hierarchy, mostly C/C++ style naming convention for the class names, almost everything starts with letter “C” (is for “Class” I think),
CAppDelegate,CMainView,CCameraView,CSymbolicView, etc. They should use prescribed prefix like “LRH,” which means Leonard, Rajesh and Howard.
The beautiful Penny next to Sheldon, and there’s Facebook API behind him.
In the end, Penny’s shoes app project. There’re many of them on the AppStore already, and her UI design looks kinda lame.
And Sheldon is working on this project…
Conclusion
I love and enjoy this episode a lot, and the TBBT crew dis a great job for all these minor details, they looks very convincible to me.
But, they should all use Mac when doing the coding, I only saw Raj’s MacBook Pro, and rest of them are all using PC. That’s not right, you can’t run Xcode on PC, well, unless they all use Hackintosh…
References
- The Big Bang Theory: 4x12 The Bus Pants Utilization
- Apple: Introduction to Coding Guidelines for Cocoa
- [digdog dig]; To nil, or not to nil, that is the question
This is freaking amazing!
The Destructoid (Destructoid.com Cocktail)
Ingredients:
3 oz. apple pucker
5 oz. cranberry vodka
Fill rest of glass with ginger ale
2 cherriesDirections: Pour first two ingredients into a low ball glass over ice. Fill the rest of the glass with ginger ale and stir. Place two cherries at the bottom for the eyes.
A while back, the amazing Hollie of Destructoid.com contacted me about making a few Destructoid themed drinks for PAX Prime. While this one seemed to be the hit of the show, there are also shots for two of Destructoid’s podcasts, Bit Transmission and Brittoid. Check out the rest of the cocktails in the article below and don’t forget to check out the rest of Destructoid!
This looks absolutely delicious!
(Source: cocoaheads)
After the giant tease yesterday about something new for iTunes, we end up with The Beatles finally available for download. Big deal! Anyone who wanted digital versions of their music already ripped their CDs. Yes, now people who didn’t care enough to buy the CDs can easily download them from iTunes… but any true fans already had this music. Try again Apple!
[[UIDevice currentDevice] userInterfaceIdiom]
The style of interface to use on the current device. (read-only, iOS 3.2 or later)
Wow, this is really useful! Seems like this might be an easy way to determine if the current device is an iPhone or iPad. I suggest placing this in its own method so you can easily check in one line of code.
+(BOOL)isIPad{
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
return YES;
else
return NO;
#else
return NO;
#endif
}

![digdog:
“Actually, Sheldon Has Better Design.”
If you’re an iOS developer, and love the scicom The Big Bang Theory, then you have to watch season 4 episode 12: The Bus Pants Utilization (original air date is January 6, 2011.)
In this episode, Leonard comes up with an idea for his iOS app and derails his friendship with Sheldon.
What’s the app? It’s a handwriting-recognition based equations solver, or in Sheldon’s way: “The Surprisingly Helpful Equation-Linked Differential Optimized Numerator.” The basic idea behind this is to use iPhone’s camera to take a picture of the equation, and scan it with handwriting recognition, then run it through a symbolic evaluation engine, and bam.
During the episode, they show several actual Objective-C code snippets and interesting design sketches on white boards, here are some of them:
You can see they have a CRecognition object holds an UIImage instance variable, and sadly they are naming it _Photo (with underline as prefix), it’s not the naming convention Apple suggested.
The next morning, Sheldon started his own design, if you look closer, it’s much more considered than Leonard’s.
For example, since this is an utility app, Sheldon comes up with a flip view design that similar to built-in Camera app. You can see a full screen SPhotoView with a snapshot button in the middle, and on the other side, it’s SEquationView and a UITableView at the bottom with some buttons.
In here, you can see more details. A UITableView holds the scanned equations, and supports rotation for landscape full screen detail view and portrait detail view. And on the right side, Sheldon shows a better understanding of UIViewController’s view hierarchy.
Later, Leonard’s team is doing some reference counting. Instead of accessing instance variable directly in -initWithPhoto: and -dealloc, they decide to use retain property self.photo, with class method to return a autoreleased CRecognition object, and claim there’s no leak.
What a mess, you should always use instance variable directly in -initWithPhoto: and -dealloc when creating/releasing instance object.
Here you see Leonard’s app class hierarchy, mostly C/C++ style naming convention for the class names, almost everything starts with letter “C” (is for “Class” I think), CAppDelegate, CMainView, CCameraView, CSymbolicView, etc. They should use prescribed prefix like “LRH,” which means Leonard, Rajesh and Howard.
The beautiful Penny next to Sheldon, and there’s Facebook API behind him.
In the end, Penny’s shoes app project. There’re many of them on the AppStore already, and her UI design looks kinda lame.
And Sheldon is working on this project…
Conclusion
I love and enjoy this episode a lot, and the TBBT crew dis a great job for all these minor details, they looks very convincible to me.
But, they should all use Mac when doing the coding, I only saw Raj’s MacBook Pro, and rest of them are all using PC. That’s not right, you can’t run Xcode on PC, well, unless they all use Hackintosh…
References
The Big Bang Theory: 4x12 The Bus Pants Utilization
Apple: Introduction to Coding Guidelines for Cocoa
[digdog dig]; To nil, or not to nil, that is the question
This is freaking amazing!](http://24.media.tumblr.com/tumblr_lhi5u62DuJ1qarf1uo1_500.png)
You can see they have a
The next morning, Sheldon started his own design, if you look closer, it’s much more considered than Leonard’s.
For example, since this is an utility app, Sheldon comes up with a flip view design that similar to built-in Camera app. You can see a full screen
In here, you can see more details. A
Later, Leonard’s team is doing some reference counting. Instead of accessing instance variable directly in
Here you see Leonard’s app class hierarchy, mostly C/C++ style naming convention for the class names, almost everything starts with letter “C” (is for “Class” I think),
The beautiful Penny next to Sheldon, and there’s Facebook API behind him.
In the end, Penny’s shoes app project. There’re many of them on the AppStore already, and her UI design looks kinda lame.
And Sheldon is working on this project…

