Very approachable, easy reading style by an author who obviously really knows his game, and solidly progresses building chapter by chapter to more advanced topics – without requiring you to read all earlier ones to understand later ones. Excellent resource if you’re looking to learn how to program for Mac OS X, and most especially (but not exclusively) the user interface (Cocoa).
Archive for November, 2008
Here’s what I did to create hHasher 1.0: Create the disk image including the background image at /.background/background.png ./pkg-dpkg –source ./diskimage –target ./hHasher-1.0.dmg –format UDBZ –volname hHasher-1.0 –resource ./license/sla.r –icon ./image/DiskImage.icns –idme –copy ./image/DiskImage_DS_Store:/. DS_Store –mkdir /.background –copy ./image/DiskImageBackground.png:/.background/background.png –symlink /Applications:/Applications Mount the disk image open hHasher-1.0.dmg Show the view options View/Show View Options (or Cmd-J if you prefer) Change to list view if not already there (View/as Icons, or Cmd-1 if you prefer) Check the ‘Always open in list view’ option Change the ‘Arrange by’ combo box to ‘None’ Change the ‘Background’ option to ‘Picture’ Select the background image via the ‘Select’ button, hit Cmd-Shift-G to change to the background directory (e.g.
My first Mac application! It generates hashes (MD5, SHA-1, and more…exotic ones) for text, files or a random stream of bytes. Something I’ve needed on occasion but couldn’t find a Mac OS X application I liked, and I wanted to learn Objective-C and Mac OS X so it made a good first project. It requires [...]
Rocks! OK, color me impressed. This was far better than Madagascar 2. Hey, I have a 4 and 6 year old. I’m lucky to see anything in the theaters. But I digress. Madagascar 2 was an animated Woody Allen movie – everyone’s got the ‘neurotic jew from New York’ attitude down pat. Entertaining, but not [...]
Simple enough on Mac OS X: NSString *content = @”subject=Hello&body=Peek-a-boo”; NSString *contentEscaped = [content stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString *mailto = [NSString stringWithFormat:@"mailto:firstname.lastname@example.org?%@", contentEscaped]; NSURL *url = [NSURL URLWithString:mailto]; #if TARGET_OS_IPHONE [[UIApplication sharedApplication] openURL:url]; #else [[NSWorkspace sharedWorkspace] openURL:url]; #endif Hard part was the Mac OS X call (NSWorkspace). There’s plenty of information on the web how to do [...]
But it’s not in the same league as Casino Royale (which I thought was brilliant — starting with the human-jackrabbit-chase from the opening sequence to the very end). … Hopefully the movie will come close to the trailer, though given the evidence at hand and J.J.Abrams at the helm (as both a proven outstanding entertainment maker and a genuine fan) I’m not going to worry too much.
The ‘alternative’ choice is slf4j, which seems to have Apache’s strengths, but does static binding with its implementation plug-in thus avoiding Apache’s dynamic discovery behavior (including headaches). … That said, it seems to have one killer feature over Apache — if you use a log4j implementation, Apache doesn’t let MDC and NDC flow down to log4j.