I've been working in the same place as Martin Casado since about 2003, when he and I were both grad students at Stanford with offices across the hall from one another. Our research didn't intersect—he worked on SANE and Ethane and other things, and most of what I worked on has been forgotten—but we ate lunch together pretty often, usually burritos from the “bistro” in the basement of the medical center. We graduated at about the same time, and he invited me to join him at Nicira. I've always enjoyed working with him. I've seen him less and less over the years, as his role shifted. I've wondered several times whether he'd forgotten about me, but each time I've found myself reassured. I always assumed that he and I and Justin and some others would eventually move on together to found a new company.
Today, Martin announced that he is leaving VMware to join Andreessen Horowitz, on April 1. I was sad about it all day today and a lot of yesterday too. It blows up what I always thought was a shared plan for the vague future. Worse, it feels like I'm losing a friend. I don't have enough that I can afford to lose one. It's the end of an era, for Martin, for me, for Nicira, for VMware, for Open vSwitch, for SDN. It leaves me feeling empty. That's my emotional response.
What does it change, though? For VMware and NSX, I think that the change will be minimal. I have talked to several people about Martin's replacement. Everyone speaks highly of him. I worry because I have seen too many people from Cisco and Broadcom falter when they are asked to shift from a hardware-centric networking model to a software-centric one. But Rajiv sounds like an experienced and accomplished business operator. I hope he works out.
For Open vSwitch, I think this changes little as well. Justin and I have been talking with other Open vSwitch committers since October, or so, about getting Open vSwitch into a foundation, probably Linux Foundation. Martin approves. I hope that we can get this completed before the transition, because it will be more work to get new management up to speed.
For me, I cannot deny that Martin leaving will make it easier for me to leave later. I am not in any hurry. VMware is good to me. They give me the freedom to work on what I think is important, to push internally in directions that make sense to me, and to publish papers and make presentations where I like. I will continue to work on my current priorities, which are OVN and P4.
Someday, when I do leave, I am no longer sure where I will go. It now seems unlikely that there will be another startup with Martin directly at the helm, although he's surprised everyone before. But it's not bad to know a general partner at Andreessen Horowitz, and perhaps he could be involved as a VC.
I don't know whether I want to be in Silicon Valley forever, though. I am unhappy at what “open source” has become. When I was a teenager, I had high hopes for free software. I liked the term “open source” at first because I thought of it as a better name. But as early as 2002 I remember telling Biella Coleman that I again preferred “free software” because open source had come to mean a lack of ideals. It has become worse. Now it is often merely a ploy. I work in open source, but I would rather work in free software. Maybe I will someday “retire” to spend more time on my free software projects. Maybe there can be a viable company out of one of them, but I don't know whether I want that.
I don't think I'm ready to leave in the next few years, though. There is a lot of excitement in doing something new. I think I want to do that again, at least one more time.
I guess that no one knows that I started this current blog in 2012 as I discovered that I needed somewhere to vent pressure related to Nicira. Now that Martin is going, Nicira is also gone, in my mind. All that is left for me here is one word. It's the same word that I sent to Martin after his public announcement. He chided me for that, but for me, in this case, it is charged with shared experiences, loss, and change.
Goodbye!
I learned something today that will be big news tomorrow.
In the evening I went out to the San Carlos fencing club. I was hoping to meet some fencers to practice and bout and socialize with. It turned out to be much more serious than I was looking for, with nationally ranked fencers who head out regularly to high-level competitions across the country. I was seriously outclassed. The other fencers there were teenagers. I'm a casual athlete, not an adept one, and I'll never be able to compete with them. I don't think it's for me.
I ordered an FM antenna to install in the attic, or on the roof.
Went out to a local Japanese grocery this afternoon to get some ingredients for a new dish. It was a quick trip—I hadn't expected that everything would be so easy to find. I did have to ask for help finding a couple of sauces, but an employee pointed them out to me quickly.
Had to jump back into the fray after ignoring email for most of the week. I'm also behind because I took Thursday and Friday last week off and because of the Monday holiday.
Had a conference call in the morning with a bunch of people associated with Open vSwitch in various ways. We might have an announcement in a few weeks.
In the evening I finally posted another iteration of the “closures” series I've been working on. It's a major rewrite using new concepts. I think this version is close to good-to-go.
I picked up my family from the airport in the afternoon. It was nice to have some time to myself, but it's also nice to have them back.
Another day on my own, but I had work. Hardly anyone was in, due to the holiday the previous day, so I spent the day happily hacking and ignoring email.
“President's Day,” a holiday. I was on my own since the others had gone to Portland and Seattle.
I spent most of the day cabling up the in-ceiling speakers that I had installed a week ago. I started by doing some more research on how to attach cables to joists, since stapling zip ties hadn't worked well, and came up with self-adhesive cable tie mounts. I bought a bag of them at Home Depot and got to work. As usual, it took longer than I expected. I had to pull cable up to each of the speakers separately rather than in a bundle because I didn't know how long I'd need each of them. I kept having to run back downstairs from the attic because the cable or the string would get hung up on something. By 4 pm, though, I had all the cables wired to the speakers, secured to joists, and wired to a new box in the wall.
I was surprised that my 100 feet of cable left me with only 7 feet of leftovers in the end. I had estimated 40 feet remaining.
I had originally planned to order a receiver and a CD player online, but I was itching to hear it work. I did some quick research and figured out that a local big-box store had what I wanted anyway, so I went out and bought them and installed them. Worked perfectly. I've always wanted an 5-CD carousel, and now I have one. The receiver has Bluetooth, which I like to use for podcasts. The CD player can also play USB media (and even record CDs to them, but I doubt I'll use that feature).
I dropped by the local fencing club and talked to the coach, who was friendly. I was surprised to find out that it's a sabre-only club. I think I'll try it out.
I flew home. The weather in Chicago delayed me several hours.
In the morning I was still sore from practice on Thursday night. I also had a nasty sore on the bottom of my left foot. I went to a drugstore and got some petroleum jelly and bandages. They helped a bit.
Dale and I ate breakfast together and drove to IM West for the MSU Alumni Fencing Tournament. I was happy that all my equipment checked out. I started out strong enough but quickly declined and got really wild. But the important part was seeing some old friends—Dale, Katherine Slee, Donovan Asselin, and others—and getting to know some of the current team. The turn-out was impressive, with most of the current team and perhaps 30 alumni from 1969 to 2015. I had so much fun.
We ended the tournament in mid-afternoon and went over to Reno's East for drinks and food. Coach Fred, who is now 83, showed up. I tried not to feel hurt that he did not remember me, because it sounds like he's having memory problems in general.
I got back to the hotel about 6:30, totally exhausted, and slept for an hour. I had a really hard time getting back to sleep after that. The nostalgia from old friends and familiar places overwhelmed my thoughts and I just couldn't settle down. I have more friends and deeper roots in and around East Lansing than I do in the Bay Area, even after 15 years.
I think I need to check out the fencing club in San Carlos.
I ate lunch with my parents at a restaurant called “Leo's Lodge.”
I met Dale and the fencing team at Hop Cat, a beer-focused restaurant in East Lansing close to the Marriott, and we had dinner and drinks there.
Flew to Lansing, where my parents picked me up and drove me into East Lansing. We ate some dinner and then they dropped me off at IM West on campus, where I practiced with the fencing team. Practice was harder than I remembered but I had no trouble keeping up. I felt right at home. 15 years after I graduated, the team still practices in the same place, at the same time, in the same gym. Even a lot of the fencers look like fencers I knew 15 years ago. And of course Dale is still the saber coach.
Dale and I went out for drinks after practice. We had a lot to catch up on.
I gave a guest lecture in the evening for Vinayak Naik's SDN class at IIT-Delhi, over a conference call. It seemed successful, and the students and professor asked good questions and I think I gave suitable answers.
There has a been a lot of noise lately in some places on the Internet about Twitter lately. What I've seen centers around two things: first, the idea that Twitter is dying, second, that Twitter is kicking out “terrorists” and trolls. This has led to a huge influx of users to alternative microblogging platforms, notably GNU Social. This is what you would think these platforms actually want, since the network effect means that the value of a social network grows faster than its user population.
It hasn't actually worked that way. In fact the thousands of new users have caused a lot of trouble. That seems to be, first, because many of the new users are leaving Twitter because they were actually disrupting it and were either kicked off or expected to be, and now they've shifted to disrupting GNU Social. The second reason is simply that GNU Social servers by and large are run by unpaid volunteers and do not have a way to make money (or a goal of making money) and that, thus, they didn't have the resources to handle thousands of new users.
But, a few days into this, it looks to me like the end result is better than I might have guessed. GNU Social is “federated,” meaning that it is actually composed of a loose collection of independent servers that interoperate. The best known of the federated servers, until now, have been run by and for “polite free software enthusiast types.” These servers quickly kicked off the trolls who migrated there from Twitter, since they were disrupting them (i.e. posting rude text and images). In other contexts, this might have caused the new users to redouble their efforts and caused further disruption.
What actually happened, though, is that the disruptive users started their own GNU Social servers and added themselves to the existing federation. This gave them a place to post the characteristic things that they like to post, and allowed them to stay interoperable with the rest of the federation without disrupting it overall. It seems like a success story to me at this point. Yay GNU Social.
(The story isn't over, though. It seems likely that the federation will splinter into multiple federations at some point, because some parts of the federation are unwilling to allow NSFW text and imagery to show up in the global “The Whole Known Network” feed that shows every post from every server in the federation.)
Also, this migration is unlikely to have any real effect on Twitter. Thousands of users leaving Twitter for GNU Social is still 0% of Twitter leaving.
I was scheduled for a video interview in the morning, to be edited down to probably 30 seconds or a minute for an internal research promotion video. I showed up and we talked for a couple of minutes, then my interviewer realized that I was wearing a shirt with green lines on it in front of the green screen. We had to reschedule it for Wednesday.
I spent an hour in the morning going through all of my old fencing stuff to figure out what worked and what was broken and what I could repair. It turns out that I have plenty of equipment, more than enough for electric saber. I packed my equipment and my clothes for the tournament next weekend.
In the afternoon, we all went to a Super Bowl party at Justin's house.
I spent most of the day working to install the in-ceiling speakers in my home office. A part that I thought would be easy, cutting the holes in the ceiling, turned out to be really hard. I thought that the ceiling was just drywall. It was not. It was plaster over a mesh of thick, about 12- or 14-gauge, stranded metal wires, layered on top of something like drywall, about 1 inch thick total. The plaster and drywall were easy to cut through with a drywall handsaw, but when you hit a wire every inch or so it became misery requiring one to slash downward against the wire up to six or ten times before finally cutting the wire and continuing through more drywall. I had to stop every few inches to lower my hands and take a break. The four 8-inch holes took me 4 hours or more, but with breaks it was most of the day. Installing the speakers in them was easy, though.
I did not have time to install the cabling to the speakers.
During one of my breaks, Kate and I went out to Gelb Music, a local music store, and shopped for guitars. It was an easy process. After trying out a few, Kate picked one out, and we took it home.
I helped set up the book fair at Cassie's school in the morning.
I spent the rest of the day trying to catch up on Open vSwitch reviews. It's a never-ending job now.
We went to the San Carlos library for beer and trivia night. It's a family event—for kids, there's child care and a movie in one room, and for the adults there's beer and trivia in another. Our team tied for first and then lost on the tie-breaker. We took home a growler of beer from the local Devil's Canyon brewery as our prize.
I started reading my copy of The Grammar of Graphics, which arrived yesterday. It's a fascinating idea to formalize the structure of statistical graphics. It's a very technical text that keeps reminding me in various ways of The Art of Computer Programming, but unfortunately Wilkinson is not nearly so gifted a writer as Knuth, and so I find myself confused more with the writing than I think would be necessary.
It occurred to me that I might be able to use an automotive creeper to work in tight spaces under the house. I wonder whether that would be more practical and comfortable.
I decided to go ahead and install in-ceiling speakers in the home office. I ordered two pairs of Yamaha speakers and 100 feet of 14-gauge CL3 in-wall rated audio cable.
The PoE injector arrived and I installed the AP using wired Ethernet. Network performance does appear to be better but it did not magically solve the poor coverage problem in the back of the house. I will probably have to run another cable back there. Not looking forward to it, the crawl space below the house is very shallow back there and makes me feel claustrophobic.
I think my next home-improvement project is going to be in-ceiling speakers in my home office. I already had to do the hard part of putting strategic holes in the wall to run cables. No reason not to take advantage of it to run speaker wire also. Measuring between the joists where it would make more sense to install the speakers, there's 12 inches of space between them on the side of the room nearest the door and 14 inches on the other. That appears to be plenty, given that the in-ceiling speakers in another room have a 7 1/2-inch grill and a 9 1/2-inch outside diameter.
I installed the Ethernet cabling in the attic. At first, I thought I'd have to use an awkward route to avoid running parallel with 110 V wiring. Then I started looking at the details of what was there, since our attic is a mess of old knob-and-tube and modern Romex. I discovered that several of the wires I needed to avoid were only connected on one end, and some of those were cloth-insulated with bare sections that would be a serious hazard if they carried current. A few snips later, there were no 110 V wires along the best path, and I installed the cabling.
I thought that the power-over-Ethernet injectors that came with my TP-Link access point would work for the EnGenius AP, but it did not, so I ordered an 802.3af compliant injector.
SIGCOMM paper submission is in. So glad to have time back again.
I was up again until past midnight working on a SIGCOMM paper submission. Looking forward to having this one put to bed.
One of the chickens laid a really weird soft-shelled egg. Kate says it means that they're not getting enough calcium and we need to buy more oyster shell.
Layoffs at VMware, rumored for some time, were announced today. I'm sorry to hear that the hosted UI team was one of the targets. Between 2003 and 2007, I worked on ACE (since end-of-lifed) and Workstation, and though I haven't done anything with them since then (or even used either one), I still have a fondness for them.
I took a longer-than-usual route to work this morning, biking up Brittan Ave to Crestview, from there coasting down (braking hard!) to Edgewood and from there up to CaƱada, across to Sand Hill via Whiskey Hill, and from there to the office. The ride up Brittan to Crestview is challenging. I'll have to do this more often.
I again spent half a day installing an Ethernet jack, this one in the stairwell where I want the access point. The other side of the wall in the stairwell is the side of a closet, whose back is the accessible attic, so the first step was to cut a small hole in the side of the closet near the back. That let me drill a hole through the back of the closet into the attic big enough to run a cable. Then I cut an opening for a low-voltage bracket on the stairwell side (which was harder than I expected because the drywall was backed by plywood), installed a bracket, and put a keystone face on the front. I also ran a string along the whole run from the office to the stairwell and found that it was 31 feet going straight and that a 50-foot cable could be secured with protection and away from electrical lines. Not having a 50-foot Ethernet cable, I ordered one online and called it a day.
I spent half the day installing an Ethernet jack in the wall of my home office. It was a real pain laying prone in the attic drilling a 1-inch hole. It took forever, I think maybe I need to buy a new and sharper spade bit. Once I got that drilled, my fish rod found a diagonal brace halfway down the wall, so I had to cut a hole in the plaster and then drill a hole through that, and then finally I was able to cut the hole for the jack and install the old-work low-voltage bracket and run a cable to the attic.
I was exhausted and it took longer than I expected, so I'll wait until tomorrow to install the jack on the other end, in the stairwell.
The patch series for “closures” that I posted on Monday is now checked in, except for the final RFC patch, thanks to Jarno, and I'm almost ready to post a final version of the RFC patch. Good progress this week.
I've been invited to do a guest lecture for a course on SDN at IIT-Delhi (by videoconference). Exciting. I like giving talks.
I'm studying Li et al, “Algorithmic Improvements for Fast Concurrent Cuckoo Hashing,” from EuroSys '14. I'm hoping that we can use it to make Open vSwitch even faster.
OK, so it did turn out that VMware had the day off, but no one bothered to cancel meetings. Ugh. And then I still had to skip the party because of an off-campus meeting where everyone else was apparently gung ho on attending because “traffic would be lighter” on MLK Day. I sure hope that meeting doesn't recur on July 4.
Martin Luther King Day, but VMware doesn't have the day off, so I'm going to have to skip the party that the rest of the family is going to.
Over the weekend I finished my initial write-up of the SPSS Viewer (SPV) file format and pushed it to the PSPP Git repo. I'm still working on dissecting the XML format used for tables in SPSS 16 to 18, though.
Frustrating evening. Office Depot had a 40% off sale on desks, so we went over there (about 5 minutes away) to buy one for Cassie, who has wanted a desk for a while. We found the desk we wanted, then the employees there took half an hour to tell us that they didn't have one and couldn't order one. We headed home. A few blocks away, we were rear-ended by a teenager who had had her license for less than a year. No injuries, and no damage was apparent in the dark and rain, but it was a real downer and meant we had to call police and then, when we got home, insurance, and now we have to take the car in for inspection sometime this week.
Kate located the driver on Twitter. She had already tweeted about the incident. Ah, modern life.
After talking to Joe last night, I have some doubts whether I can really expect myself to be good enough at assembling RJ-45 connectors and punching down keystone jacks to make 10 Gbps capable Cat6 connections. I think I'll change course from doing it all myself to using inline coupler keystone jacks. Then I can use commercially assembled Cat6 cables inside the walls and just plug them into the back of the keystones. In fact, it seems like it's cheaper to do it that way too, because I save $150 on tools and parts and probably another $130 on a 1000-foot spool of Cat6 (I guess I'm not going to use more than 200 feet of cables, total, and maybe a lot less).
I ordered the wall plates and keystone couplers. It looks like the cheapest place to buy low voltage old work wall brackets is Home Depot, just down the street, so I'll do that later, and I'm not going to bother to buy the Ethernet cables until I can run some string and measure what I need in each place.
Went to Michiko and Joe's house for dinner. I made Thai curry there in their new kitchen, Michiko made tempura and salad, and we all had a good dinner.
Renewed my ACM membership for the year tonight. I'm always tempted to just get the lifetime membership, but the $4,000 price tag (including digital library subscription) just seems too much, even though rationally I guess it pays for itself in under 20 years, even assuming that membership rates don't go up.
I keep finding myself telling people about the CuckooSwitch paper. I thought everyone already knew about it—it certainly inspired a lot of optimization work in Open vSwitch. Read it, please, if you have any interest in high-performance data structures, especially in a networking context.
Despite my resolution to travel less, it seems like I'm still stuck going to the VMware leadership event at the end of the month. Oh well.
It seems I forgot to mention my resolution for the new year. It is to spend less time working on things that are not directly relevant at work. In 2015, I spent a fair amount of time traveling, writing papers, going to conferences, speaking, and pushing initiatives. All of these are productive, but I'm no better at them than the next guy. I am, however, better at writing code than most people. I am going to focus on that for 2016.
Spent the morning building large boxes to hold dwarf apple trees in the school garden. Took Cassie to her 4-H beekeeping project in the afternoon, where she helped with taking frames out of a hive and extracting the honey. We brought back a small 9 oz. bottle of fresh honey.
Date night. Kate and I ate dinner at Nemea in San Jose, following by a showing of Pippin. Both were impressive.
Dry weather. I gratefully biked to work.
I worked from home. Yatish Kumar, flying in from Ottawa on business, came to dinner at the house. I made a bastilla and a tajine, which were delicious, and Moritz made fruit salad.
More rain, of course. For variety, I took Caltrain today.
I just couldn't face another day like the previous one, so I drove in today.
The weather report showed that it is going to rain all week. I sighed and put on my rainwear and biked in anyway. I arrived covered in mud and had to shower it off.
I made my first recipe from my new Japanese donabe cookbook (a Christmas gift from my sister). The most challenging part of it was getting the ingredients. Walking through 99 Ranch in San Mateo reminded me of grocery shopping in Sarajevo or Pune, all kinds of boxes and cartons covered with unfamiliar scripts. A few times it was helpful to be able to read hiragana and katakana—I could at least identify some basic things like “kombu dashi”—but I came home with lots of ingredients that could have been entirely wrong. I should have asked for more help at the store. Anyway, the recipe turned out well—everyone ate it—so that's a good sign for doing more Japanese cooking in the future. I'm happy about that, especially since I only used a small part of most of the ingredients.
Books I read in 2015, with the years they were written and ISBNs and often a score (from 1 to 10) indicative my enjoyment (I rarely give a score below a 6; you can take a score that low to mean that I thought the book was pretty terrible):
Danilo Kis, “Encyclopedia of the Dead”, 1998, 8.
Bret Easton Ellis, “American Psycho”, 1991, 978-0-679-73577-9, 8.
John D. MacDonald, “Barrier Island”, 1986, 0-449-13179-3, 5.
Michael Chabon, “The Amazing Adventures of Kavalier & Clay”, 2000, 0-312-28299-0, 7.
C. S. Forester, “Lieutenant Hornblower”, 1951, 0-316-28921-3, 7.
John Malcolm, “Whistler in the Dark”, 1986, 0-345-34292-5, 5.
P. G. Wodehouse, “The Inimitable Jeeves”, 1923, 978-0-393-33980-2, 5.
Elmore Leonard, “The Hot Kid”, 2005, 978-0-06-072423-8, 5.
Alexsandar Hemon, “The Lazarus Project”, 2008, 978-1-59448-375-2, 7.
Umberto Eco, “The Name of the Rose”, 1980, 0-15-600131-4, 7.
Andy Weir, “The Martian”, 2011, 978-0-553-41802-6, 9.5.
Joe Longo and Jarret Lofstead, ed., “Life in the Wake: Fiction from Post-Katrina New Orleans”, 2007, 978-0-615-17080-0, 6.
Henry Miller, “Tropic of Cancer”, 1934, 0-8021-3178-6.
Noel Malcolm, “Bosnia: A Short History”, 1994, 978-0-330-41244-5.
John D. MacDonald, “Cinnamon Skin”, 1984, 6.
Rudyard Kipling, “Kim”, 1901, 8.
Mesa Selimovic, “Death and the Dervish”, 1996, 0-8101-1297-3.
Richard Lord, “Culture Shock! Germany: A Guide to Customs and Etiquette”, 1996, 1-55868-251-1.
Jo Nesbo, “The Bat”, 1997, 978-0-099-52032-0, 6.
Jerry Sohl, “Costigan's Needle”, 1953, 6.
Kurt Vonnegut, “Mother Night”, 1961, 8.
Hal Clement, “Needle”, 1969, 6.
Joseph Heller, “Good as Gold”, 1976, 0-671-22923-0, 6.
Isaac Asimov, “Casebook of the Black Widowers”, 1980, 0-449-24384-2, 7.
Gordon Thomas and Max Morgan Witts, “The San Francisco Earthquake”, 1971, 8.
Isaac Asimov, “I, Robot”, 1950.
Isaac Asimov, “Magic: The Final Fantasy Collection”, 1996, 0-06-105412-7, 6.
Aleksandar Hemon, “The Book of My Lives”, 2013, 978-1-250-04354-2, 7.
Cormac McCarthy, “The Road”, 2006, 978-0-37-38789-9, 7.
Isaac Asimov, “Nightfall and Other Stories”, 1969, 7.
Patrick O'Brian, “H.M.S. Surprise”, 1973, 0-393-30761-1, 6.
Isaac Asimov, “Asimov's Mysteries”, 1968, 0-449-23223-9,
Robert A. Heinlein, “Assignment in Eternity”, 1953, 0-671-65350-4, 6.
Steven Galloway, “The Cellist of Sarajevo”, 2008, 978-1-59448-365-3, 7.
Isaac Asimov, “Foundation”, 1951, 6.
Isaav Asimov, “A Whiff of Death”, 1958, 0-449-23660-9,
Robert A. Heinlein (ed.), “Tomorrow, The Stars”, 1952, 8.
Robert A. Heinlein, “The Moon is a Harsh Mistress”, 1965, 0-441-53699-9, 8.
Flew home. When we arrived, the fridge was open, a door was unlocked and ajar, and the cats had no food. Won't use that catsitter again.