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-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-155: Advanced awk
The awk command is a complete programming language

This lecture expands awk from simple command-line scripts to multi-line programs.

  • Topics
    • Advanced regular expressions
    • Arrays
    • Functions
    • Advanced patterns
    • Advanced BEGIN and END blocks
    • Loops
    • Conditionals
match patterns awk function
regular expressions for if
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-135: Advanced Text Manipulation

This lecture introduces awk and regular expressions.

  • Topics
    • head and tail
    • Advanced regular expressions
    • Regular expressions with sed
    • Multiple commands with sed
    • Formatted output with awk
    • Complex searches with grep
sed tail head
regular expressions grep awk
Linux-150: Introductory awk
The awk command is a complete programming language

This lecture introduces awk and regular expressions.

  • Topics
    • Using awk to process text
    • Introduce regular expressions
    • Regular expressions with awk
    • Variables
    • Formatted output
    • BEGIN and END blocks
    • Field separators
awk BEGIN END
regular expressions variables
Linux-160: Virtualization Options
Linux has several virtualization options ranging from simple chroot to protect file systems to full virtual machines and cloud servers.

This lesson provides an overview of the options and discusses which to use to solve different classes of needs.

  • Topics
    • Overview of virtualization types.
    • Installing and using lxc containers
    • Installing and using Docker containers
    • Installing and using KVM
    • Installing and using VirtualBox
    • Installing and using VMWare
    • Cloud service options
    • Installing and using NextCloud
    • Using Let's Encrypt for security.
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