Deprecated: Assigning the return value of new by reference is deprecated in /s/parsons/b/others/gsa/public_html/cookbook/sourceblock.php on line 137 GSA Wiki - Useful Tools and Resources

Useful Tools and Resources

GSAWiki.UsefulTools History

Show minor edits - Show changes to markup

November 02, 2007, at 11:40 AM by 75.70.87.126 -
Deleted lines 0-1:

monercnac4t novarrel

October 31, 2007, at 02:43 PM by 190.8.194.30 -
Added line 1:

monercnac4t

August 10, 2007, at 11:31 AM by 75.70.87.126 -
Changed lines 3-4 from:

The content on this page has been migrated to the CS Department wiki. Please access it Tools And Resources.

to:

The content on this page has been migrated to the CS Department wiki. Please access it at Tools And Resources.

August 10, 2007, at 11:30 AM by 75.70.87.126 -
Changed lines 3-85 from:

Since our department is mostly Linux-based, we decided it would be a good idea to list some common Linux tools/editors to save you time.

Department Network Info

Our CS Systems Administration staff has a web site with some valuable information on the department's computing resources. It can be found here with particularly good info in faq.html.

Text Editors

Of the text editors listed below, Emacs and Vim are by far the most popular, so it is worth putting in the time to learn one of them.

  • Vim
VIM (Visual editor iMproved) (with its GUI version gvim) is an updated and improved version of the vi editor. Vi was the first real screen-based editor for UNIX, and is still very popular. VIM improves on vi by adding new features: multiple windows, multi-level undo, block highlighting and more. The vim-enhanced package contains a version of VIM with extra, recently introduced features like Python and Perl interpreters.
  • Learning the vi editor
  • vi quick reference text
  • vi help document
  • Vimshell - allows you to run a shell from within a vim window (very handy!)
  • Emacs
Emacs is a very robust text editor written in LISP. It will syntax highlight code written in (virtually) every major programming language out there. The learning curve is a bit steep, but once you learn, you will never go back. Nearly every text-editing task can be achieved via sequences of keystroke shortcuts. Once you become familiar with the basic commands, you can use the editor as an entire IDE (Integrated Development Environment). An Emacs reference card is provided below.
  • Gedit
Gedit is a very simple text editor and highlights most of the major programming languages and has a tabbed environment.
  • Eclipse
Eclipse is an IDE for the java programming language. Though the editor also supports C++ development, it is quite lacking. The IDE does have a good java debugger. It can be downloaded from here and is available on the department linux machines by running eclipse.sh from the command line.

Versioning

  • Subversion
Subversion is a way to version your code (or anything else for that matter). You can make changes to any file, commit the changes to a repository, and revert to any version of your code. This is useful if you accidentally delete a file. You can simply recheck it out! You can also compare your current code with old versions of the code that you wrote in the past. Subversion is quickly becoming the most popular versioning protocol. A Subversion reference card is provided below.
  • CVS
[Citation needed]

Scripting

  • Python
Python is a very robust scripting language and can be used to write simple scripts or more advanced scripts that make use of object-oriented code and extensive libraries. A reference card is provided below.
  • bash
When you type commands into a prompt, you're really typing them into what's called a shell. The two most commonly-used shells in Linux are bash and tcsh. Programming bash scripts are simple once you learn the syntax. A bash reference card is provided below.
  • tcsh
[Citation needed]

LaTeX

LaTeX (pronounced 'lay-tek' or 'lah-tek') is a language used to produce papers, articles, journals, books, etc. It is THE standard for document formatting, and you will no doubt be required to use it in our department. You create a latex file, which is a language specification for your paper, etc., and then "compile" the file into .pdf, .ps, etc. There are several useful links below to help you with this.

This is a reference card for the Latex language specification.
This is a list of all possible symbols in latex.
This is a useful language extension that can be used to generate pseudocode in figures.

Generating Graphs

  • R
R is a great programming language/environment that can be used to generate excellent plots/graphs and manipulate vectors and matrices easily. An R reference card is provided below.

Programming Languages

  • C++
C++ is the first of the two most commonly used programming languages in our department (and in general). A C++ reference card is provided below. A reference card for the C++ Standard Template Library (STL) is also provided.
  • Java
Java is the other most commonly used programming language. A Java reference card is provided below.

Useful Unix commands and tricks

There are a lot of small, easily learned commands and tricks in a shell that can greatly improve productivity. A quick how-to is here.

More tools

The RTRT wiki also has a collection of good tool tutorials. All of these tools are planned to be consolidated into the yet-to-be-released CS Department Wiki.

to:

The content on this page has been migrated to the CS Department wiki. Please access it Tools And Resources.

July 27, 2007, at 12:29 PM by Adam Labadorf - added vimshell link
Changed lines 18-19 from:
to:
  • Vimshell - allows you to run a shell from within a vim window (very handy!)
July 23, 2007, at 12:58 PM by Adam Labadorf - unix commands tips and tricks
Changed lines 51-53 from:

Latex

Latex is a language used to produce papers, articles, journals, books, etc. It is THE standard for document formatting, and you will no doubt be required to use it in our department. You create a latex file, which is a language specification for your paper, etc., and then "compile" the file into .pdf, .ps, etc. There are several useful links below to help you with this.

to:

LaTeX

LaTeX (pronounced 'lah-tek') is a language used to produce papers, articles, journals, books, etc. It is THE standard for document formatting, and you will no doubt be required to use it in our department. You create a latex file, which is a language specification for your paper, etc., and then "compile" the file into .pdf, .ps, etc. There are several useful links below to help you with this.

Added lines 78-81:

Useful Unix commands and tricks

There are a lot of small, easily learned commands and tricks in a shell that can greatly improve productivity. A quick how-to is here.

July 23, 2007, at 12:47 PM by Adam Labadorf - added link to rtrt
Changed lines 76-80 from:
to:

More tools

The RTRT wiki also has a collection of good tool tutorials. All of these tools are planned to be consolidated into the yet-to-be-released CS Department Wiki.

July 23, 2007, at 12:44 PM by Adam Labadorf - added department network info
Added lines 1-2:

(:title Useful Tools and Resources:)

Added lines 5-8:

Department Network Info

Our CS Systems Administration staff has a web site with some valuable information on the department's computing resources. It can be found here under faq.html.

May 08, 2007, at 02:53 PM by 129.82.47.191 -
Changed lines 5-6 from:

Of the text editors listed below, Eamcs and Vim are by far the most popular, so it is worth putting in the time to learn one of them.

to:

Of the text editors listed below, Emacs and Vim are by far the most popular, so it is worth putting in the time to learn one of them.

May 08, 2007, at 02:52 PM by 129.82.47.191 -
Deleted lines 6-9:
  • Emacs
Emacs is a very robust text editor written in LISP. It will syntax highlight code written in (virtually) every major programming language out there. The learning curve is a bit steep, but once you learn, you will never go back. Nearly every text-editing task can be achieved via sequences of keystroke shortcuts. Once you become familiar with the basic commands, you can use the editor as an entire IDE (Integrated Development Environment). An Emacs reference card is provided below.
Added lines 13-16:
  • Emacs
Emacs is a very robust text editor written in LISP. It will syntax highlight code written in (virtually) every major programming language out there. The learning curve is a bit steep, but once you learn, you will never go back. Nearly every text-editing task can be achieved via sequences of keystroke shortcuts. Once you become familiar with the basic commands, you can use the editor as an entire IDE (Integrated Development Environment). An Emacs reference card is provided below.
May 04, 2007, at 11:28 PM by 216.17.137.29 -
Changed lines 13-16 from:
  • Learning the vi editor
  • http://www.vim.org/htmldoc/quickref.html
  • http://www.vim.org/htmldoc/help.html
to:
  • Learning the vi editor
  • vi quick reference text
  • vi help document
May 04, 2007, at 11:28 PM by 216.17.137.29 -
Added line 13:
  • Learning the vi editor
May 04, 2007, at 11:26 PM by 216.17.137.29 -
May 04, 2007, at 11:17 PM by 216.17.137.29 -
Changed lines 12-13 from:
[Citation needed]
to:
VIM (Visual editor iMproved) (with its GUI version gvim) is an updated and improved version of the vi editor. Vi was the first real screen-based editor for UNIX, and is still very popular. VIM improves on vi by adding new features: multiple windows, multi-level undo, block highlighting and more. The vim-enhanced package contains a version of VIM with extra, recently introduced features like Python and Perl interpreters.
  • http://www.vim.org/htmldoc/quickref.html
  • http://www.vim.org/htmldoc/help.html
April 19, 2007, at 12:57 AM by 129.82.208.214 -
Changed lines 5-6 from:

Of the text editors listed below, Eamcs and Vim are by far the most popular, so it is worth putting in the time to learn one of them.

to:

Of the text editors listed below, Eamcs and Vim are by far the most popular, so it is worth putting in the time to learn one of them.

April 18, 2007, at 12:28 AM by Kevin Depue -
Changed lines 61-62 from:
C++ is the first of the two most commonly used programming languages in our department (and in general). A C++ reference card is provided below.
to:
C++ is the first of the two most commonly used programming languages in our department (and in general). A C++ reference card is provided below. A reference card for the C++ Standard Template Library (STL) is also provided.
April 18, 2007, at 12:24 AM by Kevin Depue -
Changed lines 56-65 from:
to:

Programming Languages

  • C++
C++ is the first of the two most commonly used programming languages in our department (and in general). A C++ reference card is provided below.
  • Java
Java is the other most commonly used programming language. A Java reference card is provided below.
April 18, 2007, at 12:21 AM by Kevin Depue -
Changed lines 50-56 from:
This is a useful language extension that can be used to generate pseudocode in figures.
to:
This is a useful language extension that can be used to generate pseudocode in figures.

Generating Graphs

  • R
R is a great programming language/environment that can be used to generate excellent plots/graphs and manipulate vectors and matrices easily. An R reference card is provided below.
April 18, 2007, at 12:15 AM by Kevin Depue -
Added line 46:
This is a reference card for the Latex language specification.
Changed lines 48-50 from:
to:
This is a list of all possible symbols in latex.
This is a useful language extension that can be used to generate pseudocode in figures.
April 18, 2007, at 12:11 AM by Kevin Depue -
Changed lines 44-47 from:

Latex is a language used to produce papers, articles, journals, books, etc. It is THE standard for document formatting, and you will no doubt be required to use it in our department. You create a latex file, which is a language specification for your paper, etc., and then "compile" the file into .pdf, .ps, etc. There are several useful links below to help you with this.

to:

Latex is a language used to produce papers, articles, journals, books, etc. It is THE standard for document formatting, and you will no doubt be required to use it in our department. You create a latex file, which is a language specification for your paper, etc., and then "compile" the file into .pdf, .ps, etc. There are several useful links below to help you with this.

April 18, 2007, at 12:09 AM by Kevin Depue -
Changed lines 18-19 from:
Eclipse is an IDE for the java programming language. Though the editor also supports C++ development, it is quite lacking.
to:
Eclipse is an IDE for the java programming language. Though the editor also supports C++ development, it is quite lacking. The IDE does have a good java debugger.
Changed lines 40-44 from:
[Citation needed]
to:
[Citation needed]

Latex

Latex is a language used to produce papers, articles, journals, books, etc. It is THE standard for document formatting, and you will no doubt be required to use it in our department. You create a latex file, which is a language specification for your paper, etc., and then "compile" the file into .pdf, .ps, etc. There are several useful links below to help you with this.

April 18, 2007, at 12:04 AM by Kevin Depue -
Changed lines 35-42 from:
  • Shell

When you type commands into a prompt, you're really typing them into what's called a shell. The two most commonly-used shells in Linux are bash and tcsh.

  • bash
Programming bash scripts are simple once you learn the syntax. A bash reference card is provided below.
  • tcsh
[Citation needed]
to:
  • bash
When you type commands into a prompt, you're really typing them into what's called a shell. The two most commonly-used shells in Linux are bash and tcsh. Programming bash scripts are simple once you learn the syntax. A bash reference card is provided below.
  • tcsh
[Citation needed]
April 18, 2007, at 12:02 AM by Kevin Depue -
Changed lines 33-42 from:
to:
  • Shell

When you type commands into a prompt, you're really typing them into what's called a shell. The two most commonly-used shells in Linux are bash and tcsh.

  • bash
Programming bash scripts are simple once you learn the syntax. A bash reference card is provided below.
  • tcsh
[Citation needed]
April 17, 2007, at 11:57 PM by Kevin Depue -
Changed lines 27-33 from:
[Citation needed]
to:
[Citation needed]

Scripting

  • Python
Python is a very robust scripting language and can be used to write simple scripts or more advanced scripts that make use of object-oriented code and extensive libraries. A reference card is provided below.
April 17, 2007, at 11:51 PM by Kevin Depue -
Changed lines 24-27 from:
to:
  • CVS
[Citation needed]
April 17, 2007, at 11:51 PM by Kevin Depue -
Changed line 24 from:
  • Attach:subversion-reference.pdf
to:
April 17, 2007, at 11:50 PM by Kevin Depue -
Changed line 24 from:
to:
  • Attach:subversion-reference.pdf
April 17, 2007, at 11:50 PM by Kevin Depue -
Changed lines 18-24 from:
Eclipse is an IDE for the java programming language. Though the editor also supports C++ development, it is quite lacking.
to:
Eclipse is an IDE for the java programming language. Though the editor also supports C++ development, it is quite lacking.

Versioning

  • Subversion
Subversion is a way to version your code (or anything else for that matter). You can make changes to any file, commit the changes to a repository, and revert to any version of your code. This is useful if you accidentally delete a file. You can simply recheck it out! You can also compare your current code with old versions of the code that you wrote in the past. Subversion is quickly becoming the most popular versioning protocol. A Subversion reference card is provided below.
April 17, 2007, at 11:46 PM by Kevin Depue -
Changed lines 15-18 from:
Gedit is a very simple text editor and highlights most of the major programming languages and has a tabbed environment.
to:
Gedit is a very simple text editor and highlights most of the major programming languages and has a tabbed environment.
  • Eclipse
Eclipse is an IDE for the java programming language. Though the editor also supports C++ development, it is quite lacking.
April 17, 2007, at 11:43 PM by Kevin Depue -
Changed line 8 from:
Emacs is a very robust text editor written in LISP. It will syntax highlight code written in (virtually) every major programming language out there. The learning curve is a bit steep, but once you learn, you will never go back. Nearly every text-editing task can be achieved via sequences of keystroke shortcuts. Once you become familiar with the basic commands, you can use the editor as an entire IDE (Integrated Programming Environment). An Emacs reference card is provided below.
to:
Emacs is a very robust text editor written in LISP. It will syntax highlight code written in (virtually) every major programming language out there. The learning curve is a bit steep, but once you learn, you will never go back. Nearly every text-editing task can be achieved via sequences of keystroke shortcuts. Once you become familiar with the basic commands, you can use the editor as an entire IDE (Integrated Development Environment). An Emacs reference card is provided below.
Changed lines 12-15 from:
[Citation needed]
to:
[Citation needed]
  • Gedit
Gedit is a very simple text editor and highlights most of the major programming languages and has a tabbed environment.
April 17, 2007, at 11:41 PM by Kevin Depue -
Changed lines 9-10 from:
  • Attach:emacs-reference.pdf
to:
April 17, 2007, at 11:40 PM by Kevin Depue -
Changed lines 9-10 from:
to:
  • Attach:emacs-reference.pdf
April 17, 2007, at 11:40 PM by Kevin Depue -
Changed lines 9-10 from:
  • Attach:emacs-reference.pdf
to:
April 17, 2007, at 11:31 PM by Kevin Depue -
Changed lines 9-10 from:
  • manual
to:
  • Attach:emacs-reference.pdf
April 17, 2007, at 11:29 PM by Kevin Depue -
April 17, 2007, at 11:23 PM by 129.82.208.214 -
Changed lines 3-4 from:

Text Editors

to:

Text Editors

Changed line 8 from:
Emacs is a very robust text editor written in LISP. It will syntax highlight code written in (virtually) every major programming language out there. The learning curve is a bit steep, but once you learn, you will never go back. Nearly every text-editing task can be achieved via sequences of keystroke shortcuts. An Emacs reference card is provided below.
to:
Emacs is a very robust text editor written in LISP. It will syntax highlight code written in (virtually) every major programming language out there. The learning curve is a bit steep, but once you learn, you will never go back. Nearly every text-editing task can be achieved via sequences of keystroke shortcuts. Once you become familiar with the basic commands, you can use the editor as an entire IDE (Integrated Programming Environment). An Emacs reference card is provided below.
April 17, 2007, at 11:22 PM by 129.82.208.214 -
Added lines 5-6:

Of the text editors listed below, Eamcs and Vim are by far the most popular, so it is worth putting in the time to learn one of them.

April 17, 2007, at 11:21 PM by 129.82.208.214 -
Changed lines 6-9 from:
Emacs is a very robust text editor written in LISP. It will provide highlighting for code written in (virtually) every major programming language out there. The learning curve is a bit steep, but once you learn, you will never go back. Nearly every text-editing task can be achieved via sequences of keystroke shortcuts. An Emacs reference card is provided below.
*
  • Vim
to:
Emacs is a very robust text editor written in LISP. It will syntax highlight code written in (virtually) every major programming language out there. The learning curve is a bit steep, but once you learn, you will never go back. Nearly every text-editing task can be achieved via sequences of keystroke shortcuts. An Emacs reference card is provided below.
  • manual
  • Vim
[Citation needed]
April 17, 2007, at 11:20 PM by 129.82.208.214 -
Changed lines 5-6 from:
  • Emacs
  • Vim
to:
  • Emacs
Emacs is a very robust text editor written in LISP. It will provide highlighting for code written in (virtually) every major programming language out there. The learning curve is a bit steep, but once you learn, you will never go back. Nearly every text-editing task can be achieved via sequences of keystroke shortcuts. An Emacs reference card is provided below.
*
  • Vim
April 17, 2007, at 11:12 PM by 129.82.208.214 -
Added lines 1-6:

Since our department is mostly Linux-based, we decided it would be a good idea to list some common Linux tools/editors to save you time.

Text Editors

  • Emacs
  • Vim
April 17, 2007, at 09:53 PM by 129.82.208.214 -
Deleted line 0:

Useful Tools

April 17, 2007, at 09:52 PM by 129.82.208.214 -
Added line 1:

Useful Tools