My old Macbook was in terrible conditions after a long and productive life: it’s been powered on for an average of 16 hours per day for 3 years, and it has traveled to several continents. It will be fondly remembered.
I got a new Macbook pro and spent a considerable amount of time reinstalling my development and research environment. In the hope of saving some time during the next reinstall, I documented everything I installed. I thought I’d write a blog post about it, thinking that this list might be useful to someone else.
Developing environment
- First thing first: the developer tools from Apple; they come in the install CD.
- macports is my choice to complete the Unix environment. Packages installed: wget, ffmpeg, mplayer, imagemagick, autossh, aspell.
- python is my current language of choice. The indispensable packages to learn and use are numpy, scipy, matplotlib, pytables, opencv. The Enthought Python Distribution is the most convenient package, although I have been having a few small problems with the 64 bit version.
- Eclipse is my favorite multilingual IDE, of course with pydev, the Python plugin.
- textmate is the best casual editor you can find for OS X. The essential plugins are the matlab bundle, and the remate plugin, to work over sftp links.
- The inconsolata fonts are my favorite programming fonts. On Mac there is already Consolas, but Inconsolata is a free equivalent that you can install on Linux as well.
- cmake is the best solution for building and packaging C/C++ projects.
- After years with subversion, I am now a git convert. I found the best solution for Mac is to just install the binaries from the official website.
- hdfview is a nice HDF viewer. See a few reasons why you should use HDF.
- I dumped Parallels for VirtualBox: it’s free, and better.
- You should drop bash for zsh. The best theme/plugin manager for zsh is oh-my-sh.
Networking
- Chicken of the VNC is still the best VNC client around. In theory all VNC clients should be compatible with all servers; in practice, there are all sorts of incompatibilities, and Chicken of the VNC seems to play along well, especially with older Linux servers.
- With synergy and a couple of computers, you can create a fancy Matrix-style C&C environment.
- JungleDisk is my current favorite solution for automatic offsite backup (coupled with Time Machine for onsite backup).
- expandrive is a must if you are working with multiple machines.
- I switched from Firefox to Chrome; it’s faster, and has better memory handling. The indispensable plugin is adblockplus.
- autossh might be useful if you need to establish SSH tunnels towards your machines (example: to secure VNC).
Doing research
- Evernote saved my sanity! It is my solution for all the random bits of information (everything that I care about, but not so “stable†as to require a repository.)
- Papers is the other piece of software that saved my sanity. Highly recommended.
- Jabref is better than Papers at handling .bib references; useful at writing time when you want to have more control on formatting.
- Skim is better than Preview for reading long PDF files.
- Keynote has been a welcome liberation from Powerpoint. There was a period in which I used to do presentations with LaTeX using PowerDot, but nowadays I do everything with Keynote.
- The best LaTeX distribution for Mac is MacTex.
- If you are writing raw LaTeX, you are probably wasting your time; LyX gives you a nice GUI environment, and you still can have the flexibility of LaTeX when you need it.
- Staying up late in front of your screen screws up your melatonin production. Use flux to minimize this problem.
- Use Freedom to cut your internet connection when you really have to work. (Unfortunately it is not free anymore.)
- Use RescueTime to assess your productivity (warning: it can be very demoralizing!)
- SimplyNoise is useful when your work environment gets too noisy.
- Piping to mplayer/mencoder, with perhaps a second pass with ffmpeg, is the best solution to create high-quality videos for your research.
- VLC plays everything.
- Sometimes I forget huge log files in some remote directory. I solved this problem using GrandPerspective.
Software that I have to install but I get no joy in using
- Adobe Acrobat is the bloatest piece of software I have ever seen. I hate its intrusive “update managerâ€. But it is sometimes useful for checking which fonts a PDF is using.
- Matlab is something I sweared to use again only when forced.
- Mathematica is still enigmatic and profoundly non intuitive for me.
- There’s no alternative to Skype.
Miscellaneous
- FunctionFlip for turning off F9/F7. Useful if you have big and imprecise fingers that always press F9 (forward song) while going for F10 (mute).
- Music Brainz Picard is the best tagger/organizer for MP3 files. MP3 tagging is my favorite procrastination activity.
- gmail notifier
- OGG drivers for QuickTime
- geektool has some interesting uses (example).