Edward Tufte says: "PowerPoint is Evil." This got me thinking... What if Darth Vader — my favorite fictional bad guy — gave a formal presentation? How would it look? How would it compare to the presentation style of Yoda, the wise Jedi master?
Archive for January 2006
GPT replaces Apple Partition Map (APM) as the boot partition scheme for Intel-based Macs. And therein lies the rub. Intel-based Macs can’t boot from older APM drives, and PowerPC-based Macs can’t boot from newer GPT drives. This appears to be a permanent situation—each scheme makes incompatible assumptions about the layout of physical block 1 on the disk. While GPT was designed to be compatible with Master Block Record (MBR, the PC’s old partition scheme), it doesn’t play nicely with APM.
The main reason I haven’t switched over to using the iMac Core Duo as my main machine is that my DiskWarrior CD can’t boot it, and DiskWarrior can’t repair the internal drive using Target Disk Mode because of the new partitioning.
It would be acceptable for applications to offer to install Smart Crash Reports, so long as they provide a fair description of what it does and how it works. I think developers are wary of this, however, because they realize that a fair description of SCR sounds rather unsavory—that users will be turned off if the first thing they see from a new application is a dialog box talking about crashes and unsupported modifications to Apple’s Crash Reporter application.
It took six versions, but I’m pleased that iPhoto now organizes the image files in its library by roll, rather than in lots of little folders alongside its metadata files.
By some odd coincidence, three times this week I’ve come across Mac OS X users who don’t know the benefits of logging out. That is, they either leave the machine running at night (still logged into their user account), or they put the machine to sleep. They rarely—if ever—log out, and only reboot when “something is wrong” or after installing a system update.
I did that (log out only when necessary) for years, and didn’t notice any ill effects. Nowadays, I restart every morning. I’m not sure what causes it—maybe the nightly backup—but I found that if I don’t restart my Mac, it gets sluggish. This is most noticeable in that the Python interpreter starts taking five seconds to start up instead of a fraction of a second.
Ok, so following the guidelines, I put the version number under CFBundleVersion, and leave it out of the CFBundleGetInfoString.
But what does the Finder show in its Get Info window? It shows the contents of CFBundleGetInfoString next to the “version:” label. So if you follow the guidelines, there’s no version number visible!
One of my pet peeves is when a downloaded file or Get Info window doesn’t show the version number. Now it seems that some of these occurrences were due to people following the guidelines.
Monaco 9 has started acting really strange! The bitmapped capital “G” glyph has changed, becoming more compressed: I just noticed it in Mail.app this morning, so it can’t have been like this for very long (can it?). Anyway, this is not what Monaco is supposed to look like…
This happened to me yesterday; clearing the cache and rebooting fixed it.
Yojimbo is an interesting new organizer application from Bare Bones Software. It uses Core Data, supports encrypted notes, and synchronizes via .Mac.
I’m staying at a Marriott tonight that uses STSN for Internet access, and at first when I tried to send mail I couldn’t get connected to the SMTP server. Port 25 is blocked. Turns out it’s not a bug; it’s a feature. Changing the server to smtp.ibahn.com didn’t help, but changing the port did. DreamHost accepts SMTP connections on port 587, and Pair accepts them on 2525.
My iMac arrived today, and I’ve done preliminary testing of the universal binaries of my applications (which I’d built last week). So far so good, and I plan to ship them next week. Here are some random notes from the first few hours:
- The iMac case design is great, probably one of Apple’s best. I like the way the air vent is hidden behind the stand. It’s much quieter than my G5. It seems unfortunate that the iSight angle can’t be adjusted separately from the display angle. The vertical slot-loading optical drive feels weird, but maybe I’ll get used to it. There are at least four dead pixels, which is more than on any of my previous LCDs.
- In general, the user interface is much more responsive than on the G5. Live window resizing is very smooth, for instance. I wonder if this is due to the video cards. Is a 128 MB Radeon 9600 XT that much slower than a 256 MB Radeon X1600? Or maybe it’s because the iMac only has one display at present?
- Rosetta is transparent, and the performance is acceptable. Launching a PowerPC application for the first time is what feels the slowest—actually using it isn’t too bad. It does take extra RAM to run applications in Rosetta—about 13 MB in SpamSieve’s case.
- Running natively, my applications are much faster on the iMac than on the G5, and they launch almost instantaneously. (Both machines are dual 2 GHz.) I have not yet tested any applications that use AltiVec. Compiling is much faster on the iMac.
I developed the universal binaries on the G5, and so far there’s been only one surprise—due to a stupid mistake on my part—running them on Intel, and it was caught with the unit tests. Here’s an excerpt from the code that writes SpamSieve’s corpus to disk:
uint16_t keyLength = NSSwapHostShortToBig(usedBufferLength); uint16_t valueLength = NSSwapHostShortToBig([valueData length]); [data appendBytes:&keyLength length:sizeof(keyLength)]; [data appendBytes:&valueLength length:sizeof(valueLength)]; [data appendBytes:keyBytes length:keyLength]; [data appendData:valueData];
The bug is that in line 5 the length parameter should not be swapped.
- I get a CoreEndianFlipData error -4942 on the Console when SpamSieve uses the resource manager to read an Entourage sound set file. It seems to work fine, though.
Gus Mueller’s iMac Core Duo arrived yesterday; mine just left Shanghai. ArsTechnica has a review, which says that it’s quieter but much harder to user-service than the pre-iSight model. The interface feels snappy, and Rosetta is usable. The article also has benchmarks, but I’m not sure how accurate they are since the machines have vastly different amounts of RAM.
Mac OS X 10.4.4 recently shipped, and yet after four OS updates rsync is still broken. It frequently crashes when using the -E/--extended-attributes option, it doesn’t preserve the modification dates of files with resource forks, and it copies all the extended attributes even if they haven’t changed.
J.D. Bakker comes to the rescue with a patch that claims to fix the most severe problems. He’s written clear instructions for how to apply it, and it seems to work. At last, it looks like I’ll be able to keep my PowerBook synchronized.
Actually, the first few times I tried it, it didn’t work. I kept getting these errors:
rsync error: protocol incompatibility (code 2) at sender.c(59) rsync: fstat failed: No such file or directory (2)
and on different files each time. Mac OS X Hints suggested disabling Spotlight, and that stopped the errors. I would have thought that Spotlight should be disabled on the target volume, since it was the one being modified, however I found that it was necessary to disable it on the source volume. Then it worked.
For this and other reasons, I seem destined to always have Spotlight turned off. Thus, I really appreciate it when developers don’t rely on Spotlight being available. It’s cool if you make your app’s data available to Spotlight, but I shouldn’t have to turn on Spotlight to search from within your app.
Path Finder 4 is out, and it was well worth the wait. As with previous versions, Path Finder makes no attempt to be a spacial Finder—which is, I think, what I still want. Instead, it goes all-out in trying to be a great browsing Finder, and I like the result much better than Apple’s FrankenFinder. There are lots of great little features and details which I’ll write about later. However, to me the main points of the upgrade are that it’s much faster, it updates immediately when the disk changes, and it supports tabbed browsing—which is very useful since the browsing paradigm essentially forces you to have a small number of large windows instead of many small ones.
Unfortunately, one of the best features of Path Finder 3 was lost in the transition from CocoaTech’s own implementation of columns view to an implementation based on NSBrowser. Path Finder used to show each column that was visible in the path navigator, and this made it possible to browse up and down the hierarchy and always see where you’d been. Now, it bizarrely hides nodes both above and below where you are:
- When you use the shelf, bookmarks, or path navigator, it roots the hierarchy at the item you clicked on—much like when you click on the Finder’s shelf—rather than at the “Computer” level that shows all your disks.
- When you click on the grandparent of the folder you’re viewing, Path Finder hides the columns for that folder and its descendants.
I find this unnerving, even after three and a half months of getting used to it while testing Path Finder 4. Were CocoaTech not planning to fix this, I would still be using Path Finder 3.
In this article, I would like to examine why this hit the fan, what Apple did wrong, but also address some of the most frequently made comments to this story that have appeared on various web sites. I think that there was a failure of adequate communication by Apple, and a misunderstanding of some of the issues by many users.
Overall, it looks and feels like an X11 application. That, combined with a overly busy user interface that does not focus on the core display (which is quite fantastic in and of itself) leads to an application that is just terribly unpleasant to use.
Apple also seems to have adopted a new design for its product pages on its web site. And it’s a bit scary.…If, instead of a simple click on the link, you control-click (or right-click) on one of these links and select “Open Link in New Tab” or “Open Link in New Window” in the contextual menu, Safari actually loads… the product page for Keynote 3 in a new tab/window!
The navigation on Apple’s newer pages has frustrated me, too, as have the numerous QuickTime movies, excessive page widths, puny page heights, and gray body text.
I’ve read a bunch of articles like this and never quite know what to make of them. Probably I should copy my archive CDs and DVDs now and then, but I have discs going back nine years or so, and the checksums still verify. (I never burn raw files to disc; they’re always packed into a disk image so that I can verify that the data is OK.)
John Gruber says:
Releasing Intel-based Macs now might be popular with the keynote crowd and the tech press, but it would come at the expense of a bit of Apple’s credibility with developers.
since the developers had been told they had until June, and he’s not wrong. However, I have to say that from the very moment Steve Jobs announced the June date at WWDC 2005 I expected that the first Intel Macs would ship this January. I don’t know exactly why—something about his word choice and intonation, I guess, combined with the expectation that Apple would want to start the transition as soon as possible.
I can’t think of an Apple product name that’s worse than “MacBook Pro.” The product itself sounds great, though. Interestingly, the screen is slightly larger than the 15-inch PowerBook’s (but lower resolution). Also unlike the PowerBook, there’s no FireWire 800, dual-layer burning, or internal modem, and no estimated battery life is quoted.
Originally, I planned to buy the first Intel-based iBook, however no iBook has been announced yet. The MacBook Pros aren’t shipping until February, and they’re not 12-inch.
So I’m getting a 20-inch iMac Core Duo, and there’s a good chance that it will become my primary Mac. If I understand Apple correctly, each 2 GHz core is faster than a 2 GHz G5 (for non-vector stuff), so the iMac should be faster than my dual-processor G5 tower. To my surprise, this iMac comes with a DVI port for a second monitor, and it’s advertised as supporting extended desktop (no Screen Spanning Doctor required). Alas, the 500 GB model isn’t shipping for 3–4 weeks, and Apple’s developer hardware discount is only around 10%—I thought it used to be close to 20%.
This product really needs to exist online, but the magazine’s slavish dedication to exact reproductions of every printed page prevents that. None of the articles are available as ASCII text. Rather, every page of every issue is stored as high-resolution images, a decidedly old media way of thinking about new media that perfectly embodies The New Yorker’s digital ambivalence. Content can’t be selected, copied or pasted, which obviously reflects a desire to protect against copyright violations. But it also prevents truly meaningful searches of the database; when a search term is entered, the engine scours only the article abstracts, so if a key detail happens to be missing from those abstracts, it won’t appear in the results.
Matt Neuburg has finished the second edition of my favorite AppleScript book. MDJ says that the second edition has more examples and adds chapters on AppleScript Studio and making applications scriptable, but O’Reilly hasn’t posted a table of contents or sample chapter yet.
Jeff Schewe writes about the history of Shadowland/Lightroom, which Adobe started working on about four years ago, and Michael Reichmann wrote a good introduction to it (via John Gruber). Interestingly, Lightroom, like iTunes, doesn’t require the files to be in the library the way Aperture and iPhoto do.
I won’t bore anyone with the details, but I will ask if anyone knows how to trick a Titanium PowerBook that’s booted on OS 9 into switching to 256-color mode, I’d be grateful to learn how. In OS X, I can switch from Millions to Thousands or 256, but only the Millions option is available when I boot in OS 9. Consequently, the game won’t run because it thinks the color setting is wrong.
Jellyvision’s lone remaining Mac person says it may be coming to Mac OS X, though.
Although at times I feel like we are Apple’s unpaid “Research and Development” department, the truth is that Karelia’s product ideas just happen to be mainstream, like Apple’s. I won’t be surprised if iWeb turns out to be as lame as Sherlock was, so we can get off the tracks, let Apple pass by, then get back on the tracks and back to work.
Anybody can make a simple-looking interface if the system only does one thing. If you want to do one of the many other things Google is able to do, oops, first you have to figure out how to find it, then you have to figure out which of the many offerings to use, then you have to figure out how to use it. And because all those other things are not on the home page but, instead, are hidden away in various mysterious places, extra clicks and operations are required for even simple tasks—if you can remember how to get to them.
On December 3, 2005, Ruby and Python developers from Chicago and vicinity gathered at DePaul University to hear two of the leaders in rapid Web-application development debate the merits of each other’s frameworks.
In my opinion, C++ has become too “expert friendly” and it will cost us little to provide much better support for “novices.” It will cost us nothing in terms of performance (the zero-overhead principle still holds), in flexibility (we don’t propose to prohibit anything), or in terseness of code. On the contrary, we aim to simplify expression of ideas.
(Via Nat!, who got a laugh out of Stroustrup’s simplicity claims.)
One of the great ironies of startups is the envy entrepreneurs express for innovators in large companies—let’s use the Gifford Pinchot term: “intrapreneurs.” From the outside looking in, entrepreneurs think intrapreneurs have it made: ample capital, infrastructure (desks, chairs, Internet access, secretaries, lines of credit, etc), salespeople, support people, and an umbrella brand.…Guess again.
Yes, I’ve been attached to each and every programming language I’ve ever learnt, thinking I could conquer the world with my new knowledge. How so naive of me. If you are under the same illusions that I was suffering from, I suggest go and write “production” code. Why? because production code is a wholly different deal from your hobby programming.…And you thought your pet language could do anything faster, better and sometimes even in supernatural ways than those of the “other” lesser languages? “Ha Ha Ha”, you self-delusional lemon-eater. In production code, when the demands are high everything that’s available tends to hit a brick wall. Wether its the global interpreter lock in python (one thats biting me big time right now) or the lack of good threading in lisp or the fact that working with C is like building a sky-scraper with lego blocks.
With the holidays fragmenting shipping schedules, I ended up spending a work-week with 512MB of memory. Torture: the Quad was agonizing with its paltry stock 512MB. It was slower than my [800 MHz] PowerBook as soon as I had three applications running.
Mike Evangelist, who’s been blogging and writing a book about his work on Apple’s DVD products, says Aperture is Apple’s most embarrassing work ever. John Siracusa and Tom Bridge think it’s following the Final Cut Pro trajectory. There are some interesting comments on Evangelist’s post, such as this one from John C. Randolph.
This GPL’d utility lets you access the music on your iPod directly in the Finder, complete with the artist-album hierarchy (via 2lmc Spool). Fantastic idea.
The January issue of ATPM is out:
- The Candy Apple: Wikipedia Is Not the Lovefest We Thought
- Bloggable: Colder Than a Sunday in Hell
- The Personal Computing Paradigm: Coping With Mac OS X’s Font Rendering
- How To: Curing That Newbie Feeling
- Desktop Pictures: Wyoming
- Software Review: Aperture 1.0.1
- Accessory Review: EarThumps
- Software Review: iCash 3.0.3
- Hardware Review: iMac G5 20″
- Hardware Review: iSongBook
- Software Review: Mapwing Creator Pro 1.0.2
- Software Review: REALbasic 2005, Release 4
- FAQ: Frequently Asked Questions
This whole thing involves about a hundred bazillion dangerous, presumptuous “do shell script” calls. Instead of using AppleScript’s built-in file access routines, the author has chosen to use shell scripts and the “echo” command to perform all of his writes. For all of his reads, he uses a combination of the UNIX “cat” command with the “sed” and “tail” command. For each line of the original Bookmarks line to be read, he cats the *entire* file and pipes the result through sed and then tail. Seeing this kind of stuff makes me wonder whether half of my hard drive was deleted and I just haven’t found out yet.
It was nearly 10 years ago (mid 1996) that I first put my own web server on the Internet. Back in college, I managed to convince one of the staff to give my personal computer a static IP address so that I could run a Web server. At the time there were no other student computers on the campus network, let alone with static addresses.