We’ve taken an interesting turn in the industry over the past ten years. We’ve come to value experiential learning much more, and we’ve regained a strong pragmatic focus, but I think it would be a shame if we lost sight of some of the deeper things which people have learned over the past 50 years. Rediscovering them would be painful, and (to me) not knowing them would be a shame.
Archive for February 2009
What’s been gained by having top tabs? 20 pixels? I’m sorry, but those 20 pixels are simply not worth the problems “Top Tabs” have caused.
Update (2009-03-04): John Gruber has a great post that covers just about everything.
AWTException: You are using AWT, which means your GUI will be ugly. This exception is only a warning and can be ignored.
I’ve always wondered why XCode doesn’t have a unit testing GUI like other IDEs, or why the SenTesting framework has to be such a pain to setup, with all its RunScript build phases, shell scripts, octest bundle insanity. After using the GTMTestCase for the iPhone (since SenTesting isn’t supported on the iPhone SDK) I decided to try to re-purpose some of the GTM Unit Testing code into a standalone testing framework and GUI that I could use on both my Mac OS X and iPhone projects.
iFixit has some good photos from disassembling the 17-inch MacBook Pro (unibody). The 1.25-pound battery looks surprisingly removable, and the hard drive is also easy to get at. The logic board is similar to that of the 15-inch.
After I came back from Detroit (where MacHack was held), I immediately started working on Sound Studio 1.0. It took about 6 weeks, and I had no beta testers, no PR or marketing agency, no blog or twitter, and nobody looking over my shoulder. September 1999, I released the very first version of Sound Studio.
See, the world is moving to hi-def camcorders. And iMovie ‘09 works great with hi-def camcorders. But what if you want to show your edited movie on a high-definition TV?…You can’t!…No Macs have Blu-ray burners, and iMovie lacks an Export to Tape command, so your high-def masterpieces are pretty much trapped forever on your Mac.
I suppose Apple wants you to buy an Apple TV, but it only supports 720p even though full 1080p camcorders are affordable now.
In Ruby 1.9, hash tables preserve insertion order by maintaining a doubly-linked list. This seems like a dubious feature. It only accords with the principle of least surprise if you don’t know how a hash table works. I don’t think I’ve ever needed a hash to do this, and I worry that making the order mostly predictable will lead to fragile code that accidentally relies on the ordering where it shouldn’t. All of this comes at the cost of increased memory use. Overall, it’s faster than Ruby’s previous hash implementation, but presumably it would be even faster without the ordering feature.
Despite the problem with numbers, one very positive thing came out of this experience. I decided that there should be no undefined result values in Python—instead, exceptions should always be raised when no correct return value can be computed. Thus, Python programs would never fail due to undefined values being silently passed around behind the scenes. This is still an important principle of the language, both in the language proper and in the standard library.
The February issue of ATPM is out:
- Bloggable: That and 99 Cents Will Get You…
- MacMuser: Phone Bills and Forms
- MacMuser: Broadband Endowment
- Next Actions: February 2009 Master List
- Report: Macworld Expo 2009
- Segments: Slices from the Macintosh Life: The Zippy Quest for Jazzy Flash
- Desktop Pictures: San Francisco
- Qaptain Qwerty
- Accessory Review: Cricket Laptop Stand
- Software Review: MacSpeech Dictate 1.2
- FAQ: Frequently Asked Questions