Posts
To document some thoughts and learnings. Often technical.
2024
- TIFF: IFD and SubIFD A technical investigation about some internals of TIFF files.
- IIIF Image Requests with Go Parsing and validating parameters for upstream routing.
2022
- Synology NAS and Custom Certificate Authorities Automating certificate management for private directories with acme.sh.
- New Hubitat CLI for Backups and Certificates Converting shell scripts and curl to make local management easier.
2021
2020
- Minikube and Bridged Networking Exposing a VirtualBox Kubernetes cluster to the local network.
- Nested Taxonomies with Hugo Finding ways to support content classified within hierarchies.
- Converting between JSON and TSV Using jq to convert between data file formats.
2019
2018
- Metalink Repositories: Mirroring Third-Party Dependencies Using metalink repositories to track upstream artifacts.
- Metalink Repositories: Background and Motivation Some "whys" of this alternative way to track artifacts.
- New Concourse Resource for BOSH Releases Automating tarball creation and publishing of new versions.
- Watching Upstream Binaries with Concourse Unifying how pipelines monitor third-party assets and versions.
- Switching from Jekyll to Hugo Fewer dependencies, better information architecture, something new.
2017
2016
- Self-Upgrading Packages in BOSH Releases, Part 2 A strategy for upgrading and testing dependencies for self-sustaining packages.
- Data Processing with Concourse Scheduling data extracts, transforms, and loads through containers.
- Composing Configurations with JQ Alternative methods for manifests needing more than simple variable replacements.
- Writing a PHP Client for the Ravelry API Open sourcing a library to consume the knitting-oriented API.
- Experimenting with BOSH Links and Consul Integrating consul and links metadata for inter-deployment service dependencies.
2015
- Tempore limites: BOSH Veneer Experimenting with a browser frontend to working with BOSH.
- Pruning Blobs from BOSH Releases Avoiding unnecessary disk usage for old, unneeded package files.
- Self-Upgrading Packages in BOSH Releases A strategy for monitoring upstream dependencies for self-sustaining packages.
- Using nginx to Reverse Proxy and Cache S3 Objects Using S3 as an upstream server for improving long-tail traffic.
- New BOSH Release for OpenVPN Open sourcing a new BOSH release for managing an OpenVPN network.
- Parsing Microdata in PHP Open sourcing a library to easily traverse HTML for microdata.
- Sending Work from a Web Application to Desktop Applications Using queues and PHP to automate third-party applications running on staff workstations.
2014
- Logging logging and Finding Bottlenecks Monitoring logsearch with itself - the elasticsearch+logstash+kibana stack.
- Colorado Aspens A non-technical post with pictures of the changing Aspens in Colorado.
- Simplifying My BOSH-related Workflows Discussing some commands and wrappers I've been adding on top of BOSH.
- Search by Color with Elasticsearch Some mappings, strategies, and queries for advanced color searching with elasticsearch.
- Photo Galleries for Jekyll Easily exporting my iPhoto album to this Jekyll-based site.
- Distributed Docker Containers A strategy for integrating Docker services across multiple hosts and data centers.
- Barcoding Inventory with QR Codes A web-centric, user-friendly approach for using barcodes in a retail shop.
2013
- The Basics of a Custom Search Engine Combining elasticsearch and "structured data" to create a self-hosted search engine.
- ti-debug: For Debugging Server Code in the Browser Making it easier to debug languages like PHP and Python with only a browser.
- Structured Data with schema.org Ensuring content is useful to both humans and robots.
- Embeddable and Context-Aware Web Pages Embedding content in an absolutely relative manner.
- New Website for The Loopy Ewe A summary of the customer-facing changes I worked on for the site.
- Bank Card Readers for Web Applications Scanning credit cards into website forms.
- Using HTML Headers with wkhtmltopdf Experimenting with dynamic HTML headers for PDFs.
- Comparing PHP Application Definitions Identifying how classes/interfaces changed between versions.
- Path-based tmpfile in PHP When paths are more useful than resources.
- A Generic Storage Interface Abstracting file storage, whether it's local or cloud.
- Using Facter in Ant Scripts Reusing facts from build scripts.
- Automating Backups to the Cloud Combining gpg, Amazon S3 and IAM policies.
- Scripting Endicia to Purchase Postage Automating user interactions with AppleScript.
- OpenGrok CLI Making it easier to search code from the command line.
- Terminating Gearman Workers in PHP Locally and remotely stopping workers without interrupting jobs.
- Secure Git Repositories Seamless data encryption of repository files.