Category:Programs: Difference between revisions
From charlesreid1
(Created page with "Welcome to the Programs category page. This page links to any pages related to computer programs or pieces of software.") |
No edit summary |
||
| Line 1: | Line 1: | ||
All programs listed on this page are free or open-source... unless they have a big dollar sign next to them. | |||
This | __TOC__ | ||
= My Build Procedure = | |||
When I build programs from source, I use the following setup: | |||
* Programs are all installed in the <code>~/pkg</code> directory | |||
* Tarballs are downloaded to <code>~/pkg/tarballs</code> | |||
* Tarballs are untarred to <code>~/pkg/sources</code> using the command: | |||
<syntaxhighlight lang="bash"> | |||
tar xvzf program-x.x.x.tar.gz -C ../sources/ | |||
</syntaxhighlight> | |||
* The usual configure/make/make install procedure is performed, but the configure line used is put into a script named <code>runconfigure.program-x.x.x.operating-system.sh</code>, and I put notes into the configure file's comments, so that I have a detailed record of: | |||
** What configure line options I used | |||
** Whether I used a non-standard series of steps, took any extra steps (e.g. <code>make test</code>), or had to install any dependencies | |||
** The date I last modified the configure line | |||
* The program is installed to <code>pkg/program/x.x.x/</code> using the <code>--prefix=$HOME/pkg/program/x.x.x</code> configure option | |||
* (Optional) Once the program is installed, I add <code>pkg/program/x.x.x/bin</code> to my <code>$PATH</code> by adding the following line to my <code>$HOME/.profile</code>: | |||
<syntaxhighlight lang="bash"> | |||
export PATH="${PATH}:${HOME}/pkg/program/x.x.x/bin" | |||
</syntaxhighlight> | |||
* Alternately, I can create a link to the "standard version" for my system in <code>$HOME/pkg/program/std</code>, which links to the most up-to-date version of the program; that way, I can install 2 or 3 or more versions of the program, but have the standard version point to the one I want to use. This way, I don't have to update my <code>$HOME/.profile</code> every time, because the <code>.profile</code> contains: | |||
<syntaxhighlight lang="bash"> | |||
export PATH="${PATH}:${HOME}/pkg/program/std/bin" | |||
</syntaxhighlight> | |||
= Unix System Utilities = | |||
{|border="1" class="wikitable" | |||
!Unix system utility | |||
!Wikipedia description | |||
|- | |||
|[[Aptitude]] | |||
| | |||
|- | |||
|[[Awk]] | |||
|[[wikipedia:awk]] | |||
|- | |||
|[[Bash]] | |||
|[[wikipedia:bash]] | |||
|- | |||
|[[Emacs]] | |||
|[[wikipedia:emacs]] | |||
|- | |||
|[[Sed]] | |||
|[[wikipedia:sed]] | |||
|- | |||
|[[SSH]] | |||
|[[wikipedia:secure shell]] | |||
|- | |||
|[[Vim]] | |||
|[[wikipedia:vim (text editor)]] | |||
|- | |||
|[[Xargs]] | |||
|[[wikipedia:xargs]] | |||
|} | |||
= Programs Built From Source = | |||
{|border="1" class="wikitable" | |||
!Program | |||
!Link to webpage | |||
|- | |||
|[[Apache]] | |||
|http://httpd.apache.org/ | |||
|- | |||
|[[Cantera]] | |||
|http://sourceforge.net/projects/cantera/ | |||
|- | |||
|Class library for numbers (cln) | |||
|http://www.ginac.de/CLN/ | |||
|- | |||
|[[CMake]] | |||
|http://www.cmake.org/ | |||
|- | |||
|[[ctags]] | |||
|http://ctags.sourceforge.net/ | |||
|- | |||
|[[Doxygen]] | |||
|http://www.stack.nl/~dimitri/doxygen/ | |||
|- | |||
| [[Emacs]] | |||
| http://www.gnu.org/software/emacs/ | |||
|- | |||
| [[GDB|GNU debugger (gdb)]] | |||
| http://www.gnu.org/software/gdb/ | |||
|- | |||
| [[Ginac]] | |||
| http://www.ginac.de/ | |||
|- | |||
| [[googlecl]] | |||
| https://code.google.com/p/googlecl/ | |||
|- | |||
| [[gnuplot|gnu plotting program (gnuplot)]] | |||
| http://www.gnuplot.info | |||
|- | |||
| [[gpg|gnu privacy guard (gpg)]] | |||
| http://www.gnupg.org/ | |||
|- | |||
| [[HDF5]] | |||
| http://www.hdfgroup.org/HDF5/ | |||
|- | |||
| [[Hypre]] | |||
| http://acts.nersc.gov/hypre/ | |||
|- | |||
| [[LAM MPI]] | |||
| http://www.lam-mpi.org | |||
|- | |||
| [[OpenMPI]] | |||
| http://www.open-mpi.org/ | |||
|- | |||
| [[Petsc]] | |||
| http://www.mcs.anl.gov/petsc/petsc-as/ | |||
|- | |||
| [[PHP]] | |||
| http://www.php.net/ | |||
|- | |||
| [[Ruby]] | |||
| http://www.ruby-lang.org/en/ | |||
|- | |||
|[[Snort]] | |||
|http://www.snort.org/ | |||
|- | |||
|[[Subversion]] | |||
|http://subversion.tigris.org/ | |||
|- | |||
|[[Sundials]] | |||
|https://computation.llnl.gov/casc/sundials/main.html | |||
|- | |||
|[[Trillinos]] | |||
|http://trilinos.sandia.gov/ | |||
|} | |||
= OS-Agnostic (Binary) = | |||
{|border="1" class="wikitable" | |||
!Program | |||
!Description | |||
!Website | |||
|- | |||
|Audacity | |||
|a nice audio recording/editing program | |||
|http://audacity.sourceforge.net/ | |||
|- | |||
|[[ffmpeg]] | |||
|all-in-one video processing swiss-army-knife | |||
|http://www.ffmpeg.org/ | |||
|- | |||
|[[ffmpeg]]x | |||
|GUI interface for ffmpeg | |||
|http://www.ffmpegx.com/ | |||
|- | |||
|[[Fink]] | |||
|Package manager for Mac OS X; makes installing many Unix-based programs much less of a hassle | |||
|http://fink.org | |||
|- | |||
|Gimp | |||
|open-source image editor | |||
|http://www.gimp.org/ | |||
|- | |||
|[[Git]] | |||
|a version control system, differs from subversion in a number of ways, designed with a focus on making it easy to branch and merge | |||
|http://git-scm.com/ | |||
|- | |||
|Handbrake | |||
|similar to ffmpegx, a GUI interface for converting different video formats | |||
|http://handbrake.fr/ | |||
|- | |||
|[[Lapack]] | |||
|Linear algebra package for matrix and vector operations | |||
|http://www.netlib.org/ | |||
|- | |||
|[[LyX]] | |||
|a really handy GUI WYSIWYM Latex editor | |||
|http://www.lyx.org/ | |||
|- | |||
| [[Matlab]] | |||
| computational package | |||
| http://www.mathworks.com | |||
|- | |||
| Octave | |||
| open-source Matlab alternative | |||
| http://www.gnu.org/software/octave/ | |||
|- | |||
| Open Office | |||
| open-source Microsoft Office alternative | |||
| http://www.openoffice.org/ | |||
|- | |||
| [[Python]] | |||
| programming language | |||
| http://www.python.org/ | |||
|- | |||
|[[Sage]] | |||
|open-source Matlab, Maple, Mathematica alternatives rolled into a Python Swiss Army Knife contained on a VMWare image so it can run cross-platform | |||
|http://www.sagemath.org/ | |||
|- | |||
|TexMaker | |||
|Latex text editor | |||
|http://www.xm1math.net/texmaker/ | |||
|- | |||
|VLC | |||
|open-source video player that can play just about any video format | |||
|http://www.videolan.org/vlc/ | |||
|- | |||
|[[VirtualBox]] | |||
|virtual computer program | |||
|http://www.virtualbox.org/ | |||
|- | |||
|Wireshark | |||
|Wireless network traffic analyzer | |||
|http://www.wireshark.org/ | |||
|- | |||
|[[x11vnc]] | |||
|a nice VNC program that allows me to set up a remote desktop server (you can then connect to it using your VNC client of choice, I use [[Programs_I_Use#chicken_of_the_vnc|Chicken of the VNC]] on a Mac). | |||
| http://www.karlrunge.com/x11vnc/ | |||
|} | |||
= Mac-Only Software = | |||
{|border="1" class="wikitable" | |||
!Program | |||
!Description | |||
!Webpage | |||
|- | |||
|Aquaterm | |||
|version of Emacs that uses Aqua (Mac window style) | |||
|http://aquamacs.org/ | |||
|- | |||
|<div id="chicken_of_the_vnc"> | |||
Chicken of the VNC | |||
</div> | |||
| remote desktop (or VNC) client for Mac | |||
| http://sourceforge.net/projects/cotvnc/ | |||
|- | |||
|Chmox | |||
|utility to read .chm files | |||
|http://chmox.sourceforge.net/ | |||
|- | |||
|Disk Inventory X | |||
|gives you a graphical depiction of what's using space on your hard drive | |||
|http://www.derlien.com/ | |||
|- | |||
|Divvy | |||
|nice Mac utility to easily resize windows; shareware, but the demo never expires | |||
|http://www.mizage.com/divvy/ | |||
|- | |||
|DjView | |||
|utility to read .djvu files (ebook format) | |||
|http://djvu.sourceforge.net/ | |||
|- | |||
|[[DynDNS]] | |||
|Syncs IP information with DynDNS servers; allows computers with dynamic IP address to run a web server that DynDNS "knows about" | |||
|http://www.dyndns.com/ | |||
|- | |||
|Evernote | |||
|program to take notes, and sync them with a server, on the cloud | |||
|http://www.evernote.com/ | |||
|- | |||
|[[Fink]] | |||
|a content-management system (like yum or aptitude) for Mac | |||
|http://www.finkproject.org/ | |||
|- | |||
|Fugu | |||
|GUI interface for ftp/ssh/etc to a remote client (Don't use "Son of Fugu", it's not as good as Fugu) | |||
|http://rsug.itd.umich.edu/software/fugu/ | |||
|- | |||
|Inkscape | |||
|open-source image editor | |||
|http://inkscape.org/ | |||
|- | |||
|iTerm | |||
|alternative to Mac's "Terminal" application (a really nice feature is its full-screen mode: good way to eliminate distractions) | |||
|http://iterm.sourceforge.net/ | |||
|- | |||
|[[MacFuse]] | |||
|allows you to mount various file systems on your Mac | |||
|https://code.google.com/p/macfuse/ | |||
|- | |||
|[[MacFusion]] | |||
|GUI for using MacFuse to mount different filesystem types | |||
|http://www.macfusionapp.org/ | |||
|- | |||
|Mac The Ripper | |||
|used to rip DVDs to your hard drive (extracts to VIDEO_TS and AUDIO_TS, not .mov or .avi, but you can open the VIDEO_TS and AUDIO_TS contents with most DVD players) | |||
|http://www.macupdate.com/info.php/id/14414/mactheripper | |||
|- | |||
|MacPorts | |||
|Don't use Macports, it tries to compile everything, every single last dependency, EVERYTHING, from source (this includes programs that take 5 hours to compile and are already available on your machine and on your path - like gcc). Building anything using MacPorts takes at least 2 hours and MacPorts is a complete waste of time. | |||
I highly recommend Fink. If you're already using MacPorts, I suggest you abandon ship and join Fink... before it's too late. | |||
| | |||
|- | |||
|MacVim | |||
|version of Vim that uses Aqua (Mac window manager) | |||
|https://code.google.com/p/macvim/ | |||
|- | |||
|MPlayer | |||
|media player for Mac | |||
|http://www.mplayerhq.hu/design7/news.html | |||
|- | |||
|Shark | |||
|C++ profiler for Mac | |||
|Simple tutorial: http://tuvix.apple.com/tools/sharkoptimize.html | |||
Getting started: http://bit.ly/a4XYEv | |||
Advanced profiling: http://bit.ly/9ffZd7 | |||
|- | |||
|Saturn | |||
|another profiler for Mac | |||
| http://adrianboeing.blogspot.com/2010/02/profiling-on-mac-osx-with-saturn.html | |||
|} | |||
Revision as of 17:12, 8 April 2011
All programs listed on this page are free or open-source... unless they have a big dollar sign next to them.
My Build Procedure
When I build programs from source, I use the following setup:
- Programs are all installed in the
~/pkgdirectory
- Tarballs are downloaded to
~/pkg/tarballs
- Tarballs are untarred to
~/pkg/sourcesusing the command:
tar xvzf program-x.x.x.tar.gz -C ../sources/
- The usual configure/make/make install procedure is performed, but the configure line used is put into a script named
runconfigure.program-x.x.x.operating-system.sh, and I put notes into the configure file's comments, so that I have a detailed record of:- What configure line options I used
- Whether I used a non-standard series of steps, took any extra steps (e.g.
make test), or had to install any dependencies - The date I last modified the configure line
- The program is installed to
pkg/program/x.x.x/using the--prefix=$HOME/pkg/program/x.x.xconfigure option
- (Optional) Once the program is installed, I add
pkg/program/x.x.x/binto my$PATHby adding the following line to my$HOME/.profile:
export PATH="${PATH}:${HOME}/pkg/program/x.x.x/bin"
- Alternately, I can create a link to the "standard version" for my system in
$HOME/pkg/program/std, which links to the most up-to-date version of the program; that way, I can install 2 or 3 or more versions of the program, but have the standard version point to the one I want to use. This way, I don't have to update my$HOME/.profileevery time, because the.profilecontains:
export PATH="${PATH}:${HOME}/pkg/program/std/bin"
Unix System Utilities
| Unix system utility | Wikipedia description |
|---|---|
| Aptitude | |
| Awk | wikipedia:awk |
| Bash | wikipedia:bash |
| Emacs | wikipedia:emacs |
| Sed | wikipedia:sed |
| SSH | wikipedia:secure shell |
| Vim | wikipedia:vim (text editor) |
| Xargs | wikipedia:xargs |
Programs Built From Source
OS-Agnostic (Binary)
| Program | Description | Website |
|---|---|---|
| Audacity | a nice audio recording/editing program | http://audacity.sourceforge.net/ |
| ffmpeg | all-in-one video processing swiss-army-knife | http://www.ffmpeg.org/ |
| ffmpegx | GUI interface for ffmpeg | http://www.ffmpegx.com/ |
| Fink | Package manager for Mac OS X; makes installing many Unix-based programs much less of a hassle | http://fink.org |
| Gimp | open-source image editor | http://www.gimp.org/ |
| Git | a version control system, differs from subversion in a number of ways, designed with a focus on making it easy to branch and merge | http://git-scm.com/ |
| Handbrake | similar to ffmpegx, a GUI interface for converting different video formats | http://handbrake.fr/ |
| Lapack | Linear algebra package for matrix and vector operations | http://www.netlib.org/ |
| LyX | a really handy GUI WYSIWYM Latex editor | http://www.lyx.org/ |
| Matlab | computational package | http://www.mathworks.com |
| Octave | open-source Matlab alternative | http://www.gnu.org/software/octave/ |
| Open Office | open-source Microsoft Office alternative | http://www.openoffice.org/ |
| Python | programming language | http://www.python.org/ |
| Sage | open-source Matlab, Maple, Mathematica alternatives rolled into a Python Swiss Army Knife contained on a VMWare image so it can run cross-platform | http://www.sagemath.org/ |
| TexMaker | Latex text editor | http://www.xm1math.net/texmaker/ |
| VLC | open-source video player that can play just about any video format | http://www.videolan.org/vlc/ |
| VirtualBox | virtual computer program | http://www.virtualbox.org/ |
| Wireshark | Wireless network traffic analyzer | http://www.wireshark.org/ |
| x11vnc | a nice VNC program that allows me to set up a remote desktop server (you can then connect to it using your VNC client of choice, I use Chicken of the VNC on a Mac). | http://www.karlrunge.com/x11vnc/ |
Mac-Only Software
| Program | Description | Webpage |
|---|---|---|
| Aquaterm | version of Emacs that uses Aqua (Mac window style) | http://aquamacs.org/ |
Chicken of the VNC |
remote desktop (or VNC) client for Mac | http://sourceforge.net/projects/cotvnc/ |
| Chmox | utility to read .chm files | http://chmox.sourceforge.net/ |
| Disk Inventory X | gives you a graphical depiction of what's using space on your hard drive | http://www.derlien.com/ |
| Divvy | nice Mac utility to easily resize windows; shareware, but the demo never expires | http://www.mizage.com/divvy/ |
| DjView | utility to read .djvu files (ebook format) | http://djvu.sourceforge.net/ |
| DynDNS | Syncs IP information with DynDNS servers; allows computers with dynamic IP address to run a web server that DynDNS "knows about" | http://www.dyndns.com/ |
| Evernote | program to take notes, and sync them with a server, on the cloud | http://www.evernote.com/ |
| Fink | a content-management system (like yum or aptitude) for Mac | http://www.finkproject.org/ |
| Fugu | GUI interface for ftp/ssh/etc to a remote client (Don't use "Son of Fugu", it's not as good as Fugu) | http://rsug.itd.umich.edu/software/fugu/ |
| Inkscape | open-source image editor | http://inkscape.org/ |
| iTerm | alternative to Mac's "Terminal" application (a really nice feature is its full-screen mode: good way to eliminate distractions) | http://iterm.sourceforge.net/ |
| MacFuse | allows you to mount various file systems on your Mac | https://code.google.com/p/macfuse/ |
| MacFusion | GUI for using MacFuse to mount different filesystem types | http://www.macfusionapp.org/ |
| Mac The Ripper | used to rip DVDs to your hard drive (extracts to VIDEO_TS and AUDIO_TS, not .mov or .avi, but you can open the VIDEO_TS and AUDIO_TS contents with most DVD players) | http://www.macupdate.com/info.php/id/14414/mactheripper |
| MacPorts | Don't use Macports, it tries to compile everything, every single last dependency, EVERYTHING, from source (this includes programs that take 5 hours to compile and are already available on your machine and on your path - like gcc). Building anything using MacPorts takes at least 2 hours and MacPorts is a complete waste of time.
I highly recommend Fink. If you're already using MacPorts, I suggest you abandon ship and join Fink... before it's too late. |
|
| MacVim | version of Vim that uses Aqua (Mac window manager) | https://code.google.com/p/macvim/ |
| MPlayer | media player for Mac | http://www.mplayerhq.hu/design7/news.html |
| Shark | C++ profiler for Mac | Simple tutorial: http://tuvix.apple.com/tools/sharkoptimize.html
Getting started: http://bit.ly/a4XYEv Advanced profiling: http://bit.ly/9ffZd7 |
| Saturn | another profiler for Mac | http://adrianboeing.blogspot.com/2010/02/profiling-on-mac-osx-with-saturn.html |
Pages in category "Programs"
The following 96 pages are in this category, out of 96 total.