Skip to main content
  1. Categories/

DevOps

Dev Tunnels: Test Webhooks and Share Local Apps Without a Deploy

Update Tools & SDKs · Apr 4, 2026 · 3 min read
If you read the Cloudflare Tunnel post, you know the problem: localhost does not accept webhooks, OAuth providers reject http://localhost as a redirect URI, and showing a client a work-in-progress means a deploy. Cloudflare Tunnel solves it, but it wants a Cloudflare account and domain setup.
Dev Tunnels: Test Webhooks and Share Local Apps Without a Deploy

Elevating Code Quality with Custom GitHub Copilot Instructions

Deep Dive GitHub · May 24, 2025 · 14 min read
The first time I let Copilot loose on one of my Angular repos, it wrote a perfectly reasonable component for 2021: constructor injection, class properties for state, NgModule imports. We were on Angular 19 with signals and standalone components.
Elevating Code Quality with Custom GitHub Copilot Instructions

GitHub Codespaces: Streamlining Cloud-Based Development

Deep Dive GitHub · Oct 22, 2024 · 8 min read
My first serious Codespaces session was a demo I nearly cancelled. I wanted to show my mean-docker starter (Angular, Express, MongoDB, everything in Docker Compose) to someone whose laptop had none of that installed. No Node, no Docker Desktop, no MongoDB. Instead of walking them through an afternoon of setup, I clicked “Create codespace” on the repo and had the full stack running in a browser tab a few minutes later.
GitHub Codespaces: Streamlining Cloud-Based Development

Pushing Custom Images to Docker Hub Using GitHub Actions

Deep Dive Docker · Jul 22, 2023 · 4 min read
In the previous article I built a custom nginx image and pushed it to Docker Hub by hand: build, tag, login, push. That works exactly once. The second time you forget the tag, the third time a teammate pushes from a laptop with a stale base image, and soon nobody can say which commit produced the image running in production. The fix is boring and reliable: let GitHub Actions do the build and push on every commit to master.
Pushing Custom Images to Docker Hub Using GitHub Actions