External Tools & Links

This page contains links to software tools and documentation that we have found to be indispensable to achieve higher productivity and, more importantly, greater enjoyment of our research activities.

Our philosophy is simple: Every hour spent preparing a complex task or learning a complex piece of software will pay off within months if not weeks. Accordingly, we strongly recommend LaTeX for document production, notwithstanding its (alleged) "steep learning curve." Likewise, we use R, SAS, and/or MatLab for most programming and data management tasks.

Note that all our computers are running Windows, so this information may be of limited value to Mac users.

Document Production

To produce documents in LaTeX, you need an editor to produce the source file, a LaTeX compiler, and a bibliography manager. Information about all of those can be obtained at http://www.latex-project.org/, although here are a few further hints.

Concerning the editor, we have used TeXnicCenter and WinEdt. The former is easy to install and use and entirely free; the latter is shareware and hence incurs a cost but has a lot of additional features (including the ability to highlight comments in different ways depending on the author's initial, thus facilitating multi-authored document production.)

See below, in the section on 'Data and Documents', for another powerful alternative to WinEdt.

WinEdt can be configured to perform a number of extremely convenient things, for example 'forward' and 'inverse' searching, which allows you to pop back and forth between a compiled .pdf file and the underlying LaTeX source code: Click on one and you go the right place in the other, and vice versa. Details can be found here.

We use MikTex as the LaTeX compiler and JabRef as the reference manager.

A document that summarizes the installation process for the entire package and that seems to work well in the UWA environment can be found here. This document was written by Dan Little and includes some comments about the style packages required for APA documents.

If you are starting to use LaTeX and frequently need to look up commands, I recommend you link the following website into your favourites; it contains a terrific hyper-linked set of summary pages for all LaTeX commands (and lots more).

Likewise, if you want specific assistance with the APA document class and its various commands, try this website, which is run by the author of the terrific ''apa.cls" document class.

Miscellaneous Tools

If you want a quick-and-easy but powerful text editor for all your non-document needs (e.g., perusing data and so on), have a look at Notepad++.

Another useful tool is EverNote, a utility that allows capture of partial or whole web pages while retaining their addresses and download date. This facilitates referencing of web pages in APA style and, unlike a list of links, also retains the content of those pages at your fingertips.

Contrary to its rather ominous name, DataThief is a terrific little tool that allows you to capture data off the screen, for example from published graphs. This is extremely handy if you want to re-analyze (or model) published results but do not have access to the raw data. DataThief will present you with the numbers within a few mouse clicks.

Data Collection

We are blending a variety of tools for our data collection, management, and analysis needs. All experiments are written in MatLab using the Psychophysics Toolbox. MatLab is a commercial product (but well worth the cost!) whereas the toolbox can be downloaded for free. In exchange, you are asked to cite the toolbox article in any papers resulting from its use. Instructions about how to install PsychToolbox by copying it off a computer with an existing installation (much the easiest for local users) have been prepared by Stewart Craig and can be found here.

Maximizing Programming Efficiency

If you share MatLab source files with collaborators, or if you frequently have to take a break from a programming project and then return to it months later without much recollection, you need a good source code visualization tool. A fantastic MatLab documentation tool can be found here; this utility produces beautiful looking and documented source code, including a dependency graph that instantly reveals the relationship between your various functions.

Data Management and Analysis

We also use MatLab for many other data management applications (e.g., pre-processing), except final data analysis and plotting, which increasingly relies on R. R is a public-domain package and is one of the most powerful statistical tools available.

Note that to get the most out of R, you really want to augment its rather boring console with a very sophisticated editor, known as TINN-R, that interacts directly with R and increases your efficiency by 1.341 orders of magnitude (or thereabouts).

Another powerful environment for interacting with R is described in the next section on 'Data and Documents.'

If you follow the link to Andrew Heathcote's home page under the "Collaborators" button, you can find many useful R programs, functions, and publications.

Data and Documents

We are in the process of merging our data management and document production tools into a single platform using SWeave. "Weaving" refers to the integration of LaTeX commands and R commands into a single document, thus permitting analysis and document production via just one or two clicks.

We have developed R functions that extract the results of, say, an ANOVA from R and place them into a document in APA style (likewise for tables and so on).

A brief introduction to weaving can be found here; this represents an extremely exciting development that we will fully explore in the future (so watch this space for more information).

A particularly powerful tool that is designed to facilitate weaving is Eclipse, which can be downloaded here (but read on before you install it!). Basically, Eclipse provides an integrated development environment for R and LaTeX that resembles the MatLab shell: Hence there is a tool to manage your files; another window for the editor; and a console plus various other information windows.

Eclipse is designed to support development for many different platforms and packages, all of which can be downloaded as plug-ins. In our case, we downloaded the plug-in for LaTeX and for R, which is best achieved from within Eclipse. Once that's been done, you can simultaneously work on your analysis (in R) and your document (in LaTeX) within the same integrated development tool: You simply 'tab' between them and the 'look and feel' is identical for both.

Installation of Eclipse and the plug-ins contains a few subtleties that are summarized in the installation document written by Stephan Lewandowsky that can be found here. You may wish to consult that before downloading and installing Eclipse.

On balance, Eclipse is extremely powerful in the long run and it might become the standard tool of choice for weaving of data analysis and document production; however, WinEdt and TINN-R each have a few features of their own that are (so far) missing from Eclipse so they still present viable alternatives.

Synchronization and Version Control

Large programming projects, especially those involving multiple co-developers, are best managed using a version control or source control management system. We have adopted Mercurial in conjunction with the Tortoise HG shell.

In a nutshell, this achieves two major things: First, it is possible to keep track of different versions of documents or programming source files (and to analyze their differences, revert to earlier versions, and so on). Second, and even more important, it allows synchronization of divergent branches during software or document development. That is, two people can work on a paper simultaneously and their changes can be integrated into one final version (if there are conflicts, they are presented for resolution). This is an incredibly powerful feature and worth exploring. Note, however, that installing and using these tools is moderately tricky, and because our use is still in the development stage, we have not yet posted an installation guide. But watch this space for more news soon!