Table of Contents
Site
Content
This is a tech-related blog providing text and video tutorials on Unix, GNU/Linux, programming, automation, systems administration/DevOps, Free Software/Open Source, privacy, security, and ethics.
The landscape of IT has become too wide for anyone to cover multiple areas authoritatively and stay up to date over time. The topics discussed here are fundamental — everyone dealing with computers should be familiar with them.
The key to understanding complex topics is in thoroughly understanding the basics.
This site is provided to inspire you to seek truth, depth, fun, and personal mastery in IT or any other field of your choosing.
Terminology
Unix, BSD, GNU, and Linux are terms of increasing specificity:
-
Unix usually refers to all Unix-like systems or to Unix concepts, as described in “The Unix Philosophy - Explained and Extended”
-
GNU refers to the GNU project or to the free (liberated) implementation of Unix and Unix programs
-
Linux refers to all GNU/Linux distributions or to the Unix-like kernel called Linux
-
GNU/Linux more precisely refers to Linux distributions, i.e. those which combine the GNU userland with the Linux kernel
-
BSD refers to operating systems derived from the traditional BSD Unix
Articles on this site use terms with the broadest applicability in a given context. For example, if a concept originates in Unix, such as the command line, it will be called the “Unix command line” rather than “Linux command line”, unless the context is specific to Linux.
Links
This site is located at https://crystallabs.io/.
RSS feed is available at https://crystallabs.io/index.xml.
All HTML links external to this site are marked with a “fa-external” icon, such as https://www.eff.org/.
Articles may contain links to other resources. For convenience, at the end of each article, all links appearing in it are listed again, in order of appearance.
Brief History
I started my computer-related journey when I was 6, playing Commodore 64 games like Boulder Dash, Commando and Pitstop.
After many games on the Commodore 64, Atari 1040 STe, PC 386, and PC 486, I started programming in Visual Basic 3.0 and 4.0, followed over the years by C, Perl, Ruby, Python, Crystal, and Go. I have also used Logo, Oberon, Java, JavaScript, and Node.js.
After getting a 14.4kbps modem in ~1995 and experiencing the magic of Unix via a dial-up connection, I was decided on it. I started using GNU/Linux a significant percentage of time in 1998 and exclusively as the only OS for desktops and servers in 2001.
Some of my earliest documented adventures with Unix included translating the famous John Kirch’s 1998 paper “Microsoft Windows NT Server 4.0 versus UNIX” to another language, and 1999 co-authoring a custom GNU/Linux distribution called lt1 that fit in 1.44MB of space (the size of a diskette) for diskless PC terminals.
To date I have accumulated 25+ years of professional experience using, programming, managing, and documenting Unix and Unix-like systems on and off the Internet. I have worked on a number of software projects while holding volunteering, development, consulting, architecting, and/or management roles.
Automatic Links
The following links appear in the article:
1. The Unix Philosophy - Explained and Extended - /unix-philosophy-explained/
2. BSD Unix - https://en.wikipedia.org/wiki/Berkeley_Software_Distribution
3. GNU - https://en.wikipedia.org/wiki/GNU
4. GNU Project - https://en.wikipedia.org/wiki/GNU_Project
5. GNU/Linux - https://en.wikipedia.org/wiki/Linux
6. Unix-Like Kernel Called Linux - https://en.wikipedia.org/wiki/Linux_kernel
7. Unix - https://en.wikipedia.org/wiki/Unix
8. Unix-Like - https://en.wikipedia.org/wiki/Unix-like