About this weblog

Edward Vielmetti has been writing the Vacuum weblog since 1999 from Ann Arbor, Michigan. The topics vary widely, with over 2000 entries in the whole collection. As much as possible, the first page has the current focus, but if you dig deep enough you’ll find lots of things that were interesting once and may be interesting again. The current set of systems that are an area of focus - and the places I draw from for inspiration on each - are as follows. »

Edward Vielmetti

Do next?

When I first used computer systems, there were a lot more user interfaces that felt like adventure games. You’d be presented with a prompt, and the rest of the user interface would be largely concealed. It would be up to you to deduce a proper function of the system by trying all of the plausible responses to the prompt - including “help” or “?”, which might work but you would never really know. »

Edward Vielmetti

Color coded words

When you bought your textbooks, did you evaluate them on how well color-coded the highlighting was in the used copies? If someone before you had turned the page into an angry fruit salad, the value of the text diminished. If instead they were careful and methodical and deft with the use of their marker, the text would be that much easier to read. I’m experimenting with color-coding here, in particular in three ways. »

Edward Vielmetti

Systems for systems people

I have a system and a method for writing. It involves assigning a word count, picking a key word that needs to be repeated, and setting a deadline. When executed faithfully, this system is fool-resistant. I hesitate to say foolproof “because fools are so ingenious”. A systematic approach to writing seems like a cheat, the result of some pay-by-the-word grind from a particularly merciless body shop. Where is the spontaneity, the vigor, the inspiration when it comes to producing prose? »

Edward Vielmetti

Inbox juggling, the Github system

My method for keeping an inbox in check enough that it periodically hits a zero point relies heavily on having a second system in which to store bits of work in progress. In my case this is a private Github issue store which has now over 6900 issues in it, about 6800 of which have been closed. There’s not magic to this approach, other than relentless use of Github’s flexible issues management tool. »

Edward Vielmetti

Mad libs biography

Some insprirations: Alexandra Franzen, Need to write a bio? Use this. Molly Gordon, How to write an artist’s statement. DJ Bio, Resident Advisor. Tinder Bio Mad Libs, GQ. How to write a thank you note, Leslie Harpold, The Morning News. »

Edward Vielmetti

Upgrade to Hugo 0.20

I’ve upgraded this weblog to Hugo 0.20, which is available by Homebrew on the Mac and with a series of prebuilt binaries for many systems. Hugo in this 0.20 new release promises a lot of new features, including but not limited to support for rendering calendars. I’ll give it a try. One of my goals of Hugo is getting it to run on linux/arm64. It should be easy, since it’s written in Go, and golang ports are absurdly easy. »

Edward Vielmetti

Learning Terraform

Terraform is a provisioning tool from Hashicorp. It manages the process of setting up and tearing down and updating your computing infrastructure. Commands necessary to set up your machines are stored in files, with just enough language features in that configuration description language to accomplish simple automation efforts and to keep secrets out of common config files. Terraform lives in the same computational universe as other packages like Vagrant, Puppet, Chef, Ansible, and Salt. »

Edward Vielmetti

Everything depends on the latest version of everything else

This seems to be the state of the software development world, where you really only have two states of affairs: State one is really old, stable, standardized, “legacy” code, well documented, portable, runs everywhere, easy to port to new systems and architectures. The “curl” library is probably the archetype of this, written in C. State two is really new, unstable, exciting, “modern” code, always changing, designed largely for a 64-bit Intel architecture, and unpredictably hard or easy to port to new systems and architectures. »

Edward Vielmetti

Oblique strategies as a service

In 1975, Brian Eno and Peter Schmidt collaborated on a card deck of strategies for overcoming creative blocks. This was produced in limited and somewhat varying editions, and when it escaped into the computing world at slightly later date, various electronic versions were produced (including one in FORTRAN). Prentiss Riddle noted some of this history in 2004. The ‘oblique’ code is simple; a file with strategies, one per line, and a function to return a random line from that file. »

Edward Vielmetti

Templated issue reporting in Github

A well-managed software project will inevitably have issues come up that need discussion and resolution. These might be out-and-out bugs, but more often than not they are also difficulties that people have getting started running something complex, or issues that arise when building for an environment that is not the same as what the developers have experienced. The best projects I’ve seen have used the ability for Github to provide a template for the issue report. »

Edward Vielmetti

DTE power outage is worst in company history due to high winds

High winds hit southeastern Michigan on Wednesday, March 8 2017. As a result, many DTE customers lost power. Exact numbers are hard to come by, but DTE’s estimate is that about 800,000 customers were affected, making this the worst storm in company history. Even before the peak of the storm, the DTE infrastructure for notifying customers of outage status and gathering incident information from its customers failed. DTE’s web site was down for the better part of Wednesdsay, and when it came back up it only had the bare minimum of information, with no outage restoration times available and no public-facing map detail of outages. »

Edward Vielmetti

February 28, 2017 AWS S3 downtime

Amazon Web Services had downtime yesterday. Their S3 storage service had what was described as elevated error rates in the US-East zone, and as a result failures started in other AWS services in US-East that depended on S3. The failures were reminiscent of the DynamoDB downtime of September 20, 2015, in that seemingly unrelated services share a common failure mode because of unforeseen interdependencies. A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable. »

Edward Vielmetti


To “dogfood” comes from the phrase “to eat your own dogfood”, giving the sense that you are not only producing a product but also consuming it as well. This is intended to show that you care so much about your customers success in using that product that you are willing to use it the way they are intended to use it. “Dogfooding” is thus shorthand for actually depending on something that you make yourself for sale. »

Edward Vielmetti

What is it that you do?

The question “What is it that you do” is a peculiarly Midwestern one, which admits most easily as an answer “I work in the mines” or “I work at Fords”. Much more interesting is the expected response to the California version of the query, which lets you talk about the places that you used to work so that you can put together a story that matches not only what you’re doing now but also selective bits and pieces of a work history to back it up. »

Edward Vielmetti

Every day

Once upon a time I had a daily deadline to write 500 words. Anything was fair game as long as it was spelled correctly and included the two words “Ann Arbor” prominently in the lead paragraph. Those days are gone, but the memory of them reminds me of just how much hard work it is to have something new to say every day that’s worthy of publication. There’s a certain rhythm to writing every day. »

Edward Vielmetti

Abandoning analytics

I’ve stopped for the most part watching and caring about how many people view the various bits of writing I do. The analytical tools out there for measuring the net have their primary impetus the selling of advertising, and as such they have slowly but surely morphed to be less and less useful for the discovery of non-commerical intent. It used to be that Google Analytics would tell you the exact search terms that someone used to get to your page. »

Edward Vielmetti

That new system smell

That new system smell is what you smell when there’s a brand new blank page and you have a ready approach to fill it up. It’s the well-worked out technique just waiting for some new set of tasks to tackle. Some times new systems present as “greenfield” opportunities, with brand-new things to do that don’t require much in the way of adherence to what’s gone on in the past. Others show up as “brownfields”, with their fair share of underground surprises and an acrid or pungent smell of previous toxins or old tailings. »

Edward Vielmetti

Small wins

I am reminded again of Karl Weick’s work on “small wins”, the observation that large problems are so large that we are overwhelmed just in thinking about them. It can be incredibly powerful to have a series of small wins that provide some momentum and that set you up for increasing confidence and capability to tackle bigger issues. My small win of the moment is getting this blog post up, reminding myself that once upon a time I met a writing deadline every day for publication, and knowing that it’s not necessary for every single post to be a big thing. »

Edward Vielmetti

ISO 8601 date format and keeping track of weeks

Warning: objects in calendar are closer than they appear. I can never keep track of the day of the month, it seems. The watch on my wrist has a day marker, but it wants to have a 31 day month, and when we have 30 or 28 day months the day has to be manually adjusted. On the other hand, I have a keen sense for what day of the week it is. »

Edward Vielmetti

Happy leap second (or mostly happy) and happy new year for 2017

Happy new year, and from a technology perspective, also happy leap second. [image: timekeeping for the leap second, from FSM Labs] Here's a complete picture of #leapsecond 2016. pic.twitter.com/DFp6XgnPig — FSMLabs (@FSMLabs) January 1, 2017 As always, when there’s a leap second, people get a chance to debug their timekeeping code. I guess if they happen frequently enough the code will get better exercise and some bugs will be shaken out. »

Watching containers with Portainer and Sysdig

[screen capture: csysdig running inside Portainer] Run @sysdig CLI tool "csysdig" inside of a @portainerio console window. Nice way to watch @docker and @coreos cc @mckartha pic.twitter.com/hJGiHuJwKs — Edward Vielmetti (@vielmetti) December 29, 2016 The question to be answered is how to manage Docker containers - not just how to get them running, but also how to poke inside them while they are running to see what they are doing and make sure that you can make sense of what is happening while you develop or run in production. »

Trip report, Tectonic 2016.

The Tectonic Summit was a conference in New York City in December 2016, hosted by CoreOS, with the theme Enterprise Kubernetes. Mohan Kartha and Edward Vielmetti went there as a guest of Packet, a bare-metal hosting provider in the city. This report details highlights of the presentations at the event as well as accounts from attendees of what they thought was missing from the presentation and discussions. Kubernetes Kubernetes is an orchestration system that runs on top of a container system like Docker. »

Optimal Opera

I’m testing out using Opera instead of Chrome as my browser of choice, as recommended by Ernie Smith. So far so good. He notes that Opera is “basically Chrome (same engine) minus the battery drain”. My experience to date bears that out, though it’s in the early stages yet. The first thing I noticed is that memory usage for Opera is way less than for Chrome. That’s a big deal for me because I’m often noticing that this MacBook Air is in the red zone for memory with Chrome. »

Derp Learning

“Derp Learning” is a categorization of the mistakes that “deep learning” techniques in artificial intelligence tend to make. It’s a typo, but also a deep insight into how complex systems fail. Some examples to illustrate: Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images, 2014. Nguyen describes “fooling images” that deep neural networks misclassify after being trained with a training set. These images are straightforward to construct and will fool the network with high confidence. »