41554 blogs · [ { "id": "01a08c57-860e-7376-b53b-57bdb041e8e9", "title": "Testing Google Cloud Alerting with Synthetic Log Injection", "url": "https://tonym.us/testing-google-cloud-alerting.html", "published_at": "2026-04-15T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb05561bd", "title": "Isolated & Sandboxed WSL Environments with Debian Slim", "url": "https://tonym.us/isolated-sandboxed-wsl-debian-slim.html", "published_at": "2026-04-06T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb0978e50", "title": "Lightweight Efficiency: Porting Alpine Linux RootFS to WSL2", "url": "https://tonym.us/porting-alpine-linux-rootfs-wsl2.html", "published_at": "2026-04-02T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb1951eae", "title": "Move GitHub Private Repos to Google Drive in Minutes", "url": "https://tonym.us/move-github-repos-to-google-drive.html", "published_at": "2026-03-30T11:45:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb24adbba", "title": "The \"Security Tax\": Reclaiming 30% Performance in WSL 2", "url": "https://tonym.us/wsl2-security-tax-reclaiming-performance.html", "published_at": "2026-03-24T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb312b280", "title": "Resizing an EFI Partition on Windows 11", "url": "https://tonym.us/resize-efi-partition-windows-11.html", "published_at": "2026-03-18T09:58:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb397a68d", "title": "AI-Powered Infrastructure Hardening: Using Gemini-CLI for GCP Security Auditing", "url": "https://tonym.us/gemini-cli-gcp-security-auditing.html", "published_at": "2026-03-15T14:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb3af8868", "title": "Migrating to a Monorepo from Microservices with Git Subtree", "url": "https://tonym.us/migrating-monorepo-microservices.html", "published_at": "2026-03-06T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb4a4e059", "title": "Managing Windows Dotfiles with a Git Bare Repo", "url": "https://tonym.us/windows-git-dotfiles.html", "published_at": "2026-02-26T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb4bec69f", "title": "Forking Go Modules (Or Any Lib) Using Subtree", "url": "https://tonym.us/fork-go-modules-using-subtree.html", "published_at": "2025-10-03T18:45:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb50cabba", "title": "POLP with GCP when migrating from AWS", "url": "https://tonym.us/polp-with-gcp-and-migrating-from-aws.html", "published_at": "2025-10-01T11:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb5c62cc8", "title": "Git Recombine Pattern for /etc config", "url": "https://tonym.us/git-recombine-pattern-for-etc.html", "published_at": "2024-11-12T00:36:02+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb6aac184", "title": "Why GCP is More Usable for Developers", "url": "https://tonym.us/why-gcp-is-more-usable-for-developers.html", "published_at": "2024-11-02T09:10:52+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb6c6a2af", "title": "Fighting GCP & Firebase Cloud Client CLI and SDK Bloat", "url": "https://tonym.us/fighting-gcp-firebase-cloud-client-cli-and-sdk-bloat.html", "published_at": "2024-10-18T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb71b9ed5", "title": "WSL2 Backup to OneDrive Cloud", "url": "https://tonym.us/wsl2-backup-to-onedrive-cloud.html", "published_at": "2024-01-31T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb71dacf5", "title": "IPV6 Migration Guide for Developers using AWS EC2 -- A Primer", "url": "https://tonym.us/ipv6-migration-guide-for-developers-using-aws-ec2-a-primer.html", "published_at": "2023-11-19T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb737b49a", "title": "BeeLink SER6 MAX Out-of-Box Bloatware / Spyware / Malware Review", "url": "https://tonym.us/beelink-ser6-max-out-of-box-bloatware-spyware-malware-review.html", "published_at": "2023-10-10T12:30:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb82da2ae", "title": "Improve WSL Security with Read-Only Filesystem", "url": "https://tonym.us/improve-wsl-security-with-read-only-filesystem.html", "published_at": "2023-10-04T12:30:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb8e8c821", "title": "Smokeping On Raspberry Pi Zero", "url": "https://tonym.us/smokeping-on-raspberry-pi-zero.html", "published_at": "2023-01-18T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdb96b0cc1", "title": "Testing Without Excuses", "url": "https://tonym.us/testing-without-excuses.html", "published_at": "2021-08-29T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdba39910f", "title": "Three Pillars", "url": "https://tonym.us/three-pillars.html", "published_at": "2021-07-14T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdbaa7e452", "title": "Signal Vs Noise", "url": "https://tonym.us/signal-vs-noise.html", "published_at": "2020-11-14T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdbb9ac716", "title": "A Timeless Directory Layout for All of your Projects", "url": "https://tonym.us/a-timeless-directory-layout-for-all-of-your-projects.html", "published_at": "2020-05-31T00:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdbbb9a8d8", "title": "Snooze to Save Money", "url": "https://tonym.us/snooze-to-save-money.html", "published_at": "2020-05-18T20:10:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdbc5b921c", "title": "Fully Remote Development with VS Code & Cloud9", "url": "https://tonym.us/fully-remote-development-with-vs-code-cloud9.html", "published_at": "2020-01-04T10:30:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdbc962679", "title": "Build 100kB Docker Images from Scratch", "url": "https://tonym.us/build-100kb-docker-images-from-scratch.html", "published_at": "2019-05-06T11:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdbd2d9f51", "title": "Publish Free Static Websites With Firebase, Hugo and Google Cloud Builder -- Part 2", "url": "https://tonym.us/publish-free-static-websites-with-firebase-hugo-and-google-cloud-builder-part-2.html", "published_at": "2019-04-30T19:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdbd8cf54a", "title": "Benchmarking Pihole : Pi Zero vs Pi 3b+", "url": "https://tonym.us/benchmarking-pihole-pi-zero-vs-pi-3b.html", "published_at": "2019-04-23T19:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdbd9f8f1b", "title": "PHP Dev Environment One-Liner", "url": "https://tonym.us/php-dev-environment-one-liner.html", "published_at": "2019-04-17T19:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdbe9adc76", "title": "Being Scientific with Gists : The Sharable Laboratory", "url": "https://tonym.us/being-scientific-with-gists-the-sharable-laboratory.html", "published_at": "2019-04-09T19:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdbf694250", "title": "Getting to Yes -- As Quickly as Possible", "url": "https://tonym.us/getting-to-yes-as-quickly-as-possible.html", "published_at": "2019-03-29T19:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdbfd96af0", "title": "GCP: Managing IAM Access Control Across Projects -- The Simpler Version", "url": "https://tonym.us/gcp-managing-iam-access-control-across-projects-the-simpler-version.html", "published_at": "2019-02-25T14:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc0b2d89f", "title": "Publish Free Static Websites With Firebase, Hugo and Google Cloud Builder -- Part 1", "url": "https://tonym.us/publish-free-static-websites-with-firebase-hugo-and-google-cloud-builder-part-1.html", "published_at": "2019-02-15T19:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc1a4dd37", "title": "Writing Custom Metrics to Stackdriver in Golang", "url": "https://tonym.us/writing-custom-metrics-to-stackdriver-in-golang.html", "published_at": "2019-02-13T10:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc296b4bf", "title": "Using AWS IOT To Arm Blink Cameras", "url": "https://tonym.us/using-aws-iot-to-arm-blink-cameras.html", "published_at": "2017-12-16T17:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc38dc8bb", "title": "Get Started with Bitcoin Using Docker", "url": "https://tonym.us/get-started-with-bitcoin-using-docker.html", "published_at": "2017-11-30T17:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc45ff7b3", "title": "Using Custom Docker Images on Bitbucket Build Pipeline", "url": "https://tonym.us/using-custom-docker-images-on-bitbucket-build-pipeline.html", "published_at": "2017-11-28T11:34:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc48cc092", "title": "Creating TGZ artifacts from Docker Images to Enable Service Migrations", "url": "https://tonym.us/creating-tgz-artifacts-from-docker-images-to-enable-service-migrations.html", "published_at": "2017-03-14T12:00:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc512bc33", "title": "App Script for Modifying Google Groups", "url": "https://tonym.us/app-script-for-modifying-google-groups.html", "published_at": "2016-02-23T10:34:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc5211ecb", "title": "Free SSL Certificates using ACM (AWS Certificate Manager)", "url": "https://tonym.us/free-ssl-certificates-using-acm-aws-certificate-manager.html", "published_at": "2016-02-16T20:16:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc5280203", "title": "Creating a Varnish Load Balancer for Opsworks", "url": "https://tonym.us/creating-a-varnish-load-balancer-for-opsworks.html", "published_at": "2016-01-15T13:16:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc5b44314", "title": "Using the AWS EC2 Container Registry with EC2 Container Service", "url": "https://tonym.us/using-the-aws-ec2-container-registry-with-ec2-container-service.html", "published_at": "2016-01-06T10:16:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc64680aa", "title": "Securing Your Network Using Auto-Updating Security Groups", "url": "https://tonym.us/securing-your-network-using-auto-updating-security-groups.html", "published_at": "2015-12-17T17:16:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc6523719", "title": "Delegating Admin Credentials using IAM Roles and Cloudwatch Alerts", "url": "https://tonym.us/delegating-admin-credentials-using-iam-roles-and-cloudwatch-alerts.html", "published_at": "2015-12-12T17:16:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc74f67ed", "title": "Using AWS Lambda for Web Video Transcoding", "url": "https://tonym.us/using-aws-lambda-for-web-video-transcoding.html", "published_at": "2015-09-03T17:16:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc792f9aa", "title": "Wordpress Cron on Opsworks", "url": "https://tonym.us/wordpress-cron-on-opsworks.html", "published_at": "2015-08-27T14:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc85994c0", "title": "HTTP Redirects with Cloudfront & S3", "url": "https://tonym.us/http-redirects-with-cloudfront-s3.html", "published_at": "2015-08-18T14:17:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc8fd7aba", "title": "Better Battery Statistics with Battery Historian", "url": "https://tonym.us/better-battery-statistics-with-battery-historian.html", "published_at": "2015-08-17T11:34:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdc98950e8", "title": "Debugging Android Performance & Battery Issues--Like a Developer", "url": "https://tonym.us/debugging-android-performance-battery-issues-like-a-developer.html", "published_at": "2015-08-15T11:16:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdca4adecd", "title": "Validating side-loaded APKs", "url": "https://tonym.us/validating-side-loaded-apks.html", "published_at": "2015-08-13T11:34:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdca96d045", "title": "Opsworks -- Quickly Listing Hosts on the Command Line", "url": "https://tonym.us/opsworks-quickly-listing-hosts-on-the-command-line.html", "published_at": "2015-08-11T10:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdcb6eb8ca", "title": "First Things First, on AWS", "url": "https://tonym.us/first-things-first-on-aws.html", "published_at": "2015-08-07T10:20:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdcc5b94fc", "title": "On Software Scaffolding", "url": "https://tonym.us/on-software-scaffolding.html", "published_at": "2015-07-09T22:28:00+00:00" }, { "id": "01a08c57-860e-7376-b53b-57bdcca69da1", "title": "Opsworks before-migrate.rb", "url": "https://tonym.us/opsworks-before-migraterb.html", "published_at": "2015-06-09T22:28:00+00:00" } ] posts Claim your blog
Back to tonym.us
Blog · corpus.blog/blogs/tonym.us/posts

tonym.us

tonym.us

2026

2025

2024

2023

2021

2020

2019

2017

2016

2015