August 04, 2016

About

@signal_vs_noise on Twitter
Sunday Morning Systems & Coffee - Professional weblog, Explorations in Computer Systems

I am an engineer at Google in Madison, WI, where I work on the Andromeda software defined network. Prior to this, I worked on the virtual machine monitor powering Google Compute Engine and as a committer on the DragonFly BSD project. My professional interests include operating systems and performance analysis & optimization.

This is my personal weblog, for writing separate from the Sunday Morning Systems & Coffee weblog.

In the summer of 2012 I cycled from Baltimore, MD, to Portland, OR with the 4K for Cancer. The 4K was a unique experience in my life; I met amazing folks and saw such kindness across the country that I had never dreamed of. I recorded and photographed a small part of our journey and of 4K journeys after in an online journal.


March 21, 2017

Detect. Transmit.

I found this essay about Voyager 2 on the Internet years ago - I don't remember where and I can't find any breadcrumbs. I'm sharing it, lightly edited, as one of the finest space program essays I've ever found.

Voyager sketch
Voyager sketch by @TychoGirl

To imagine what being the Voyager probe would be like, consider the following:

Your life begins, conceived during the mid-60s golden years of the space program.

The core concepts of your design are settled during the first years of that decade, and refined for fifteen years as different attempts are made to extend the reach of man's knowledge first to the skies, then to our nearest neighbors.

Your idea forms in an era of slide-rules and pencils, as astronomical calculations reveal a particularly fortuitous alignment of the outer planets in the coming decade, one that will slingshot you to the outer reaches of the solar system, hopping from planet to planet.

Continue reading "Detect. Transmit."

February 12, 2017

Organizations I'm supporting this year

(updated 3/05)

I was inspired by DJ Capelis's post to discuss the nonprofits and funds I'm supporting this year and the reasons behind my choices.

A few themes -

  1. Nonprofits are an important part of society in that they bring together people who have been thinking about and working on specific problems for a long time.

    However - Nonprofits are not the answer to every problem and are not going to be able to right or even mitigate every harm. This is not the computer networking - there is no "routing around" damage here and now.

  2. A focus on legal organizations - Legal organizations (like the ACLU and EarthJustice) work through litigation, lobbying, and comment on rulemaking.

    Legal victories do not stand alone; at best they can buy space and time for public action and consensus to cement rulings or rules into the society.

  3. Allocation - Approximately half my donations are to civil organizations and half are to Environmental/Climate Change organizations

Civil Organizations
  • The American Civil Liberties Union - The ACLU is a traditional bulwark in defense of civil liberties. The organization is large and capable and there are legal fights only they can sustain.

    Of note - the ACLU is actually two organizations, a 501c4 (The American Civil Liberties Union) and a 501c3 (The American Civil Liberties Union Foundation). The 501c4 can spend on lobbying where the Foundation cannot, so I give to them.

  • Pro Publica is a news organization focused on investigative journalism and long-form stories. The series "Killing the Colorado" (river) was deeply interesting and supporting investigative journalism is important to me.
  • Brennan Center for Justice - a law-advocacy organization at NYU; has an ongoing project dedicated to Voting Rights and ballot access
  • Let America Vote - a new 501c4 organization focused on access to the ballot. I donated mainly because of the nature of the problem and the track record of its founders (Jason Kander).
  • National Immigration Law Center
  • Northwest Immigrant Rights Project
Environmental/Climate Change Organizations

I consider climate change to be a unique, grave threat. Environmental systems have complex dynamics and momentum - delayed intervention has been and will be much more expensive than earlier intervention and may be limited to mitigation.

August 04, 2007

IOCCC Korn 1987

The IOCCC (International Obfuscated C Code Contest) is a yearly competition to write clever or underhanded C code. David Korn's 1987 one-liner is one of my favorite IOCCC entries for its density.

main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}

When run, this one-liner prints the string "unix".

Understanding this one-liner hinges on understanding that a[i] = i[a] in C; this is because both are *(a + i) and addition is commutative.

The mysterious "unix" appearing twice here is a traditional macro, defined on UNIX systems; In modern code, it has been surpassed by __unix__. It is directing the printf to start at the first (not zeroth) character of the string. The \021 and \012 are octal - the \021 is placed in here for trickery and deceit, which the \012 is the same is \n.

Lets simplify, so that printf is just printing a string and a newline:

main() { printf("%six \n",(unix)["have"]+"fun"-0x60);}

Now, the second part is trickier - we have (unix)["have"], which is the first (not zeroth) character of the string "have", which is 'a'. We are then adding this character to the string "fun" and subtracting 0x60.

The trick is that the character 'a' is 0x61; subtracting 0x60 leaves us with the string 1 + "fun". And now the magic - in C, the string literal functions as a pointer. "fun" + 1 is "un".

This whole line is the same as:

main() { printf("%six \n", "un");}

It should now be clear why this program prints "unix".


Detect. Transmit. March 21, 2017
Organizations I'm supporting this year February 12, 2017
IOCCC Korn 1987 August 04, 2007

March 2017
February 2017
August 2016
August 2007