Articles from
WindowDragon: Simply The Best Free Window Tricks
MaxiMice: A Unique Enhancement To Scrolling, And More
GeekBind: Open Source Window Tricks
OCSmart Hacks: Add Major Smarts To Any Cocoa App
Megazoomer: Expand (Some) Windows Full-Screen Instantly
MondoMouse: Grants Your Mouse Magic Powers Over App Windows
Zooom!: Another Utility To Enhance Window Handling
Afloat: Cocoa Extension Aims To Extend Power Over Windows
F-Script Tutorial for Cocoa Fiends
Shiira 2.0 Finally Launched!
LiteIcon: New Freeware Manages Your System Icons
NewsLife: New RSS News Reader Debuts
Dell Customers Demand XP Over Vista
LightWindow: Awesome Prototype-Script.aculo.us Add-On for Adding Media, Forms, PDFs, and More to Lightboxes
Latest Performance Tests Make WebKit’s Superiority Hard To Deny (But Some Still Try)
A New JavaScript Library Handles Keyboard Shortcuts
Apple Mail Slowing Down? VacuumMail Can Probably Help
VacuumMail now comes with a full installer package, which puts VacuumMail in your Utilities folder, the Launch Agent in your Library (makes the LaunchAgents folder if you don’t have one yet), and also optionally includes Peter Borg’s handy Lingon software for customizing your Launch Agent. No other changes are made to VacuumMail itself at this time. I’ve updated the link, though, to point to the new installer download.
A lively discussion and exchange of information occurred recently on Hawk Wings, the blog site mostly devoted to news and resources for users of Apple’s terrific Mail program. A colleague at work sent me a message on Tuesday, excited when word on Hawk Wings started circulating about a “vacuum” process available for SQLite databases that appeared to dramatically speed up Apple Mail. He had tried the recommended vacuuming and definitely noticed peppier Mail performance. One thing led to another, and before I knew it, I’d become engrossed in developing and polishing up an AppleScript utility to automate a periodic vacuuming of my Mail, which I’m of course dubbing VacuumMail.
As the Hawk Wings discussion unfolded, we learned that Mail maintains an SQLite database called “Envelope Index” in your ~/Library/Mail folder, which gradually grows as the number of emails in your mailbox does. Natively, Mail performs no optimizations on this critical database, which contains pointers to all of your mail that become fragmented and somewhat disorganized over time. At the office, my Envelope Index file was over 100mb, and at home it’s about 30mb. SQLite offers a “vacuum” command that rewrites the Envelope Index, optimizing and reorganizing it for faster access. It sounds a bit like what happens when Mac OS X defragments your hard drive periodically.
At first, news of this function took the form of a shell command you can run in Terminal. It was quite interesting and exciting to see how the Mac users reading of this learned more about it as information was shared, and the command itself became more concise and precise as the day went on. Other users discovered that SQLite offers an “autovacuum” process that can do vacuuming without prompting, and I’m sure that’s a great thing as well. However, we also learned that vacuuming is a more robust and thorough optimizing of the file, since it actually analyzes and rewrites the whole thing, whereas autovacuuming acts only on a certain recent portion of mail pointers. The basic Terminal command turns out to be:
sqlite3 ~/Library/Mail/Envelope Index vacuum;