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.

I took a couple weeks of vacation in December to explore South America with some friends. We visited Buenos Aires, Trelew, and IguazĂș Falls in Argentina and Rio de Janeiro, Brazil to experience the cities, see the epic waterfalls, and befriend a bunch of penguins.
187 photos

I attended Cloud Foundry Summit in The Netherlands, before taking a short road trip through Belgium to visit Antwerp, Ghent, and Brussels.
59 photos

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 have found implementing those workflows in a product to be difficult before using metalink repositories (see Motivations for more details).
4 minutes
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 supports retrying download from mirrors if one location fails.
3 minutes
A few photos from visiting a few, familiar Colorado towns over the Christmas holiday.
28 photos

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.
5 minutes
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.
4 minutes