logo

Noumena Corporation

Whitmore Lake
Michigan

These lectures are fully integrated to introduce material cleanly at the lower numbered lectures that is used by higher numbered lectures.

For example, Tcl120 builds on commands commands and concepts introduced in Tcl110, but Tcl120 or Tcl125 can be presented as the second lecture in a series.

Linux-110: Introduction to Linux
The great power of Linux and Unix comes from the ability to use the output of one command as input to another.
This session introduces the basics of Linux and the command line tools.
  • Topics
    • What is Linux?
    • What is a command line
    • What are commonly used commandline tools
grep wc cut
cd quoting rules less
pipe date echo
sort for chmod
Linux-130: Text Manipulation
Linux has a rich set of tools for manipulating text.

This lecture introduces cut, awk, sed and regular expressions.

  • Topics
    • Using cut
    • Advanced grep
    • Using sed to edit data
    • Using awk to process text
    • Introduce regular expressions
    • Regular expressions with grep
    • Regular expressions with sed
cut head tail
grep awk sed
regular expressions
Linux-220: Using git
Git is a distributed change control system designed for software, but applicable to any text where changes need to be tracked, be it requirements documents, novels or form letters.

This lecture describes how to acquire, install and use git. How to create a private repository, distribute patches, and post changes to the core.

  • Git {Installation on Debian/Ubuntu, Redhat/Fedora and SuSE} {Cloning a repository} {Generating a patch} {Posting changes} {Finding specific versions}
Installation git init
git add git update-server-info
git commit git clone
git checkout git merge
git fetch git status
git log git blame
git bisect
Linux-240: Backup and Archiving
Linux supports many backup and archival tools.

This lecture discusses daily and incremental backup techniques as well as long-term archival storage.

  • Using tar
  • Using cpio
  • Using dump
  • Using rsync
  • Using fsarchiver
Installation tar
cpio rsync
dump restore
fsarchiver
Linux-250: Web Programming with Apache and Tcl
Introduces the basics of what a web server is and how to configure an Apache server.
Introduces Rivet.

Example: A simple page counter.

  • What is a web server
  • Directory layout
  • Configuration options
  • CGI introduction
httpd daemon http client/server interaction
httpd.conf file html, bin, cgi-bin, htdocs, icons and man directories
CGI environment variables GET and POST methods
Linux-120: Bash Shell Scripts
Anything you type into a command terminal can be put into a script, and vice versa.

Simple looping and decision commands can automate tedious manual tasks.

  • Topics
    • What is a shell?
    • How to customize bash
    • How to create a bash script
    • Loops in bash scripts
    • Decisions in bash scripts
seq for while
if case echo
grep head tail
function alias environment variables
Linux-140: The linux file system
Everyone understands the basics of the file hierarchy without knowing about access flags, create/modify data, disk usage, etc.

This lecture explains how to find files by name, type, date accessed, how to visualize a file hierarchy, and more.

  • Topics
    • Linux file system definition
    • Types of linux file systems
    • Common directory names (etc, bin, usr)
    • Navigating the file system
    • Directory listings with ls
    • Finding files by name or attribute
    • Creating links
    • Changing a files ownership and user access.
    • Creating immutable file systems (iso)
    • Mounting a file system
cd pushd popd
find file link
chmod chown chattr
mount mkisofs ln
Linux-230: Using fossil-scm
Fossil-scm is a distributed change control system designed for software, but applicable to any text where changes need to be tracked, be it requirements documents, novels or form letters.

This lecture describes how to acquire, install and use git. How to create a private repository, distribute patches, and post changes to the core.

  • Git {Installation on Debian/Ubuntu, Redhat/Fedora and SuSE} {Cloning a repository} {Generating a patch} {Posting changes} {Finding specific versions}
Installation fossil init
fossil add fossil update
fossil commit fossil clone
fossil checkout fossil merge
fossil ui fossil server
fossil branch fossil blame
fossil bisect
Linux-260: Networking
Nobody uses a computer without a network these days.

This lecture describes how to configure and examine a network. It includes configuring a NIC, VPN, routes, hosts, aliases, etc.

  • Setting up a NIC
  • Testing a network
  • Discovering routes
  • Defining routes
  • Setting up sshd
  • Setting up OpenVPN
  • Creating bridges
  • Basic iptables firewall
fconfig ip
ping traceroute
route ssh
iptables lsof