The Economics Appliance - virtual computing for economics
Modern large scale systems (and the systems software used in the economics front office) relies upon virtualizaton. This idea is to break the link between hardware and software so each be maintained and upgrade independently. We have created an Economics Appliance that allows one to have a complete operating system on your laptop or desktop.
The appliance and directions for installation are can be found at Opensuse-13.1-KDE Appliance for Economics. Currently it has been tested on a Macbook Air. The goal is to have an appliance with the feature that code written on the appliance will work with little modification on the cluster.
The benefit of the appliance is that once you have got it optimized for your workflow then if you buy a new computer you just copy it over to the new machine you will be up and running in less than 1/2 hour with exactly the same system. The appliance is built with openSUSE 13.1 which is a very stable OS - the downside of this open source software is that it is supported for only a few years. To deal with possible OS upgrades you should create a second virtual disk and put data. Then upgrading to a new appliance is nothing more than attaching your virtual disk.
Tools for the Laptop
The days of the typewriter are long gone and laptops are now the essential research tool. In general, most research can be done using open source software for research. Much of this software has been produced by research scientists as part of their research and hence often has the best tools and algorithms. When things do not work help is often quickly available from the forum pages for the project. It used to be that these projects could be pretty buggy, but modern software tools have become very sophisticated that open source projects for complex systems are beginning to be more reliable than many closed source systems. The reason is that bugs are fixed by the community, and many companies have paid staff that contribute to these projects with the result that problems are fixed quickly. If a solution is not available, then you are always free to fix it yourself and then post the solution for others to use.
Finally, all the software describes below works on Macs, Windows and Linux - by using software that works on all systems, then coauthors can always use the same tools, and if in the future one decides to change operating systems this can be done at a low cost. All this software is found on the Economics Appliance described above.
Open Source Software:
Lyx is a really excellent front end for LaTeX.
You can enter mathematics three ways - keyboard shortcut, click a menu, or enter the latex command - with practice one can enter math more quickly than when writing.
When there is a need to deal with word documents LibreOffice is now stable and provides more than is needed.
LaTeX and LyX have an automatic bibliography system - bibtex.
One strategy is to enter papers from classes once into Jabref. With Jabref you can enter cites easily into LyX, and keep notes on papers, and links to the pdf versions of the paper in Jabref. Papers can be organized by class or project.
For diagrams Inkscape is perfect. It is open source (and hence free) and far more sophisticated that you will ever need. Diagrams can be easily cut and pasted into LyX.
LaTeX can do tables, most people find it easier to use Excel or LibreOffice, and then produce a pdf that is added to the end of the paper.
Acrobat is very expensive for editing pdf files. PDF Studio, is an inexpensive java based program that works on all systems. There is also PDFEscape , that provides free pdf editing, and also an in expensive paid service.
Programming and Data Analysis
Whether one is doing empirical or theoretical work one will have to do some computer programing. Here there are two types of skills. The first is simply being able to access a server and edit files. The second is using a computer language.
Computer programming can occur on either one's laptop or on a server, usually that means a linux server. Rather than learn lots of different systems, students with Windows machines can install cygwin that creates a linux like environment on a windows machine and is the best way to log into a linux server. On the Mac one can install xcode and X11 from the Apple store for free. Macs are unix machines with commands that are very similar to linux. For an introduction to linux see Linux Intro.
Finally, one can use the Economics Appliance with has all the software pre-installed, and one can easily install more as needed. Many people find this the easiest route since the same appliance can be used on several machines, and one can easily move it to a new machine, making setting up a new machine a 15 minute rather than 2 day process. Also, linux uses online repositories and so adding new software is quick and easy.
In order to run a program one has to first edit the program.
Classic full feature text editors are VIM and EMACS .
Everybody should learn the basics of vim since all unix/linux machines have it, and so one can always edit a file.
Quick and easy: nano.
On the desktop Geany - a great editor for developing programs - has modes for all languages, including stata, while on a KDE desktop kate is a good development environment and included in the Economics appliance.
Software for Computation
Python (with numpy and scipy ) is growing in popularity. It is a very well designed open source language with speed that is comparable to Matlab. Enthought now has a academic license, and you can download "Canopy", a complete scientific system, or Anaconda .
Python comes in two versions, 3 and 2. Version 3 address some issues with text processing, however version 2 is all that is needed for scientific computation. Eventually version 3 may be the standard, but both the clusters and the Economics appliance have version 2. (One can easily install version 3 into the Economics appliance.) On the appliance "spyder" is installed, which provides a nice Matlab like interface to Python.
Python can handle essentially all computing needs, including large data and text processing.
Maxima does symbolic computation (like Maple and Mathematica).
See matlab-python-xref.pdf for a comparison of the syntax of Matlab/Octave, Python and R.
For statistical work, Stata and R are installed on the cluster. The economics appliance only has R, and one can buy an inexpensive student version of Stata. Python has a module call "pandas" for statistical work, but is is not well developed. However, there is a Python-R link, which gives one access to the power of R. Many people find R code complex, and so one can use Python with R links to tackle any estimation problem.
If you are doing programming, in any language, it is advised that one installs and use git. It is version software that allows one to keep track of changes to code and work with others. See github.com for an example of a super popular site. When doing research one should do notes each day as the project proceeds. With git you can "commit" your work each day alone with notes. Should something go wrong or you need to see what you did in the past, it can always be retrieved.
Thought versioning software was developed with programmers in mind, it is so useful that many people use it for all their work - it is the basis of collaborative sites such as http://www.mynetresearch.com, bitbucket.org or github.com.