2026
-
Markdown Negotiation and Discovery
2026-09-12 · Best practices for content negotiation in the web of data.
-
Source Offsets of HTML DOM Nodes
2026-04-15 · A smuggler's guide for capturing line+column offsets in Go.
-
Learning the Hammered Dulcimer
2026-02-13 · Some notes after starting a new instrument.
-
EARL Reports Viewer
2026-01-27 · Browse reports and tests from the browser.
-
EARL Reports and Go Tests
2026-01-14 · An earltesting package for the W3C vocabulary.
2025
-
A Technical Coda about schema.org
2025-12-01 · Tools for investigating changes between releases.
-
Add schema.org JSON-LD to Hugo Templates
2025-10-24 · Implementing and testing structured data for this web site.
-
Intercept iOS Network Traffic with mitmproxy
2025-10-01 · Using a transparent proxy to decrypt and debug network traffic.
2024
2022
2021
2020
-
Minikube and Bridged Networking
2020-04-11 · Exposing a VirtualBox Kubernetes cluster to the local network.
-
Nested Taxonomies with Hugo
2020-03-09 · Finding ways to support content classified within hierarchies.
-
Converting between JSON and TSV
2020-02-13 · Using jq to convert between data file formats.
2019
2018
-
Metalink Repositories: Mirroring Third-Party Dependencies
2018-12-30 · Using metalink repositories to track upstream artifacts.
-
Metalink Repositories: Background and Motivation
2018-12-28 · Some "whys" of this alternative way to track artifacts.
-
New Concourse Resource for BOSH Releases
2018-12-23 · Automating tarball creation and publishing of new versions.
-
Watching Upstream Binaries with Concourse
2018-12-02 · Unifying how pipelines monitor third-party assets and versions.
-
Switching from Jekyll to Hugo
2018-11-23 · Fewer dependencies, better information architecture, something new.
2017
2016
-
Self-Upgrading Packages in BOSH Releases, Part 2
2016-10-21 · A strategy for upgrading and testing dependencies for self-sustaining packages.
-
Data Processing with Concourse
2016-10-19 · Scheduling data extracts, transforms, and loads through containers.
-
Composing Configurations with JQ
2016-04-26 · Alternative methods for manifests needing more than simple variable replacements.
-
Writing a PHP Client for the Ravelry API
2016-01-21 · Open sourcing a library to consume the knitting-oriented API.
-
Experimenting with BOSH Links and Consul
2016-01-11 · Integrating consul and links metadata for inter-deployment service dependencies.
2015
-
Tempore limites: BOSH Veneer
2015-11-12 · Experimenting with a browser frontend to working with BOSH.
-
Pruning Blobs from BOSH Releases
2015-08-06 · Avoiding unnecessary disk usage for old, unneeded package files.
-
Self-Upgrading Packages in BOSH Releases
2015-08-03 · A strategy for monitoring upstream dependencies for self-sustaining packages.
-
Using nginx to Reverse Proxy and Cache S3 Objects
2015-06-20 · Using S3 as an upstream server for improving long-tail traffic.
-
New BOSH Release for OpenVPN
2015-06-03 · Open sourcing a new BOSH release for managing an OpenVPN network.
-
Parsing Microdata in PHP
2015-05-01 · Open sourcing a library to easily traverse HTML for microdata.
-
Sending Work from a Web Application to Desktop Applications
2015-02-21 · Using queues and PHP to automate third-party applications running on staff workstations.
2014
-
Logging logging and Finding Bottlenecks
2014-11-14 · Monitoring logsearch with itself - the elasticsearch+logstash+kibana stack.
-
Colorado Aspens
2014-09-28 · A non-technical post with pictures of the changing Aspens in Colorado.
-
Simplifying My BOSH-related Workflows
2014-09-17 · Discussing some commands and wrappers I've been adding on top of BOSH.
-
Search by Color with Elasticsearch
2014-04-24 · Some mappings, strategies, and queries for advanced color searching with elasticsearch.
-
Photo Galleries for Jekyll
2014-04-08 · Easily exporting my iPhoto album to this Jekyll-based site.
-
Distributed Docker Containers
2014-02-28 · A strategy for integrating Docker services across multiple hosts and data centers.
-
Barcoding Inventory with QR Codes
2014-01-13 · A web-centric, user-friendly approach for using barcodes in a retail shop.
2013
-
The Basics of a Custom Search Engine
2013-06-01 · Combining elasticsearch and "structured data" to create a self-hosted search engine.
-
ti-debug: For Debugging Server Code in the Browser
2013-05-16 · Making it easier to debug languages like PHP and Python with only a browser.
-
Structured Data with schema.org
2013-05-13 · Ensuring content is useful to both humans and robots.
-
Embeddable and Context-Aware Web Pages
2013-05-07 · Embedding content in an absolutely relative manner.
-
New Website for The Loopy Ewe
2013-04-27 · A summary of the customer-facing changes I worked on for the site.
-
Bank Card Readers for Web Applications
2013-03-23 · Scanning credit cards into website forms.
-
Using HTML Headers with wkhtmltopdf
2013-03-15 · Experimenting with dynamic HTML headers for PDFs.
-
Comparing PHP Application Definitions
2013-03-07 · Identifying how classes/interfaces changed between versions.
-
Path-based tmpfile in PHP
2013-03-05 · When paths are more useful than resources.
-
A Generic Storage Interface
2013-03-01 · Abstracting file storage, whether it's local or cloud.
-
Using Facter in Ant Scripts
2013-02-19 · Reusing facts from build scripts.
-
Automating Backups to the Cloud
2013-02-08 · Combining gpg, Amazon S3 and IAM policies.
-
Scripting Endicia to Purchase Postage
2013-01-28 · Automating user interactions with AppleScript.
-
OpenGrok CLI
2013-01-21 · Making it easier to search code from the command line.
-
Terminating Gearman Workers in PHP
2013-01-14 · Locally and remotely stopping workers without interrupting jobs.
-
Secure Git Repositories
2013-01-07 · Seamless data encryption of repository files.