Skip to content

Latest commit

 

History

History
337 lines (241 loc) · 13.2 KB

software_tools.asciidoc

File metadata and controls

337 lines (241 loc) · 13.2 KB

Software Tools

We will use (or at least mention) several software tools (utilities and applications) in this course. Here is a list of them for Windows, Mac (OSX) and Linux. Please note that this is not a comprehensive list of all software useful for research computing and data management. We have restricted this list to just the tools we will cover to some degree in this course. Most of these tools are considered "desktop applications", but many are "command-line utilities".

Free Software

All of these tools listed below are "free" (no monetary cost to use). Many of them are also Free Software (free as in "freedom" to use, study, share, and modify) or Open Source (publicly available and modifiable source code). Both are similar terms meaning that the source code for the software is non-proprietary, often with some kind of copyleft or share-alike license and are often created and maintained with a "community" development model. Software which is both "free software" and "open source" is sometimes referred to as Free and Open Source Software (FOSS).

There is no monetary cost to use the tools in this software list.

Operating Systems

"Desktop applications" (as opposed to web applications, which run on a server or in your web browser) are software packages that run locally on your computer. Usually, this type of software needs to be installed onto your computer by you or an administrator. This means you need to download an installer file and execute it to install the software. The particular installer file you download and execute will often be specific to the operating system you using on that device. Therefore, in the list below, we provide links which are specific to the three most popular desktop (or laptop) operating systems: Microsoft Windows, Apple OSX, and Linux. (Google Chrome OS, based on Linux, will not be covered in this class, nor will we be using Apple iOS or Google Android, which is also based on Linux.) In some cases, when you download an installer, you will have the choice of system architecture (ie., 32-bit or 64-bit) or operating system version. You should look up these operating system attributes if you do not know already know them before you download these installers.

Installation

In most cases, these tools do not come with the operating system and must be installed by the system user (or administrator). Linux users can use their package manager to get and install most software packages available for these systems, in a (more or less) automated fashion, which is one of the appealing features of Linux. Similarly, Windows and Mac (OSX) users can get some of these from the "app store" associated with those operating systems and their product lines. However, for Windows and OSX, you will often have to download the installer directly from the developer’s website and run the installer manually.

We provide links to the download pages for the installers in the list below, where applicable. If given the choice between "source", "zip files", "tarballs", "binaries", or "installers", you will usually want "binaries" or "installers" when possible. In some cases, though, you might want to just extract a "zip file" or "tarball" (containing either "binaries" or "source") to a specific folder.

Note: If you need to compile "source" code into "binaries" yourself, you will need a compiler, which is a separate software application. Look to the documentation that comes with the source for instructions on this. Almost all of the tools below offer "installers". You are not required to compile software for this course. (However, Mac OSX users who install software with Homebrew will be compiling software with GCC, distributed with Xcode.) Some software, such as Bash, Python, and R scripts, need to be run in the associated environment (language interpreter) in order to execute. While we will be using and writing such scripts in this course, most of the tools in this list run independently of an interpreter because they are run as "binaries" — previously compiled software.

Software Tools List

Security and Networking

Remote Access, Remote Desktop, Encryption, Network Troubleshooting

  • Microsoft Remote Desktop Client (Windows, OSX)

  • X2Go (Windows, OSX, Linux: use your package manager)

  • ☛ PuTTY (Windows; provides "SSH")

  • Remmina (Linux: use your package manager)

  • Rdesktop (Linux: use your package manager)

  • CoRD (alternative remote desktop client for OSX)

  • FileZilla (Windows, OSX, Linux: use your package manager; provides "SFTP")

    • Note: Do not install any additional software "bundled" with this installer.

  • Eduroam Configuration Assistance Tool (CAT) (Windows, OSX, Linux)

  • 7-Zip (Windows, OSX, Linux: use your package manager)

  • TrueCrypt (Windows, OSX, Linux)

  • GnuPG (Windows, OSX, Linux: use your package manager)

  • Wireshark (Windows, OSX, Linux)

  • York (Windows)

  • Tcpdump ([use Windump on] Windows, [comes with] OSX, Linux: use your package manager)

  • ☛ Hexdump (Windows, [comes with] OSX and Linux)

  • ☛ Base64 (Windows, [comes with] OSX and Linux)

  • ☛ shasum (Windows, OSX, Linux)

  • ☛ md5sum (Windows, OSX: use md5, Linux)

  • ☛ diff (Windows, OSX, Linux)

  • ☛ find (Windows, OSX, Linux)

  • ☛ grep (Windows, OSX, Linux)

  • Some network troubleshooting tools (like ping, traceroute (tracert), nslookup, dig, and whois) come with the operating system or are easy to obtain.

Note: Tools that perform encryption or network reconnaissance may have legal or institutional restrictions on their use.

Version Control and Terminal (Shell)

  • Git (Windows, OSX, Linux: use your package manager; provides GitBash on Windows)

  • GitHub Desktop (Windows, OSX)

    • Provides GUI for git, specific to GitHub website interaction

  • TortoiseGit (Windows; provides GUI for git)

  • Terminal (OSX, Linux; included with operating system; provides "Bash" and "SSH")

  • DOS (Windows; included with operating system)

  • PowerShell (Windows; included with newer versions of operating system)

  • ☛ ConEmu (Windows, a nicer terminal interface for DOS)

  • ☛ Clink (Windows, provides features for DOS that are already present in Bash)

  • GitBash (Windows; provides "Bash"; see "Git", above)

Data Management, Databases, and File Conversion

Text Editors

  • ☛ Notepad++ (Windows)

  • TextWrangler (OSX)

  • jEdit (Windows, OSX, Linux)

  • Gedit (Windows, OSX, Linux: use your package manager)

  • nano (Windows, OSX, Linux)

  • vim (Windows, OSX, Linux: use your package manager)

Programming Languages and Integrated Development Environments (IDEs)

  • R (Windows, OSX, Linux)

  • RStudio (Windows, OSX, Linux)

  • JGR (Windows, OSX, Linux; Use R command: install.packages('JGR',,'http://www.rforge.net/') to install.)

  • Perl (Windows, OSX, Linux; Note: OSX and Linux come with Perl pre-installed, almost always)

  • Python (Windows, OSX, Linux; Note: OSX and Linux come with Python pre-installed, almost always)

  • Spyder (Windows, OSX, Linux)

  • Aptana Studio (Windows, OSX, Linux)

Note: HTML, CSS, and JavaScript will be used within the web browser. See Web Browsers section.

Web Browsers and Plugins

  • ☛ Mozilla Firefox (Windows, OSX, Linux)

    • DownThemAll! (Plugin) - useful for automated data collection

    • Firefogg (Plugin) - useful for converting multimedia files to ogg or webm

    • Mailvelope (Plugin) - useful for webmail encryption

    • SQLite Manager (Plugin) - useful for managing SQLite databases

  • Mozilla Firefox Developer Edition (Windows, OSX, Linux) - has features very similar to Chrome Developer Tools

  • ☛ Google Chrome (Windows, OSX, Linux)

    • Mailvelope (Plugin) - useful for webmail encryption

  • Command-line web browsers - useful for automated data collection

    • CuRL (Windows, [comes with] OSX, Linux: use your package manager; Note: Similar to "wget")

    • Wget (Windows, OSX: install with Rudix or Homebrew, Linux: use your package manager)

    • Lynx (Windows, OSX: install with Rudix or Homebrew, Linux: use your package manager)

Browser Notes

  • Windows comes with Internet Explorer (and now Edge). (Currently supported only on Windows.)

  • OSX comes with Safari. (Currently supported only on OSX.)

  • Linux usually comes with Firefox, Chrome or a similar open-source web browser.

Email Clients and Plugins