Archive for November 2009
Sunday, November 29, 2009
Pie Guy is a Pac-Man-style iPhone game from Neven Mrgan. It’s amazing what he can do with a local Web app (using JavaScript and WebKit HTML extensions), although because it’s a little slow to respond it might not fool you into thinking it’s a native app.
Saturday, November 28, 2009
Bill Bumgarner highlights a non-intuitive part of the NSError
contract: it’s not safe to look at an error object unless the method returned failure.
Cocoa NSError Objective-C Programming
Tuesday, November 24, 2009
The Little App Factory:
Now, you may be saying that we deserve it for using Apple’s trademark but no, in Australia it doesn’t work that way. Our Trademark Act of 1995 states that if “the person uses the trade mark in good faith to indicate the intended purpose of goods” then we are not causing an infringement. When we created the name back in 2003 it was quite simple: Apple was advertising “Rip, Mix and Burn” and my software ripped your iPod back to your computer. Hence, the logical conclusion was iPodRip.
They couldn’t rename it “PodRip,” either. John Gruber:
That’s crummy. “iPod” is Apple’s. “Pod” is just a word.
Sunday, November 22, 2009
Jonathan Rentzsch has written an AppleScript to enable the Xcode warnings that Peter Hosey recommends.
Thursday, November 19, 2009
Microsoft adds Edward Tufte’s sparklines to Excel 2010 (via Philip Greenspun).
Friday, November 13, 2009
Paul Kafasis, John Gruber, and Manton Reece discuss Apple’s rejection of a bug-fix update to Airfoil Speakers Touch because of images that it displayed (but did not contain).
Update: Apple changed its mind.
Previously:
Airfoil App Store Rejection Mac Mac App Store
Mike Ash has a great list of Cocoa APIs that are subtly dangerous. Note that since NSBundle
isn’t threadsafe, neither is NSLocalizedString
.
Update (2017-02-20): Charles Srstka:
In Swift 3, NSFileHandle was renamed to FileHandle, making it the de facto file handle class for use in Swift applications. Unfortunately, it’s not a very good API. NSFileHandle supports no error reporting whatsoever, instead throwing Objective-C exceptions whenever something goes wrong during reading or writing. There is no way that I know of to catch these exceptions in Swift, meaning that if a write failed because the disk ran out of space or something, there’s no way to deal with that other than crashing the whole application.
Cocoa Exceptions Mac Objective-C Programming Swift Programming Language
Cameron Booth has made a great map of the Eisenhower Interstate System (via Jason Kottke):
Drawing my cues from the original and best metro diagram, H.C. Beck’s wonderful London Underground diagram, I have rendered the Interstate system in a much simpler form. I have made the “major” highways (those divisible by 5) the framework of the map, with the “minor” highways reduced in importance and rendered as thinner grey lines. Even with these highways, a difference in the greys indicates whether they are even-numbered (west-east) or odd-numbered (north-south).
Now I feel like playing Ticket to Ride.
Thursday, November 12, 2009
Jens Ayton proposes that adding generics to Objective-C would allow for better static analysis with no changes at runtime or to existing code. Jesper concurs. This seems like a reasonable idea, although I’m not sure it’s worth the hassle and visual clutter. I don’t think improper typing is a major source of bugs.
Marcel Weiher points out that blocks are noisy compared to HOM. Of course, HOM can be more concise because it’s so much more limited. Chiefly, it requires predefined methods. He argues that this is a feature, not a bug, that HOM encourages good code and blocks encourage bad code. That’s not wrong, but with power comes the ability to shoot yourself in the foot. Blocks make the language much more expressive and solve problems that HOM can’t. Used judiciously, they can make for clean code.
Peter Ammon’s cdecl.org translates C type expressions (including function pointers and blocks!) into English—and vice-versa.
Monday, November 9, 2009
Daniel Jalkut:
If you’re not a developer and are just looking for some excellent discounts on a huge variety of Mac applications, check out the One Finger Discount page and see what everybody has to offer.
I’m pleased to be participating as a developer and a customer.
Bargain
Saturday, November 7, 2009
Neven Mrgan has screenshots.
Wednesday, November 4, 2009
BBEdit 9.3 has a bunch of neat additions:
- Live multi-file search results.
- Awesome new bbfind command-line tool.
- I can now open a the multi-file search for the current project or disk browser with a single keypress.
- Dropping a folder on BBEdit can now create a temporary project (like in TextMate).
- Quick Look in projects and disk browsers.
- Per-language tags files to store common completions.
- A language module for Makefiles (very rudimentary coloring, though).
Tuesday, November 3, 2009
Andy Finnell:
The ASObj
function creates an ASObject
proxy object for any NSObject that implements objectSpecifier
. invokeCommand
takes care of marshalling the parameters into an AppleEvent, sending it, and unmarshalling the return value into an NSObject. The name of the command is the name of the name used in AppleScript, not the Cocoa implementation.
Then his controllers use the proxy objects to talk to the model through AppleScript.
Eric Bangeman:
If you want to right-click, you’ll need to get used to lifting your left-most finger off of the mouse in order for it to register correctly. If you have an Apple Mouse, you’ll already be used to it—I do it without thinking, but that doesn’t change the fact that lifting your index finger into the air so your middle finger can click is a more stressful position for your hand.
I use a Mighty Mouse with the main surface set as the primary button and the scroll ball set as the secondary button. This frees me from worrying about which side of the mouse I’m clicking and which finger I’m using, as my hand will be in different positions depending on whether I was using the scroll ball to scroll.
Mac Mouse
Pierre Igot:
How is the user supposed to “know” and remember intuitively that click-through now only works in icon view mode and not in list view mode and column view mode? And how is the user supposed to “know” and remember intuitively that, even though click-through no longer works, “double-click-through” (to coin a phrase) still does?
Lukas Mathis:
I believe click-through in Mac OS X is fundamentally broken. It should be turned off for all interface elements, except for a few standard elements which always receive click-through and have hover states to clearly indicate that they are clickable.
Chris Clark:
I believe click-through should be disabled entirely.
Either would be fine with me. As Clark points out, you can hold down the Command key to indicate that you do want click-through.
Sunday, November 1, 2009