Static CMS CI with CircleCI and AWS S3

I don’t have a whole lot to write about here, except that this post walks you through the process and it is amazing. This post is also acting as a test. Woot.

My personal privacy posture

Updated: October 11, 2018 This is a privacy post about my efforts to regain control of my digital privacy. I won’t answer why, you can derive that from my opening statement, but I will reference a mountain of documentation on steps you can take to enhance your digital privacy. More than anything the work outlined in all this highlights my attempt to limit the data I share with companies like: Google, Facebook, Amazon, Verizon, ATT, etc… all while remaining minimally engaged with their services.
Read more

Reusing threads and objects via ThreadLocal

Threads in Java are expensive – they require allocation of large blocks of memory, are tracked via descriptors which have to be created and maintained by the JVM, and require numerous system calls to register the thread with the underlying operating system. Thread pool executors help solve this problem by enabling developers to create and maintain thread pools which re-use threads as the executor responds to queued work. This thread re-use enables quicker turn around on submitted jobs to the executor without resource overuse by the system.
Read more

Achieving GCP scheduled disk snapshots with Terraform

Google announced scheduled disk snapshots at Google Cloud NEXT this year. The support allows admins/operators to create schedules and bind disks to the schedules. Backed by some sort of quartz/timer trigger, the schedules initiate snapshots of disks and maintain copies for a configurable period of time. The details for these alpha features can be difficult to dig up on the web, but are pretty easy to uncover via gclouds alpha and beta components.
Read more

A concurrent, Groovy thread ripper

This was a fun bit; using Apache Tika to detect MIME types of files on your machine with little code and effort. The script takes a location, the root location from which to recurse, and generates a set of absolute paths to scrutinize. It then establishes a latch equal to the size of the set to block reporting until the analysis is complete. The script then iterates through the absolute paths, submitting jobs to the executor for processing, which each hold a reference to a thread safe map and counter object use for tallying.
Read more

Face identification with AWS Rekognition

Cloud AI/ML as a Service (AI/MLaaS) has been all the rage the last few years as we’ve seen major advancements and areas of expertise develop around services offered by Google, Amazon, and Microsoft. This commoditization of AI/ML-centric services has allowed businesses and integrators to take advantage of these services with very little investment. They allow users to: classify images extract subject(s) and topic(s) from bodies of text translate speech to text while identifying multiple parties track people in videos …and more with just an account, credit card, basic know how and the will to do so.
Read more

Reading and writing compressed disk images with dd in MacOS

I’ve been prepping server images for my offline journey running the lights on the fabulous gay sheep at Burning Man 2018. Doing so requires yearly updates, enhancements, new server builds and copies of old ones just in case the shit hits the fan without access to the outside world. This year I decided to write scripts to make things easier, efficiently store image data, and quickly read/write it within MacOS.
Read more

GCP Stackdriver Topology

Google announced many things at Google Cloud NEXT 18 this year; one newly accounted tool I found particularly intriguing was Stackdriver Toplogy. Stackdriver Topology generates graphs showing traffic between resources based on the resources within a project and no additional configuration. Its particularly useful in diagnostic and infrastructure verification exercises. Take the following image that shows 3 business regions, a global load balancer (middle), and compute regions. The interactive map allows a user to select a particular business region (in this case APAC) and verify that the traffic routing from that region routes to the closest compute region.
Read more

Synesthesia-powered visualizations with looping video via Processing

For the last few months I’ve been on a quest to find pseudo algorithmic visualization software with support for realtime reaction to audio signals and various levels of video support. Most of my interest in this is personal or artistic, for use at private gatherings with friends and what not. That said, after spending a few late evenings searching using various keyword combinations, I began to take note of a few VJ software packages.
Read more

BAAAHS Light Programming Introduction

We’re less than 4 weeks out to gate open at Burning Man and tons of folks in the BAAAHS community have asked how they can write shows for the sheep. This will be a whirlwind walk through of the lights infrastructure and software architecture. First off, I highly recommend reading overview I gave last of year of how the hardware is setup and how everything fits together. This is inteded to be a fairly technical, hands on walk through, and does require some basic knowledge of programming.
Read more