08 /
How to create and publish a TypeScript library with ease
What typescript-library-template gives you: AVA with NYC coverage, Typedoc, Prettier, typescript-eslint, and Husky pre-commit hooks, ready to publish.
Blog
Notes on things Amel set up and ran himself: the commands, the configuration, and what actually came back, in the order it happened. The titles say what each one covers.
They are MDX files in the same repository as this website, so they are built with it rather than fetched from somebody else’s API at request time — which is why the oldest one still renders. Each carries the date it was published and its position in the archive, oldest at 01. Nothing here is dressed up as newer than it is.
08 /
What typescript-library-template gives you: AVA with NYC coverage, Typedoc, Prettier, typescript-eslint, and Husky pre-commit hooks, ready to publish.
07 /
Geoguessr's /api/v3/games response carries the round's coordinates. A Fiddler Classic OnBeforeResponse script reads them and opens Google Maps there.
06 /
Bind mounts against named volumes for MS SQL Server, PostgreSQL, MySQL, MariaDB and MongoDB containers, with the docker run flags and a Compose file.
05 /
Build and debug a .NET 6 Web API in Docker: docker-compose.debug.yml, the VS Code Docker .NET Core Attach configuration, and reloading changes.
04 /
Deploy a .NET 6 app to a Linux VPS or Raspberry Pi: the .NET 6 SDK on ARM64, a self-hosted GitHub Actions runner, and a systemd user service.
03 /
Set up a WireGuard VPN on a Raspberry Pi with PiVPN: port 51820 forwarded over UDP, Pi-hole as the VPN DNS, and client configs from a QR code.
02 /
Point a free No-IP hostname at a home connection whose ISP rotates the IP, then update pivpnHOST and the Endpoint line in every WireGuard client.
01 /
Install Pi-hole on a Raspberry Pi running Ubuntu Server 20.04 LTS: imaging the microSD card, a static IP, router DNS, and adding blocklists.