Both.org
I've been hooked on open-source productivity tools for years—first OpenOffice, then LibreOffice when The Document Foundation forked the project. And honestly? I've lost count of exactly how many years it's been. Back in 2009, while serving as Technology Director at a small public K–12 school distric
Linux / UnixDev tools / editors / IDEsSoftware / engineering practice
- Posts
- 903 from 1 Dec 2017 to 28 Oct 2026
- Posting
- about daily (170 in the last year)
- Kind
- magazine
- Feed
- https://www.both.org/?feed=rss2
2026 128
- Book Update
- Vendor lock-in or user freedom
- Running Ollama in a Container: A Beginner’s Guide
- Book Update
- Booting new FreeDOS kernels
- 5 GVim color schemes for writing code
- What’s old is new again: XTerm on modern Linux
- Setting up Home Assistant with Podman
- My 5 favorite Vim color schemes for coding
- Two ways to write portable software
- GVim is my new favorite editor
- Why I love classic markup
- Podman Desktop on macOS
- Transfers Across Devices with LocalSend
- Setting Up a WordPress Blog with Podman
- Microsoft reaches out to PlayStation
- Automating file edits with Bash
- Trade-offs in programming
- Hide text with this 1-line command
- Play a word game at the command line
- Data analysis with gnuplot
- Hide text with this handy program
- Charting data with gnuplot
- Copy data to your clipboard from a terminal with wl-copy
- Transition to Linux the easy way
- Cleaning up FORTRAN 77 code
- Using grep to play a game
- Teaching FORTRAN new tricks
- Using LibreOffice to chart x,y data
- Maintaining Your Linux Mint System: Simple Steps for Optimal Performance
- Transfer files to FreeDOS the easy way
- When my GPU crashed
- Resize images at the command line
- The Power of Open Formats and Self-Hosted Solutions
- Pretty-printing source code with pandoc
- The Gift of Linux for Safe and Engaging Learning
- Yes, FreeDOS runs Windows 3.11
- Find invalid characters in FORTRAN 77 programs
- Hands-on with FreeDOS Beta1
- A look back: FreeDOS Alpha 5
- How FreeDOS got started
- Formatting a book interior in LibreOffice
- Teaching Python
- Try the FED editor on FreeDOS
- CFS: Completely fair process scheduling in Linux
- Expand tabs in FORTRAN 77 programs
- A gentle introduction to FreeDOS commands
- Learn by writing test programs
- Using variables in FreeDOS
- A look back: AT&T’s Unix PC
- Using AI to Generate Alt Text
- Spaces in DOS filenames, part 2
- Fixing Brave’s Flatpak Profile Error
- Introduction to Linux (free ebook)
- Yes, DOS filenames can have spaces
- How my wife became a Linux user (again)
- ClamAV and Bleachbit: One two punch for Linux security
- Fedora 44 Impressions
- Converting tabs to spaces
- Customize your FreeDOS with FDCONFIG.SYS
- Digital sovereignty
- A look back: f2c
- Getting started with Linux: Ubuntu 26.04
- Changing the timezone in Fedora
- Beyond the Basics: Advanced Text Processing with awk and sed
- 5 things to know when learning FORTRAN 77
- Using the force at the Linux command line
- Book Update — Chapter 26, Printers
- How to Make your Linux Box Into a Router
- Fedora 44 Released
- Writing a replacement seq command
- High-severity Vulnerability in PackageKit
- The evolution of package managers
- Linux to the rescue
- Choosing your first Linux distribution
- Network Interface Card (NIC) name assignments
- Demystifying File Permissions in Linux
- Brave: The Open-Source Alternative You Should Be Using
- Why choose Linux?
- Both.org Authors Working on New Books
- Privacy matters
- Book Update
- Fedora Prix Fixe Menu Gives Flexibility
- Why Linux Matters More Than Ever in 2026
- “Using and Administering Linux” Book Progress Update
- Use FreeDOS to learn about computers
- From ‘Obsolete’ to Opportunity: How Five Old PCs Found New Purpose
- Fedora 44 Coming Soon
- VirtualBox Problem Solved
- Is there a better Pi Day than March 14?
- Let’s measure pi with a Raspberry Pi
- Why I Really Like Linux
- California’s age verification law is bad for open source
- Announcing the 3rd Edition of “Using and Administering Linux”
- Fresh KDE Innovation Meets Ubuntu Stability
- Make your first contribution to open source
- The Fedora “Everything” Image Changes Everything
- Getting Help for Linux
- Nine traits of the veteran Unix admin
- A Distributed WordPress Cracking Attack
- Getting Started With the cd Command
- A Fresh Look at Manjaro KDE Plasma
- Dipping My Toes into the Arch World with Manjaro Cinnamon
- A look at Fedora 43 Server Edition
- Reasons for Moving to Linux
- Triangle Linux User Group (TriLUG) February Meeting
- Update on my Oldest Computer
- Why I Installed Fedora Server on My Primary Workstation — and How
- Network Upgrades Completed — Sort of
- Saving Public Library Computers With Linux Mint MATE
- Network Upgrades at Both.org
- Why I Didn’t Convert My Primary Workstation to BtrFS
- Create a Linux kiosk at your library
- Writing a fun turn-based game
- Converting to BtrFS — Episode 5
- Why I prefer tar to zip
- Development isn’t over until it’s packaged
- Tinkering with Immutable Linux: How Fedora Cosmic Atomic Won Me Over
- Using Wildcards on the Bash Command Line
- 2025 — a Great Year for Both.org
- How Immutable Linux Could Save Libraries Thousands
- The difference in open source licenses
- Counting words from online articles
- Buying a Linux laptop that will last
- Introduction to the BtrFS Filesystem
- Quick Tip for umount
- The Truth About Disk Fragmentation
- Prognostications for 2026
2025 262
- Version Control Is Not Just for Code
- Counting files and words from the command line
- Behind the Badge: Community, Process, and Care in Open Source Exams
- Edit text with this Emacs-like editor
- Automate tasks with FreeDOS BAT files
- 2 ways to listen to music on FreeDOS
- Old-school programming with BW BASIC
- How to add and remove packages on FreeDOS
- The FreeDOS editor makes it easy
- 4 cool facts about FreeDOS for #DOScember
- When an Apparent DDOS Attack is a Good Thing
- Mozilla Firefox AI Slop
- Reviving a Windows Laptop with Linux Tools and ClamAV
- Converting to BtrFS — Episode 4
- Advanced stress testing for DevOps
- System76 and the New COSMIC Desktop
- Everything you never wanted to know about the /etc/fstab File
- Gift ideas for 2025
- Linux and AI: Why Efficiency Still Matters
- What do AI and Timothy Leary have in common?
- A New Way to Watch Your Linux System Work
- The secret to fixing a mangled filesystem
- 15 Essential Open-Source Backup Utilities to Protect Your Data
- Why Zorin OS 18 Might Be the Best Linux Release for New Users
- Is the Internet grinding to a halt?
- Converting to BtrFS — Episode 3
- AI slop broke Windows
- Flexible updates with Linux
- Converting to BtrFS — Episode 2
- Easily Create Windows Installation Media Using Linux Tool
- Commands I use to explore Linux filesystems
- Why VirtualBox is my goto Hypervisor
- How to generate good passwords with pwgen
- Converting to BtrFS — Episode 1
- 13 years is a long time for a laptop
- Problems updating QT5 on Fedora 43
- Fedora 43 breaks my books
- Electric nonsense
- Installing Fedora 43 Minimal on a Raspberry Pi
- Installing Fedora 43 Xfce
- Reviving an Old Laptop with Linux Mint
- Fedora 43 — A Second Look
- Linux Mint: Better Privacy, Cost, and Performance for Your Old Windows Computer
- Read and write data in C
- First Look at Fedora 43
- Fedora 43 Released
- Why I love Cool Retro Term
- Fedora 43 set for release October 28, 2025
- Setting up OBS Studio to record videos
- Free Office Software That Works
- Empowering Communities with WordPress:
- Why Linux Is the Hidden Engine Behind Modern Tech
- AWS Agony
- How I write with Linux — My complete toolchain
- 3 easy ways to make screenshots on Linux
- How to parse text strings in C
- A quick look back at ATO 2025
- Finding hidden package groups using DNF
- A caution about using sudo
- Rethinking su vs sudo
- ATO book signing schedule announced
- Print ‘Hello world’ in color with conio
- Email can’t access the INBOX
- Choose your new computer’s operating system
- Planning for End of Life
- Unzipping archives from the command line
- Write directly to the screen with DOS conio
- Best Linux Distros for Windows Users: From Mint to Pop!_OS
- VirtualBox 7.2.2 fails to start VMs
- 7 ways I use ed every day
- 3 ways I use aliases in FreeDOS
- Save the Computers
- Interview with Marcel van der Veer
- End of 10 event success
- SourceForge is ending free personal web hosting
- Triangle Linux Users Group to hold installfest
- Why do you love Linux?
- Minty Fresh on a Meerkat: My Latest Linux Setup
- My start with BASIC programming
- Read long lines with getline
- Rhythmbox is a great music player for GNOME
- Reading the command line with getopt
- How do I choose a Linux distribution?
- Using QGIS and MerginMaps for Geospatial Data Work
- Exploring GNU Algol 68: Formatting numbers as strings for output
- What you need to know when you buy a new computer
- Why beauty matters in computing
- My oldest computer turns 20 today
- Building a random text generator
- Exploring GNU Algol 68
- Why I switched to Linux
- 10 reasons to use Linux
- My first Linux system
- Good Reasons for Linux as your daily driver
- End of 10…
- Getting started with the Linux cat command
- How to choose a computer store
- Manage multiple service instances with systemctl
- A great year for Both.org
- Xfce lock screen fails
- Introducing Jan: A Privacy-Centric, Open-Source GPT for AI Enthusiasts
- Begin the Journey: Finding a practical starting point with Free Open Source Software
- The IBM PC — 44 years old today
- An Open-Source AI Tool for Voice Generation
- Microsoft Nonsense
- Begin the journey: Why your ethics might require adoption of Free and Open Source Software
- Why I support the “Right to Repair”
- David Both to have book signing at ATO
- Booting FreeDOS with two CD-ROM drives
- Bulk Document Conversion Made Easy with LibreOffice
- I’m glad I run Linux
- Tips for faster note taking with Joplin
- Disk Disaster
- Ten moments that shaped Linux
- My six tenets for learning to be a Linux SysAdmin
- Three surprising reasons I like the Cinnamon desktop
- My worst self-inflicted IT disaster
- My Journey From Zero to Linux SysAdmin
- Making FORTRAN 77 easier to read
- An Algol 68 Pretty Printer
- The Perfect Programmer
- A Small Algol 68 Project, Part 3
- 3 ways to write bugs with FORTRAN 77
- Using a Live USB for Linux recovery
- Getting Started with SELinux
- A Small Algol 68 Project, Part 2
- About those livesys error messages
- A Small Algol 68 Project, Part 1
- Fedora Repo issues during updates
- The Linux Philosophy for SysAdmins, Tenet 24—Reality Bytes
- How to fix unresolvable file conflict errors upgrading or installing software RPMs
- The Linux Philosophy for SysAdmins, Tenet 23—Support your Favorite Open Source Project
- Short report on the Perl / Raku Conference
- Thinking about Algol 68
- The Linux Philosophy for SysAdmins, Tenet 22—Mentor the young SysAdmins
- Do I have enough space for that?
- A beginner’s guide to dc
- Strange problems with switches
- Nextcloud is a snap
- Website problems circumvented
- Breaking Free from Windows 10: KDE Plasma Is Your Upgrade to Freedom
- I need a list of URLs
- Cyndi: My open source story — Linux, the loyal friend
- How to remove a stuck kernel from GRUB
- What USB device is that?
- How to selectively apply updates
- Straight quotes from pandoc
- Viewing PDF documents in console mode
- AI Terror: The struggle to stay alive
- Loving the command line with the Raspberry Pi
- The Linux Philosophy for SysAdmins, Tenet 21—There is no should
- Writing with open source tools
- New Linux vulnerabilities allow access to critical data
- Extracting text with awk
- My first sysadmin mistake
- I’m sorry Dave, I’m afraid I can’t do that
- Movie made with open source software makes history
- Linux and Security
- 5 Unix books you must read
- Redirectors — More than you think
- A brief history of the Linux desktop
- Fine tuning the KDE Plasma desktop
- Upgrading a Lenovo V15 to Fedora KDE Plasma
- An interview with Jim Hall about FreeDOS
- Celebrating 20 Years of ODF: The Backbone of Open Standards
- How I use GNU Indent
- AI Malware strikes curl developers
- Emulating systems with QEMU
- Make typing faster with the Keebio BDN9 macro pad
- Code like it’s the 1980s
- Standard UNIX password manager
- GIMP: the free Photoshop alternative
- The case of the Borked HDD
- The Linux Philosophy for SysAdmins, Tenet 20—Follow your curiosity
- How to get started with Linux
- How to find Open Source Software to replace your Windows software
- Mastering Screenshots with KDE Spectacle:
- Beware Fedora updates of April 28, 2025
- Learning to use System Settings in Fedora KDE Plasma
- Draw in color using Portable Pix Maps
- The duf command
- Grayscale images with Portable Gray Maps
- Five things I like about the Cinnamon desktop
- Write tiny images using PBM
- My first impressions of Fedora 42
- Fedora 42 upgrades at Both.org
- Fedora 42 has been released
- Five reasons for Windows users to move to Linux
- Linux News
- Get started with FreeDOS 1.4
- Breaking News – M$ Allows older computers to install Windows 11
- Why does M$ require so much personal information?
- Using Linux on Apple Silicon
- A Fresh Start with Linux Mint
- It should be fun
- The Linux Philosophy for SysAdmins, Tenet 19—Backup everything frequently
- Microsoft announces significant changes to Windows
- Open Source on macOS: Exploring Free Software on My M3 MacBook
- Call for articles — Switching to Linux
- Microsoft Warns 1 Billion Windows Users—Do Not Use Password
- Moving from Windows 10 to Linux
- The Linux Philosophy for SysAdmins, Tenet 18—Document everything
- Signal Messenger: Privacy, Simplified with Open Source
- Create a patch from differences in a file with the diff and patch commands
- Connect to a Windows drive from Linux
- Reading a whole file at once
- Old-school programming with Turbo C
- Openclipart.org: A Treasure Trove of Free Vector Images
- Update Linux from the command line
- Calculate pi by counting pixels
- Kernel musings
- Don’t skip the learning process
- btop — the top of my dreams
- What Robbie the Robot can teach us about AI
- Perl and Raku Conference will be held June 27-29, 2025 in Greenville, SC, USA
- Using AI to translate code
- Cautions when using AI for coding
- Text fun with Inkscape
- Selective updates using ‘dnf’
- The Linux Philosophy for SysAdmins, Tenet 17— Use your favorite editor
- What our system maintenance this past weekend says about Linux
- Resurrecting a Windows laptop
- Fix SELinux problems with this little-known option
- Linux tools for network administrators
- Keeping time with chrony
- Open source Tools for Everyday Use
- Ventoy: The Ultimate Multi-Boot USB Tool
- How I recovered from another self-inflicted problem
- Learning to love ‘groff -ms’
- 5 reasons to love init
- 5 reasons to love systemd
- Updates fix KDE Plasma issues
- Open-Source Robotics: The Best Linux-Based Frameworks for Building Intelligent Machines
- Filelight — my new favorite Linux tool
- Top Five KDE Apps
- Fixing Ansible playbooks
- Draw a Cylon eye in DOS
- How I reverted to Name Service Switch (NSS) for name resolution — And why
- Quoting text with ‘sed’
- How I automate file edits with ‘sed’
- How ActivityPub is Reshaping Social Networking
- My Go-To Podcasts for Linux and Open Source
- New book announcement
- Using the dmesg command
- How to get started in open source?
- How Linux keeps time
- A Journey Towards Ad-Free Photography Sharing
- Personal backups with ‘rsync’
- How to get a clean screen — on the command line
- Using enumerations in C
- How to do updates on the command line
- The Linux Philosophy for SysAdmins, Tenet 16 —Find the simplicity
- For a traditional Unix experience, try Crux Linux
- Empowering Everyone: Accessibility Features in LibreOffice
- Using bit fields and bit masks in C
- The secrets of the usermod command
- How Kiwix Is Revolutionizing Offline Access to Global Information
- Looking ahead to FreeDOS 1.4
- Using htop to manage your Linux system
- Etherpad: Revolutionizing Real-Time Collaboration
- Processing files with ‘find’ and ‘xargs’
- My mom requests a Linux computer
2024 367
- Looking forward to 2025
- Raspberry Pi 500 — a review
- Bitwarden: Secure Password Management
- Microsoft Recall still captures your data
- The joy of a modular kernel
- Explore FreeDOS with these 5 articles
- Enjoy the holidays with this ASCII fireplace
- Firewall your home network with a Raspberry Pi
- The day my mind became open sourced
- Using Web clipper to enhance your note taking
- What I learned by teaching others
- Linux Philosophy articles of 2024
- My first Linux in the enterprise
- Set up an embedded system with FreeDOS
- 5 ways to learn about programming
- Top Eleven Articles on AI this year
- How I create encrypted passwords
- How many releases of Fedora can I upgrade from?
- Best Articles of 2024 about Linux system tools
- Happy birthday Both.org
- How to install FreeDOS the old-school way
- 5 popular articles about editing text
- What I’ve learned about open source community over 30 years
- Remove Background from Photos for Holiday Card Creation with Python
- Embracing the Festive Spirit: Celebrating Holidays Open Source Style!
- Top 5 open source stories of 2024
- Use ImageMagick to work with images
- Celebrating 30 years of open source with FreeDOS
- 5 ways to get the most out of Bash
- Your Guide to Making a Difference in Open Source
- Stupid SysAdmin tricks
- Why doesn’t my dict command work?
- Embracing Open-Source Solutions in the Age of AI: A Path to Digital Independence
- Fedora rescue mode fails
- Linux signals — sending system-level commands to programs
- How Markdown empowers technical writers
- Joplin: The Ultimate Note-Taking App
- How I find and kill rogue programs
- Managing processes with kill and killall
- Print double-sided documents with this Bash script
- Using AI in education
- Another reason I like Linux
- BlueSky and Its Open Source Vision for Social Networking
- An introduction to the Network Time Protocol
- sync — The command you never heard of
- Colorful disk management with dfc
- Why should I subscribe to Both.org?
- How I delay code execution in Bash until a remote host is responding
- The Linux Philosophy for SysAdmins, Tenet 15 — Strive For Elegance
- A quick look at DNF5
- Creating photo collages with Linux
- How I used fdisk in a script to partition a drive
- 21st Century System Administration (Or: How I learned to stop worrying and love systemd)
- Securely erasing your data on Linux
- The Linux Philosophy for SysAdmins, Tenet 14 — Use Open Source software
- A short review of Fedora 41
- Essential steps for creating a USB boot drive for Linux
- From web to client: The Mastodon experience
- How to write your first article with Both.org
- Print a spooky greeting in ASCII art
- How I reverted from firewalld to iptables — and why
- Open WebUI: A Powerful, Open Source Interface for LLM
- A day at ATO’s Diversity, Equity, and Inclusion Conference (DEI)
- The Linux Philosophy for SysAdmins, Tenet 13 — Make programs portable
- What does it mean to be a SysAdmin?
- Portable programming practices
- Writing portable C programs
- Welcome, “We (heart) Open Source”
- The Linux Philosophy for SysAdmins, Tenet 12 — Use separate filesystems for data
- Fastfetch: system information tool
- Celebrating technical writing with open source software
- Why I won’t use the BtrFS filesystem
- Simplifying AI Interaction: A Deep Dive into Hollama’s Minimalist Web Interface for Ollama
- How to share your system configuration visually
- Calculate letter frequency in gawk
- Programming across platforms
- What are load averages — and what do they mean?
- The Linux Philosophy for SysAdmins, Tenet 11 — Store data in open formats
- Linux User Accounts and Security
- How I use SSHFS to access remote filesystems
- What is an operating system?
- The dd command — the Disk Destroyer
- Harnessing Ollama for financial analysis
- The Linux Philosophy for SysAdmins, Tenet 10 — Use common sense naming
- Perfctl malware infects thousands of Linux hosts since 2021
- Pandoc: Transform Your Documents with Ease
- I found a new way to stress-test my Linux hosts
- The Linux Philosophy for SysAdmins, Tenet 09 — Test Early, Test Often
- VirtualBox failures
- 4 ways to write your first article
- Unlocking the secrets of the /proc filesystem
- My oldest computer is 19 years old; Linux keeps it going
- Effortlessly Transform Your Markdown Documents to Accessible Formats with Pandoc
- How I create Linux device files — and why
- How to untangle the systemd-resolved DNS mess
- Elevating Your Writing with Ollama and Phi3 Model Synergy
- Do I really need to know how to compile the Linux kernel?
- 5 Linux commands you should never run (and why)
- Book Errata
- A little Vim trick I learned today
- Secure electronic document disposal with Linux
- Using Python and Ollama on a Linux desktop
- The Linux Philosophy for SysAdmins, Tenet 08 — Always use shell scripts
- Write a guessing game in ncurses
- The Linux Philosophy for SysAdmins, Tenet 07 — Automate Everything
- Terminal size and ncurses
- Searching text files from the command line
- Random numbers from the Linux kernel
- Working with Ollama
- Beachy thoughts: Many ways to solve a problem
- A gentle introduction to ncurses
- Sharing Linux with a friend
- Exploring Ollama and Llama 3.1 for Advanced Language Modeling
- Heading to the Beach
- Learn C by writing a number guessing game
- Easy File Management with Thunar
- Editing files with FreeDOS Edlin
- Setting the status line for the screen program
- Using the screen command for flexibility
- How I send email from the command line
- Join the community and share an article
- Is cron Obsolete?
- How to access Rescue mode (runlevel 1) in Linux
- The Linux Philosophy for SysAdmins, Tenet 06 — Be the Lazy SysAdmin
- Top Five reasons I use Dolphin as my file manager
- Top Five reasons to use KDE Plasma desktop
- Top Five things you can do with nano
- The Linux Philosophy for SysAdmins, Tenet 05 — Embrace the CLI
- Check spelling at the command line
- Getting a hand from Handbrake
- Balancing Performance, Compliance, and Cost with Linux and Open-Source Solutions
- Happy Birthday to the IBM PC
- Guess the number in FORTRAN 77
- Count magic bunnies in LibreOffice Calc
- When STEM becomes STEAM
- Contributing to open source
- System76’s Cosmic Desktop: A New Era in Linux UX
- The Linux Philosophy for SysAdmins, Tenet 04 — Use the Linux FHS
- Mastering the rm command
- Results of the Great Both.org Challenge
- LibreOffice Calc functions to make your work easier
- Randomness, zero and more
- A look back: FORTRAN 77
- Converting WordStar files
- How to use the base64 command on Linux
- The Linux Philosophy for SysAdmins, Tenet 03 — Everything is a File
- Top Five reasons I use Konsole terminal emulator
- Gaming drives computing
- Getting started with Linux
- Subscribe to Both.org
- 5 things I love about Xfce Terminal
- GUI disk usage analyzers in Linux
- How to remove existing traditional swap partitions
- How to use SSH
- Getting started on the command line
- The Linux Philosophy for SysAdmins, Tenet 02 — Transforming Data Streams
- Mastering the Linux cp Command: A Comprehensive Guide
- How to use the basename command
- Everyday tech that runs on Linux
- The Linux Philosophy for SysAdmins, Tenet 01 — Data Streams, the universal interface
- Linux: The Sustainable Choice for Computing and Environmental Responsibility
- Complete Kickstart: How to Save Time Installing Linux
- Windows security just got worse
- Signal: The Pinnacle of Secure Messaging
- Visual brand and identity
- How to do fast, repeatable Linux installations #3 — Ansible
- How to create and use Public/Private/KeyPairs with SSH
- Why I Use Linux
- Automate Raspberry Pi tasks with crontab
- Am I a SysAdmin?
- The Linux Truth
- My favorite Vim color schemes
- What is the Linux Philosophy for SysAdmins?
- 3 steps to identifying Linux system automation candidates
- How to do fast, repeatable Linux installations #2 — Bash scripts + RPM
- Tips for using the ‘ls’ command in Linux
- Linux Malware scanning using ClamAV
- Is Linux Still Linux?
- How to do fast, repeatable Linux installations #1 — Bash scripts
- Holiday Fireworks
- Two open source desktop recording tools
- The Linux Filesystem Hierarchical Standard
- Can Windows security get any worse?
- How Both.org is rebuilding a community after the death of an organization
- Celebrating 30 years of FreeDOS
- How many usability testers do you need?
- Intro to the Linux chgrp and newgrp commands
- Screencasts for usability testing
- Intro to the Linux chown command
- Usability testing in open source software
- Intro to the Linux chmod command
- Tips on writing open source documentation
- Open source in organizations
- Learning with the turtle
- How my easy, home-made backup program saves time, space on the storage medium, and network bandwidth
- Intro to the Linux useradd command
- Play a fun math game with Linux commands
- 5 common C programming bugs (and how to avoid them)
- 5 note-taking apps for Linux
- As many as 400,000,000 Windows 10 PCs can’t be upgraded to Windows 11
- How to run DOS apps on Linux
- Using the command line calendar and date functions in Linux
- 6 Linux metacharacters I love to use on the command line
- Running FreeDOS on Linux
- David Both: My Open Source Story
- Why DOS only has 16 colors
- Running FreeDOS on legacy hardware
- Open and the right to repair and modify
- How to configure multiple websites with Apache web server
- SpamAssassin, MIMEDefang, and Procmail: Best Trio of 2024
- Using ‘awk’ to filter text
- Using the Alpine Linux email client to access messages from any network
- Digging into ODT file contents
- Replacing rc.local in systemd Linux systems
- The Art of Problem Solving
- Problem solving strategies for SysAdmins
- How I fixed Random Reboots on One of My Laptops
- Managing devices in Linux
- Use ‘grep’ to solve a 2-dimensional word puzzle
- Comparing BASIC with FORTRAN 77
- Get started with Midnight Commander, a visual shell and file manager for Linux
- Streamline Your Small Business with This Open Source Accounting App
- Get Publii – Static Site Generator
- A little programming goes a long way
- Linux desktops and laptops
- My open source story
- My first programming language
- 3 ways to read files in C
- The job is not done until the documentation is complete
- Testing Linux hardware compatibility with USB sticks
- How to build rpm packages
- Using ‘grep’ to play a word game
- Why it’s important for leaders to mentor and support others
- A minimalistic approach to debugging
- Regular Expressions #4: Pulling it all together
- Regular Expressions #3: grep — Data flow and building blocks
- Ansible #3: Finishing our Ansible playbook to manage workstation and server updates
- Build your own DNS server on Linux
- Regular Expressions #2: An example
- Open source School tools for our adult learners!
- Regular Expressions #1: Introduction
- How to upgrade your Fedora Linux system to the latest release with DNF system-upgrade
- Ansible #2 How to create an Ansible Playbook
- MS-DOS 4.00 released as open source software
- Open Source and Music Playback
- 3 things that matter most for a project management tool
- Seven Linux commands just for fun
- Extend the life of your Linux SSD drive with fstrim
- NetworkManager on Linux: #3 — How I migrated to NetworkManager Connection Files for configuration
- An introduction to GRUB2 configuration for your Linux machine
- NetworkManager on Linux: #2 — A sysadmin’s guide to network interface configuration files
- A Linux networking guide to CIDR notation and configuration
- NetworkManager on Linux: #1 — Getting Started
- An introduction to Linux network routing
- Writing your own ‘fmt’ program
- 5 lessons we can learn from AI
- How to use udev
- Use lspci on Linux to see your hardware
- Introduction to the Domain Name System (DNS)
- Use rclone to put your files in the cloud
- Learn Bash by writing a number guessing game
- Temporary fixes that become permanent
- Is Linux Really Secure?
- Tweak your system performance with ‘noatime’
- How to debug a web server error with ‘wget’
- An introduction to the Linux boot and startup processes with GPT and GRUB2
- How I boot FreeDOS using QEMU
- The real differences between less, more, and most
- Using rsync for Backup
- How to update a Linux symlink
- Using tar and ssh for backups
- Getting started with the Linux cat command
- Mastering Storage Management on Linux
- How to upgrade your system BIOS/UEFI using FreeDOS
- Linux monitoring tools to keep your hardware cool
- What’s in a name?
- An introduction to the GNU Core Utilities
- How a Display Manager and a Window Manager Light Up Your Screen
- Linux Makes Computing Accessible for Everyone
- A Linux user’s guide to Logical Volume Management
- Serial communication on Linux
- Retro-Fun with CRT
- Navigating the ‘top’ Command in Linux
- Exploring the history of technology
- How to generate webpages using CGI scripts
- AI can’t replace community
- Using sudo to delegate permissions in Linux (Updated)
- How to configure an Apache web server
- How I configured a DHCP server for my personal lab network
- Mozilla Unveils Llamafile: A Game-Changer for Large Language Models in AI
- Using ‘if’ in a Bash script
- How I run my blog on a Raspberry Pi
- System statistics with sar and the /proc filesystem
- Parsing config files with Bash
- Convert your Windows install into a VM on Linux
- Team of one? The Zen postmortem
- Configure a Linux workspace remotely from the command line
- Manage your APC battery backup system with this Linux command
- Ansible #1: My first day using Ansible
- How to write your first article
- Protecting Your Privacy: Removing Exif Metadata from Your Digital Images with ExifCleaner
- What is a sysadmin?
- systemd — #13: Why I support the systemd plan to take over the world
- How I customize my Linux window decorations
- systemd — #12: Fixing systemd-resolved name service failures using Ansible
- What open source means to me
- systemd — #11: Managing resources with cgroups in systemd
- 4 open source tools for Linux system monitoring
- How I got RGB Lighting Working on my Corsair Keyboard
- Transfer files between your phone and Linux
- How I disabled IPv6 on Linux
- systemd — #10: Analyze Linux startup performance
- systemd — #9: Using systemd journals to troubleshoot transient problems
- Generate QR codes with this open source tool
- Diagnose connectivity issues with the Linux ping command
- systemd — #8: Analyzing systemd calendar and timespans
- systemd — #7: Use systemd timers instead of cronjobs
- Chart Your Course: Essential Open Source Software for Boat Owners
- systemd — #6: Control your computer time and date with systemd
- systemd — #5: How I manage startup using systemd
- Draw a heart for Valentine’s Day
- Open Hearts, Open Source: Celebrating Valentine’s Day with Creativity and Community
- How I use Drupal as an advanced blogging platform
- Open source runs on non-code contributions
- Drupal 10 is worth a fresh look
- Looking ahead to 30 years of FreeDOS
- Explore the cosmos from your armchair
- systemd — #4: How to use systemd as a troubleshooting tool
- How I hacked my Linux system with a Live USB device
- systemd — #3: Using the systemctl command to manage systemd units
- Check disk usage in Linux
- systemd — #2: Understanding Linux startup with systemd
- systemd — #1: Learning to love systemd
- How I teach Python with open source tools
- You don’t need a computer science degree to work with open source software
- Unleashing the power of Homebrew on MacOS
- The best 3 cross-platform text editors
- How the 9 major tenets of the Unix/Linux philosophy affect you
- Using logical operators on the Bash command line
- Millions of Openly Licensed Images and More at Your Fingertips
- Top 5 mistakes every new Linux terminal user makes
- The impact of the Linux philosophy
- Project Browser: Finding And Installing Drupal Modules In A Few Clicks
- How I use cron in Linux
- Supercharge LibreOffice with Command Line Automation
- My favorite Git tools
- How I configure Vim as my default editor on Linux
- Find bugs with the git bisect command
- Arming Open Source Software for the Future
- How I switched from Docker Desktop to Colima
- Learn Git: 3 commands to level up your skill
- Git concepts in less than 10 minutes
- Monitoring Linux and Windows hosts with Glances
- Cinnamon: A Tale of Forks and Familiarity in the Linux Desktop Landscape
- SysAdmin careers: Curiosity is an asset
- How YAML actually works
- A user’s guide to links in the Linux filesystem
- How I used journalctl to Determine the Source of an Electrical Problem
- Teaching technical writing with open source
- Liquid Cooling Failure
- Audio Preservation Challenges
- Linux Boot and Startup
- Everything is a file
- Creating a universal live Linux USB drive
- Working with data streams on the Linux command line
- Conquering the Command Line for Linux Beginners
- How I migrated a WordPress website to a new host
2023 67
- Linux Love Affair: Screenfetch vs. Neofetch – Who Wears the Crown?
- Future-Proofing Education: Why WordPress is the PK-12 Platform You Need
- Programming Bash #8: Initialization and sanity testing
- How to encourage positive online communication in your open source community
- Programming Bash #7: Bash Program Needs Help
- Programming Bash #6: Creating a template
- An Introduction to Linux Filesystems
- Programming Bash #5: Automation with Scripts
- An introduction to Linux’s EXT4 filesystem
- Programming Bash #4: Using Loops
- Programming Bash #3: Logical Operators
- Programming Bash #2: Getting Started
- Make swap better with zram on Linux
- Programming Bash #1 – Introducing a New Series
- Drop swap for zram on Linux
- Why my need for control made me switch to Linux
- Level Up Learning: Unleashing the Power of Open-Source Tools in Schools
- How I troubleshoot swappiness and startup time on Linux
- Holiday snow on your terminal
- Interview Hack: AI saves the day(and ears)
- 8 reasons to use the Xfce Linux desktop environment
- Host your own apps with Yunohost
- Upscayl: From Blurry to Beautiful with Free AI Magic
- Converting to solid-state disks (SSDs) on the desktop
- How to tune the Linux kernel with the /proc filesystem
- Use Audacity to Edit Music Recordings on Linux
- Linux hardware: The history of memory and storage devices
- The Central Processing Unit (CPU): Its Components And Functionality
- Computer History and Modern Computers for SysAdmins
- Five open source writing apps
- Use the Alpine email client in your Linux terminal
- How curiosity helped me solve a hardware problem
- How Linux rescues slow computers (and the planet)
- Understanding the Digital World – A Book Review
- Getting the most out of your NVME drives
- Cronopete: A graphical backup utility for Linux
- Should I run my computer 24/7?
- Wordsmith on the Linux command line with dict
- Why sysadmins should license their code for open source
- Embracing Freedom and Flexibility: Why Linux Mint Could be Your Perfect OS Choice
- Inxi: Unleashing the Power of Linux System Insights through Command Line Mastery
- Five reasons to give Linux this year
- This Website Is Now Secure
- Linux su vs sudo: what’s the difference?
- A Quick Review of Fedora 39
- How to be the lazy SysAdmin
- When Does a Power Cord Fail?
- My Oldest Computer Died
- Bash Prompt Changed in Fedora 39
- Strange Windows Failure Explained
- Fedora 39 Released
- ATO Pictures
- 2nd Edition of Book Series Makes Two Amazon Best Seller Lists
- ATO Book Signing and Video
- My ATO Talk Download and Resource List
- Red Hat to Name New Leader for Fedora Project
- E-Waste – Where does it go?
- All Things Open (ATO) 2023
- Using and Administering Linux: Volume 1 – Zero to SysAdmin: Getting Started is Now Available
- Book Proofs Completed
- Updates to Tech Website
- Liquid Cooling Experiments
- Why I Save Old Computer Parts
- Volume 1 Finalized
- Saving Another Computer with Linux: Updated
- 2nd Edition Updates Completed
- Announcing the 2nd Edition – Using and Administering Linux
2022 11
- Taming Static
- My OLF Conference Presentation
- I will be at Open Libre Free (OLF) Dec 2 and 3, 2022
- Saving Old Computers – and the planet
- Businesses should dump Windows for the Linux desktop
- DigitalBridge to be at Wake Forest Job Fair
- My Next Book
- MasterFrame update
- New Case for my Primary Workstation
- Creating test files
- Download problems with “Using and Administering Linux – Zero to SysAdmin” files
2021 3
2020 17
- Setting the number of desktop workspaces for Xfce4
- Fedora 33 first impressions
- Fedora name resolution fails
- How I borked my computer
- Migrating to SSD.
- Installing Fedora 32 on System76 Oryx Pro
- Fedora 32 rocks – with a couple issues
- Copy and Paste fails
- Migrate Thunderbird Config from one Linux Computer to Another
- Security by obscurity — NOT!
- Network migration complete
- Network migration Monday, January 20
- Speaking at Open Source 101
- Intermittent web site outages
- Great first review
- “Using and Administering Linux – Zero to SysAdmin” to be translated into Korean
- High Anxiety
2019 20
- About ebooks for “Using and Administering Linux”
- “Using and Administering Linux” now available on Amazon
- Update on BookAuthority
- Finished!
- Book update
- “Linux Philosophy for SysAdmins” to be translated into Chinese
- Technical revisions completed
- Back to Firefox
- First draft complete!
- The end is near!
- Outage fixed
- Book Details Updated
- News about “Using and Administering Linux – Zero to SysAdmin”
- First Draft Complete
- My next book: Using and Administering Linux
- Innovative New Linux Desktops and other Changes in Fedora 30
- Upgrading to Fedora 30
- Linux process scheduling
- Server repairs completed
- Server upgrade in the works
2018 26
- Why I Hate Windoze
- Fun with ASCII art on the Linux command line
- The eBook version of The Linux Philosophy for SysAdmins on sale for $7
- Book availability update
- Book hardcopy available on Amazon
- Meet the author(s) at ATO
- My Ohio LinuxFest presentation
- Yet another book contract
- New book in the works
- Your computer isn’t broken – it just needs Linux
- Linux turns 27 today
- Speaking at Ohio LinuxFest
- Hardcopy of “The Linux Philosophy for SysAdmins” now available
- “The Linux Philosophy for SysAdmins” is now available in electronic formats
- Looking ahead
- Final book proofs finished
- Site problem solved
- Working on book proofs
- Real SysAdmins don’t sudo – Book excerpt
- Book availability dates revised
- About my Book – “The Linux Philosophy for SysAdmins”
- “The Linux Philosophy for SysAdmins” has been sent to production
- First draft complete
- Book progress
- Book thoughts
- Book status