OS and Programming


UNIX/LINUX

  1. OS
    1. Ubuntu (Ubuntu forums),  Kubuntu
      1. Ubuntu packaging guide: html-linked and single.
    2. Debian
    3. Mandriva
    4. openSUSE
    5. Red Hat and plus
      1. Red Hat
      2. CentOS: The Community ENTerprise Operating System, (Red Hat non-commercial clone)
      3. Fedora: A Red Hat sponsored community project
  2. CommandsMathematics Department, University of Utah
  3. Video tutorial of how to use Linux – by technological:
    1. Part1 (5:19) (pwd, ls, man, cd, , ~)
    2. Part 2 (8:57)  (cls, touch, mkdir, mv, cp, rm, rmdir, chmod)
    3. Part 3 (8:43) (chmod, chown)
    4. Part 4 (9:05) (only for system administrator)
    5. Part 5 (5:47) (only for system administrator)
    6. Part 6 (4:01) (>, >>, |, )
    7. Part 7 (4:22) (gedit, vi)

SSH (Secure SHell): Comparative evaluation

  1. OpenSSH and  OpenSSH for Windows
  2. Putty (Windows)
  3. SSH Client v3.2.2 for Microsoft Windows (with UH ID)
  4. Video tutorial
    1. SSH for Windows
    2. Putty installation & remote connection
  5. SSH server setup on Ubuntu

Editor

  1. Emacs
  2. vi and vim
    1. vim (Vi IMproved): Special featuresMacVim
    2. How to setup “.vimrc” file: vim configuration
    3. Tutorials: University of HawaiiWashington University
    4. Advanced Vi cheat sheet
    5. Text tutorial: The vi Editor
    6. Video tutorial
      1. By devdaily.comCheat SheetLesson 1Lesson 2Lesson 3Lesson 4
      2. By leodamascus: Part 1Part 2Part 3 (yank=copy), Part 4
  3. nanoSouth Dakota State University (for someone who needs NotePad-like editor)

Go

  1. By Google https://golang.org/
  2. Download for all OSs Go download.
  3. Tutorials: https://gobyexample.com/

C++

  1. Tutorial video by
    1. xoax.net
      1. Console application
      2. Visual C++
    2. Bucky’s C++ tutorial
    3. cplusplututor
  2. Online course
    1. Stanford CS 106B
    2. C++ by examples

FORTRAN: FORmula TRANslator

  1. Resource sites: FORTRAN library, FORTRAN company
  2. FOTRAN77 (f77)
    1. GNU FORTRAN
  3. FORTRAN90 (f90)
    1. Department of Mathematics, UHM
    2. Department of Computer Science, Michigan Technological University
    3. Department of Computer Science, University of New Mexico
    4. University of Liverpool, UK
  4. From f77 to f90
    1. National Supercomputing Center in Linkoping sweden
  5. To LaTex
    1. f95totex (zip file) to convert fortran codes to LaTex
  6. Books
    1. Numerical calculation using FORTRAN
      1. Numerical Recipes in FORTRAN
      2. Numerical Recipes in C
      3. Numerical Recipes in C++
    2. General tutorial
      1. Guide to FORTRAN 2003/2008, PDF
      2. The Fortran 2003 Handbook, PDF
  7. Specific & advanced topics
    1. Array
      1. Array data, argument, and vectorization
      2. Efficient array usage
    2. Argument
      1. GET_COMMAND
      2. GET_COMMAND_ARGUMENT
      3. COMMAND_ARGUMENT_COUNT
    3. File handling
      1. Comma Separated Value (CSV) files

Libraries

  1. Classification and Generation
    1. Static, Shared Dynamic and Loadable Linux Libraries

m4

  1. http://mbreen.com/m4.html

Python

  1. Tutorials
    1. Software carpentry: Python tutorials
    2. MIT open lecture series: Lecture 1 , 2 and …
    3. YouTube: Python tutorial for beginnersPython Programming Tutorials
    4. Google code: Google’s Python Class
    5. Tutorial book: Python Tutorials
    6. Online lectures: scipy-lectures
    7. Examples: Java2s
    8. Book tutorial:
      1. Think Python (PDF)
      2. Python Programming Fundamentals by Prof. Kent D. Lee
  2. Popular Python Packages Tagged “Scientific/Engineering”
    1. SciPy: Scientific programming using Python
    2. NumPy: fundamental package needed for scientific computing with Python
    3. ​matplotlib: Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.
    4. scikit-learn: machine learning in python.
    5. tensorflow: an end-to-end open source machine learning platform
    6. NLTK a leading platform for building Python programs to work with human language data.
  3. Others
    1. MPI binding with python: PyMPI
    2. kivy: Open source library for rapid development applications that make use of innovative user interfaces, such as multi-touch apps

Tcl/Tk

  1. Tutorials
    1. www.tcl.tk
    2. Wiki book
  2. MPI binding: TclMPI

Other High-level or script language

  1. Octave
    1. Octave for numerical computations from GNU (Matlab clone)
    2. GuiOctave for Windows
  2. AWK (or GAWK): data-driven programming language for processing text-based data
  3. Perl
  4. R language

make

  1. Vendor: GNU make
  2. Tutorial: MRBOOK, sourceforge
  3. For a fortran project: webalice

cmake

  1. Vendor: Kitware
  2. How to install: ./bootstrap; make; make install
  3. Tutorial: Empirical approach, Cmake by Example 

MPI (Message Passing Interface)


Queuing systems

  1. LSF (Load Sharing Facilities)
    1. Vendor: Platform Computing Corporation
    2. Quick Reference: Florida International University
    3. Lava (free version) download: Lava-src-1.0.6.tar.gz
  2. PBS (Portable Batch Systems) or torque
    1. Vendor (www.OpenPBS.org)
    2. Quick Manuals: PBS_tutorial1 PBS_tutorial2
    3. Online tutorial: MSU
    4. Torque admin manual from Cluster Resource

Cluster Management Software: Analysis

  1. Nagios
    1. Web site: http://www.nagios.org/
    2. Installation: Ubuntu, CentOS and RHEL-CentOS-Fedora
  2. Gangrila

Profiling

  1. GNU gprof
    1. Tutorial from sourceware– Tutorial from School of Computing, The University of Utah
  2. vTune from Intel
    1. Tutorial

Interesting Links

  1. Mitch’s Home Page