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. In the interest of simplifying the presentation, some parts of this collection are currently offline, and the front page has some mix of meditation and detail. 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

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

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. »

Static vulnerability analysis tools for Docker containers

You’re developing in Docker, and you have a container with a lot of layers when you’re done. How do you make sure that you don’t have security vulnerabilities hiding somewhere inside there, especially if you are running a container that depends on something that depends on something that depends on something else? The first step is to understand your own application, so that you can have some sense for how the dependencies that you have control over are impacted. »

Using SDR.HU to listen to AM radio sports

The Cubs won the pennant, and the Buckeyes lost to Penn State. I was able to listen to the radio calls of both of these through recievers connected to sdr.hu. The Cubs radio call was from WMVP-AM, ESPN Chicago 1000. I had some practice listening to them through the Farmington Hills, MI SDR run by KB8SPI. That system is a KiwiSDR with a PA0RDT Mini-Whip, and it tunes from 0-30 Mhz including all of the longwave (broadcast AM) band. »

More 96 core benchmarks

Yesterday I spent some time with a 96 core ARMv8 server. On day two I figured out a couple more things about that server. First and foremost, the extended path of installing Docker on the server I chronicled yesterday ended up being much easier today. A simple apt-get install docker.io did the right thing to bring Docker 1.12.1 into the system. Don’t do apt-get install docker on Ubuntu; you’ll get “docker - System tray for KDE3/GNOME2 docklet applications” instead. »

96 cores hot with ARMv8 and Docker

I had early access to a 96 core, 128 gigabyte ARMv8 server today. Here’s what I did to get all of the CPUs and all of the memory in use at the same time. The system: a bare-metal hosting company is working on general availability of these ARMv8 (aarch64) servers. I got early access for beta testing. Talk to me if you’d like to know more. The software: These systems boot with Ubuntu 16. »

AWS Lambda for Python with "Chalice"

Chalice is a microframework for Python for AWS Lambda, similar in spirit to Flask. What does that even mean? A framework is a set of libraries and coding conventions that makes development in a specific language for a specific task easier. That usually involves making some simplifying assumptions about the task you are trying to solve, and embedding those assumptions in your code so that you don’t have to spell out quite as much detail to get a task done. »

AWS IoT to Node-RED

Duong Dinh Cuong (on Github as cuongquay) has contributed a node for Node-RED that encapsulates the AWS IoT service and allows straightforward communication between the two systems over MQTT. The node, node-red-contrib-aws-iot-hub, includes support for the message-passing part of AWS IoT using MQTT, allowing you to open a channel to the IoT service and publish or subscribe to message topics. The result is easy integration between the two systems. As a part of this process, the node includes support for AWS certificates that have to be installed “just so” to allow AWS to trust Node-RED. »

Narrowband IoT (NB-IoT) as a low power cellular data protocol on the u-blox SARA-N2

In the process of looking at embedded radio components, I came across the u-blox SARA-N2, a low power device designed to provide low bandwidth cellular data coverage for Internet of Things devices - “low power consumption and extended coverage” being the operative buzzwords. Speeds are 227 Kbps down and 21 Kbps up, and it’s claimed to be “low power” though no specific power consumption figures are provided. It’s built on NB-IoT standards that are standardized in June 2016 by the 3GPP project and which are codified in their Release 13. »

sdr.hu and the emergence of lots of small wideband SDR receivers

sdr.hu is the home base for OpenWebRX, a remote spectrum monitoring system written by Andras HA7ILM. The system is designed to allow OpenWebRX servers, running on RTL-SDR or HackRF hardware, to share their radio spectrum and allow remote tuning of the available radio bandwidth. A typical installation will allow up to four remote listeners to independently tune in, and the tuning filters allow the listener to independently control the bandwidth of the receiver. »

Writing assignment, 500 words

The writing prompt is simple scaffolding: write 500 words about what you’re working on right now, so that when someone asks what you do, you have a proof point of it. This is preparation for going to a conference where proof of professional identity is the whole point of the exercise. The thing you say you’re working on should be elaborated on at the top of the page, and any supporting details that don’t fit into the narrative should be omitted. »

Edward Vielmetti