Notes on software, tools & projects
Things I build, and what I learned.
Programming notes, project writeups and small technical guides, written while building real things.
How to Cheaply Host Your Full-Stack Side-Project: Serving it From Home
Hosting a full-stack side project from a home server with Docker, dynamic DNS, port forwarding, and practical tradeoffs.
2023
2021
Managing Environments with Conda and pip
Managing Python environments with conda and pip, including channels, package exports, and reproducible setup files.
PythonTurning a Website into an API
Building a FastAPI service that scrapes GitHub Trending data and exposes it as a developer-friendly API.
PythonPublishing at Anaconda and Automating the Process - 9/9
Publishing a Python package to Anaconda and automating conda package builds and uploads.
PythonReleasing a Python App at Github/PyPI and Automate it - 8/9
Releasing a Python app on GitHub and PyPI, then automating the release process with GitHub Actions.
PythonDocumentation - 7/9
Documenting Python projects with readable code, docstrings, useful comments, commit history, READMEs, and Sphinx.
PythonTesting and CI - 6/9
Testing a Python app with pytest and tox, then automating checks with GitHub Actions.
PythonDistribution via Setup File - 5/9
Packaging a Python app with setup.py so it can be installed and distributed more reliably.
ScriptingDistribution via Installation Script - 4/9
Distributing a Python command-line app with a Bash installation script and learning its tradeoffs.
PythonArgparse Module - 3/9
Using Python's argparse module to build a cleaner command-line interface with generated help output.
PythonSys Module - 2/9
Using Python's sys module to read command-line arguments and turn a script into a tiny CLI app.
PythonThe Evolution of a Script - 1/9
Building a tiny Python HTTP client from a simple script and learning how scripts evolve into tools.