Further, my experience with Haskell means that I now see potential bugs everywhere in imperative code. Before, I was fairly well aware of the problems that stateful programming and side-effects can cause, having dealt with many scores of bugs related directly to this, and spent countless hours debugging these problems. But without any alternative, I guess I had just lived with it. Now I know there are other ways of doing these things, I find it difficult to be satisfied with any of the code I write. I am constantly aware that I am writing traps that other people are likely to fall in.
Archive for August 2006
Last week, I was thinking back to the rip-roarin’ 90’s, and the big war of the media player platforms.
Who would be king of all digital media? QuickTime? Windows Media? Real? Nope! The winner, with something like 98% browser availability is—wait for it—Flash! Ha ha!
Andy Matuschak looks at Apple’s branch of gcc and finds some information about the changes that are in store. His “Fast IV access and IV security” section doesn’t seem to be anything new, though, unless the idea is that the compiler now replaces
-> with function calls to help out the garbage collector.
Stick Software has released a major update to its excellent PhotoReviewer. It’s now Universal, can import directly from cameras, and has a thumbnail view that makes it easier to see where you are in the photo review process. I first learned about PhotoReviewer from Paul Fatula’s review and have been a happy user ever since.
Christopher Lenz reacts to the news that Guido says Django is the Python Web framework. I agree that Django’s ORM and templating are weak and hold little hope that it will somehow converge with TurboGears. Why go from n Web frameworks to 1, when there’s room for two or three really good ones?
My favorite feature in Leopard is Spaces. Virtual desktops are incredibly useful, and Exposé, however useful in its own right, is not a good substitute for them. I’ve been waiting about ten years for this—sorry, CodeTek, but I think it does need to be built-in—and I guess we can credit Linux for popularizing virtual desktops and making them a standard feature that Apple felt obligated to copy.
Along these lines, after enticing developers to come to WWDC to see where Mac OS X is going, Jobs tells them that he won’t reveal the biggest changes in Leopard because he doesn’t want Microsoft to copy them yet. Um, last year he told them to start their photocopiers. A banner declares that Redmond has a copycat. These lame jabs may be good marketing (I wouldn’t know), but they make me slightly embarrassed to be a Mac developer. Isn’t there a better way to make the point that Apple is an innovator? And shouldn’t the focus be more on why Mac OS X is a great development platform? “Come for the Java, Stay for the Cocoa” was a little corny but a better sentiment, I think.
I’m not so sad to see VB go. That code has been a major headache to maintain over the years. Lots of people are bemoaning the sudden lack of cross-platform scriptability, but to be bluntly honest, VB for Mac Office hasn’t been remotely compatible with VB for Win Office for years. Even back in Office 98 the VB IDE for the Mac had several major features cut compared to Win Office (watchpoints, etc) and the object models for the two platforms have diverged wildly in the 10 years that have gone by.
I didn’t expect them to, but I was rather hoping that Microsoft would continue development of Virtual PC. At least they wouldn’t use Qt for the interface like Parallels did. It will be interesting to see how VMware is, when it arrives for Panther.
Dropping Visual Basic worries me. I don’t use Microsoft Office every day, but I do sometimes need to open complex Word and Excel files (the latter, especially, containing VB scripts). Presently, I can use Office 2004 (in Rosetta), a free Office clone, or Office for Windows running in a virtual machine. It seems that only the latter will offer full compatibility going forward, and Office 2004 will be more compatible than Office 2007, so they’re not giving me much reason to upgrade.
2006-08-09 Update: more from Schwiebert on the challenges of bringing Visual Basic to Intel. He doesn’t seem to address the possibility of writing a new, higher level VB interpreter (e.g. like Python’s) that wouldn’t be affected by architecture or ABI differences.
2006-08-09 Update #2: Rick Schaut comments.
I use the following bit of CSS to help visualize the structure of an XHTML (or HTML) document by putting a colored outline around the border of every element. At each level in the hierarchy the color changes so you can see when “depth” changes.
So the obvious choice was to make it one big webview—a single web page—to get rid of that overhead.
But then there’s a whole other challenge: how do you make it so that you can still navigate with the keyboard? How do you have the concept of a selected item? It can’t just be the same as an online reader—it needs to have the features desktop app users expect.
(1) keyboard-only selection in lists ought to be anchored because keyboard-only selection in text views is anchored; and (2) keyboard-only selection ought to be anchored because mouse-only selection is, because keyboard-only selection is in general terms very similar to mouse-only selection—you get one button (the mouse button or the Shift key) and a current direction (the pointer movement or an arrow key).
Daniel Jalkut continues a mailing list discussion on pricing Mac software. Brent Simmons warns of low prices and points out how much cheaper software is than in the 80s. I had been thinking before, and this discussion has pretty much erased any doubts I had, that DropDMG’s price was too low. I’m planning to raise it, probably to $20.
The August issue of ATPM is out:
- Bloggable: Earth Tones
- MacMuser: Beeping Mad
- The Personal Computing Paradigm: Mac OS X’s Increasing Stability
- Web Accessibility: Sandvox: Sand in the Eyes
- Segments: Slices from the Macintosh Life: My Life With Automator: How I Spent My Summer Vacation
- Segments: Slices from the Macintosh Life: Spotlight
- How To: Sending Automated Birthday Greetings Via Automator
- Desktop Pictures: FIFA World Cup
- Book Review: Adobe InDesign CS2 One-on-One
- Hardware Review: EyeTV 250
- Book Review: Keep it Simple With GarageBand: Easy Music Projects for Beginners
- FAQ: Frequently Asked Questions