Had to help Kate get dressed in the morning. An immobilized arm is inconvenient.
I made short ribs in the oven in the evening. I don't remember making ribs before. They're a favorite of Kate's but ribs were never a meal we had at home when I was a kid so I think of them as a restaurant meal.
Brunch at Suppenküche, a German restaurant in San Francisco. We met another family with a German exchange student there. It never would have occurred to me to go all the way into San Francisco for breakfast. Often our trips into San Francisco are disasters, but this one went well. The food at the restaurant seems good to me even if it is overpriced.
All of us went to Kate's hockey game in Fremont in the afternoon. We sat in the sports bar to watch her, planning to stay to watch a football game afterward so that we could explain the rules of football to Moritz.
Then Kate broke her wrist in the hockey game and our plans changed. Kate and I ended up spending our evening in the ER at Sequoia Hospital, and I drove Cassie and Moritz home. Moritz was a good big brother and put Cassie to bed.
New Open vSwitch patchwork instance, kindly hosted by ozlabs. Alex Wang has agreed to maintain it, and Justin and I will act as backup maintainers.
We went to the beach in the afternoon with friends.
This was my coworker Alex Wang's last day at VMware. We will miss him.
It sounds like Moritz is going to join the football team at the high school (!).
Cassie's first day of 2nd grade. At the parents' coffee following the start of the school day, I signed up to help with Science Day in January, the book fair in February, and “San Carless Day” at the beginning of each month.
The OVS team met this afternoon with Thomas Graf from Cisco to talk about how to handle NAT in Open vSwitch and more specifically in OVN. Always a good discussion when Thomas is involved. I think we came up with some good ideas, too.
Moritz's first day of school. I understand that he made it to all of his classes and, after school, spoke to the cross-country team coach. Tomorrow I expect that he'll be able to practice with the team.
I see that Google once again claimed that it wrote Onix. It's still not true. Onix came from Nicira.
In the afternoon I took Moritz shopping for athletic clothing.
We released Open vSwitch 2.4.0. Finally!
First day back in the office.
I worked from home and fought jet lag.
Moritz, our new exchange student from Germany, arrived at our house in late afternoon. We helped him to settle in.
We flew home.
We walked around the city to buy gifts.
We ate lunch with Lejna and had dinner at her family's apartment.
The Bosnian basketball team arrived at the Sarajevo airport in the evening. As they paraded through the streets, the street filled with supporters: the news estimated 50,000 people. If we hadn't been with people who spoke the language, I would have wondered if a revolution was going on.
Kate and Cassie and I went out to a café for breakfast where I had “salted pancakes” with chicken. I think it's at least somewhat an authentic Bosnian breakfast, although it was a very heavy breakfast.
We ate lunch with Lejna's family, a fish cooked by Elvir. Kate was feeling sick so she missed it.
In the afternoon I shopped for Mexican ingredients with Elvir, then I cooked the rest of the afternoon until Lejna's family arrived. Kate did not eat with us because she was still feeling sick.
After dinner Kate told us she needed to see a doctor. Most of us went to the emergency room with her, while Lejna stayed at the apartment and put Cassie to bed. Kate was seen at the hospital. They ruled out any kind of serious problem so we returned home.
Cars were honking in the streets in support of the Bosnian team having won the European high school basketball championship (!).
Most of the day was a long drive back to Sarajevo. We stopped for a late lunch at a great barbecue restaurant on the outskirts of the city.
After we got back, I walked around town by myself looking at the crowd for the Sarajevo Film Festival.
Cassie and I went swimming in the morning. We checked out of our apartment at 11 am.
All of us drove back across the border into Bosnia, to Trebinje, where we had to stop due to car trouble. We ate lunch at a riverside restaurant.
We drove into central Trebinje to wait for a replacement rental car. We drove the replacement somewhat out Trebinje, where Ivona became sick and we had to stop roadside. None of the rest of us were confident enough about driving a manual transmission car, so eventually a taxi driver drove us in the rental car back into Trebinje. We stayed the night in Trebinje in an apartment that belonged to a friend of Ivona's.
Kate and Cassie and I took a taxi back to the old town. We took the cable car from their up the mountain and then back down, where we ran into Cuna and chatted for a few minutes.
We visited the Rector's palace. It is full of art and history, but stifling hot. It seems that this must be bad for the art.
We ate pizza for lunch. The tomatoes on the pizza, like all of them we've had in Croatia, were amazing.
We met up with the larger group at the port in old town to take a boat for Lokrum, which is essentially a party island. We swam and drank until late afternoon, then took the boat and the bus back to Irena's house. We had a late dinner at a restaurant.
We ate breakfast with Cuna and our hosts.
Elvir dropped Kate and Cassie and me off in old town Dubrovnik, which is a medieval walled city. We visited the fountain, the Franciscan monastery and pharmacy (the oldest pharmacy in Europe), and shops along the Stradun (the main street). Cassie wanted to lead, so we followed as she wandered through the streets. She took us through a playground to a hidden archaeological site, where a guide told us that we were the first tourists to end up there that day intentionally. He took us for a tour around the site, which was a foundry between two of the walls of the old town.
We ate lunch, then we took a tour along the top of the wall, in the heat of the early afternoon. We found ourselves behind a Game of Thrones tour group: every place was explained in terms of how it had been used in the TV show. It made me want some real history.
We went back to our apartment and then down to the beach for a swim in the warm water of the Adriatic.
The three of us ate dinner in a restaurant near our apartment.
Later in the evening we went for a long walk along the shore in the Lapad area of Dubrovnik with the larger group. It's striking how different this is from the old town. It's more like my idea of Miami than a medieval city.
In the morning Kate and Cassie and I walked around Mostar doing touristy things. We looked at the bridge, we visited the mosque (including a walk up the minaret, which was a claustrophobic climb up stairs), we walked through the Muslibegovic hotel and museum (built as a private house in the 17th century).
In the afternoon we drove from Mostar to Dubrovnik. We stopped near the Croatian border to tour the Vjetrenica cave. Even though it was a warm day there was a cold wind blowing out of the entrance.
When we arrived in Dubrovnik, Elvir dropped us off at the apartment we were renting from one of their relatives. It was next to the beach, so Cassie and I walked down there and she looked at all the tiny crabs. We had dinner later at Ivona's family's house.
Today the whole group of us drove to Mostar in Elvir's car and a rented car. The main excitement of the day was a 5-hour rafting trip down the Neretva river. The river was calm for the most part but there were some whitewater moments. We stopped frequently to eat and drink.
We stayed the night in Mostar at a hostel named Villa Sara. We ate dinner in a nearby restaurant.
I took Cassie around Old Town in Sarajevo around lunchtime, while Kate went off to Ivona's office for a few hours to get work done. I went back to our apartment, where fortunately the DSL repairman was able to fix the problem. After that, Elvir picked up Cassie and I had a chance to check out Sarajevo on my own. I walked for miles around. Kate and I met up again for dinner on our own. Cassie got dropped off very late, after 11 pm, and we all went to bed.
Today we drove to Fojnica (“foy-neetza”), about an hour from Sarajevo, with Lejna's family (although Lejna is still sick and did not come). The day was a kind of extended family reunion at Lejna's grandparents' house. In the hot afternoon we drove from her grandparents' house up a rutted dirt road to a trail which led down to a waterfall. We played in the water for a long time, then drove back to the house for a late afternoon feast. We walked up to a monastery on the other side of town, where Ivona told us a story from when she lived there during the war. Finally we drove back to Sarajevo.
Lejna was sick all day and we didn't see much of her.
Jana and Karla took us around town. We visited the museum of the assassination, then City Hall (or perhaps it is a library). City Hall is a large building with red and yellow striped stone walls. It was destroyed in the 1990s war, since rebuilt by the Austrians. It has a central dome, like the Capitol in Washington, but the interior is painted in bright colors instead of a conservative white.
The DSL at the apartment is on the blink. We called technical support (who speak English!) and they are working on it.
We took the rest of the family out to dinner at a restaurant named Kibe. Jana and Karla put Cassie to bed while the adults went out to a bar named Monument.
I woke up after 10 according to my phone, feeling refreshed. I said “good morning, it's 10 o'clock” to Kate. She pointed out that it was dark outside. After some discussion, we figured out that we had only slept until 10 pm. It was much harder to get back to sleep. I eventually woke up for good at 5 am. Kate and Cassie woke up much later, around 10 am. We ate breakfast in the apartment, after Lejna arrived a few minutes later.
The four of us walked together to a shopping center in town. Kate and Lejna broke off to a salon for pedicures, and Cassie and I walked through the shopping center. We bought a few little things, then we found an arcade in the basement where we played games for a while. We walked through a park and cemetery across the street, then Kate and Lejna rejoined us for lunch, at a restaurant named Metropolis that is a favorite of Lejna's.
The afternoon was hot so we went back to the apartment to rest for a while. About 6, Elvir pulled up with the car and took all of us to their family apartment for dinner. Then a large group of us walked to the stadium for a football game.
The stadium and the fans were very different from what I'm used to. The stadium was packed with fans, but it had hardly any advertising and no concession stands or vendors. We had to throw out our disposable water bottles on the way in because of concerns that we'd throw them. The field was separated from the stands by a deep moat, and I counted 50+ riot police plus any number of security guards. The seating was not very clean—most fans seemed to be sitting on newspapers to save their clothing—but most of the crowd stood up the whole 90+ minutes of the game anyway. There were no video screens, no cheerleaders or contests or other distractions (no halftime entertainment!), no announcements, and no anthems or flags. There were, however, attentive fans actually watching the whole game. Tickets ranged from 10 KM to 22 KM (about $5 to $11). Quite an experience!
We arrived in Sarajevo in mid-afternoon. The Celebicic family and some family friends arrived at the airport to pick us up. It was a happy family reunion. They drove us to the apartment we had rented, which turned out to be lovely and spacious. We took a short walk from the apartment down to the Sarajevo “old town” area and had drinks and then food in a cafe.
Elvir bought me a Bosnian SIM for my phone. I was surprised at how easy it was to install—much less of a pain than the Canadian SIM in May. It worked almost immediately.
We talked for a long time, then as jet lag began to catch up they left us to unpack and go to sleep. I stayed up later than Kate and Cassie, but I still feel asleep by 9 pm.
We spent all day today flying, from San Francisco to Montréal to Geneva to Sarajevo.
The SF Chronicle publishes “CNET” capsule reviews of a group of 4 products within a single category a few times a week. I'm often startled at how badly they are written. Today's headline: “The thinnest (and lightest) large tablets.” Not one of the reviews, however, mentions how thick, how heavy, or how large the tablets are. Really? These aren't the first questions that anyone would ask?
Also: three of the tablets have starting prices ranging from $379 to $498. The $498 model has a comment saying that it's expensive (that's what “It's a high-end purchase,” means, I assume). However, the fourth is listed as $899, and its review does not mention this, let alone try to justify it.
I think CNET and the Chronicle are not even trying!
In the afternoon we were visited by Sofie, one of Lejna's friends from two years ago, with her parents, traveling in the U.S. from Denmark.
In the morning, the password cracker hadn't cracked any passwords, so I guess none of the files had 6-character or shorter passwords. Oh well, it was worth a try.
Cassie and I went to Pulgas Ridge Open Space Preserve for a hike in the morning. She had gone there this last week as a camp field trip, and she wanted to show me the park. As we walked, though, she got herself more and more worked up about the two rattlesnakes that her group had seen on their hike. Before long, she was so scared that we had to leave, after less than an hour. I was disappointed.
Cassie and I went ice skating again in the afternoon. I tried thicker socks to see whether they helped. They did not—in fact the skin on the side of my foot was starting to abrade and blister after just a few minutes. I hope that that the store can help me, so that I didn't waste lots of money on skates that are worse than most rentals.
I made a quiche in the morning with many of our eggs. With our neighbors on vacation, for now we're getting eggs from 5 chickens, which is a lot to go through. It's the first time I've ever made a quiche, and I thought it was pretty good especially given that I realized at the last minute that we were out of milk (and cream and half-and-half) and had to used whipped cream from a spray can instead.
I modified my password cracker to parallelize it and started up 3 32-core VMs on Google Compute Engine. I think I'll give it about 24 hours, or until it cracks a password. That will cost about $80, well worth it for an experiment.
Cassie and I went for a bike ride in the morning and ice skating in the afternoon. I was eager to try out my new skates, but they hurt my feet.
I submitted a talk proposal for MooseCon, a VMware-internal security conference, focusing on the cryptographic flaws I found in SPSS a few years ago. I'm really surprised to have never heard of IBM fixing these problems. Do they really not read the full-disclosure list? Hundreds of thousands of employees and no security team, really?
In the interest of conducting a little more research, I started a homemade password cracker on some encrypted .sav files I had around. It discovered almost immediately that the password on two of them was “pspp,” but the rest are still running. Maybe I need a better algorithm than exhaustive search, or maybe I should try to optimize and parallelize my cracker, or maybe I should buy time on AWS or GCE.
Had a nostalgic night out with the first 10 employees of Nicira, at the Counter and then Antonio's Nut House in Palo Alto. It was prompted by Martin discovering that the first Nicira offices on Sherman Ave, just off California Ave, had been torn down. It was fantastic to have most of the team together again, even Keith and Teemu (who left VMware to form new startups). Natasha (who is away on vacation) was missed.
I discussed a paper idea with another NSBU employee this afternoon. I was surprised to find out that his idea was substantially similar to one that I'd discussed with someone else the previous week. I pointed this out in the hope that they'd collaborate on a paper together. We'll see.
In the afternoon I hosted a discussion of the Zookeeper paper within NSBU, presented by a colleague from Nicira. I was particularly interested in this talk because I've heard so much about Zookeeper over the years and yet I've never gone to the trouble of finding out any details about it.
I started writing down details of the SPV format. As usual, actually writing down the details brings up plenty of new questions.
We went to the AFS orientation in San Jose. I took Cassie to the San Jose Children's Discovery Museum in the afternoon. On our way home, we stopped to buy me a pair of hockey skates. Now I guess I need to start skating.
I spent a lot of time in the evening generalizing my SPV parser to work with my growing corpus.
I spent a lot of time today on maintaining the SPSS system file reader and writer in PSPP. I submitted a pull request to fix a bug in a PHP system file writer.
Yesterday a crew removed two trees from the yard of our next-door neighbor. One of them was very large (taller than their 2-story house). The first time I came home after they were removed, I almost went past our driveway—I guess I used the big tree as a visual cue without really knowing it. This morning we noticed that the sun was much brighter in our front room and that we could see much farther down the street. Funny how you don't notice these things until they're gone.
We got our first full-sized egg (2.0 oz.) from Strawberry, one of our chickens, this morning.
In the evening I went over to the native plants garden at Cassie's school to help Kate and a few other parents stake out a plan. We literally used redwood stakes and string to lay out the planned locations of paths in the new garden, based on a blueprint supplied by a designer. We went home when it started to get dark.
Went to a paper discussion session on the Retro paper from NSDI 2015.
Two meetings with people who are interested in writing papers for RADIO, in the afternoon.
The second P4 design group meeting was in the afternoon. I feel like I made a useful contribution, though I did wonder whether I was talking too much.
Kate had hockey around lunch time.
We had a video call with Moritz and his family. We got to know them a little bit. It's so nice that these days you can affordably (usually, for free) call someone halfway around the world to get to know them. We didn't ever get that chance in the 1990s when my family got exchange students—the first time we spoke was the first time we met.
In late afternoon, we went into San Francisco and spent a couple of hours at Musée Mechanique, which is something like an antique arcade. It is chock-full of coin-operated games and amusements from the 19th and 20th centuries. We all had a lot of fun. Afterward, we toured the USS Pampanito, a WW2 submarine that served in the Pacific theater that is docked next to the arcade. By then it was dinner time, so we ate upstairs at Alioto's. Finally we walked down to Pier 39 for the sunset and to watch for sea lions (there weren't any). It was the nicest day we've had together in San Francisco in a long time. It was also a warm day in San Francisco: we had no need for jackets.
We picked up a postcard to mail to Moritz.
Mostly a quiet day at home. I spent a little bit of time with Kate over at the school garden. She harvested over 120 pounds of squash, to be donated to the local food bank.
We had our first egg from our second chicken. And then a few hours later we had our second egg from that chicken! That left us awfully surprised, but after a little reading we found out that chickens really can occasionally produce more than one egg in a day. Both of them were very small eggs (1.0 oz).
In the afternoon I held “office hours” to brainstorm for paper ideas for VMware's RADIO conference. It is very early to start thinking about the conference (the deadline is in January) but still about half a dozen engineers or groups showed up to discuss. It was a spectrum: some of them had never written a paper, whereas one (an intern) was a PhD student of Jennifer Rexford.
The highlight of my work day was a “round table” (actually it was elliptical) discussion with Pat Gelsinger along with about six VMware engineers including me.
In the evening we all went to a birthday party at Laureola Park in San Carlos. I was amazed by the number of people and the amount of food.
Justin Pettit and I gave a talk about OVN at the Bay Area Network Virtualization meetup tonight, organized by Vikram Dham and hosted by Symantec at their local campus. 337 people registered for the event, and although I didn't count there were tons of attendees.
The talk went pretty well. We started getting questions in the middle. At first I took this as a sign that it was a bad talk, but after the end I concluded that the audience was just eager.
When you have a bunch of tenants in a virtual data center, you don't want to place VMs directly on the physical network, because it's hard to make sure that everything continues to work as expected when VMs migrate from one hypervisor to another (let alone to another data center or a public cloud).
In provisioning of VMs, the automation of everything other than networks is taken for granted. Virtual disks, CPU, memory, etc., are all automatically provisioned quickly. When we talked to our customers at Nicira, we found that this was a great frustration. End users could deploy groups of VMs easily and quickly, often within minutes, but they couldn't network them together without involving the networking team, which often take weeks or longer. OVN and similar software make virtual networking as easy as virtual disks.
Some of the bits of the OVN design seemed to really make heads spin. I think the top part was our use of databases as system components. Everyone seems to assume that every system needs to use the trendy NoSQL system of the week, or complicated protocols like Paxos or BGP. OVN doesn't do that, and I don't think it's really necessary.
We also kept getting questions asking where the SDN controller was. I eventually said that if they would define “SDN controller” for me, then I'd tell them where it was. I was being serious, but it just got a laugh and we moved on.
There was one really strange question that stood out, about how OVN would work with mobile hypervisors running in automobiles that meshed data centers together. At first I thought he just misunderstood, but then he made it really clear that he meant what he said by holding up his phone and stating that it was a data center. He might be a visionary or a lunatic. In Silicon Valley, it can be really hard to tell the difference.
Slides are posted.
We got the first egg from our chickens today!
P4.org posted the blog entry that I wrote about P4 in Open vSwitch. It might be a bit too gushing in places, but I do think that P4 is an exciting language and I hope to contribute to its advancement.
Had a meeting with Alex and Justin from my team at VMware and Russell Bryant at Red Hat, to talk over some of the details for integrating OVN with OVSDB VTEP-based physical switches. Russell and I also talked over ideas for implementing Neutron provider networks in OVN, and I later posted the idea that I proposed to ovs-dev. I think that it is feasible.
We cleaned out the guest room, that is, formerly “Lejna's room,” in preparation for it to become “Moritz's room.” There was an amazing amount of stuff in the closet. I tried to get rid of anything that might make a teenage boy uncomfortable, like pink pushpins in the corkboards.
Picked up the pottery that Cassie and I had painted. It looks really nice. The colors and the glaze always come out so nicely.
Last day of USENIX ATC, but I decided to skip the whole thing and work from home on OVN. I'm not getting any work done when I don't ignore things like email or conferences.
Second day of USENIX ATC, and the day of my talk. I spent the morning at home trying to code and catch up on various things, and then finally rehearsing for my talk. I was not happy with the result, but I did manage to refresh my memory of how to give it.
I drove to the conference. I was pleased to meet and talk to Radia Perlman, and others, over lunch.
After lunch, my talk went better than I had a right to expect given the amount of preparation. Somehow it just tripped fluidly off of my tongue. I guess it comes from knowing the material and from having presented the same talk a few months ago at NSDI.
I attended the rest of the afternoon's sessions. I was surprised to see, in a Google session, another reference to Onix being a Google product. Really it was a Nicira creation, but apparently the world doesn't know that.
During the evening reception I found myself reminiscing about VMware with John Arrasjid. Later we were joined by Varun Ganapathi of terminal.com, who wanted the inside scoop on Nicira history. I filled him in until quite late at the hotel bar, then went home.
First day of USENIX ATC. I arrived as the keynote was ended, then attended the two morning sessions and the first afternoon session.
For me, the talk that I find myself still thinking about a bit was about Spartan: A Distributed Array Framework with Smart Tiling. It does not solve a problem that I directly have: I do not work with large arrays that need to be distributed across clusters.
I helped to facilitate a visit from Xi Wang to VMware. Some folks from Barefoot also joined us for lunch and a following discussion on possible relationships between P4, BPF, verification, and other topics. No conclusions.
Dental appointment just after lunch. The rest of my week is looking up already.
The first P4.org design team meeting was held at Stanford in late afternoon, in the same room where early OpenFlow meetings were held. I'm one of a few (the only one?) who participated in both.
We went swimming in the afternoon, then we all went to Kate's hockey game in Fremont. Sharks Ice is a much nicer rink than the others in the area. It has a sports bar overlooking the ice, so we watched the U.S. win the Women's World Cup after Kate's game.
Took Cassie to the kids' parade in Menlo Park. She rode her bike and I walked with her. After lunch we went to the pottery painting shop.
Went to the Oakland Zoo in the afternoon with Kate and Cassie.
An article by David Auslander claims that the term “SDN” is over 10 years old, but this is news to me: Martin Casado's oldest citation is from 2009. Anyone have an older citation?
Meeting at Barefoot in the afternoon. It seems that they are serious about throwing an intern behind P4-in-Open vSwitch, and serious about figuring out the implications. Great.
I am writing a blog post for p4.org.
Back in the office, nothing too exciting going on.
Dinner with friends.
Cassie and Kate and I rented a 4-seater Polaris RZR to drive through the dunes. I drove cautiously at first, trying to figure out how to do it. A few times I didn't attack the dune fast enough and found myself stopped partway up, then had to back down. A few minutes in, I was starting to get a little more comfortable with it when Cassie started crying. She was terrified. We decided to call off that adventure.
We flew home. I had a lot of email waiting for me, but not as much as I thought I might.
Cassie and I waded a long way downstream, maybe a whole mile, and then climbed back up to the dirt road through thornbushes and walked back to the house.
We drove a little closer to the state park and then walked to the falls.
Later in the day we waded into the creek (probably 20 yards from the house) and caught crawfish with nets, then cooked them as a starter for dinner.
We flew from SFO to OTH, Southwest Oregon Regional Airport, and from there drove on a progressively narrower road, which turned to gravel, and stopped at Below the Falls Lodge, a beautiful house just outside Golden and Silver Falls State Park. The house was well outside any cellular phone service area, and had no Internet access. We met Kate's parents there for a long weekend.
The house is unique. The owner built it himself from trees that he cut down on the site, cut into boards with a saw mill. It is beautiful inside. I measured a beam holding up the second floor at 10 1/2 inches by 14 1/2 inches by (eyeballing) 30 feet long. The place is full of amazing wood, trees and parts of trees artistically cut and preserved. The bedrooms on the second floor each have a loft, and to reach the loft you climb up the branches of a tree.
Reviewed another patch from Jesse adding userspace support for Geneve TLV options, filling in another missing piece of the puzzle.
I went to Dahlia Malkhi's talk on CorfuDB in the afternoon. Really an exciting sounding system. I read two related papers in the evening, on Corfu and Tango. Seems that there's a lot to learn from these.
VMware hosted a family movie night (“Frozen”) on the lawn outside my building in late afternoon. Cassie enjoyed running around, and I even got a chance to talk to Martin.
I'm feeling awfully burnt out. Looking forward to spending a few days in Oregon on vacation.
The signed photograph of RMS that I ordered arrived.
RMS is sometimes treated as a comical figure. I don't think that's right. Yes, he's an eccentric. But I can't think of another person who has had as much influence on our industry while consistently sticking to ethics as strong as his. He's a paragon. I will never live up to his standards (how many people will?) but I admire them nonetheless.
I worked from home doing code review for most of the day, trying to catch up. I spent a good part of the day on some of the most intense code review I've done in a long time, reading Jesse's series to add support for Geneve TLV options. I was really happy to finish with it (and to see it get in), because this will be critical for OVN.
Worked on OVN tunnel keys.
Today's highlight was “live coding” a solution to the exercise that I posed for VMware at hackerrank.com. It was a good experience, although I missed a really good way to narrate my thought process as I went. I was tempted to post a phone number that viewers could call to join a conference call. It would have been easy to do, but I think it would have derailed the intent of the organizers and so I did not do it. It seems that VMware is the first company to try this at HackerRank, and that I am the first engineer at VMware to run through it.
(I mentioned to Kate over the weekend that I was going to do this, and I was really surprised that she had heard of HackerRank at all, since she is not a developer. She said that of course she had heard of them, they have a billboard on 101. I guess I miss stuff by commuting by bicycle.)
I have learned that Jobst Brandt has died. I never met Jobst, but I read his book The Bicycle Wheel and all of his articles on the rec.bicycles.* newsgroups for years, and he even answered some of my questions there. (I seem to recall that he excoriated me for failing to stress relieve my wheels after I replaced a spoke.) I am sad.
I put out an offer on the HackerRank competition to send OVN stickers to anyone who sent me a postal address. I've now received 12 requests from all over the world: USA, India, Tunisia, Pakistan. I mailed out a few a couple of days ago, I'll mail more on Monday. Seems like a nice way to generate goodwill. A couple of the people requesting stickers also inquired about jobs, so I passed their information to VMware recruiters. The recruiters seemed really excited about of them—I guess that it's the sort of candidate who is promising but ordinarily difficult to reach.
Attended the ONF leadership meeting in Palo Alto. I was struck by the amount of discontentment expressed in a couple of the sessions. I do not want to contribute to causing problems, nor do I want to be perceived as contributing to them. Not sure what to do, if anything.
I was surprised to find out that Ben Mack-Crane has moved from Huawei to Corsa.
Had an afternoon meeting with Marco Canini from UC Louvain, who was in town to attend the Open Networking Summit. Hoping to be able to help out his research group with a few things.
I helped to judge the NSBU hackathon this afternoon.
First day of the internal NSBU hackathon. I'm not an entrant, although I did stop in briefly for an afternoon social event, so I managed to get a little more OVN coding done.
I had a call with a fellow from HackerRank. I posed a coding challenge on behalf of VMware, and next Monday I'm going to spend an hour “coding live” and answering questions in forums. Seems OK, I like teaching.
Monday of a week with a very busy schedule. Today is the least busy, though, and I managed to get some work done on OVN. I'm worried that I'll be doing less and less coding and more and more project coordination this year. That's bad because I'm talented at coding but not at coordination.
Today's pet peeve is one-time-use websites that require you to create accounts and invent passwords and “security questions” that satisfy their arbitrary restrictions. In this case it was AFS's website to give them permission to do a background check. It took all of five minutes to answer the actual questions they had (basically “where have you lived for the last N years?”), but I still had to come up with a password and security questions, even though I'll never visit it again.
Today's pet peeve is the U.S. government's EFTPS website, which you can use to pay your taxes online. Apparently I can't use it, even though I have my SSN and my password, because I lost some PIN that they apparently send me by snail mail months ago. I mailed them a check instead.
The corresponding State of California website is a little better, which is good because the state will fine you (!) if you try to pay by mailing a check instead.
I spent a few minutes reflecting on why it took me so long to get an event planner. I think part of it must be that I don't like to try to delegate things that I don't want to do myself. Somehow it feels wrong, like I'm just trying to push away the worst parts, even if it's true that others might enjoy that work more than I would.
I had my first meeting with the new ovscon event planner. She knows more about how to plan these events than I do, and I guess that she is better at it too. I look forward to getting the event date and venue nailed down, and then I'll start recruiting for speakers and sponsors (which is the part that I feel more interested in).
I had a stressful morning. I'm trying to organize a series of paper discussion sessions within VMware's networking business unit, and I had scheduled the first one for today. I originally guessed that 20 or so people would attend, so I scheduled a conference room. Then about 90 people signed up, which meant that I had to scramble to find a much bigger room. A helpful admin filed an internal ticket for me on Monday to get one, but when this morning came around there had been no response. I canceled the meeting.
Five minutes later I had an email from the admin. “Do you want Elastic Sky [the nicest auditorium on campus]? It's yours.” So I scrambled again to un-cancel the meeting, arrange for dial-in access, notify my speaker, and so on.
This afternoon the session went off well. We had 82 in-room attendees and about 20 dialed in, and the session was recorded for offline viewing later. Best of all, when I asked for a show of hands at the end for attendees who would be likely to attend a second session in a couple of weeks, almost every hand went up. Success.
(Today's paper was the 1984 classic, Saltzer, Reed, and Clark, “End-to-End Arguments in System Design.” I'm familiar with the paper and its argument, but I still came away with new insight, specifically related to VMware products.)
I got home somewhat early. We drove to Half Moon Bay and stopped at Moss Beach for a while, then went to Moss Beach Distillery for dinner. I recommend the spinach-artichoke dip; although lots of places sell it, it's not very good at most of them.
There was a heat wave today. When I got home, the bathroom was full of chickens, with a note on the door saying “Caution: chickens is here.” Kate had spotted the chickens panting in their coop and penned them up in the bathroom to let them cool down. After the temperature dropped in the evening, we carried the chickens back outside.
Cassie had hockey in the morning, Kate in the afternoon. Cassie and I went to the park and then ate dinner while Kate was at hockey.
Went to the county fair this afternoon. 4-H is heavily involved, so this is the first year we've participated in it, even indirectly, instead of just attending. Our participation was limited to just
In the afternoon I was a judge for the final round of VMware's internal hackathon, the “Borathon.” One of the entries was clearly something that we should do right away; the benefit was clearly greater than the requirements.
Today was the P4 workshop. I presented my experimental implementation of P4 parsing in Open vSwitch. I received a lot of positive feedback about the talk. I'm feeling encouraged—I think that this is a direction that may be worth pursuing “for real” in OVS. I actually found myself convincing myself of that as I wrote up the presentation on it—the benefits, if it worked out, could be major.
I posted my slides for the talk at openvswitch.org. The code for the prototype that I talked about is in the p4-workshop tag of my ovs-reviews repository.
I got my P4 prototype for OVS working. I finished up the P4-to-BPF compiler early this afternoon, then I hooked it up to the BPF interpreter for testing. After a minimum of fussing, it successfully extracted at least the Ethernet and VLAN headers. That's good enough for now.
In the evening I wrote up my slides for the P4 workshop tomorrow.
I've been thinking I smell smoke, wherever I go (home, work, whatever), for the last week, but whenever I ask anyone else they can't smell it. I don't normally have a good sense of smell, and I have a cold now, which would make it worse. Maybe it's a symptom of the cold, but it's not a normal symptom. The weather has been overcast for most of the week, maybe I'm somehow smelling smog? But the “spare the air” website says that air quality is good. I am puzzled.
I tested my P4 parser and got it to work reliably.
In 2012, when we moved into our current house, a neighbor said something about how he was “sorry about the tree but the city won't let me take it down.” I assumed that he was just eccentric, told him I liked trees, and moved on.
A year later I understood what he meant. The tree drops gobs of sap right on our driveway. These things do not come off. They laugh at commercial “tar and sap remover” products. The only thing I have found that removes them effectively is acetone. Acetone is much cheaper than specialty sap removers, but it also takes off paint and clearcoat if one is not careful.
After experimenting over the last few months to find safe way to use acetone, I finally got around today to applying it in quantity. I managed to get all the sap off the driver's side of the car. It took me over an hour, however. Next weekend I hope to clean more of the car.
I'm spending a lot of the weekend working on a P4 prototype implementation for Open vSwitch. So far, I have a lexer, which works, and a parser, which compiles but almost certainly does not work because I have not tested it at all.
I enjoyed reading Jon Carroll's column The Importance of Math in Everyday Life in the newspaper this morning. I apologize that the previous link is paywalled; nothing I can do about that.
Yesterday and today on my commute, I listened to a GitMinute podcast focusing on Gerrit. As you might know, I am not a fan of Gerrit, so I was curious to hear what a big fan of Gerrit would have to say.
I was surprised. Luca, the show's guest, said that the Gerrit user experience was pretty bad, and that it was hard to use. Although of course he is a fan of Gerrit, he said that it is not appropriate for every team (especially small teams), and that it has a steep learning curve particularly for developers who are new to Git.
I was surprised that Gerrit's horrid email notifications weren't mentioned at all.
Back to work. On my way in, I stopped by the post office to mail a bunch of OVN stickers around the country and the world. People really seem to like getting them in the mail.
I managed to tie up a lot of loose ends in the morning, which leaves just the difficult parts for the rest of the week. (Is that a good tradeoff?)
I spent some of the afternoon working on a prototype of P4 for packet parsing in Open vSwitch. I'm presenting this at the P4 workshop next week, so I need something to talk about.
We spent the morning driving back home.
I managed to catch up on email a bit afterward.
Kate and Grace took some of the kids horseback riding, while Roberto and I took the others to the park in the morning. Ate leftover fajitas for lunch.
Went for a hike in the morning. Made fajitas for dinner.
Roberto and I went out in the evening. The original purpose was just to go to the casinos in Tahoe, but when I walked over to the Harvey's box office I saw that there was a concert followed by a comedy show, so I got tickets for both. The concert, by a band called “The Relationship,” attracted my eye because it had a member of Weezer. The comedy headliner was Tommy Savitt. I went in not expecting too much, because the last show we went to at the Harvey's Improv wasn't too good, and I was pleasantly surprised.
We drove to Tahoe in the afternoon, arriving in the evening, and met our friends at a rented cabin.
Today I attended:
“OpenDaylight and OpenStack.” This talk mainly showed all the details of switching network stack control from the OpenStack plugin to OVS over to OpenDaylight. In my opinion, it went too much into these mostly uninteresting details, so I didn't learn too much of substance.
“Taking Security Groups to Ludicrous Speed with Open vSwitch,” presented by Miguel Angel Ajo, Thomas Graf, Ivar Lazzaro, and Justin Pettit. The main point of this presentation was that the features coming in Open vSwitch 2.4 will allow security groups to be implemented in a much faster way than is currently possible with iptables.
“All Together Now: OSS Cross-Collaboration for a Network-Enabled Cloud,” a panel including Justin and some others. I found more interesting and informative than the OPNFV panel from the previous day, although I did ask a question at one point just to change the subject from a discussion between two of the people who had been on that panel.
I learned from this panel that OpenDaylight is not primarily an OpenFlow controller these days. Instead, it concentrates more on the management layer. Thus, there is a more obvious relationship between it and OVN than I had thought before.
Ate lunch with Justin and Kyle Mestery.
Flew home in the afternoon.
Today I attended:
“LXD vs KVM” presented by Ubuntu. I went into this thinking that they meant LXC, which is the code that Docker and other Linux-based container systems use. It was actually about a new system, LXD, that Ubuntu is building. LXD is a container system for “full machine” containers, that is, ones that run a full stack from “init” up, as opposed to the process containers that Docker uses. Yet another point in the design space.
“Neutron: VLAN Aware VMs,” a developer discussion. I was really surprised to see such a big crowd for this, probably over 100 people. It seems that there are lots of operators who want logical VLANs for their VMs; about half of the sizable number of operators in the room raised their hands when polled on whether they needed this feature.
It would not be too hard to add this feature to OVN. The main question is how to handle gatewaying to physical networks, since we're planning to subdivide gateway ports by VLAN. QinQ?
The main use case for logical VLANs seems to be NFV.
An OPNFV panel discussion. Dreadfully boring. I should have left after the first 5 minutes.
An informal meeting with Alessandro Pilotti about Open vSwitch on Hyper-V. He wants to make sure that OVN is built from the beginning to work well on Windows.
“Highly Available, Performant VXLAN Service Node.” I don't have anything to say about this, it was just what it said on the label.
“Docker Networking in OpenStack: What you need to know now.” This talk showed how to make VMs and Docker containers talk to each other on unified logical networks using a (presumably proprietary) PlumGrid plugin to Neutron. (OVN can do this too, and I didn't realize that it was special.) I kept expecting there to be more but really that seemed to be all of it.
Ate a fantastic dinner at Yew, in the Four Seasons hotel, with Justin Pettit and Bruce Davie and Thomas Graf.
Ate breakfast at Tim Horton's, with Alex Yip. I had not realized before that this chain is just like McDonald's.
I spent some time in the morning with Justin Pettit, Russell Bryant, and Kyle Mestery, watching them do a practice talk and giving a few suggestions. I had an idea from the slides (over 30 of them) that it would be difficult to fit it in a 40-minute slot, but in fact the run-through took less than 30 minutes, including a demo.
At 2:00 the actual run of the talk went well. I stood outside the door at the end and handed out OVN stickers. Lots of people asked for multiple to give out to colleagues.
Some Debian developers had organized a meet-up following a 3:40-4:20 session, but there was some kind of mixup and only two of us showed up. I met Clint Byrum, at least. He wrote down his GPG key signature and I agreed to sign it.
I went to a talk “Super Duper OpenStack and Docker Deployments” at 4:40 but it turned out to be an advertisement for a startup's monitoring software.
The OpenDaylight project hosted a very nice party at a restaurant named Al Porto. Justin and I attended and talked to several of the developers there. We wanted to smooth down some feathers, if any were ruffled—after all, OVN is a controller too and could be perceived as competing with OpenDaylight—but in fact everyone seemed to understand the difference.
Justin and I bailed early from the OpenDaylight party to attend a dinner among the OVN developers at a Japanese restaurant near the Hyatt. I was surprised to see Bruce Davie and Chris Wright there since I hadn't noticed them earlier at the conference (it turned out that they'd been delayed in travel).
This is the first OpenStack summit that I've attended. I am looking forward to figuring out how this community works.
I spent an unreasonable amount of time in the morning buying a phone SIM and trying to get it to work. Why do wireless carriers have the worst websites? The one from the 7-Eleven “Speakout” service actively fights against phone browsers. 7-Eleven wouldn't take my corporate credit card, either, so I'll have some trouble expensing it.
This is a very large conference. I think I heard that there are about 4000 people here.
There is less food than I normally expect to see at conferences. No breakfast, and not much food at breaks.
“Virtual Networking in OpenStack: Neutron 101” by Kyle Mestery and another presenter. I'm only starting to work with OpenStack a little bit, so it was helpful to get an overview.
“Building Managed Private Cloud for Enterprises with OpenStack and MidoNet” because on the OVN team we don't know enough about Midokura's products.
“Optimizing Contributions with Globally Distributed Teams,” a panel discussion. I think listeners new to the topic would get some benefit from this, but I have been doing distributed development for too long to learn much.
“Here be dragons—Translating OpenStack.” I learned about the Transifex web service for translation. It sounds like the primary benefit from this service, as opposed to the common practice of passing around .po files, is that it avoids having to submit the new .po files to the maintainers by hand. I had only heard of this tool previously in an email thread where Richard Stallman told GNU maintainers not to use it.
“The Big Tent—a look at the new OpenStack projects governance.” The sort of talk that I would normally avoid, but I figured that I need to know more about how OpenStack functions.
“Lightning Talks, Sponsored by HP.” Most of these talks were actually by HP employees or about HP Helion, which I found disappointing.
The booth crawl from 6 to 7:30 was really crowded. There was plenty of beer, but hardly any food. I spent the time peering at nametags for names that I recognized, but I did not see any, other than for people I knew well already.
After the booth crawl, there was a Neutron meetup in a neighborhood about a kilometer away from the conference. This was the most rewarding part of the day. I spent the whole time talking to various Neutron contributors. I was pretty surprised to find out that everyone knew about OVN already and were generally in favor of it; some were really excited, in fact. Open vSwitch has a positive perception, even though the OVS plugin to Neutron does not. (The Neutron developers clearly distinguish these, even though the larger OpenStack community tends to conflate them.)
It appears to me that OpenStack has a higher proportion of female attendees than RADIO or NSDI.
Flew to Vancouver to attend the OpenStack Summit. Vancouver looks like a nice city, in the dark at least.
San Carlos Hometown Days. We went to the parade in the morning and ate lunch at the food booths, then in the afternoon we helped out at the 4-H booth.
Still having some trouble with the home wireless network even after living here for 2 1/2 years. This afternoon I did a little research on wireless APs and decided that the 100 mW transmit power in the APs I have might be partly responsible. I ordered a new unit with 800 mW power. With luck, I'll be able to replace both current APs with this single unit somewhere in the middle of the house, with better results.
George Varghese came to VMware today to present some of his recent work and some thoughts for the future. I think that we might have some interests in common, so perhaps we'll try to collaborate or at least to meet again to discuss further.
I had a couple of meetings today with people about OVS and OVN. One of them was very promising—I think we might get some very useful contributions to OVS on the OVSDB front later this year.
Last day of RADIO. The other two papers presented by my team were today. I was session chair in the final session of the conference. The sessions seemed to be running consistently a little behind schedule, so I intentionally kept my introductions very short. “Our next speaker in the session is Ethan. Here's Ethan!” My philosophy is that it's about the speakers and we need to give as much time as possible to them.
This is the longest day of RADIO since it starts early and ends late. Following the evening events, a few of us from the Open vSwitch team met up with my friend Mike Dalton at Bourbon and Branch, a fancy cocktails place near the RADIO hotel. I had not been there before. The drinks were good, but I am not sure it makes up for the very slow service. The others who had been there before thought it was slower than usual. I had been careful not to drink much before arriving there, to avoid a hangover later, but I could have had a bit more since we only managed two rounds in two hours. Keeping things moderate isn't all bad anyway.
First day of VMware's internal “RADIO” conference. I enjoy this conference but I'm involved with it enough that most of the papers aren't really a surprise.
This year I had a booth in the Expo to explain OVN. We gave out stickers, went through a spiel, and answered questions. Today only, we also gave out pieces of cake decorated with the OVN logo. It was trouble getting the cake. First I walked to the nearest grocery store, a Whole Foods, but their decorators only work in the morning. Also: “We can't do anything in black. Black has chemicals in it. We only work with natural food dyes.” Whatever.
Then I walked farther along to the nearest Safeway. Safeway's decorators had also gone home, but the store was happy to sell me a blank cake and a tube of (no doubt chemical laden) black decorating icing and other supplies. I carried everything back to my hotel room and put the OVN logo on the cake myself. It looked OK.
One member of my team presented his paper today.
Mother's Day. I had given Kate her gift yesterday. She did not like it, so I've now arranged to send it back and get something else instead. Cassie's present, however, was more successful: chocolate is always welcome!
Had Lucila and her family to dinner for the first time in forever. I made jambalaya, which Lucila says is a lot like the Brazilian dish moqueca. Strawberry-rhubarb crisp for dessert.
Finally got the car back from the shop, after two week. The dealership replaced the compressor, the evaporator, the condenser, and numerous tubes and hoses. I am so glad that this is warranty work.
The full OVN stack is now checked in, and today I checked in a fix for a bug that had made it in due to lack of testing for revised patches. I tested that it all works now.
Back from NSDI. Lots of meetings.
Last day of NSDI. I didn't have much patience with the talks.
Got delayed on my way home by BART delays due to a broken track near the Civic Center station.
My favorite talks of the conference were today: Succinct: Enabling Queries on Compressed Data and PCC: Re-architecting Congestion Control for Consistent High Performance.
Justin and I hosted an OVN BoF in the evening, but few people showed. We had informal conversations with those who did.
I accepted the “best paper” award for the paper “The Design and Implementation of Open vSwitch” on behalf of the 12 authors this morning at USENIX NSDI 2015. I delivered the talk just after lunch, at 2pm.
I spent more time working on my presentation for NSDI. Teemu gave me a lot of great feedback on my slides, that should make it a much better talk.
Kate is really unhappy that I'm going to be away so much this month.
I spent much of the day preparing for my NSDI presentation on Monday. The result seems like it will be much better than the hastily thrown-together version I used for a test run yesterday at work.
Kate and Cassie spent the morning at a scavenger hunt at Happy Hollow in San Jose. (They won! Best time out of 7 teams.)
In the evening Kate and I attended a murder mystery dinner party. I had the role of Banker Bob and Kate the role of Banker Bonnie. My role was a bit of a stretch for me. As my character sheet said, “As the bank owner of Deadwood, you are a businessman first. Your bank and your money come before everything, including your wife Bonnie.” I had a hard time ignoring her most of the night, especially since her character sheet said that she would do “anything” to get my attention. Both of us had a lot of fun.
OVN works! I tested it and fixed a couple of bugs that I found, but it was basically working based on the patches from last night. (Another developer had claimed that he got it working before my patches, but we later figured out that this involved a mistake.)
We received an update from the car dealership: the AC compressor exploded and sent metal shrapnel through every rubber belt or hose nearby. All of them need to be replaced. It will take until next week. We are surprised: this is a 2014 car with less than 10,000 miles on it.
I posted patches that complete a demo milestone of the end-to-end OVN system. Not yet tested.
I spent my morning at the Stanford Computer Science Department 50th anniversary celebration. I remember Dan Boneh's talk the best. I found his slide on the “crypto wars” insightful. Quoting:
First crypto war (1975–6): Attempt to classify open crypto research. Outcome: first amendment triumphs.
Second crypto war (1994–5): Attempt to enforce key escrow (Clipper chip). Outcome: public outcry triumphs.
Third crypto war (2015–6): Attempt to require backdoors in every encryption product. Outcome: ???
He also pointed out the sequence, predicting a fourth crypto war in 2035.
I went to the Stanford Computer Science Department 50th anniversary dinner in the evening. It was pleasant to speak to professors and former students I knew from when I was a student, and to others who were before (or after) my time.
When I left to bike home, the department chair (Alex Aiken) was getting on his bike too. The idea of riding a bike in a suit and jacket seemed unusual to me, and I said so: “Don't you ruin the pants?”
“No, I tie them up.” Well, yes.
“But what about the seat?”
“Oh, every couple of years I'll hear a tearing sound in class, and then it can be a little embarrassing for the rest of the day.”
I made a strawberry-rhubarb crisp in the morning. Delicious.
I took Cassie to her hockey practice. Afterward, the car stalled repeatedly pulling out of the parking lot. I pulled into the lot at the next business down the street and called the Ford assistance number for a tow. The tow truck driver took me to the nearest dealership, where I put the keys into a night drop box (being Sunday, they were closed) and took the train home.
The tow truck driver speculated that the AC compressor belt had failed, since when he turned off the AC the car seemed to behave better.
We spent the evening at a party at a neighbor's house. Nice people.
I posted patches that were much improved from the RFC ones from Wednesday.
I helped give feedback on presentations for VMware's internal “RADIO” conference for much of the day.
Worked from home again to keep up my momentum, but I was derailed significantly by reviewing financial documents.
In the evening a pair of houseguests we had been expecting arrived quite late, around 9:30. We greeted them and let them go to bed. They were gone (to the airport) at about 4 am the next morning, before any of us were up.
I posted OVN patches that come close to a complete working system in RFC form at the end of the day.
I worked from home and got a ton done on OVN.
Felt a bit better so I went in to work.
Feeling sick, maybe worse, today and did not want to do anything active. I did help slightly with the cleanup day at Cassie's school.
I finished building the shelves on my fancy cat tree.
I got the basic logical pipeline table generation code working for OVN. We're getting closer.
I was still feeling pretty sick, but I had meetings that I didn't think I should skip so I went in anyway.
Leslie Lamport came to VMware in the afternoon. After the main VMware gathering in the auditorium, there was a special conference with Leslie for just the principal engineers. This is my favorite PE perk.
I have not been feeling entirely well for a few days. Today I was feeling really sick. I worked from home.
I got the OVN expression code checked in. I am really happy—this code is elegant and it should make other parts of OVN easier.
Back to the office. I tried to catch up on email.
We flew home.
The morning highlight today was a horseback ride for all of us, with Betsy and Jess, across the battlefield at Gettysburg. Our guides told us something of what they knew. It was not a full tour and we did not go far, but we enjoyed it.
We ate lunch at the Appalachian Brewing Company.
In the afternoon Betsy and Jess gave us a tour of Gettysburg College, where they work. It is full of beautiful brick buildings, many of which date from the Civil War.
We drove back toward DC in late afternoon and stopped at a hotel. Kate returned the car while I took Cassie to the pool.
Our day began with the Cherry Blossom Festival Parade. We took the metro to the parade. We had pre-purchased bleacher tickets. We watched most of the parade. We felt restless and wanted to avoid the big rush to leave, so we took off a little early and made our way back to the hotel. Ate lunch, then we picked up our rental car and drove to Gettysburg, which was a 2 or 3 hour drive.
We arrived at Betsy and Jess's apartment in late afternoon. We spent a long time playing charades based on a card deck that Betsy gave Cassie for her birthday.
We all ate dinner in downtown Gettyburg at a Chinese restaurant named Ping's.
The three of us went to our hotel. I took Cassie to the pool before we all went to bed.
We visited the National Zoo in the morning. After lunch at the zoo, we made our way to the National Mall for a tour of the monuments. We visited the Lincoln Memorial and the Korea memorial. I don't think I had been to the latter before, or at least I did not remember it. It was moving, with the statuary of the soldiers walking through the rice paddy.
We walked through the FDR memorial park and around the Tidal Basin to the Thomas Jefferson memorial, then to the booths at the Cherry Blossom Festival.
Everyone was tired, so we went back to the hotel to rest for the afternoon.
In the evening we met Olivia at the Hard Times Cafe in Alexandria. (The DC metro serves northern Virginia as well as DC!) After dinner we went to a custard shop for dessert, which was altogether too much food. Kate and Cassie went back to the hotel on the metro. Olivia and I stayed out for a while to have a drink at a local bar, then I went back to the hotel too.
We visited the Library of Congress, Jefferson Building, in the morning. The exhibit showing Jefferson's original library made the greatest impression on me. It's not very big by modern standards but it's diverse and it gives the feeling of history.
After that we proceeded to the Supreme Court. I was surprised to see a depiction of Muhammad in one of the friezes. We had an early lunch at the Supreme Court cafeteria. It was a real find, some of the best food on our trip, lots of home-cooked food. I had a homemade cabbage roll and roasted yams, and Kate and Cassie shared slices of turkey cut for us right off the bird. All for about $6 a person.
From there we went to our congresswoman Jackie Speier's office for a tour. I was really impressed with the friendliness of her office staff. I know that they greet hundreds of constituents a month but they still act like each visitor is someone special. All of her staff took time to tell us about themselves and what they do. After bagels and coffee one of her interns took us through the underground tunnels to the Capitol, where we were privileged to skip the long lines for tours. After the general Capitol guided tour, we used the passes that her office had provided to visit the House and Senate chambers.
We met Olivia in mid-afternoon. We had cupcakes at a cafe to celebrate Cassie's birthday. Afterward, we toured the botanical gardens with Olivia, then ate dinner together at a Thai restaurant. Cassie lost a tooth during dinner. She was very proud.
We ate breakfast at Dunkin Donuts near the hotel. I don't eat much fast food, so it was actually somewhat novel.
We spent the day at the Smithsonian. We started out at the Smithsonian “Castle” that acts as a sort of headquarters for the museums. From there we went to the Air and Space Museum, then after lunch to the Natural History Museum. I was most impressed with the original Wright Brothers airplane at the Air and Space Museum, even though I had seen replicas elsewhere. The Wright Brothers are some of my greatest science and engineering heroes.
Had dinner at an Ethiopian restaurant named Meskerem with my friend Olivia, who lives close to DC. Afterward Olivia and I went to the hotel bar for a couple of drinks, then Kate and I traded off and Cassie and I went to bed.
Flew to Washington DC with Kate and Cassie.
Scrambled to tie up loose ends before going on vacation with my family.
Any number of people have contacted me about my thoughts for the ONF Extensibility Working Group and its future, now that Jean Tourrilhes has resigned as chair and left ONF. Here are my current thoughts, to give me a place to refer people in the future.
First, I don't think that anyone is going to be able to step into Jean's shoes. Jean was so thorough, so knowledgeable of the OpenFlow specification and its history, and so willing and able to use a great deal of his valuable time for the working group, that no one can match it. Simply on that basis, the extensibility working group is going to change.
Second, we now have numerous ways to extend the spec without changing the main specification. This means that working groups outside extensibility can do their work without needing to go through extensibility. There is this perception that extensions are second-class citizens, compared to what actually goes into the main specification. I think that we need to fight against that: extensions, when released through a reasonable process by a reputable group, are just as legitimate as incorporated pieces of the main specification.
Finally, I think that it's OK to slow down. It would not be the first time that we've had a period during which only bug fixes go into the spec. The new features being proposed now are pretty limited, and vendors need time to catch up to 1.4 and 1.5 anyhow.
Major progress on my fancy cat tree. I wove and stapled vinyl into a pattern along the post, punching holes to expose the holes in the post. I built and tried out a couple of prototype cat shelves, finally just before bedtime coming up with one that worked out OK. The cats were happy with even the prototypes that I rejected, though.
Today was Jeremy Stribling's last day at Nicira/VMware. He was one of our early hires, and one of our distributed systems experts. We had a farewell lunch in his honor at Steins in Mountain View. End of an era II. Too many of those coming along lately.
Jean really has left ONF now. There was no Extensibility WG meeting this morning because OpenFlow 1.3.5 was released, which was his final goal, and thus he very quietly stopped organizing the meetings. End of an era.
In the afternoon Justin and Guru and I went up to San Francisco for a meeting with Madhu from Socketplane (now acquired by Docker). Docker has beautiful offices up there, I'm jealous (and I say that as working from the rather nice VMware offices in Palo Alto). We had about a 90-minute meeting to talk about integrating OVN with Docker. It sounds like there are two important steps. First, for basic integration, Docker has to implement its proposed network plugin architecture, which is planned for Docker 1.7. Second, for better integration, Docker needs to support labels on its network endpoint objects (though we can work around this until then).
Worked from home all day and managed to send out some patches for converting Boolean expressions to OpenFlow flows in OVN. Pretty happy with them.
I made the ginger pork with gojiberries recipe for dinner. It's a house favorite around here ever since I received a clay pot for Christmas a couple of years ago. I don't follow the recipe exactly: I substitute cranberries for gojiberries and any cooking wine I have on hand for the plum wine. It's delicious. I wonder whether it would be better with the “real” ingredients, but it's hard to imagine how.
I put the foam on top of 3/4-inch plywood and upholstered it, around the hole, using staples to hold the fabric in place. No problem. I did have to cut half an inch off two sides of the foam because my plywood was only 23 inches wide. Unfortunately I poorly chose a marker for marking the place to cut so now I have some blue marks bleeding through in few places on the fabric. Oh well, the cats won't care.
Spent a lot of the day at home working on my fancy cat tree. I drilled 17 1-inch holes through a 4x4, plus 17 half-inch holes perpendicular to them, generating a huge pile of sawdust in the garage.
In the evening Kate had her hockey championship game. Her team won the “Stanley Keg.” Cassie and I went to watch.
I dropped by House of Foam in Palo Alto and bought a 2-foot square chunk of 3-inch extra firm upholstery foam for the base of the cat tree. Good upholstery foam is expensive (about $75 after tax for those 4 square feet) but it's comfy as heck. There's no way you can bottom out on 3-inch foam even if you just rest one knee on it. Bob Tallman at the store kindly cut a 3.5x3.5 inch hole in the center of the foam for the cat tree post.
Second day of the promotion reviews. Only a half-day. In the afternoon I managed to get some work done.
In the evening I got an inspiration to build a fancy cat tree over the weekend, so I went out to Home Depot and Jo Ann Fabric and bought a big pile of wood and fabric and paint. Let's see how it goes.
Spent all day in a meeting with all the other VMware principal engineers, going through candidates for promotion to senior staff engineer and principal engineer. It was less stressful and boring than I expected. Everyone up for promotion is very good, and we approved most of the promotions.
As a matter of habit, I always come to a complete stop at stop signs (on my bike). Since no one else does, I always get to go first. Sometimes this makes people mad. I think that a lot of drivers think that drifting forward slowly is the same as stopping.
Continuing to work madly on OVN Boolean expressions, making excellent progress on writing tests. I'm taking an exhaustive testing approach, by writing code to generate all possible Boolean expressions (up to particular limits) and testing that the various necessary transformations on them do not change their values. I've found and fixed tons of bugs, including many memory leaks, this way.
We put the rest of the plants into the ground in the afternoon. It's much easier digging in the yard than last summer, because we've added 6 inches of soft compost and wood chips. Really quite easy now. The soil is amazingly moist when you dig down an inch or two, despite our long spell of dry weather.
In late afternoon Cassie and I biked to Burton Park and played bocce.
A shipment of plants arrived yesterday, so we put them plants into the ground, then in the afternoon Kate went off to a nursery in Half Moon Bay to get some more.
Wow, all three of the papers that my group submitted to VMware's internal RADIO conference were accepted as short or long talks. I can't say how impressed I am!
I took the afternoon off from work and we all went into San Francisco for a last day together. As late afternoon approached, we took Lejna to the airport, ate dinner, and saw her off. Goodbye Lejna!
Starting to get really annoyed the number of on- and off-list email inquiring about documentation and examples on how to integrate Open vSwitch with hardware ASICs. These inquiries usually come from employees of ASIC vendors. There is no documentation and no examples for these purposes specifically because the policies of these ASIC vendors prevent them from being published! You guys fix your policies, and then people will start publishing code for your chips. Don't complain to me: it's your fault and you, not I, have the power to fix it.
Lejna's departure is coming up in two days. Everyone is starting to mope and moan a bit about it. We'll miss her.
I took a Schlage lock cylinder that I had mis-keyed into work with me today. I took it to the lockpicking interest group and, after about 30 seconds of instructions, spent about 5 minutes fiddling with a tension wrench and a pick and sprang it open. I carefully popped off the retainer ring and fitted a rekeying cylinder into it.
Locks really aren't that secure if a rank amateur can open one in 5 minutes with a couple of bent pieces of metal.
We hosted a going-away party for Lejna at our house. A lot of her friends that none of us had seen in a long time came to the party. We had a lot of good food, but the best was a strawberry-rhubarb pie that Kate made. Probably the best I've ever had.
Mailed my tax paperwork to my tax preparer. Not too happy with them because they say they're charging an extra $75 just to consider the new ACA healthcare laws; that should take them about 3 seconds with me since I have employer-provided group coverage. They also charged me an extra $240 last year for estimated taxes. If they try to charge me for both of those this year, then I'm going to find someone new.
Pi Day Eve (and Friday the 13th). VMware gave away “Pi”nt glasses at their Friday afternoon celebration. I stopped by just long enough to pick one up.
Got a prototype implementation of code to convert Boolean expressions into OpenFlow flows working in OVN. I'm happy; it seemed like it was taking too long. Still a lot of work to get it finished and bug-free though.
Program committee meeting today for VMware's internal RADIO conference. All three of the papers that I coauthored were discussed, although I don't know the decisions. A very long day: the discussions ran from 8 am until about 6:30 pm.
Sunday night, I introduced Lejna to the Rocky Horror Picture Show. Back when I was a teenager I learned all of the audience participation lines, and so at the beginning, at least, I was calling out pretty often, but I quickly got tired of doing it alone.
Kate and Lejna think Rocky Horror is pretty weird; they're not wrong.
Got familiar yesterday with what might be a new chore every year or two. About a week ago, we noticed that the swinging glass door on the shower in the master bedroom had started to hit the fixed frame. Not good—if it hit too hard it would surely chip or break. Yesterday I finally looked up the procedure for adjusting it. Loosen the screws top and bottom (required an unusually large Philips #3 screwdriver), adjust the position carefully, tighten again with screwdriver. The door is heavy and unwieldy enough that I had Kate do the tightening while I held it in place.
I responded to a couple of surveys from ACM on open access to research. I'm so glad to see that ACM is thinking about opening up its publications to the world. It's a “moral imperative” in my opinion, in the words of an answer to one of the survey questions. USENIX manages to do this, without charging those who submit papers, without charging ridiculous membership dues, and still retains high quality conferences and submissions, so I don't know why ACM can't do the same thing.
This evening was the annual Spring Gala from the San Carlos Education Foundation, which supports the San Carlos public schools. Kate and I won the auction for a vacation for 8 in Montana at a dude ranch. The trip has to be between November and April, so I guess we're in for a winter vacation.
Went out tonight with Mike Dalton, a friend from Stanford, to Dave & Busters in Milpitas. We ran out of games we wanted to play pretty quickly—they have less variety than I remembered from years ago. It's pretty much all shooters and racing games, other than the ticket games that are really only fun for kids. I do like shooters and racing games, but I can only play them for so long. The best game was a new Star Wars game with a pretty immersive view, although the controls didn't seem too responsive.
Getting a lot done on OVN. Hope to get out another patch series next week.
Jarno and I biked home together, as we do from time to time. Jarno has a brand new carbon fiber Cannondale with fancy electronic shifting. It's noticeably lighter than my aluminum Trek from 2002. I think we were about the same speed before (when he was on a $300 hybrid), but now I have to work to keep up. It has a built-in power meter. He reported that we were (well, he was) using 300 W to go up the first hill and that he got up to 450 W briefly on another. I'm surprised—I had an idea that only pros could put out over 400 W.
Back to code reviews today. I've been ignoring them for a while to get some coding done on OVN, but they really piled up. I spent the day on reviews. The most significant result was that I was able to commit the SPBM Auto-Attach support from Dennis Flynn at Avaya.
I spent a lot of time over the weekend thinking about how to reduce the general Boolean expressions that I want to use for flow matches in OVN to the form that Open vSwitch supports. I think that this comes down to what one might think of as a nonstandard “normal form” that so far I think of as “disjunctions of conjunctions of disjunctions.” Today, I had a good conversation with Tim Hinrichs, the best guy I know in logic, about the possibilities. I was a little surprised to learn that this isn't something that I can just read a bunch of papers about. Maybe, if I come up with a good solution, there'll be a paper to write about it, who knows.
Spent most of the day with some friends, first at Coyote Point and then later at home. We rarely see these friends but when we do it seems like we always spend a long time together.
Finally got a little way into The Art of Community only to realize that all of the figures are missing. A web search shows a few other people with the same problem. Fortunately none of them so far seem important to the message but only really for amusement.
Had a meeting at Mesosphere. They helped us to understand how the container model works in the environments that they work in. It also sounds like OVN is a pretty good match for what they need for DCOS. I was pleased to see Christos Kozyrakis again; I don't think I'd run into him since I was a grad student years ago.
It's so great going to go meet people at startups. The energy level and the excitement is so high, I really enjoy it. And Mesosphere is in a nice building, only a short walk from Caltrain. Some day…
Went to listen to a Customer Advisory Council session on NSX this morning. When I saw one of the attendees, it reminded me of how the classic example of separation between tenants is always that Coke and Pepsi don't want their opposite number to be able to spy on their secrets—one of them was in attendance!
Kathy Griffin came to VMware today for an hour-long interview. Kate came to campus for it and we sat in the second row. I like a lot of Kathy Griffin's humor, although some of it goes over my head because I don't keep up with celebrity news. Before the interview I had not realized that she had been on TV (“Suddenly Susan”) or that she was such a trailblazer among female comedians.
Kate and I went out to dinner afterward at Parkside Grille in Portola Valley. I was surprised to find a non-lumber-based business so far off the beaten path.
I've spent the last couple of days of actual coding time (as opposed to work time) working on a lexer for OVN, to use as the bottom layer of the parser for matches and actions. The strategy that OVS uses for parsing OpenFlow from strings is terrible. I don't want to repeat that mistake with OVN. Maybe it'll even be possible, eventually, to use some of the same code to parse OpenFlow.
The chicks are now 5 days old. They have grown visibly since we first got them at 1 day old.
Since Lejna has to leave for Bosnia again soon, we want to spend her last few weeks doing as many fun things as we can together as a family, so in late afternoon we went to Dave & Busters in San Jose. We played games for an hour or too, then had some dinner and went home.
I shingled the roof of the chicken coop, with the cedar shingles that I bought last weekend. It took a few hours because I had never done anything similar before, but it wasn't really difficult.
I spent much of the day making up a fairly detailed task list for OVN, and then I published it, getting some useful feedback already.
I got the OVN design documents to the point where I was comfortable publishing them for public discussion. I received more comments than I expected, and quite quickly.
In the afternoon I attend “Unconscious Bias Training” in VMware's cafeteria with a lot of other people. I was nervous about whether it would be useful or a waste of time, but I was pleasantly surprised. Given what I was focusing on, it was a surprise to get a text from Kate in the middle saying “Going to get chicks now.” Indeed, when I got home, there were a couple of chicks under a heat lamp in a plastic bin inside the chicken coop.
I had a really productive day getting together some OVN design documents for internal review.
Kate and I went out for a date to John Bentley's, a nice restaurant along El Camino in Redwood City.
Kate's parents left for the airport around noon. I spent late afternoon first buying lumber and shingles for the chicken coop, then shopping around town for a trunk or storage bench with a lock on it. I had pretty much given up on finding what I wanted until I stopped at an antique store (“Antiques Then & Now”) near our house. They had a lovely old cedar chest with built-in felt-lined compartments and a lock (with the key!). The price was right so I took it home.
Kate and Cassie and Grandma Pam went out for much of the day. Dave and I spent an hour or two mixing and pouring cement into some gaps between boards by the chicken coop. It will provide a step up for Cassie and keep chicken poop out of difficult-to-clean spaces.
Valentine's Day and Kate's birthday. Birthday presents (those diamond earrings I bought last week!), chocolate, lunch out. I made Irish stew for dinner (Kate's request). I took Kate's parents to watch her hockey game at 10:30 pm.
Checked in a fix for a bug that was reported via the Open vSwitch security mailing list as a vulnerability. (The commit is titled “mac-learning: Implement per-port MAC learning fairness.”) I am not convinced that the bug itself is that big of a security vulnerability, because it is only a problem if users regard MAC learning as a security feature rather than an optimization. I spent a bunch of late-night time on fixing it on Wednesday night, though, because it seemed to me that it was a serious publicity vulnerability: the bug's “security researcher” reporter seemed a bit breathless about it, and had already given a talk about it at a security conference back in September (!). Also, I had a query from CERT about the whole thing. Since it was in my power to fix it, without too much trouble, that seemed like the best solution.
The solution adds a lot of mildly tricky code. A bug could be bad. The fix was reviewed by a few very good programmers, though, so I think that the risk is minimal.
I think that the fix is better than what typical physical switches implement. I like that it is adaptive, that is, there is no need to have any settings or knobs for users to tweak, it “just works” out of the box.
I wish that the reporter had let us know before making this public, instead of months afterward. (Would I have responded as quickly? I don't know.)
Kate's parents arrived today, to stay for the long weekend.
Our new(er) car has heated seats. I didn't think they'd be useful in our area with such mild weather, but they were part of some package that included other features that we did want. In the last week I've found that they're nice sometimes though. One day I was a bit wet from rain and the heat (at the lowest setting) felt nice and helped to dry my pants. Today, my back was a little sore, and the heat on my lower back was very soothing.
Kate showed me in the morning that yesterday she had attached the front and roof to the chicken coop. Now it just needs some finishing touches: chicken wire over ventilation holes, shingling the roof, and I don't know what else.
The loud weird sounds we heard last night were revealed today to be a pair of raccoons mating outside our bedroom window, on top of the garage. I hope they don't mess with the wind vane.
Went to an event organized by Amplify Partners in the evening, at Gravity in Palo Alto. I've been thinking a lot lately about the lack of women in (my part of) the tech industry. This kind of event really exemplifies it: I did not notice any women in attendance at all. I did enjoy it, though.
Lunch with Yatish Kumar from Corsa. Hi Yatish!
The rain continued. Kate and I spent most of the afternoon working on the chicken coop. We got the floor and the sides built and attached, and the front ready to go on. At that point it was dark and still raining, so we called it a night.
Two very different kinds of shopping today. In the morning, Lejna and I went to Shane Co to buy diamond earrings for Kate's birthday (after all, she had them pierced just for me). In the afternoon, all of us went to Home Depot to buy plywood and other supplies for building a chicken coop.
Hard rain most of the day. In the morning I helped set up the school book fair, then due to the rain I drove into work. Finished up the NSDI revisions and sent the paper in to our shepherd. Spent some time discussing the OVN database schema with Justin. I left the office about 5:10 and due to traffic it took about an hour to get home, about twice (three times?) as long as going the opposite way at 10:30.
A long day. I took Caltrain to meet Dan Talayco in Mountain View for breakfast, where we talked over our ideas about ONF and P4. Then I took Caltrain back north to Palo Alto, where I assumed I could catch the next Marguerite or VMware shuttle to campus. I was wrong. It was just before 10 am when I arrived, and all the shuttles and Marguerites had already gone for the day. I gave up on working from my office and just went home to work from there. (I'm not a big fan of working from home because then I end up working all day long instead of just when I'm in the office.)
Today I realized that revisions for the team's NSDI paper are due to our shepherd on Friday, and that I essentially hadn't done anything yet. I scrambled toward getting it done.
Kate and I visited our new financial advisor for an initial meeting. It's easier than I expected, so far.
Came back home from the leadership summit.
Passing through security at the New Orleans airport and preparing to collect my things from the conveyor, I had to basically dive to grab my laptop and my phone, which were about to hit the floor because the bins they were in were flipping up and over due to incompetent an X-ray operator. I grabbed all my stuff and walked on, and then 100 yards away I realized that I was missing my watch. I walked back but it was gone and the TSA personnel were less than helpful. Assholes.
Kate and Lejna picked me up at the airport. Kate had had her ears pierced! I asked her a while ago to do it. I like the way it looks.
Final day of the leadership summit. More speeches and Q&A sessions. We finished up the project planning exercise with Afterburner. A Superbowl Party was held in late afternoon.
The summit took up all day, from 7:30 in the morning until 10 at night. The breakout sessions on planning a “mission” in teams, by Afterburner, were much more entertaining and also more useful than I would have guessed. I especially appreciated their discussion of the value of their debrief advice: always do a debrief, whether the mission is successful or not, and keep it nameless and rankless so that you get honest feedback.
Today's highlight was the evening event. At 6:30, a marching band came parading along Canal Street, and all 200 of us at the conference joined in behind it. We followed the parade along Canal, turned onto Bourbon, then a few more turns and finally onto Royal where the band directed us into Latrobe's, where we had a fantastic 3-course dinner.
I spent the day up to 1 pm working on finishing touches for two SIGCOMM papers (the deadline was 2 pm). By then I was starving, having skipped breakfast, so I walked down to the river along Canal Street and walked along the boardwalk into the riverside mall, where I ate crayfish étouffée at a local (seeming?) place in the mall food court.
The conference got under way at 5 pm with a reception followed by speeches that lasted until 9:30 pm.
Traveled to New Orleans for VMware's internal leadership conference. Got in late after some delays in the airports on both ends. Ate dinner with a couple of colleagues. Feeling a bit rundown from a cold, so I went to bed without exploring the nightlife.
Tonight at midnight was the deadline for research paper submissions to VMware's internal RADIO conference. My team submitted three papers. I had my doubts about some of them for a while, but I think that all three of them turned out strong. If it works out, maybe some of them will turn into public papers in a while.
Recording audio wasn't much harder than writing text, and I tended to do it in the same place and at roughly the same time that I'd write text anyway. But I had an idea that I'd start getting new inspirations or make different use of an audio medium than I would a text medium. (Also, I had just bought a USB headset anyway for to be on the Packet Pushers podcast.) It didn't happen. So maybe I'll give it another shot later, but I think I'm done with audio for now.
About the OVN announcement.
Some rambling thoughts that bubbled up today.
Packet Pushers Podcast about Open vSwitch.
Books of 2014:
John Scalzi, “Red Shirts”, 2012, 978-0-7653-1699-8, 5B.
Sinclair Lewis, “Babbitt”, 1922, 0-451-51897-7, 9B.
Dick Francis, “Banker”, 1982, 8, 0-449-20262-3, 8B.
Ivo Andric, “The Bridge on the Drina”, 1945, 0-226-02045-2, 8B.
John le Carré, “The Spy Who Came In From the Cold”, 1963, 0-7434-4253-9, 7B.
John Evangelist Walsh, “One Day at Kitty Hawk”, 1975, 0-690-00103-7, 9B.
Ben MacIntyre, “Operation Mincemeat”, 2010, 978-0-307-45328-0, 7B.
Amanda Cross, “In the Last Analysis”, 1964, 0-380-54510-1, 4B/3D.
John Scalzi, “Fuzzy Nation”, 2011, 978-0-7653-6703-7, 9B.
Umberto Eco, “Foucault's Pendulum”, 1988, 0-345-36875-4, 6B.
Lawrence Block, “Sometimes They Bite”, 1964, 0-515-07407-1, 7B.
James White, “Tomorrow is Too Far”, 1971, 5B.
Dick Francis, “Proof”, 1985, 0-449-20754-4, 8B.
Kirk Mitchell, “Cry Dance”, 1999, 0-553-57914-2, 6B/6D.
Dick Francis, “Come to Grief”, 1995, 0-515-11952-0, 7B/8D.
Poul Anderson, “Orbit Unlimited”, 1961, 6B/7.5D.
Sue Grafton, “R is for Ricochet”, 2004, 0-425-20386-7, 7BD.
Dick Francis, “Come to Grief”, 1995, 0-515-11952-0, 7B/8D.
Sue Grafton, “U is for Undertow”, 2009, 978-0-425-23811-0, 6B/4D.
William Poundstone, “Prisoner's Dilemma”, 1992, 978-0-385-41580-4, 7B.
Janet Evanovich, “Visions of Sugar Plums”, 2002, 0-44903-00699-8, 5BD..
Tim Dorsey, “Hammerhead Ranch Motel”, 2000, 0-380-73234-3, 5B/5.5D.
Carl Hiaasen, “Skin Tight”, 1989, 0-449-21941-0, 7BD.
George Eliot, “Silas Marner”, 1861, 7BD.
Ron Hansen, “The Assassination of Jesse James by the Coward Robert Ford”, 1983, 8B.
John Irving, “The World According to Garp”, 1976, 0-345-41801-8, 7B.
Lilian Jackson Braun, “The Cat Who Moved A Mountain”, 1992, 0-515-10950-9, 6B.
Peter Carey, “True History of the Kelly Gang”, 2000, 0-375-72467-2, 8B.
John D. MacDonald, “One More Sunday”, 1984, 0-449-20703-X, 6B.
Harry Kemelman, “One Fine Day the Rabbi Bought a Cross”, 1987, 0-449-20687-4, 6B.
Lilian Jackson Braun, “The Cat Who Saw Red”, 1986, 0-515-09016-6, 6B/6.5D.
H. G. Wells, “Collector's Book of Science Fiction”, 1987, 978-0-89008-208-8, 8B.
Dick Francis, “In The Frame”, 1976, 0-449-22116-4, 7B/6D.
Lawrence Block, “Time to Murder and Create”, 1976, 0-380-76365-6, 5B.
Paul Levine, “Fool Me Twice”, 1996, 0-380-72590-8, 5B/7.5D.
Nicholas Meyer, “The Seven-Per-Cent Solution”, 1974, 345-24550-4-195, 6B/8D.
Neil Gaiman, “The Graveyard Book”, 2008, 978-0-06-053094-5, 6B.
Dick Francis, “Enquiry”, 0-671-44926-5, 6B/6.5D.
Noel Malcolm, “Bosnia: A Short History”, 1994, 978-0-330-41244-5.
James White, “The Dream Millennium”, 1974, 356-24012-X-125, 5B.
George Orwell, “Down and Out in Paris and London”, 1933, 8B.
E. E. “Doc” Smith, “The Skylark of Space”, 1928, 7B.
2014. 2013. 2012.