Posts

Disaster Recovery

No backup. No restore button. Still recoverable.

How I recovered deleted Shopify blog content without backups by mining Google cache, scraping cached URLs, and using quick JavaScript, Go, and bash tooling to pull usable HTML back from the web.

#go #golang #javascript #bash #data recovery #tooling

A Brief Intermission

Step back long enough to make the work better.

A short reminder to step back from active work, revisit your code with fresh eyes, and let outside ideas, reflection, and rest improve the quality of what you build.

#development #architecture #health #meta-driven

Meta-Driven - Part 2

The prototype stops being a one-off and starts becoming a factory.

Part 2 turns the prototype into templates, adds a test-driven path for generating projects from specs, and starts shaping the code needed to stamp out repeatable service repos.

#go #golang #code generation #configuration #protobuf #tooling

Meta-Driven - Part 1

What if spinning up a CRUD service felt closer to filling out a form?

Part 1 introduces a meta-driven approach for generating CRUD services: define a model, generate protobufs and service contracts, and use Go tooling to automate the boring parts of building data APIs.

#go #golang #code generation #configuration #protobuf #tooling

Go + MongoDB

A first pass on the official driver, with the sharp edges included.

Early notes on moving from mgo to the official MongoDB Go driver, including what felt cleaner, where connection handling improved, and the reconnect and transaction limitations that stood out.

#go #golang #mongo #mongodb #tooling

Something New

The stack, hosting, and container glue behind the site.

An overview of the stack behind this site: Hugo for generation, Docker and docker-compose for deployment, nginx-proxy and Let's Encrypt for routing and TLS, and Linode/CoreOS for hosting.

#hugo #docker #configuration