Typical job interview questions—like "What are your strengths?"—are relatively easy to answer. The behavioral job interview takes a different approach, requiring, for example, concrete answers exemplifying your strengths. Without the right preparation, they can catch you off guard. More »
![]()
Job interview – Employment – Business – Job Search – Interview Advice
Monthly Archives: July 2010
Learn About and Prepare for a Behavioral Job Interview [Job Interviews]
TechUniversity: 10 Mac Setup Tips
Whether you just got a new Mac or you’re installing (or updating) your version of OS X, this TechUniversity screencast will cover 10 things you should setup (subscription required) before you do anything else on your Mac.
We’ll walk you through how to set up, enable, and tweak all 10 items so you can get the most out of your Mac right from the start.
Below is a sample of the video. The full screencast clocks in at just over 11 minutes.

Pressure Sensitive iPad
One thing that I’ve wished the iPad had from the beginning was the ability to detect different levels of pressure, similar to a Wacom tablet. That would make it much more useful for things like sketching. I’ve heard from a few people that the hardware supports it, but I’ve been skeptical of those claims. How could a capacitative touch device detect pressure? But a few people I talked to at WWDC insisted it was possible with the hardware.
Turns out they were right. This is really cool. I don’t know anything about the technology – whether they’re really using pressure (I tend to doubt it) or just the relative size of the area being touched, but the results in the video look promising. I also hope the final version can be accomplished with only public APIs somehow.
iphonedevelopment.blogspot.com
Preparing a Travel First Aid Kit
It is obvious why one needs a small travel first aid kit – for emergency injuries and whatnots. It is advisable for anyone to have a small first aid kit that you would want to bring when you travel, or keep one in your car:
Things you will need:
- a first aid kit that can carry the supplies below
- thermometer
- disposable gloves (2 pairs)
- cotton-tipped applicators kept sterile in an airtight container
- small tube of antibiotic ointment
- small bottle of anticeptic spray
- small bottle of eye wash solution
- small bottle of hand sanitizer
- small bottle of petroleum jelly
- alcohol swabs (which you can buy individually wrapped)
- sterile gauze dressings (2×2 ” and 4×4? sizes, be sure that they are kept sterile)
- paper or adhesive tape (preferably 1? and 1/2?)
- bandaids
- 2” or 3” bandage
- roller gauze
- safety pins
- small pair of scissors
- medication such as aspirin, anatacids
- clean plastic bags
Arrange items in the first aid kit so that they are easily found. Keep sterile items sterile.
Don’t forget to keep a first aid manual as well. Include a card with numbers of the emergency hotline, police, fire department, or individuals you might need to contact. Always check expiration dates of medicines and supplies (if applicable) and replenish when needed.
Synthesize by Default
So, in my previous post, I told you I was excited about the “synthesize by default” functionality that’s now available in LLVM 1.5. And I am, very much so. But it turns out there’s a caveat that tempers my excitement at the moment.
With synthesized iVars, we’ve had direct access to the underlying synthesized variable for a while now, so if you created a class like this:
#import <UIKit/UIKit.h>
@interface MyViewController : UIViewController {}@property (nonatomic, retain) NSString *foo;@end
You’re able to access the NSString variable foo that backs the property of the same name within the scope of your class. So, in your dealloc method, you can do this, to give one common example:
- (void)dealloc{ [foo release], foo = nil; [super dealloc];}
However, if you enable the “synthesize by default” feature in LLVM 1.5 and use it, meaning you don’t actually have a @synthesize statement for the foo property, you lose this direct access to the underlying variables, leaving you with a bit of a conundrum – how do you do your memory cleanup without unintentionally triggering unwanted functionality, such as those in a lazy accessor or some more involved mutators.
Earlier today, I tweeted a question asking about the correct way to deal with this situation. After a bit of a Who’s on First-like back and forth with many smart people, it finally came out that this is a bug in LLVM, not an intentional design decision. Hopefully it will be fixed before too long, but in the meantime, the best answer is probably to just keep using @synthesize.
Thanks to a whole bunch of people on Twitter, many of whom I’m sure I missed!
iphonedevelopment.blogspot.com
Cell Revealer and Phone Lookup Perform Reverse Phone Lookups on Cellphones [Privacy]
Free web services Cell Revealer and Phone Lookup perform free reverse phone number lookups on cellphone numbers, and it works surprisingly well. More »
![]()
Reverse telephone directory – Science and Technology – Cell Phone – Security – Telephone number
Apple’s Guide to Ergonomics
Apple has published a guide to ergonomics on its site since as long as I can remember (2002 perhaps?) and it remains relevant, but severely outdated. I’ve been secretly hoping for an update to this that includes photos that aren’t of old school CRT displays and a section that covers the iPad, iPhone and iPod touch which are being used far more by customers every day when on the go. It’s an easy site to run through but I’ll review a bit of the highlighted sections, below.
Apple’s Ergonomics site focuses on Repetitive Motion Injuries, Upper Body Risk Factors with solutions, Back and Legs Risk Factors with solutions, Seating, Eyes & Vision and Work Area Layout strategies.
In the Upper Body Solutions section, there are details that discuss how to angle and extend your arms and wrists to reduce pain and repetitive injuries caused from typing for long hours over many years. Solutions include using an adjustable or split keyboard and keeping your wrists and hands aligned in a straight line when interacting with the computer. Of course, we have to highlight that Apple doesn’t sell a keyboard that’s adjustable or split but it did back in the 80s.
In the page dedicated to Back and Leg Solutions, which I feel is the most important for people who spend eight hours a day for decades in front of
a computer, Apple details that using your computer while leaning forward can lead to complications as you get older. Naturally, this is the only way to use a laptop computer given the screen is elevated directly on your desk which is generally at a lower height to allow comfortable typing. Apple recommends using an external monitor with your notebook closed. Apple also says to avoid prolonged computer time and take breaks often.
I personally love Apple’s page dedicated to Eyes and Vision as it details room lighting, angles of where to sit (like next to an outside facing window) and the distance you should be from your monitor (18-24 inches away). The Work Area Layout page is by far my favorite and I’ve been incorporating these tips into my every day computer use for years.
Here are a few tidbits from Apple’s Mobile Work Layout suggestions:
- Create a foot rest out of a backpack, phone book or trash can.
- Improve low back support with jackets, pillows or towels.
- When using a portable computer, consider using an external keyboard periodically to allow for greater flexibility in working postures.
- If you are using a portable computer on an airplane, consider bulkhead or exit row seating to allow yourself a little more room. Also consider an aisle seat to make it easier to get up and stretch periodically.
It’s more interesting if this is your first time exploring Apple Ergonomics because you’ll see how many things you’ve missed that might and probably will lead to issues down the road. Sure, there’s a pill or operation for everything but avoiding those is certainly the better option. You can see how I’ve applied Apple’s ergonomic tips to my work setup at home. The monitor is 20? from my face, my chair sits upright at the appropriate height for my waist to be even with the keyboard and nothing is out of reach that requires me to extend my body to grab it. For long blogging sessions, I’ll utilize a pillow to raise my feet and a window facing outside is right behind me to allow for natural light in addition to overhead lights.
How do you make your work setup more ergonomic?

Quick Tip: Send PDFs to iTunes for iBooks Syncing
Getting PDFs into iTunes to sync them with iBooks on your device can be a bit of a chore. But by using the method below, you can send any document or even web page straight to the Books section of iTunes for syncing with ease.
To get iTunes ready is simple. All you have to do is open your Applications folder, and make an alias of iTunes by control-clicking its icon and selecting ‘Make Alias’. Now drag your newly-created alias and drop it in [Your Home folder] ? Library ? PDF Services. What this does is adds iTunes as an option when you select the PDF button in a Print dialog.
At the moment when you click PDF under Print, it’s going to say ‘iTunes alias’, which isn’t very informative. Rename your iTunes alias in the Finder to something along the lines of ‘Send PDF to iTunes’ or ‘Add PDF to iTunes’ and the menu item in the Pront dialog should update next time you open it.
Now whenever you have a document or web page open that you’d like to read in iBooks, all you have to do is go to File ? Print, then click the PDF button in the lower left and choose your menu item for iTunes. The document will be saved as a PDF and sent straight into the Books section of your iTunes library.

This method works for any application that can open PDF files, not just iTunes.

NSNotification, UserInfo and Object Methods
When working with an NSNotification object, you’ll want to familiarize yourself the userInfo dictionary, which provides access to any additional objects that may be of interest to the receiver. Understanding the object method may also be helpful if you are using the same notification on more than one object.
userInfo Dictionary
Below I add an observer for MPMoviePlayerContentPreloadDidFinishNotification, which will send a message to the method moviePreloadDidFinish: when a MoviePlayerController object has finished playing:
mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePreloadDidFinish:) name:MPMoviePlayerContentPreloadDidFinishNotification object:mp]; }
Here’s how to access and print the userInfo dictionary from the notification object:
- (void) moviePlayBackDidFinish:(NSNotification*)notification { NSDictionary *userInfo = [notification userInfo]; NSLog(@"MPMoviePlayerPlaybackDidFinishReasonUserInfoKey: %@", [userInfo objectForKey:@"MPMoviePlayerPlaybackDidFinishReasonUserInfoKey"]); ... }
The value of MoviePlayerPlaybackDidFinishReasonUserInfoKey is an NSNumber object which contains an integer value specifying reason the playback finished. The possible range of return values are defined in MPMovieFinishReason, which is an enum type as shown here:
enum { MPMovieFinishReasonPlaybackEnded, MPMovieFinishReasonPlaybackError, MPMovieFinishReasonUserExited }; typedef NSInteger MPMovieFinishReason;
Pulling all this together, you could write something similar to the following to check if the user stopped playback of the movie:
if ([[userInfo objectForKey:@"MPMoviePlayerPlaybackDidFinishReasonUserInfoKey"] intValue] == MPMovieFinishReasonUserExited) NSLog(@"User stopped playback");
object Method
One more handy method within NSNotification is the method object, which will return the object (as type id) that is associated with the notification. For example, check out the code below that sets up the notification, pay attention to the last parameter mp which is assigned to the object parameter.
mp = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePreloadDidFinish:) name:MPMoviePlayerContentPreloadDidFinishNotification object:mp];
Within the method called by the selector, you can now access the object passed in by querying the object method:
- (void) moviePlayBackDidFinish:(NSNotification*)notification { MPMoviePlayerController *mpObject = (MPMoviePlayerController *) [notification object]; ...
mpObject will point to the mp object defined in the previous code block – using the object method you can retrieve a pointer to the object that made the original notification request.




