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

A EULA in FOSS clothing?

There was a tremendous amount of reaction to and discussion about my blog entry on the midlife crisis in open source. As part of this discussion on HN, Jay Kreps of Confluent took the time to write a detailed response — which he shortly thereafter elevated into a blog entry. Let me be clear that [...]

Read more...
Posted on December 16, 2018 at 7:01 pm by bmc · Permalink · Comments Closed
In: Uncategorized

Open source confronts its midlife crisis

Midlife is tough: the idealism of youth has faded, as has inevitably some of its fitness and vigor. At the same time, the responsibilities of adulthood have grown: the kids that were such a fresh adventure when they were infants and toddlers are now grappling with their own transition into adulthood — and you try [...]

Read more...
Posted on December 14, 2018 at 11:50 pm by bmc · Permalink · Comments Closed
In: Uncategorized

Assessing software engineering candidates

Note: This blog entry reproduces RFD 151. Comments are encouraged in the discussion for RFD 151. How does one assess candidates for software engineering positions? This is an age-old question without a formulaic answer: software engineering is itself too varied to admit a single archetype. Most obviously, software engineering is intellectually challenging; it demands minds [...]

Read more...
Posted on October 5, 2018 at 11:02 am by bmc · Permalink · Comments Closed
In: Uncategorized

Should KubeCon be double-blind?

With a paltry 13% acceptance rate, KubeCon is naturally going to generate a lot of disappointment — the vast, vast majority of proposals aren’t being accepted. But as several have noted, a small number of vendors account for a significant number of accepted talks. Is this an issue? In particular, review for KubeCon isn’t double-blind; [...]

Read more...
Posted on October 3, 2018 at 11:41 am by bmc · Permalink · Comments Closed
In: Uncategorized

The relative performance of C and Rust

My blog post on falling in love with Rust got quite a bit of attention — with many being surprised by what had surprised me as well: the high performance of my naive Rust versus my (putatively less naive?) C. However, others viewed it as irresponsible to report these performance differences, believing that these results [...]

Read more...
Posted on September 28, 2018 at 6:28 pm by bmc · Permalink · Comments Closed
In: Uncategorized

Falling in love with Rust

Let me preface this with an apology: this is a technology love story, and as such, it’s long, rambling, sentimental and personal. Also befitting a love story, it has a When Harry Met Sally feel to it, in that its origins are inauspicious… First encounters Over a decade ago, I worked on a technology to [...]

Read more...
Posted on September 18, 2018 at 3:31 pm by bmc · Permalink · Comments Closed
In: Uncategorized