USB Topology

USB devices have been a mainstay of extending x86 systems for some time now. At Joyent, we used USB keys to contain our own version of iPXE to boot. As part of discussions around RFD 77 Hardware-backed per-zone crypto tokens with Alex Wilson we talked about knowing and constricting which USB devices were trusted based [...]

Read more...
Posted on September 27, 2019 at 9:34 am by rm · Permalink · Comments Closed
In: Miscellaneous

Shell redirection example

A friend emailed me to ask: [/tmp] $ ls > foo > bar [/tmp] $ ls -lh foo bar -rw-r–r– 1 dsh wheel 7.1K Sep 26 16:01 bar -rw-r–r– 1 dsh wheel 0B Sep 26 16:01 foo [/tmp] $ What is happening here? It’s surprising at first glance, but it’s simpler than it looks. Bash [...]

Read more...
Posted on September 23, 2019 at 1:35 pm by dap · Permalink · Comments Closed
In: Uncategorized

Transceivers: The Device Between the NIC and the Network

One of the stories that has stuck with me over the years came from a support case that a former colleague, Ryan Nelson, had point on. At Joyent, we had third parties running our cloud orchestration software in their own data centers with hardware that they had acquired and assembled themselves. In this particular episode, [...]

Read more...
Posted on September 12, 2019 at 9:27 am by rm · Permalink · Comments Closed
In: Miscellaneous

A Tale of Two LEDs

It was the brightest of LEDs, it was the darkest of LEDs, it was the age of data links, it was the age of AHCI enclosure services, … Today, I’d like to talk about two aspects of a project that I worked on a little while back under the aegis of RFD 89 Project Tiresias. [...]

Read more...
Posted on September 6, 2019 at 10:44 am by rm · Permalink · Comments Closed
In: Miscellaneous

CPU and PCH Temperature Sensors in illumos

A while back, I did a bit of work that I’ve been meaning to come back to and write about. The first of these are all about making it easier to see the temperature that different parts of the system are working with. In particular, I wanted to make sure that I could understand the [...]

Read more...
Posted on August 14, 2019 at 7:44 am by rm · Permalink · Comments Closed
In: Miscellaneous

Ex-Joyeur

When I was first interviewing with Joyent in July 2010, I recall telling then-CTO Mark Mayo that I was trying to make a decision for the next seven years of my career. Mark nodded sagely at this, assuring me that Joyent was the right move. Shortly after coming to Joyent, I became amazed that Mark [...]

Read more...
Posted on July 31, 2019 at 10:30 am by bmc · Permalink · Comments Closed
In: Uncategorized

Modifying USDT providers with translated arguments

I originally wrote this post in 2012 but didn’t get around to publishing it until now. It’s a pretty technical post about an arcane bug in an uncommonly modified component. If you’re not already pretty familiar with translators for USDT providers, this post is probably not useful for you. Several years ago, a colleague here at [...]

Read more...
Posted on July 16, 2019 at 12:47 pm by dap · Permalink · Comments Closed
In: DTrace, joyent, smartos

Performance Puzzler: The Slow Server

In the spirit of the TCP Puzzlers, I want to present a small distributed systems performance puzzler: In a distributed system with a fixed-number of servers and a fixed concurrency, what happens when one of the backend servers gets slow? First, let’s pick apart what this means. Suppose you have: a service with a fixed [...]

Read more...
Posted on July 8, 2019 at 9:30 am by dap · Permalink · Comments Closed
In: Uncategorized

Visualizing PostgreSQL Vacuum Progress

As heavy users of PostgreSQL since 2012, we’ve learned quite a bit about operating PostgreSQL at scale. Our Manta object storage system uses a large fleet of sharded, highly-available, replicated PostgreSQL clusters at the heart of the metadata tier. When an end user requests their object, say http://us-east.manta.joyent.com/dap/public/kartlytics/videos/2012-09-06_0000-00.mov, Manta winds up looking in this PostgreSQL [...]

Read more...
Posted on May 22, 2019 at 12:05 pm by dap · Permalink · Comments Closed
In: Uncategorized

Reflecting on The Soul of a New Machine

Long ago as an undergraduate, I found myself back home on a break from school, bored and with eyes wandering idly across a family bookshelf. At school, I had started to find a calling in computing systems, and now in the den, an old book suddenly caught my eye: Tracy Kidder’s The Soul of a [...]

Read more...
Posted on February 10, 2019 at 6:20 pm by bmc · Permalink · Comments Closed
In: Uncategorized