How I fixed my UniFi Devices intermittently showing as offline
A technical guide on resolving UniFi network devices intermittently showing as offline due to a conflict between two controllers on the same network.
Jacob Tomlinson writes about Python, open-source development, GitHub Actions, automation, and best practices for software maintenance.
151 articles from this blog
A technical guide on resolving UniFi network devices intermittently showing as offline due to a conflict between two controllers on the same network.
Livestream notes on refactoring the kr8s Python library by replacing aiohttp with httpx to add trio support.
Introducing kr8s, a new Python Kubernetes client library designed for simplicity and familiarity, inspired by kubectl.
Argues that test code should prioritize readability and avoid excessive indirection, even at the cost of code duplication, to simplify debugging.
Tips for software engineers on giving effective, low-prep 'mini demos' to share work and build communication skills within teams.
A detailed case study on debugging a scaling issue in a large-scale Apache Beam and Dask workflow involving hundreds of GPU workers.
A guide on how to launch and access a Jupyter server directly within a Dask cluster running on Kubernetes, including configuration steps.
A guide to using precise terminology for Linux containers, distinguishing between generic concepts and Docker-specific tools to reduce confusion.
A technical guide on oversubscribing GPUs in Kubernetes using time slicing for development and light workloads, with setup instructions.
A technical guide on using a Kubernetes DaemonSet to pre-pull container images onto all cluster nodes, ensuring faster pod startup for demos.
A guide to setting up VSCode's debugger to step through custom Sphinx documentation extensions using sphinx-autobuild.
A developer's critical reflection on using Calendar Versioning (CalVer) in open-source Python projects, comparing it to Semantic Versioning (SemVer).
Explores Narrative Driven Development (NDD), a lightweight method for planning technical work by first defining how to communicate its value to users.
A guide to using RAPIDS to accelerate ETL and data processing workflows within a KubeFlow environment by leveraging GPUs.
Learn two methods to check NVIDIA driver and CUDA versions on Kubernetes nodes using node labels or running nvidia-smi in a pod.
Explains how to integrate Dask with Kubeflow to accelerate data preparation and ETL tasks in machine learning pipelines using distributed computing.
Argues against prematurely squashing/rebasing PRs before review, explaining how it hinders reviewers and suggests using 'Squash and merge' on merge instead.
A guide to automatically commenting on GitHub Pull Requests using GitHub Actions, covering authentication, security, and workflow setup.
A developer explains how to make lasting code contributions by focusing on tests and documentation, not just the code itself.
A guide to setting environment variables on Dask cluster workers to ensure remote tasks have access to necessary keys and configurations.