<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Small Sharp Software Tools</title><link>https://smallsharpsoftwaretools.com/</link><description>Recent content on Small Sharp Software Tools</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Fri, 20 Mar 2026 11:00:00 -0500</lastBuildDate><atom:link href="https://smallsharpsoftwaretools.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Manage Python Projects and Environments With uv</title><link>https://smallsharpsoftwaretools.com/tutorials/manage-python-with-uv/</link><pubDate>Fri, 20 Mar 2026 11:00:00 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/manage-python-with-uv/</guid><description>Install Python versions, manage virtual environments, and handle dependencies with the uv tool, a fast Python tool written in Rust.</description></item><item><title>Lint Your Markdown with markdownlint</title><link>https://smallsharpsoftwaretools.com/tutorials/lint-markdown/</link><pubDate>Thu, 19 Mar 2026 22:04:23 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/lint-markdown/</guid><description>Catch inconsistent Markdown formatting with markdownlint by installing it, configuring rules, and writing custom checks for your documentation projects.</description></item><item><title>Monitor Your Web Apps with Updo</title><link>https://smallsharpsoftwaretools.com/tutorials/monitor-with-updo/</link><pubDate>Sat, 31 Jan 2026 12:44:18 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/monitor-with-updo/</guid><description>Use the Updo command to monitor the uptime of web sites and applications. Test specific URLs and API endpoints and use configuration files for your projects.</description></item><item><title>Find Long Lines With awk</title><link>https://smallsharpsoftwaretools.com/tips/find-long-lines-with-awk/</link><pubDate>Sat, 13 Dec 2025 16:30:00 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tips/find-long-lines-with-awk/</guid><description>Find lines that exceed a specific character limit in text files and source code using awk, great for enforcing line length standards.</description></item><item><title>Create Windows and Linux Virtual Machines on macOS with UTM and Vagrant</title><link>https://smallsharpsoftwaretools.com/tutorials/utm-vagrant/</link><pubDate>Tue, 15 Jul 2025 17:31:26 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/utm-vagrant/</guid><description>Use Vagrant and UTM to build and configure virtual machines you can use to test software or web sites.</description></item><item><title>Manage Project Dependencies with Mise</title><link>https://smallsharpsoftwaretools.com/tutorials/mise/</link><pubDate>Fri, 11 Jul 2025 18:20:54 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/mise/</guid><description>Manage programming language versions, project tasks, and environment variables in one tool with Mise on macOS, Linux, and Windows.</description></item><item><title>Create Slides with Markdown and Pandoc</title><link>https://smallsharpsoftwaretools.com/tutorials/create-slides-from-markdown-with-pandoc/</link><pubDate>Fri, 27 Dec 2024 10:50:32 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/create-slides-from-markdown-with-pandoc/</guid><description>Build presentation slides from Markdown files using Pandoc and export them to PowerPoint or other slide formats for easy sharing.</description></item><item><title>Split Changes into Multiple Commits</title><link>https://smallsharpsoftwaretools.com/tutorials/split-changes-into-multiple-commits/</link><pubDate>Sat, 31 Aug 2024 12:41:13 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/split-changes-into-multiple-commits/</guid><description>Split a large set of file changes into focused, individual Git commits using interactive staging to keep your project history clean.</description></item><item><title>Copy thousands of files with rsync</title><link>https://smallsharpsoftwaretools.com/tips/copy-thousands-of-files-with-rsync/</link><pubDate>Mon, 29 Jul 2024 10:07:36 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tips/copy-thousands-of-files-with-rsync/</guid><description>Use rsync to copy thousands of files between machines with progress tracking, resume support, and options for bandwidth control.</description></item><item><title>Use CDPATH to Access Directories Faster</title><link>https://smallsharpsoftwaretools.com/tips/use-cdpath-to-access-directories-faster/</link><pubDate>Fri, 31 May 2024 15:44:34 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tips/use-cdpath-to-access-directories-faster/</guid><description>Set the CDPATH environment variable in Bash or Zsh to cd into your most-used directories from anywhere in your terminal.</description></item><item><title>Run Multiple Processes With Foreman</title><link>https://smallsharpsoftwaretools.com/tutorials/run-multiple-processes-with-foreman/</link><pubDate>Sun, 26 May 2024 08:18:58 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/run-multiple-processes-with-foreman/</guid><description>Run web servers, file watchers, and other dev processes in a single terminal with Foreman using a Procfile to manage them all.</description></item><item><title>See Open Network Connections</title><link>https://smallsharpsoftwaretools.com/tips/see-open-network-connections/</link><pubDate>Fri, 17 May 2024 14:17:34 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tips/see-open-network-connections/</guid><description>List open network connections and their TCP state on your system using the lsof command, with options to filter by protocol and port.</description></item><item><title>Follow Log Files With Less</title><link>https://smallsharpsoftwaretools.com/tips/follow-log-file-with-less/</link><pubDate>Fri, 17 May 2024 11:21:44 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tips/follow-log-file-with-less/</guid><description>Follow and monitor log files in real time using the less command, with search, navigation, and filtering right in your terminal.</description></item><item><title>Find Modified Files</title><link>https://smallsharpsoftwaretools.com/tips/find-modified-files/</link><pubDate>Fri, 17 May 2024 11:00:50 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tips/find-modified-files/</guid><description>Use the &lt;code>find&lt;/code> and &lt;code>sort&lt;/code> commands to search a directory for the most recently modified files and sort them by modification time.</description></item><item><title>Create Multiple Files With Brace Expansion</title><link>https://smallsharpsoftwaretools.com/tips/create-multiple-files-with-brace-expansion/</link><pubDate>Fri, 17 May 2024 10:07:36 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tips/create-multiple-files-with-brace-expansion/</guid><description>Use brace expansion in the terminal to create multiple files or directories with a single command, saving time and effort.</description></item><item><title>Rename Multiple Files</title><link>https://smallsharpsoftwaretools.com/tips/rename-files/</link><pubDate>Tue, 14 May 2024 19:12:30 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tips/rename-files/</guid><description>Batch rename files in the terminal using a Bash for loop and the mv command to change file extensions and naming patterns quickly.</description></item><item><title>Track Time With Timewarrior</title><link>https://smallsharpsoftwaretools.com/tutorials/track-time-with-timewarrior/</link><pubDate>Tue, 14 May 2024 15:00:46 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/track-time-with-timewarrior/</guid><description>Track your time from the terminal with Timewarrior, a lightweight command-line tool for logging hours, tagging tasks, and generating reports.</description></item><item><title>Jump to Git Repository Root</title><link>https://smallsharpsoftwaretools.com/tutorials/jump-to-git-repository-root/</link><pubDate>Mon, 13 May 2024 14:55:01 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/jump-to-git-repository-root/</guid><description>Navigate to your Git repository root directory from anywhere in the project tree using a built-in Git command and a shell alias.</description></item><item><title>Review Changes With Delta</title><link>https://smallsharpsoftwaretools.com/tutorials/review-changes-with-delta/</link><pubDate>Thu, 02 May 2024 08:52:39 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/review-changes-with-delta/</guid><description>Enhance your file comparison experience with Delta, a versatile tool that extends the capabilities of the &lt;code>git diff&lt;/code> command.</description></item><item><title>Use OSQuery to Explore Your Operating System</title><link>https://smallsharpsoftwaretools.com/tutorials/use-osquery-to-explore-your-os/</link><pubDate>Tue, 30 Apr 2024 17:39:51 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/use-osquery-to-explore-your-os/</guid><description>Explore your operating system with OSQuery, an open source tool that lets you query hardware, software, and processes with SQL queries.</description></item><item><title>Install and Configure WSL on Windows</title><link>https://smallsharpsoftwaretools.com/tutorials/install_wsl/</link><pubDate>Sun, 28 Apr 2024 13:39:39 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/install_wsl/</guid><description>Install and configure Windows Subsystem for Linux to run Bash scripts and Linux tools alongside your Windows applications.</description></item><item><title>Install Python on macOS, Windows, and Linux</title><link>https://smallsharpsoftwaretools.com/tutorials/install_python/</link><pubDate>Sun, 28 Apr 2024 11:24:38 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/install_python/</guid><description>Install Python on macOS, Windows, and Linux using Homebrew, official installers, or WSL to run Python-based command-line tools.</description></item><item><title>Install Node.js on macOS, Windows, and Linux</title><link>https://smallsharpsoftwaretools.com/tutorials/install_nodejs/</link><pubDate>Sun, 28 Apr 2024 11:24:30 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/install_nodejs/</guid><description>Install Node.js on macOS, Windows, and Linux using Homebrew, official installers, or WSL to run JavaScript command-line tools.</description></item><item><title>Create a PDF Resume with Markdown, CSS, and Pandoc</title><link>https://smallsharpsoftwaretools.com/tutorials/pandoc_resume/</link><pubDate>Tue, 23 Apr 2024 10:50:32 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/pandoc_resume/</guid><description>Create a professional resume using Markdown, CSS, and Pandoc. This tutorial covers setting up your environment, defining the resume structure, styling with CSS, and generating a polished PDF. Perfect for maintaining a stylish resume.</description></item><item><title>Forward Services with Bore</title><link>https://smallsharpsoftwaretools.com/tutorials/tunnel-with-bore/</link><pubDate>Mon, 20 Feb 2023 11:20:54 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/tunnel-with-bore/</guid><description>Expose local development servers to the internet with Bore, a lightweight open source tunneling proxy and alternative to ngrok.</description></item><item><title>Run a Development MySQL Server Using Docker Compose</title><link>https://smallsharpsoftwaretools.com/tutorials/run-mysql-in-docker-compose/</link><pubDate>Tue, 14 Feb 2023 11:32:45 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/run-mysql-in-docker-compose/</guid><description>Set up a local MySQL server for development using Docker Compose with persistent data storage, custom settings, and easy teardown.</description></item><item><title>Convert FLAC to MP3 using the CLI</title><link>https://smallsharpsoftwaretools.com/tutorials/convert-flac-to-mp3/</link><pubDate>Tue, 27 Dec 2022 10:50:32 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/convert-flac-to-mp3/</guid><description>Convert FLAC files to MP3 using Bash and CLI tools. This guide covers installation, script creation, and batch processing for audio transcoding.</description></item><item><title>Use Colima to Run Docker Containers on macOS</title><link>https://smallsharpsoftwaretools.com/tutorials/use-colima-to-run-docker-containers-on-macos/</link><pubDate>Tue, 29 Mar 2022 12:50:32 -0500</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/use-colima-to-run-docker-containers-on-macos/</guid><description>Use Colima, an open source container runtime on your Mac instead of the official Docker client with Docker Compose and Buildx support.</description></item><item><title>Command Line Shortcuts</title><link>https://smallsharpsoftwaretools.com/videos/009_shell_shortcuts/</link><pubDate>Fri, 05 Feb 2021 11:56:22 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/videos/009_shell_shortcuts/</guid><description>Speed up your terminal workflow with keyboard shortcuts for navigating, editing, and recalling commands in Bash and Zsh shells.</description></item><item><title>Editing Files You Don't Own with `sudo`</title><link>https://smallsharpsoftwaretools.com/videos/008_running_with_sudo/</link><pubDate>Thu, 04 Feb 2021 08:56:22 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/videos/008_running_with_sudo/</guid><description>Edit and modify system files you do not own using sudo, tee, and other techniques to safely make changes with elevated privileges.</description></item><item><title>Resources</title><link>https://smallsharpsoftwaretools.com/resources/</link><pubDate>Wed, 03 Feb 2021 12:02:47 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/resources/</guid><description>Resources for the book Small, Sharp Software Tools</description></item><item><title>Saving Output to Files</title><link>https://smallsharpsoftwaretools.com/videos/007_stdout/</link><pubDate>Tue, 02 Feb 2021 13:56:22 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/videos/007_stdout/</guid><description>Redirect command output to files using stdout and stderr redirection operators, and append or overwrite files from the terminal.</description></item><item><title>Reading a Single Line from a File from the Command Line Interface</title><link>https://smallsharpsoftwaretools.com/tutorials/read_a_line_from_a_file/</link><pubDate>Fri, 11 Dec 2020 08:31:26 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/read_a_line_from_a_file/</guid><description>Display a specific line from a file or stream using sed and awk, then wrap it in a reusable Bash function for quick access.</description></item><item><title>Creating an HTML Document from Multiple Markdown Files with Pandoc</title><link>https://smallsharpsoftwaretools.com/tutorials/create-html-from-multiple-markdown-files/</link><pubDate>Wed, 15 Jul 2020 06:31:26 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/create-html-from-multiple-markdown-files/</guid><description>Combine Markdown documents into a single HTML file with Pandoc and customize the output with a table of contents and a personal template.</description></item><item><title>Using the tree Command for Software Projects</title><link>https://smallsharpsoftwaretools.com/tutorials/tree-command-for-software-projects/</link><pubDate>Wed, 22 Jan 2020 06:13:59 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/tree-command-for-software-projects/</guid><description>Visualize your project directory structure with the tree command, using filters and display options to focus on relevant files.</description></item><item><title>Use a Modern Bash Shell on macOS</title><link>https://smallsharpsoftwaretools.com/tutorials/use_modern_bash_on_macos/</link><pubDate>Sun, 12 Jan 2020 17:31:26 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/use_modern_bash_on_macos/</guid><description>Upgrade to a modern version of Bash on macOS using Homebrew, add it to your allowed shells list, and set it as your default shell.</description></item><item><title>Throwing All Your Work Away in Git</title><link>https://smallsharpsoftwaretools.com/tutorials/git-trashit/</link><pubDate>Wed, 08 Jan 2020 12:41:13 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/git-trashit/</guid><description>Discard unwanted changes in your Git working directory using the checkout, reset, and clean subcommands to get back to a clean state.</description></item><item><title>How to Use macOS Notifications with Command-line Programs</title><link>https://smallsharpsoftwaretools.com/tutorials/macos-notifications/</link><pubDate>Wed, 08 Jan 2020 10:16:16 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/macos-notifications/</guid><description>Trigger macOS desktop notifications from the command line to alert you when long-running programs and scripts finish running.</description></item><item><title>Looking Up Domains</title><link>https://smallsharpsoftwaretools.com/videos/006-dns/</link><pubDate>Wed, 06 Feb 2019 13:56:22 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/videos/006-dns/</guid><description>Look up domain name records, IP addresses, and registration details from the command line using host, dig, and whois.</description></item><item><title>Fixing Mistakes</title><link>https://smallsharpsoftwaretools.com/videos/005-fixing-mistakes/</link><pubDate>Mon, 28 Jan 2019 09:56:09 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/videos/005-fixing-mistakes/</guid><description>Fix command-line typos and mistakes with keyboard shortcuts and history substitution so you can correct errors without retyping.</description></item><item><title>The Cal Command</title><link>https://smallsharpsoftwaretools.com/videos/004-the-cal-command/</link><pubDate>Sun, 27 Jan 2019 19:00:57 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/videos/004-the-cal-command/</guid><description>Display a calendar in your terminal with the cal command, view specific months or years, and highlight dates for quick reference.</description></item><item><title>Installing Homebrew</title><link>https://smallsharpsoftwaretools.com/tutorials/homebrew/</link><pubDate>Sat, 26 Jan 2019 18:20:54 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/homebrew/</guid><description>Install and configure the Homebrew package manager on macOS to add command-line tools, programming languages, and libraries.</description></item><item><title>Install GNU Utilities on macOS</title><link>https://smallsharpsoftwaretools.com/tutorials/gnu-mac/</link><pubDate>Sat, 26 Jan 2019 18:16:16 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/tutorials/gnu-mac/</guid><description>Replace default macOS utilities with GNU versions of awk, sed, date, and more using Homebrew for better Linux compatibility.</description></item><item><title>Dates with the Date Command</title><link>https://smallsharpsoftwaretools.com/videos/003-dates-and-date-math/</link><pubDate>Sat, 26 Jan 2019 14:33:15 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/videos/003-dates-and-date-math/</guid><description>Format dates, calculate future and past dates, and do date math from the terminal using the date command on macOS and Linux.</description></item><item><title>Making Directory Structures</title><link>https://smallsharpsoftwaretools.com/videos/002-making-dir-structures/</link><pubDate>Wed, 23 Jan 2019 13:31:29 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/videos/002-making-dir-structures/</guid><description>Use the mkdir command with the -p flag and brace expansion to build a full project directory structure in a single command.</description></item><item><title>About The Book</title><link>https://smallsharpsoftwaretools.com/about/</link><pubDate>Mon, 21 Jan 2019 20:35:47 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/about/</guid><description>Small Sharp Software Tools</description></item><item><title>Three Ways to Create Files</title><link>https://smallsharpsoftwaretools.com/videos/001-create-files/</link><pubDate>Mon, 21 Jan 2019 11:33:34 -0600</pubDate><guid>https://smallsharpsoftwaretools.com/videos/001-create-files/</guid><description>Create files from the command line using touch, redirection, and heredocs, and understand when to use each approach.</description></item></channel></rss>