Over the last little while, I’ve started to suffer from lack of space on the hard disk in my laptop, which is ridiculous, since there’s an 80GB disk in there and there is no way I have that much data I need to hang on to. I decided to do something about it last week. The main part of the problem was to figure out what was eating all the space:
tells you exactly what’s using how much, but it’s hard to get a feel for where your space has gone by scanning through pages of
output. So I built a program to help.
spaceviz is a small Python program that takes the output of
, and builds you a picture and HTML client-side imagemap of your space usage like this one:
Running it against the output of
showed me very clearly where all the space had gone: not only did I have a few seasons of various TV shows on my disk (which I already knew were there), but I had 11 GB of unneeded gzipped RDF data left over from a project that finished earlier this year (that I had forgotten about). Instant win!
, and run
make veryclean all ROOT=/
with a definition of
that points at the directory tree you want to generate usage data for. The makefile will take care of running
for you. Edit the settings for
to change the dimensions of the generated picture.
The program runs not only on Linux without fuss, but also on OS X so long as you have the
port installed to convert the python-generated PPM file to a browser-accessible (and much more efficiently compressed!) PNG.
GNU Smalltalk version 2.95h (the latest release candidate) didn’t compile out-of-the-box on Mac OS X 10.3.9 for me. The two changes that were required were:
* change the header file includes in
to the older way of getting the prototypes for
* change part of a
to remove mention of the
After these changes, gst compiles and runs well for me on my OS X 10.3.9 box.
If you’ve upgraded to Leopard, and you’re an Emacs user, you may have found that typing emacs in a term no longer works — you get “Fatal malloc_jumpstart() error”. This will be the case if you’re using something like Fink or Darwin Ports, but it may also be the case if the upgrade didn’t quite work out.
The builds in Fink and Darwin Ports are currently broken; but otherwise, you have a few options to get Emacs back:
Use the Emacs that comes with Leopard. All this solution involves is making sure that any custom binary isn’t on the path — remove or move
(or possibly even
) and make sure
is the one installed with Leopard — /usr/bin/emacs --version should tell you the version is “22.1.1″.
The problem with the Emacs shipped with Leopard is that it’s built with no X support
(or Carbon, for that matter).
Use Aquamacs. Aquamacs has precompiled binaries which work with Leopard. But, beware, it is quite different from Emacs in some ways — if you used Emacs before you used MacOS X, you probably won’t like it.
Compile your own Emacs. This is what I did. The stock 22.1 source distribution won’t build in Leopard; it gives up the ghost with a message “Assertion failed: (filesize <= ranges->size)”. However there is an unofficial patch, which worked for me. I’m going to keep my custom emacs until fink or ports catches up.
In summary (adapted slightly from here):
curl -O http://ftp.gnu.org/pub/gnu/emacs/emacs-22.1.tar.gz tar xvzf emacs-22.1.tar.gz cd emacs-22.1 curl -O http://ephemera.continuation.org/patches/emacs-leopard-unexec.patch patch -p0 < emacs-leopard-unexec.patch ./configure --without-carbon --with-x --prefix=/usr/local make sudo make install
I put the result in
and made sure
was on my path before any of the other possibilities, while I wait for Fink or Ports to catch up.
UPDATE: Thanks to masklinn's comment below, I can present another option which I'd overlooked:
Use carbonised Emacs. If you want to run Emacs in its own window, but don't want X11, there is a ready-made
wrapper in the source distribution. The disk image, which masklinn suggests, has patches and some very useful bundled Elisp packages, like nxml-mode.
You can also use the emacs distributed with Leopard with the .app wrapper, as jfb points out (see the second comment below); or, compile your own carbonised Emacs, similar to what I did above: change the configure invocation
./configure --with-carbon --without-x make cp -R mac/Emacs.app ./ cp src/emacs Emacs.app/Contents/MacOS/ sudo mv Emacs.app /Applications/
Either way gives you an Emacs that behaves like a MacOSX app and doesn't need X11 to run.
You are currently browsing the archives for the MacOSX category.