Hello

My name is Danny Berger.

Technology intrigues me. Pretty much any sort, but I enjoy web-oriented tech the most. I like innovating, technical challenges, and learning new concepts. This is a place to remember some of those experiences. Maybe you’ll find something interesting.

Latest posts…

Metalink Repositories: Stability Channels on January 23, 2019
Continuing on the topic of metalink repositories, one of the biggest advantages I have found is that I no longer need to worry about complicated rules for when products should be published and what downstream components might be affected. Instead, I can focus on defining what “alpha” vs “rc” vs “stable” mean, and then downstream components consume however it’s appropriate for them. That may sound trivial and obvious. However, I found implementing those workflows in a product to be difficult before using metalink repositories (see Motivations for more details).

Metalink Repositories: Mirroring Third-Party Dependencies on December 30, 2018
When managing project dependencies which are outside of your control, it is often best practice to assume those artifacts may disappear (e.g. they may move, disappear, or become corrupt). For this reason, you may want to be mirroring your assets which, with metalink repositories, provides the functionality of: Multiple URLs can be configured for where to find an artifact. This allows for documenting where files were originally discovered, but also retrying download from mirrors if one location fails.

Metalink Repositories: Background and Motivation on December 28, 2018
A while ago I started standardizing on using metalinks to record information about blobs. In my original post about metalinks, I briefly touched on the idea of querying directories of metalinks, treating it as a lightweight database. This post starts a short series discussing what shortcomings motivated my interest in something like “metalink repositories” and how I have been building on the concept in several ways.

New Concourse Resource for BOSH Releases on December 23, 2018
As a “continuous thing-doer” Concourse is great for documenting workflows and making sure they run. One of the workflows I frequently automate is consuming and publishing BOSH releases. Existing resources had some shortcomings for my needs, so I created the bosh-release resource to support those workflows. This post discusses more of the background and decisions that went into the resource.