- Robb Beal:
- “Apple users? Huh? You mean Mac users.” Bingo.
- “A revolutionary system would be decentralized (i.e., Web-like) and artist-centered (i.e., artists would have ultimate control). Apple’s system is neither.” But didn’t Apple have to work with the big companies because they own the rights?
- “What an embarrassment…that we continue to see stories written that idolize a single person rather than…the diversity of contributions being made. Does anyone find the idol stories interesting, or believable?” I agree with the first part, and perhaps the stories are exaggerated, but could Gil Amelio have pulled this off?
- Bill Bumgarner: “In other words, as my purchased music library grows, backing it up becomes quite the serious inconvenience.” And, apparently, iTunes’s backup feature doesn’t help you segment the library.
- Steven Frank: “The major negative is of course the Digital Rights Management.”
- Nat Irons: “I distinctly remember what happened to my music purchasing patterns the year I was using Napster most heavily. I’d buy ten albums a month without even thinking about it.”
- Chuq Von Rospach: “A lot of the anti-piracy seems to me like the attempt to move speed limits to 55: too many Americans simply didn’t agree and didn't buy into it. so you can either try to put a policeman on every highway, or you can raise the speed limit.”
- Dan Wood: “If Apple wanted to do something and revolutionary, they could have done something much more extraordinary that would have not only included the big names, but also allowed the ‘little guys’ to make their music available over iTunes.” I think getting the big players on board is a necessary first step to getting the concept accepted. It reminds me of Don Norman’s story about how Edison’s phonograph lost. And Rhapsody. The current system is a big enough step forward for 1.0.
Archive for April 2003
If we accept that programmers are humans, one primary and interesting consequence is that human factors issues can be properly applied towards the tools they use.…I am speaking about the more basic tools programmers use every minute they do their work: programming languages and APIs.
Consider garbage collection. One can argue up and down about the overhead, etc., but consider this: Two of the best selling C++ books are Scott Meyer’s Effective C++ and More Effective C++. The single largest category of the 85 tips—about one quarter of them—is dealing with potential memory leaks.…This is fundamentally a human factors problem: You can tell people how to avoid the whirling knives of the abattoir, or you can close the abattoir door.
(via Ned Batchelder)
On the web, a blurb is a line or short paragraph (20–50 words) that evaluates (or at least summarizes) what the reader will find at the other end of a link. A good blurb should inform, not tease. Usability testing will help you determine the best way to lay out your blurbs, but this document will help you write the content.
Dan Frakes has written an article that every Mac developer should read. My favorite piece of advice: put the full name of the product and the version number in the name of the disk image.
Classes are what make objects possible, and without objects, object-oriented programming would not make sense. —Special Edition Using Java, quoted by Douglas Dunn on the now-defunct javarules.com
I really want to hear the details of the DRM. How is the iPod special wrt authorization? What happens if I burn a CD and then rip it?
I’m not sure yet how much I’ll use this service. Unlike Jobs, I like albums, and the prices seem geared towards singles. Right now, I see it as mostly useful for previewing and accessing previously unreleased material. I didn’t see the original version of “Slow Motion,” though.
There’s a flow to a good album. The songs support each other. That’s the way I like to make music. —Trent Reznor
Tim Bray has written an introduction to Unicode. From my quick skimming, his writing seems exceptionally clear.
Here’s a transcript of Kapor and Hertzfeld’s talk at O’Reilly. Chandler is written in Python, which Hertzfeld says is three times faster to program in than Java, which is three times faster than C. Chandler uses wxWindows for its platform-agnostic interface framework. The Mac version uses native widgets, but the program as a whole doesn’t feel at all native to me. I do like the way you can click on an address component (such as a phone number) to edit it. There’s no annoying editing mode, like in Apple’s Address Book. Hertzfeld apparently likes browsers: every view in Chandler has a URL, and one of the “key concepts is that you can have multiple Views onto each data set.” Kapor says: “We’re not successful if we make commercial development impossible.”
Lambda: “Our conclusion is simple, and contradicts our initial intuition: compiled implementations should use eval/apply.”
Here’s some discussion of the Rube Goldberg Honda Ad. I’d just assumed it was CGI…but Eric says it’s not.
A skeptic checks all the drawers. —Dilbert
Just as I was pining for the menu bar, Stone Design released FontSight, which brings back the Font menu. It doesn’t work in Carbon applications, but most Carbon applications have Font menus, anyway. Hopefully it will evolve into a MenuFontsX. MenuFonts showed previews of fonts in different sizes, and you could type the first few letters of a font’s name to jump to it in the menu.
EquationService, if you haven’t seen it, is a handy free application which produces PDF images with PDFLATEX or CONTEXT that can be dragged and dropped into Keynote or almost any other Mac OS X application. The main advantage over using TeXshop or similar is that you can typeset a single equation to get a small PDF image containing only that equation, rather than an entire page. The interface sucks, however, and I sent the author some changes which I hope he incorporates.
I hope people like the new SiteSearch tool. When people talk to me about Sherlock 3, what is undershadowed by The Controversy is the fact that there were hundreds of plugins out there for searching sites, which people liked, that don’t work in Jaguar! A lot of Sherlock’s original purpose of “meta-searching” is no longer pertinent, thanks to Google, but the ability to search a targeted site conveniently was abandoned when Apple changed gears. Yet those plugins are still available out there in Web-land, and many of them actually still work…not in Sherlock 3, though…just in Watson, and, I think, Interarchy.
Nisus has released a beta version of their Cocoa rewrite of Nisus Writer. As much as I’m glad that Nisus Writer is still under development, I can’t get that excited about the product because it hasn’t yet caught up to Nisus Writer 4. As with OmniGraffle, the interface is palette-heavy, although the palettes are in a drawer. When did the menu bar go out of fashion? Palettes should be for frequently used settings where I need direct feedback. I don’t need a palette for setting the number of columns in the document; I’ll do that once!
John Gruber analyzes the Dan Gillmor article that’s been getting entirely too much coverage. I’m sick of Carbon vs. Cocoa and which group contributed what to melange that is Mac OS X. Gruber’s best point is that much of the great Mac software has historically been written by small developers. The only (non-Apple) applications from big companies in my Dock right now are Internet Explorer and Photoshop Elements. In a few minutes I’ll be starting up FrameMaker. I doubt this ratio has changed much for me over the years.
Premature optimization is the root of all evil (or at least most of it) in programming. —Donald Knuth
This morning I released DropDMG 2.1. It adds BBEdit-inspired recent and favorite folders, support for Internet-enabled images, compatibility with Apple’s JDK 1.4.1, and lots of other refinements. I’m especially proud of the new sheet-based interface for overriding the preferences.
Erik Barzeski has some good criticism of OmniGraffle 3 and its icons. The new palettes look cool, and I was never really a fan of the old Interface Builder–style ones. But I think I want something more context-sensitive.
It is understandable that carrying an advanced featureset and lots of media manipulations can’t be all that speedy, but we’re talking about the interface responsiveness here. I am, trying to assemble my first home-made movie in iMovie, using a semi-modern Mac (dual-Ghz), don’t like clicking into a movie fragment and waiting for half a second for the system to understand I clicked in and update the UI. I don’t like browsing through the iPhoto library with an ocassional coffee breaks every time i click on an up arrow because my library contains about 600 photos.
The video also made one wonder for whom public television programs are made. Despite having two hours the show did not attempt to explain even the simplest physics or engineering behind radio or any of the inventions that were the subject of the disputes chronicled. The biographical and historical information was narrated so slowly that it could have been sped up 3X without approaching the speed of dialog on the Simpsons, which most people seem to have no trouble following.
All gripes aside, however, Eclipse on OS X is the same great development environment that I’ve come to love on Windows, and that alone is cause for celebration. I would kill to have Eclipse’s sophisticated code completion features in Project Builder (since I’ve been using Eclipse at work, my once frequent visits to the Java API docs have all but ceased).
I don’t think that would be enough to get me to write code in Project Builder, but if Apple implemented more of Eclipse’s feature I might consider switching. Although the situation is much better than on OS 9, it still seems like the Mac is behind in developer tools. Using a minority language like Objective-C doesn’t help, of course.
Erik Barzeski doesn’t like the Apple Store’s new look, and I’ve got to agree. It’s too cluttered. By the way, did you know that Apple still sells HyperCard? I recently bought a FireWire hard drive from Dell. Their store is worse, of course—especially the search feature. But I paid $60 + shipping less than if I had bought at a Mac store. (The price has since gone up to the Mac-store level.)
A witty saying proves nothing. —Voltaire
Are web-based forums (especially phpBB and friends) really hard to use, or am I just not understanding something fundamental?
I thought I was the only one!
Georgetown University law professor John R. Thomas sees the case as a demonstration of how the patent system is being commandeered by private individuals who then go on to make their own laws, free from the traditional safeguards that prevent the government from abusing its power. This trend emerges from the willingness of the U.S. patent office to approve what Thomas calls “postindustrial” patents that cover everything from methods of doing business to human behaviors.
Shira Springer’s article in the Globe today is a horrid piece of puff journalism. The Celtics have many offensive players, but their offense is awful. Rather than getting “the most” out of the Celtics, Jim O’Brien has them playing well below their talent level. Many of the players whose “expertise” he solicits have never played under a real NBA coach. O’Brien would probably be an OK coach for a veteran team, but these Celtics need a different sort of coach—someone like Larry Brown.
We’re going to turn this team around 360 degrees. —Jason Kidd, upon being drafted by the Dallas Mavericks
How is a right-handed person supposed to use the keyboard to switch tabs in Safari? Using multiple windows and Command-` seems so much easier.
While the elimination of the FireWire port from the PS2 does not necessarily mean the end of such a vision, it is certainly likely.
Dan Wood has started a blog containing random bits of Cocoa code. What’s nice is that they seem to be self-contained, so you don’t have to bring in a whole framework to take advantage of them. Also, each file has a URL, so the code will be indexed by Google and hopefully also spur some discussion. In that spirit:
Truncate_a_string_t.m: It appears that this method isn’t Unicode-savvy. It should probably use
NSWorkspace__Return.m: The answer to the question in the comment is
The change in Safari that I’m excited about is not the metal tabs but the font rendering. Previous versions of Safari always anti-aliased fonts and didn’t use screen fonts. The new version of Safari obeys the system anti-aliasing threshold, which I override for Safari like so:
defaults write com.apple.Safari AppleAntiAliasingThreshold 12
It also uses the real screen version of Geneva—sometimes.
Below is Safari with the above anti-aliasing setting and the fonts set to Geneva 10 and Monaco 10.
Here’s what it looks like in iCab. The Safari text is now just as sharp as in iCab, and it seems to be using the proper letter shapes and spacing. Safari’s underlining still obscures the descenders, and it does poorly with the bold and italic text.
In all fairness, iCab’s italic Geneva 10 doesn’t look great either. For true bitmap nirvana, you have to reduce the font size to take advantage of the hand-tuned Geneva 9 bitmap.
Unfortunately, reducing the font size in Safari results in even worse bold and italic text.
By the way, Safari also renders the
q tag now. See?
I came across a neat list of data structures and algorithms resources today, so I’m keeping a list.
Serious software development requires keeping track of “issues”: bugs, feature requests, unresolved support incidents, code snippets, prototyping results, URLs, etc. A few months ago, I dumped my home-made FileMaker database for CVSTrac, and I couldn’t be happier. The developer has shown enormous restraint in keeping it simple, and the result is one of the most elegant pieces of open source software that I’ve seen. (Apparently, the code is elegant too.) If you’re on a huge project, you might want something heavier, but CVSTrac is more than enough for most smaller teams, I think. You can try it out on CVSTrac’s own server. I’ve posted a Mac OS X build. Hopefully I’ll have time to write a full review soon.
Far from imprisoning us in fate, self knowledge about the causes of our behaviour will liberate people to make choices: as the philosopher Daniel Dennett argues, more knowledge brings more free will.
“Organic farming is sustainable,” says Indian biotechnologist CS Prakash. “It sustains poverty and malnutrition.”
If you asked intellectuals at almost any time since Malthus to talk about the future, they would have been pessimistic and they would have been wrong.
(via Jerry Kindall)
Somehow I only just discovered that The Daily Show has highlights from recent shows online. Stephen Colbert says: “What we need to do is develop bombs that can kill ideas.”
Whoever thinks a faultless piece to see, Thinks what ne’er was, nor is, nor e’er shall be. —Alexander Pope
These are the Movable Type templates that generate the bulk of this weblog. They are licensed under a Creative Commons license .
The latest haxie from Unsanity brings NowMenus-like editing of keyboard shortcuts. Cool. But, actually, most of the heavy applications I use already have configurable shortcuts.
There are 1011 stars in the galaxy. That used to be a huge number. But it’s only a hundred billion. It’s less than the national deficit! We used to call them astronomical numbers. Now we should call them economical numbers. —Richard P. Feynman
Stepwise has published an internationalization article by Malcolm Crawford and Bill Cheeseman. New to me were the magic command-line switches -AppleLanguages (for launching an application using a different language) and -NSShowNonLocalizedStrings (for logging to the console when a localized string can’t be found). It’s a good article, but I’d rather read about the non-technical aspects of localization.
This textbook brings the computer science student a comprehensive and up-to-date presentation of all major programming concepts, techniques, and paradigms. It is designed for second-year to graduate courses in computer programming.…As far as we know, there is no other book with this breadth of coverage that is both practical and theoretically well-founded.
Drafts of the book are available online. The examples are in Mozart, reflecting an emphasis on concurrent programming.
What’s happening is that Java 1.4.1, now the default when you type java on the command line, does not support certain Java-to-Carbon technologies that QuickTime for Java depends on.
This change also breaks DropDMG 2.0’s MacBinary encoder. JDK 1.3.1 is still installed and available in /System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/, however I made the mistake of hard-coding /usr/bin/java into DropDMG. (In the future I will indirect such paths through the defaults database.)
The next version of DropDMG will use a new MacBinary encoder that works with JDK 1.4.1. For now, if you want to make MacBinary-encoded images with DropDMG, you can not update to JDK 1.4.1 or symlink /usr/bin/java to /System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Commands/java.
sudo mv /usr/bin/java /usr/bin/java141
sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Commands/java /usr/bin/java
The Cocoa frameworks used to create Path Finder, and source code used to write Path Finder plugins are now open source and ready for immediate download.
Included in the source code package are two powerful frameworks: CocoaTechBase and CocoaTechFoundation. These two frameworks make up the heart and soul of Path Finder.
Also included are 4 real world Path Finder plugins. These aren’t simplified versions, these are the actual full plugins that ship with Path Finder. “Hex View”, “Image Converter”, “Get Info”, and a sample plugin designed to be a perfect starting point to write your own Path Finder plugin.
The license is BSD-style. With loads of categories in the same namespace and dependencies on the Omni frameworks, I doubt many developers will want to use these frameworks as-is, but there’s probably a lot to learn from them. Path Finder is a multi-threaded app, and it handles both Unix and Mac aspects of files.
Sometimes it’s easy to what’s going on, as in NTWeblocFile.m where Gehrman explains his reverse engineering of the Finder’s “webloc” files. In other cases, the code is clear but the rationale is not, as in NSNumber-NTExtensions.m where there is a category for wrapping NSSizes when NSValue seemingly already does that.
I’m not a fan of CocoaTech’s new Geeklog-based site. The old version was much simpler. However, Gerhman includes a link to openSourceCMS.com, a site that has the major CMSs installed so that you can try them out.
I think the difference here is that CPAN is promoting use of the software, and the bottomline purpose of FSF is to promote the policies under which FSF develops software, not really the software itself.
At least a couple of readers of this blog guessed that something was wrong when the “Ten Cool Things About the New Girl” blog entry from last week got yanked. They were right, but they probably had no idea how wrong things went. I’m going to tell the story—with names changed and a few non-essential details omitted. I’m trying to balance telling my story with protecting people’s privacy. Hopefully, I’ve succeeded.
(via Boing Boing)
When the time came to run the acceptance tests, we brought the client in, showed them this language, and explained how it was used to produce the document. We then showed them some new magic: we fed the same document through a different code generator and it produced a whole lot of C code, one function per test. They verified that this C did indeed represent the contents of the document, then we compiled and ran it. The entire Telex switch acceptance tests were run from this domain language (and, amazingly, it passed).
So many talented book designers get so little recognition. To do our small part to rectify that, DG Strong and Karen Templer—joined by Mignon Khargie as of 09/25/02—will be singing the praises of some stand-out covers and the designers who designed them, more or less weekly.
(via Jerry Kindall)
In science one tries to tell people, in such a way as to be understood by everyone, something that no one ever knew before. But in poetry, it’s the exact opposite. —Paul Dirac
Dale Emery wrote to recommend Joseph M. Williams’s Style: Ten Lessons in Clarity and Grace, calling it aRefactoring for writers. That definitely sounds interesting!
Both books are good, and the comparison is apt. I actually prefer Williams’s other Style book to the one above. It has basically the same material without the classroom angle. Style is the most useful book I’ve found about writing. Strunk and White motivate: “make every word tell” and “omit needless words.” Williams helps you refactor your writing to actually do that. (Of course, it’s a never-ending struggle.) When I was studying psycholinguistics a few years ago, I read a bunch of papers that (unknowingly) verified some of Williams’s claims. Perhaps prescriptivists and descripivists aren’t so far apart after all.
Michael Kelly, the Atlantic Monthly editor-at-large and Washington Post columnist who abandoned the safety of editorial offices to cover the war in Iraq, has been killed in a Humvee accident while traveling with the Army’s 3rd Infantry Division.
I thank him for creating the new Atlantic Monthly, one of my favorite publications.
The best writing is rewriting. —E. B. White
Since the dawn of Mac OS X, I've been waiting for one of two things to happen to the Finder: either a radical revamp according to a bold new vision of what the Finder could be, or a return to the core values that defined the classic Mac OS Finder and made it so well respected and loved. Neither has happened so far, and so in this article I've proposed a way to do both.
The OS X Finder, though it has improved a lot since 10.0, still has me cursing it almost every time I use it. For the past month, I’ve tried using Columns view instead of the spacial views that I prefer, hoping that maybe that side of the Finder would be more polished. In some ways it is, but I still think Siracusa is right. The current Finder is neither here nor there. It is a half-baked spatial Finder and a half-baked browser Finder melded together in a confusing way.
Siracusa pushes a bit too hard on the idea that the spatial Finder is a better match for human brains. It may be true, and I think it probably is, but his argument is not a proof. Either way, I worry that browser Finder advocates will put down the article before they get to his interesting ideas in the second half.
Spiffy new features and a religious war over the spacial and browser paradigms are putting the cart before the horse. At this point, all I want is a polished Finder. Just something basic that lets me manage my files without frustration will be enough. By basic, I mean windows that auto-refresh and remember their settings, being able to move large numbers of files quickly, and other things that we used to take for granted. For the rest, I can wait for 10.5 or 11.0.
The OS X Finder still feels like a beta. Apple’s been eager to build countless iApps and compete with third-party developers, yet it is unwilling to finish its most important application. Everyone uses the Finder, and it’s not replaceable. Apple should make it first-rate.
How do you like my American accent? —Steven Hawking
The April issue of ATPM is out.
- The Candy Apple: Ride ’Em, Cowboy!
- Networks in Action: Learning to Share With Others: Sharing Preferences Overview
- What’s Under the Hood: Got Vinyl? LPs to CDs Part 2: Recording and Editing
- How To: Making Jaguar Adopt Orphaned Printers (Hopefully)
- Cartoon: Cortland
- Desktop Pictures: Hong Kong
- Review: DriveTest 1.0
- Review: NetNewsWire 1.0.1
- Review: Photo Mechanic 3
- Review: Secrets of the iPod, 2nd Edition (book)
- Review: Studio MX
- FAQ: Frequently Asked Questions
Some people, when confronted with a problem, think —Jamie Zawinski, in comp.lang.emacs
I know, I’ll use regular expressions. Now they have two problems.