Three Cool Tools

There are a few free tools that I want to plug. They are not scientific tools per se, but I find them very useful in my day-to-day operations, and I'm sure others will too. Two of the tools I use when I want to free up disk space: GrandPerspective and Monolingual. The last one is for filling up disk space with object files: Scons.

GrandPerspective is a simple idea that works very well in practice. It scans a directory on your hard disk, and displays the files as different colored blocks. The size of the blocks is proportional to the size of the files, and similar files are grouped together and given the same color. By mousing over the blocks, you can see what files they represent. It sounds simple, but it is a very effective way to immediately see what is eating up your file system, whether it be a couple of enormous QuickTime movies, or hundreds of smaller files like your iPhoto library.

In contrast to GrandPerspective, you won't need to run Monolingual very often. Monolingual scans your system, and removes languages that you don't need from the system and applications. You select the languages you want to keep. Perhaps surprisingly, this can free up several gigabytes of disk space. You can also remove files for particular chip architectures; for example, you could remove all PPC files from your Intel laptop. A word of warning about this: I managed to hose my Software Development Kits (SDKs) by doing this, and had to reinstall Xcode. Better to think hard before pulling this stunt.

The last tool I want to plug is Scons. Scons is a very powerful build system — an improved 'make' — written in Python. It has a whole range of cool functionality:

  • Cross-platform
  • Multi-threaded
  • Determines dependencies in C and Fortran
  • Easily handles multi-directory builds
  • Easily handles multiple build directories
  • Includes configuration functionality, like autoconf

But for me, the killer feature is that the build files — known as SConstruct files, the Scons equivalent of a makefile — are Python scripts. You can do anything in a SConstruct file that you can do in Python. If you already know Python, you don't have to learn yet another underpowered, obscure scripting dialect.

I use Scons for most of my Fortran projects, because it understands Fortran 90 dependencies, and have used it for a C++ project. It has served me well. If you are sick of manually updating makefiles, Scons may be the answer, especially if you are already a Python scripter.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Three Cool Tools

Another disk inventory app I like to use is: Disk Inventory X

Dave

scons

I second your recommendation of Scons. I've been using it for a few years on a mixed f90, f77, and c project spread among several directories and I will never use make by choice again. In addition to what you have said it is also easy to support different build options such as different compilers or optimization levels through command line arguments.

WhatSize

I go for WhatSize which is a nice clean, multi-threaded app.

-Geoff

Another useful free application

I really like SpotInside. It searches inside files fairly quickly for the phrase you type in (my initial tests showed me it can search text files and pdf files), but according to the programmer it can search any type of file supported by a Spotlight metadata importer plugin. It has a nice preview mode, so you don't have to open the files which match.

monolingual

I ran monolingual to get rid of the language and architecture support that I don't need. I was really happy after recovering 1.4 GB of disk space. I immediately emailed a friend of mine and told him about monolingual. He used it too.

My system seems to run slower since using Monolingual, especially Xcode. On my friends system he "can't print anything from WORD."

Be careful with monolingual

I've had some problems too on my Intel Mac. It seems to come from the architecture stuff. My recommendation is to only use monolingual to remove unneeded languages, but to leave the architecture stuff alone.

Drew

---------------------------
Drew McCormack
http://www.macanics.net
http://www.macresearch.org