Linux
I started using Unix professionally in 1993 and discovered Linux in 1994. My first distribution was CD-based and came with an X11 desktop. It came with plenty of documentation from the Linux Documentation Project. It was exactly the right information at the right time in my career to help me really learn Unix.
Over the years I've had the fortune of installing and using many great distributions. Of special note are these distributions:
- Yggdrasil_Linux - plug-and-play, first live CD distro, being sold at shareware shops
- Slackware - widely-available through book publishers
- SuSE - fantastic installer, YaST management tool, CD/DVD-based distribution model[^1]
- Debian - apt-get and dpkg tools, online repository, support of many architectures
- Mepis - big advances in desktop usability, based on debian
- Knoppix - great for troubleshooting and debugging, based on debian
- Gentoo - build-from-source mindset, ebuild tools, online source code repository
- RedHat - RPM package manager, efforts to 'go corporate' with Linux
- Ubuntu - installer, usability, desktop maturity, based on debian
Notes and Shell Scripts
Here are some notes and shell scripts that I've written.
- mp3_organizer rewrites a flat directory of long mp3 filenames into a meaningful directory structure
- smart sends email updates about the health status of hard drives
- visitors creates a visual graph of web traffic
- fail2ban stops bots and script kiddies in their tracks.
- cpuspeed shows CPU speed every second
- recursivecopy small script to do a selective recursive copy
- Runlevel tools
- Logfile tricks
- Why RPM bugs me
- Dealing with open files
- How long has a process has been alive
- wma2mp3 - a small script to convert Windows WMA files to MP3 format
- Testing UDP availability to a remote host
- Finding the targets in a Makefile
- XML file validation
How-Tos
- LVM
- SSH Tunneling
- Screen - a text-mode window manager
- How to Create a 4-Disk RAID Array using mdadm
- How To Use rsync
[^1] this was before the popularization of high-speed internet access