GitHunt
DU

duanegoodner/systems-workshop

A collection of systems programming projects: from assembly I/O and shell implementation to ACL management and BTRFS backup automation

๐Ÿ› ๏ธ systems-workshop

This repo gathers smaller-scale tools and demos related to systems programming and infrastructure. Topics include low-level I/O, process and signal management, access control, backup automation, and environment tooling.

All included projects are tracked as Git submodules and live inside the projects/ directory. This allows each tool to remain independently versioned while making them easy to explore as a group. See below for cloning instructions if you're unfamiliar with Git submodules.


๐Ÿ“ฆ Included Projects

Submodule Description
assembly-io MASM-based 32-bit Windows program for low-level integer I/O and mean calculation. Demonstrates the verbosity and intricacy of even basic tasks in Assembly.
smallsh A lightweight Linux shell written in C. Supports job control, I/O redirection, and foreground/background process management.
pygetfacl Python wrapper for the Linux getfacl command. Converts ACL information into structured Python objects for programmatic access.
btrfs-restic Backup tool that snapshots BTRFS subvolumes and sends them to a remote Restic repository. Emphasizes snapshot-based consistency and simple, secure remote storage.
convertpytoml Command-line utility to convert pyproject.toml files between pip-style and Poetry-style formats. Helps smooth workflow transitions between packaging tools.

๐Ÿ”„ Cloning the Full Workspace

This repository uses Git submodules. To clone it with all nested projects included:

git clone --recurse-submodules https://github.com/duanegoodner/systems-workshop.git

If youโ€™ve already cloned the repo and need to initialize the submodules afterward:

git submodule update --init --recursive

๐Ÿงฉ Contributing

This is a personal collection of exploratory systems tools and demos. Feel free to fork, explore, and adapt individual components to your needs. If you have ideas for new additions or enhancements, open an issue or PR in the relevant submodule.

โš–๏ธ License

Each submodule includes its own license file, which governs usage of that component. Please consult individual repos for terms.

Languages

Python34.9%C33.0%Assembly16.4%Shell14.4%Makefile0.8%Dockerfile0.6%

Contributors

Created June 6, 2025
Updated January 12, 2026