Practical guides
Servers and homelab
Set up servers, connections and virtual machines, and keep an eye on how they are running.
Set up SSH key login on Ubuntu — Create an SSH key, connect to your server and check key login before turning off password access.
Set up a new Ubuntu server — Update the server, create an everyday account and configure SSH and the firewall, with checks along the way.
Install Docker on Ubuntu — Install Docker from its official repository and run a test container. Includes permissions, updates and removal.
Share a local web page with a temporary tunnel — Let someone view a page running on your computer using a temporary Cloudflare Tunnel. Includes access checks and closing the tunnel.
Run a service with Docker Compose — Keep a service’s configuration in one file, manage its data and check which network interfaces can reach it.
Monitor a home server — Set up a small monitoring dashboard and use it to check CPU, memory and disk activity.
Set up fail2ban on Ubuntu 24.04 — Use the system journal to detect repeated failed SSH logins. Test a temporary ban and check how to remove it.
Connect your devices with Tailscale — Set up a private connection between two devices, check access and remove a device when you no longer need it.
Give a home service its own web address — Connect a domain to a named Cloudflare Tunnel and route requests with Caddy. Includes access controls and troubleshooting.
Create an Ubuntu virtual machine with KVM — Build a practice VM, connect to it and check that its networking and storage work.
Create virtual machines from the terminal — Use virt-install and cloud-init to create an Ubuntu VM without a desktop. Includes snapshots and cleanup.
Local AI models
Run speech and language models on hardware you control, with setup notes and practical limits.
Run a local AI model with Ollama — Try a small language model on a computer without a dedicated graphics card. Covers installation, memory use and a first conversation.
Use Open WebUI with Ollama — Add a browser chat interface to a local model. Covers accounts, storage and limiting access to your own machine.
Building a local voice assistant — Connecting speech recognition, a language model and a voice, and testing where the delays come from.
Connect desktop dictation to your own server — Use OpenWhispr with a self-hosted transcription endpoint and check the connection one part at a time.
Share a GPU between local models — Understand which processes hold graphics memory and make room before loading another model.
Run Whisper on an NVIDIA GPU — Compare transcription times and investigate a CUDA compatibility error encountered during the setup.
Run your own dictation server — Set up speech-to-text on your own machine, send a short recording and check the result.
Backups and recovery
Make copies you can recover, check a restore, and understand where snapshots fit.
Back up and restore files with restic — Create an encrypted backup, restore it to another folder and compare the files. Start with a small practice dataset.
Schedule restic backups with systemd — Run backups on a schedule, keep a manageable history and check the logs when a run fails.
Keep an off-site backup and test the restore — Copy a restic repository to another location and restore from that copy. Includes checks for missing or damaged data.
Take snapshots and clone a virtual machine — Learn what snapshots preserve and what a clone needs to change, including its name, network identity and SSH keys.
Back up and restore a PostgreSQL database — Take a database backup, restore it separately and check its contents before you rely on the process.
How this site’s backups are checked — What needs backing up, why restoring matters and how to keep recovery separate from the running site.
Work and adjustments
Reading, writing, career decisions and changes that can make work easier.
Write a first draft by dictation — A simple way to try voice input for tickets, emails and notes, with a separate pass for names and technical details.
A runbook template for technical tasks — Put the first action, expected result and recovery steps where they are easy to find.
Use text-to-speech for work reading — Try listening to documents or drafts and adjust the voice, pace and amount of text to suit you.
Workplace adjustments you could discuss — Examples of changes to communication, workspace and planning. Choose what addresses a barrier you are experiencing.
Talking about neurodivergence at work — Think through what you want to share, what support you need and how to start the conversation.
Questions to ask a prospective employer — Find out how a team handles instructions, interruptions, feedback and adjustments before deciding whether the role fits.
Use job-market data to explore a specialism — Read a dated snapshot of UK infrastructure adverts alongside the day-to-day demands of the work.
Getting settled into an operations role — Suggestions for learning the systems, understanding expectations and asking for support in your first few months.
Request adjustments for a certification exam — Find the provider’s process, ask what evidence is needed and confirm the arrangements before booking.
How this site is built
Build notes from this site and related home-lab projects, including the investment research experiment.
Preparing this site for launch — The checks behind opening a small community site: access, backups, reporting and recovery.
What a domain name does — How a name leads to a website, what registration covers and which parts you still need to run.
How this site reaches the public internet — A look at the Cloudflare Tunnel setup and the responsibilities that remain when a service becomes public.
Building a local investment research project — How data, model-generated research and simulated trades fit together, and what the experiment has yet to establish.
How this site runs from a home server — The application, storage, deployment and testing behind NeuroDynamic.Tech.