|Home » Learning Curve
Bloat Warfare Workshop Second Edition
A clean machine is a happy machine. Own your Mac. Really own it.
Today's release of the ACP, Xfile, and the freebie CLIX has a new component.
Bloat Warfare Workshop Second Edition.
Bloat Warfare Workshop Second Edition is a followup on the earlier Bloat Warfare Workshop already shipping with the various CLIX packages. It's an attempt to provide an easy simple to use method for cleaning one's machine on reboot when the need arises. It's already being used by Mac repair people as the first step to cleaning computers.
Simplicity is Everything
Simplicity is the goal of all good design, said Dan Geer, and here simplicity really counts. Although you can further configure the package prior to use you don't necessarily have to - but you're deliberately prevented from running it without first reading the (minimal) documentation. If you do try to run it anyway the following pops up. You have to read it if you want to run it.
Before and After
The Bloat Warfare Workshop Second Edition (BWW2) is two Unix shell scripts meant to be run immediately prior to and after reboot (and login). The 'after' script (aptly called 'after') does one thing and optionally a second: it checks your preference files for consistency and if you wish runs your periodic scripts.
The 'before' script is far more complex. Aptly called 'before', it performs the following tasks in the following order.
- Removing/emptying caches. OS X 10.5 has more places for temporary files and caches in more formats than ever before. Users of 10.5 have three separate locations for temporary files and many more locations for so called 'caches'. These can be good to keep around under certain circumstances but when troubleshooting an ailing machine must be removed.
The paths checked are /Library/Caches, /private/var/folders/*/*/-Caches-, /System/Library/Caches, and ~/Library/Caches.
Optionally logs are cleaned as well from the paths /Library/Logs, /private/var/log, and ~/Library/Logs.
- Clean junk files in user root. The files ~/.bash_history, ~/.fontconfig, ~/.recently-used.xbel, and ~/.thumbnails.
- Removing extraneous localizations and scratch pad IB files. Removing localizations has to be enabled within the 'before' script; the scratch pad IB files are classes.nib, designable.nib, and info.nib. Directories belonging to Adobe and Microsoft are explicitly skipped as well as the path /Library/Receipts.
Otherwise the paths /Applications, ~/Applications, /Library, and ~/Library are scoured for these files. Removing them should have no impact on code signing.
- Removing .DS_Store and .localized. And here a twist: if Finder is found running then the .DS_Store found for the desktop (~/Desktop) is skipped.
- Remove extraneous extended attributes. This step is optional and dependent on the presence of the xabatch tool.
As both scripts should be run with sudo it's necessary to protect them from rogue processes. Ideally the user should inspect them and protect them immediately they're downloaded. However if they are not properly protected they will simply refuse to run.
Only on Reboot
The scripts are intended to be used only in conjunction with a hard (cold) reboot of the system. Not all programs will appreciate losing their caches; none should ever misfire; but it's not something you necessarily want done all the time.
Once rebooted the user should log in and immediately run the 'after' script and can then proceed with the planned troubleshooting.
The Start of Something Big?
All computer users should have access to a basic script to clean out junk from their systems. And ridding a system of junk is always the first step in finding out what's causing trouble. A clean machine is a happy machine.
Bloat Warfare Workshop Second Edition is a good place to start. Future editions will include further features such as testing for file system weaknesses, known system design holes, and so forth.
Bloat Warfare Workshop Second Edition is freeware and provided 'as is'. You're responsible for whatever happens. Be sure to read the documentation first - you can hardly avoid it.
CLIX: Don't sell the man that fish
Learning Curve: 無駄な膨張と闘う (Bloat Warfare)