Tools of the trade 2010-12-16

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

5 thoughts on “Tools of the trade

  1. Hey I thought this was a serious list until I read the LyX part ;-)

    (and remember, there is no such thing as raw LaTeX)

  2. I’m digging simplynoise and f.lux. I haven’t checked out the others yet, but this looks like a good list. too bad I don’t have a mac to try all of them out.

    Mathematica definitely has its niche uses. The graphical subsystem is awesome, for one, and it’s very nice for prototyping algorithms with minimal effort, or mixing programming paradigms. I usually turn to it over Matlab for anything that doesn’t involve convex programming (b/c Matlab has cvx, while Mathematica has … nothing) or linear algebra (Mathematica’s linear algebra system is all kinds of messed up).

  3. Nice collection! Definitely a few in there I hadn’t seen before. Gotta try them out to optimize my work environment even further (read procrastinate). :-)

    One suggestion though, have you looked into homebrew instead of macports? I’ve found it a much more painless solution: https://github.com/mxcl/homebrew

    — Peter

    • This time around I did look at homebrew vs. macports. Given that macports was working for me, I did not have any incentive to change to an equivalent system. Also homebrew looked too much like a cool weekend project rather than a serious endeavor. Let’s see if things are changed when I get the next laptop (3 years or graduation, whichever comes first).

Comments are closed.