Mac OS tips and software
My Mac OS X Software
- A FITS file mdimporter for Spotlight. Requires OS X 10.4, of course. Unzip the archive and see the README file for instructions. Warning: This is very rough alpha-quality code.
- A Sidereal Clock for Mac OS X that I wrote.
Other Useful software
- Professional Astronomy Software for Mac OS
- Desktop Manager
- Fink (though this seems to be getting less useful with time)
- Fugu (GUI scp client)
- NeoOffice/J (don't let the name fool you, this is a Mac-OS-ized version of OpenOffice)
- Read this page and fix the annoying process number limit.
- Read this to learn about using PDF Services for direct printing from Macs to the departmental printers
To get VIM working with backspace properly in RXVT, add
stty eraseto your .tcshrc
To enable focus-follows-mouse behavior in X11, in a terminal do:
defaults write com.apple.x11 wm_ffm -bool true defaults write com.apple.x11 wm_click_through -bool true defaults write com.apple.Terminal FocusFollowsMouse -string YESThen restart X11
- To change the hostname permanently, edit the file /etc/hostconfig and change the "HOSTNAME=-AUTOMATIC-" line.
Setting up a Local Xgrid
To set up a local xgrid (and thus let Mac OS handle job management for your large simulations, etc.) , follow the directions described hereIn particular, that means (after you have downloaded the Xgrid Admin tools, and also set a local xgrid controller password in System Preferences):
sudo cp /etc/xgrid/agent/controller-password /etc/xgrid/controller/client-password sudo cp /etc/xgrid/agent/controller-password /etc/xgrid/controller/agent-password sudo /usr/libexec/xgrid/xgridcontrollerdor possibly just use 'sudo xgridctl controller start' instead of that last step; I'm not quite sure the difference. Then you can submit jobs using e.g. xgrid -h 127.0.0.1 -p your_password -job submit /usr/bin/cal.
By default, xgrid assumes that all jobs are single-threaded. Thus a multi-core CPU will accept up to as many jobs as it has CPUs. If you are distributing multi-threaded jobs and want each machine to only take one job at a time, then you want to edit /Library/Preferences/com.apple.xgrid.agent.plist and set
MaximumTaskCount=1So says the xgrid server manual. This is a per-agent setting, and is not something you can specify on a job-by-job basis (too bad). If you want to change it, you have to edit the plist file, then do (as root) xgridctl agent stop; xgridctl agent start.
Next issue: The Sandbox. By default, Leopard runs xgrid tasks in a very restricted sandbox for file permissions. The default settings hide all of /Users from xgrid jobs, which will probably prevent your code from running. To fix this, you will have to edit the sandbox configuration files, as described here and also here. Kerberos is one way to get around this, but otherwise it's probably easiest to just edit the sandbox files for user nobody.
You can download Apple's official Xgrid Server Manual from here (note: large-ish PDF file).