• Archives

  • Categories:

  • Other profiles

A Tale of Two Cell Phones

“It was the best of times, it was the worst of times.”

I love my work, but that’s not always a good thing. I’ve been conscious of the risk of burnout for some time now. I take on a lot of work (paid and unpaid), struggle to maintain close personal relationships, and last year I had so much on my plate that I came closer to the edge than I ever had before. I had to make some changes.

The first was re-affirming my commitment to taking a day off per week. In 2013 I started taking Saturdays off. I sometimes say that the internet is “write-only” on these days, I may tweet about what I’m doing because I often do fun things, but I don’t read/respond anything until the day concludes. I will always have improvements to make here, but I am mindful of how important taking this day is, and how my well-being suffers when I don’t do it, or if am less diligent about my rules surrounding the day off.

The second was diving into a hobby that, while it will likely leverage countless tech skills eventually, is very different from anything I’ve worked on in the past and lets me build things: model trains! I’ve also started writing more on paper, both in the form of letters to a handful of pen pals (with varying frequency) and by starting to get into calligraphy.

The third was continuing to establish clear boundaries between paid work and everything else. Just like my interest in OpenStack propelled my work at HP, my belief in the success of Apache Mesos and fondness for DC/OS means that I enjoy and believe in my work at Mesosphere. There’s always more to learn, more to get excited about and share with the world. My queue of demos, blog posts, tutorials, talks and other things I want to do at work extends far beyond what I’ll ever have time for. To make sure I don’t risk trying, I strive to work no more than 45 hours each week at my day job, and aim for closer to 40. Travel always complicates things, but if I spend a Sunday speaking at a conference, I will often take a day off during the week to balance things out. In fact, I’m doing that today! There is a lot I can write about time management around travel, but that’s for another blog post. In this post I’m going to talk about cell phones!

Having a work phone is a popular thing, but it’s something I’ve resisted for a long time because it was hard to make it work in a practical sense. I almost exclusively use my personal email address for correspondence in my open source work because that community identity transcends employers, and is something that will follow me around in my career. That means I get GitHub emails for DC/OS work commits in my personal account right along with Launchpad notifications for Ubuntu. I do use my Mesosphere and DC/OS email accounts when I’m acting in a specific capacity, but just like my use of my Ubuntu email address, it’s done with intent. While working on OpenStack the communication method was IRC, which I also use for other open source work and I also hang out on a couple scifi IRC networks. For me, it all made untangling these things for the purpose of working on separate devices more challenging than it’s worth.

Things have changed some since then. In the Apache Mesos and DC/OS communities we use Slack to chat. I actually do find myself using work email address a lot more, and that is the address I use to interact with the tools we use to track a lot of our work (like Jira). As a forward-thinking startup, we also use apps for a bunch of stuff like HR tooling and expenses.

While my personal open source identity is still important in these communities, in this new role I’ve been able to draw some clearer lines than I have in the past. As a result, a few months back when my mother in law passed away and we found ourselves with her nearly-new phone, I decided to give the work/personal phone split a try. Here’s how it’s broken down:

Work phone: A Nexus 6 on Project Fi (by Google). I’ll probably upgrade to the new big Pixel when it comes out in October. With Project Fi I get international data coverage for the same rate as domestic, and decent international rates for voice/text, should I need to use them (rare). This phone has all my work apps with alerts turned on, plus all my travel apps. I also do keep personal apps and email accounts on here, because this is the phone I need to use when traveling internationally, but I turn off alerts for those unless I’m actively using the phone in that capacity. I carry this phone with me during weekdays, but usually not on weekends unless I’m traveling for work.

Personal phone: A Moto Z Play on Verizon. I got the Verizon plan a few years ago when I wanted a hot spot with better (and different) domestic coverage than my phone, which was on T-Mobile, then AT&T, then Project Fi. The hot spot was incredibly handy, but I may consider getting rid of it since my phone supports tethering. This has no work apps on it, just personal apps with alerts turned on. I always carry this phone, engagement with the community on social media is part of my job and I do still do that primarily with my personal account.

This experiment began in the beginning of April, and I think I’ll stick to it. Here’s what I’ve learned:

  • I carry a purse, which makes carrying 2 phones easier, but it’s a pain to walk around the office to meetings with a laptop and two phones unless wearing a hoodie or some shirt that has giant pockets
  • Two phones do not, however, fit into the lovely clutch I bought in Paris and bring to fancy events and parties
  • I now have to charge 2 phones at night, and one of them is USB-C, no sharing of chargers
  • Only one phone can pair with my Android watch at a time, I picked my personal phone, but it is a shame that Slack alerts don’t come to my watch
  • I only actively use one phone number, fortunately I don’t do voice calls for work much (we have Slack! Hangouts! Zoom!)
  • The Moto Z Play was a “free” phone on Verizon’s plans around the holidays, picked for my mother in law but it’s actually a decent phone, though with 16G of storage space I’ll soon run out
  • It’s helping, I am appropriately alerted to work stuff on weekdays when I should be, and not tempted to randomly check work email on weekends

Two phones? It barely fits the one!

I also have a more distinct split computer-wise these days. My work laptop is the only one I log into work-only things with, it’s the only place I store my work ssh keys and other credentials. I used my personal desktop a lot more for work on OpenStack, but the setup on my desk at home actually works for this split, and my work laptop is the most powerful system in my fleet these days, so it makes more sense to use that one for all my local DC/OS work and demos anyway.

Through these work/life balance experiments I’ve been learning a lot about myself and how I work. It was easy to believe that being “on” all the time helped me be a better employee and a better community member, but that’s not true for me. It was obvious very quickly that making sure I don’t work too much has increased my creativity and energy at work, and reduced my stress. But I’ve been surprised to learn how much physically splitting my work spaces even just on my phones and computers has done even more to support these improvements. I no longer check work email at 2AM when I can’t sleep and then forget to reply to it the next morning. And even though I write blog posts and event reports both for work and personal projects, splitting up what computer I do that on helps makes them different so I don’t tire of it. You may not be able to reach me at all times these days, and I do still forget things, but I believe I’m starting to do a better job of juggling everything now that I have these boundaries.

Paid and volunteer tech, SF tourist and trains

As June wound down and July rushed in, both MJ and I happened to friends in town the same week leading into the 4th of July weekend. Pile in extra time at work for both of us and we’ve been busy.

At work I have started to be the community team representative for the Bay Area Apache Mesos User Group meetups. Marketing has long handled logistics of these events, so my role has been more along the lines of welcoming attendees and playing MC so that the speakers feel welcome and the event runs smoothly.

On June 28th my first opportunity to speak at one of these events came up as I had to quickly fill in for a colleague who couldn’t make it into town for it. The event was on Microservices and SMACK Stack on Azure (strictly speaking, SMACK is: Apache Spark, Apache Mesos, Akka, Apache Cassandra and Apache Kafka, but like the LAMP stack you can swap out like components). Continuing a partnership that also included some internal collaboration that week, we partnered with several folks from Microsoft for this public event.

Prior to the meetup I worked with Patrick Brennan, who was our on-site Mesosphere liaison working with the team at Microsoft, to discuss preparations for the demo at the meetup. Since he was all set up with Azure already and my own time was limited, he tossed up a cluster I could use for the demos and then we made sure we had all the access controls in place to run the demo. I then collaborated with speakers Rob Bagby and Julien Stroheker who work on the Azure team over at Microsoft to put together an agenda where I’d lay the foundation for their talks by introducing DC/OS and doing a quick demo of the SMACK stack running on Azure. I’m quite happy to say that even with limited time to prepare, and my own lack of experience with Azure, everything came together. The ability to run DC/OS anywhere you want is something that makes me so proud to work on it so I can share the power of that flexibility with others.

Following my 20 minute primer and demo, Rob gave us a live tour of the Azure UI to demonstrate the mechanisms for using DC/OS on it. He including tips from the Learn DC/OS on ACS collection of documentation that he maintains, which I had only recently learned about and is incredibly valuable if you’re looking to run DC/OS with the Azure Container Service (ACS). His talk was followed by one from Julien, who is one of many folks working in the DC/OS community to come up with open source tooling to get DC/OS to do their bidding on specific platforms (cloud, on premises). In his case, he’s built a proof of concept DC/OS autoscaler for clouds, right now supporting Azure. The PoC code can be found on GitHub: julienstroheker/dcos-autoscaler.


Julien Stroheker sharing autoscaling

One of the most rewarding things about my job right now is seeing community-based efforts like this being created and shared. Just last week we held an office hours where we spoke to Flach Jauffrey and Benjamin Vouillaume who have written boot2dcos, which they’re using to turn employee desktops that are unused at night into DC/OS agents to process workloads. When employees leave for the evening, the machines are shut down, PXE booted to load up a Linux image and DC/OS and get to work. Very cool stuff.

But, as much as I enjoy it, enough about work! I took my first formal vacation day since I started in January the day after the meetup to spend the day with David, who was in San Francisco for a few days. His visit was one stop of several during a trip around the country by train that took just over two weeks. I admit that I’m a bit jealous of the ambition of his train trip. My own single cross country train adventure in May was just three and a half days, and went one direction. He did an entire clockwise loop that took him down south, through Texas and the southwest, up through California and then on to the Empire Builder, a route that goes further north than the California Zephyr that I took. Jealousy around his time on trains aside, I was very happy that he included a stop in San Francisco during his journey.

The day we spent together began in Union Square where we got him a transit card so we could get around the city all day. We also got an obligatory photo together next to the Powell Street cable cars. He had been to San Francisco many times, so we forewent the cable car ride and focused on spending the day at places he hadn’t seen yet. First on our list was Japantown! I love sushi and promised I’d give him a tour of my favorites so I could try to convince him to enjoy sushi. Alas, I’m quite sure I failed. He ate it, but even with my expertly crafted varietal mix of sweet, spicy, fishy and less so, it seems my dear friend is just not into sushi. I did enjoy trying though. While we were there we also stopped by Chocolate Chair, which is one of the many liquid nitrogen-driven ice cream shops that have been popping up. Their most recent claim to fame is Dragon’s Breath (SFGATE article here), which are colorful, flavored cereal puff balls that are infused with liquid nitrogen so that when you eat them fog very amusingly comes out your nose and mouth. Dragon! David bravely partook, I helped myself to a few, but mostly enjoyed my own very delicious bowl of strawberry ice cream.

The rest of the afternoon was spent over at the California Academy of Sciences. It’s one of my favorite science museums, and with it right there in Golden Gate Park and proximity to the MUNI Metro line, it’s a convenient and delightfully San Francisco place to visit to get a bunch of experiences at once. We hit the highlights of the museum: the living roof, the huge rain forest domed environment, the planetarium, the penguins, a bit of the aquarium. They also have a great Pterosaurs: Flight in the Age of Dinosaurs exhibit right now that I really enjoyed. When the museum closed at 5 a quick walk took us to the metro line that took us back downtown, where our adventures concluded with a lovely Mexican dinner at Tropisueño, and cupcakes over at the Metreon. Well-fed and a bit tired, his next train awaited him across the bay, so I saw him off on a ferry that would take him to the train station where he’d catch the Coast Starlight north. A sad farewell for me, for sure, but he had another week of train adventures ahead.

More photos from our touristing day in San Francisco here: https://www.flickr.com/photos/pleia2/sets/72157685698889625

As I mentioned, MJ had a friend in town that week too, a childhood friend who comes in a couple times a year and stays with us. When in town she works from an office out here, and then her and MJ do dinners and weekends together. I met up with them for a couple meals (including an evening at Kabul Afghan Cuisine down in Sunnyvale, must go back!), but mostly kept myself busy on my own. MJ and I did get to enjoy a dinner alone together on Friday, going over to my favorite local restaurant, Anchor & Hope, which we hadn’t been to together in some time. The food is great, the beer list is one of my favorites in the city, it’s just a block from home and in general it’s a comfortable place because we’re so familiar with it. A perfect place for a dinner together to reconnect and relax.

On Saturday, July 1st I wandered up to Berkeley to do what ends up being a quarterly trip to pick up the latest pile of comic books for the series I’m reading. As I may have written before, I’ve always enjoyed graphic novels and had an interest in comic books, but cost prevented any serious following as a youth, and it was only since Marvel came out with the Princess Leia series a couple years ago, and several other Star Wars titles, that I really started getting into them as an adult. Today I’m following the Wonder Woman reboot (rebirth), a selection of the Star Wars titles, and then I pick up a few here and there as they come up (a Lost in Space series last year, American Gods this year). A friend of mine also clued me into the six DC/Looney Tunes crossover comics that turned out to be really great. I was able to find a few of them while up there shopping too, and then went to eBay to grab the remaining ones. I drifted from the comic book store in downtown Berkeley over to the one closer to Rockridge, picked up a couple more books, and then I was hungry! That’s how I ended up with my solo lunch at Zachary’s Chicago Pizza in Oakland. It was delicious, and if you’re going to have a lunch by yourself, you might as well make it a giant plate of dough, cheese and tomatoes.

The next day Caligula got his second Golden Gate Park visit! It was fun for the four of us to get out. Plus, with how excited my normally lazy cat gets as soon as he goes to the park, it was nice to have three of us there to take turns walking him around where ever he wanted to go.

Soon, all friends had departed and our city was our own again. I promised MJ some quiet time during the long 4th of July weekend, so we decided not to make plans for the holiday. But we did make plans to go up to Richmond to visit the Golden State Model Railroad Museum. On our way up to Richmond we stopped at our favorite BBQ place, so we were happy and full by the time we saw the trains.

I had just recently learned about the museum from a friend at a Linux meetup and it’s run by the East Bay Model Engineers Society (EBMES). The members of the society maintain all the track layouts and then open the museum to the public on Sundays when they have trains running. It seems like a really interesting way of being a model train hobbiest, the building that houses it is big and I’m sure very few people have the space to make very much in their own homes, especially here in California where basements are rare and houses themselves tend to be smaller than elsewhere in the country.

It was a lot of fun talking to one of the members there. We told him of our recent Amtrak journey and geeked out a bit over the best passenger routes around California, even day trips that can be pretty interesting. He was right in my head when he mentioned you could take Amtrak up to Sacramento for the day and go to the train museum there (I still haven’t been!).

Getting to see all the trains running and people fiddling them got me an even more firm understanding of the scales. I had been considering N scale because I won’t have a lot of space (planning on putting my layout in my office, once I have one), but once I saw people working on them up close I think I’m going to go with HO scale. It’s the most popular (though N has been catching up), and it’s big enough to show nice details and not feel like I’m going to break a tiny delicate thing. It’s also small enough that I think I can enjoy a cute layout without taking up massive amounts of space. It was also interesting to learn how separate-worlds the different scale groups are, these people get super specialized in their scales and don’t really answer questions about the other scales. There also seems to be a friendly rivalry between them all. I also met a little girl who was super excited about all the geek stuff I was wearing, which was super sweet, and I hope convinced her that adults can sport train engine earrings and wear Star Wars t-shirts forever.

The visit was inspiring too. I’m somewhat tempted to buy a couple kits to start playing with things before I have space for it, just because I’m excited. Resisting for now though, I shall have space soon enough (within the year, I hope!) and I have enough other projects for other hobbies to keep me busy in the meantime.

A lot more photos from the museum here: https://www.flickr.com/photos/pleia2/sets/72157683695335350/

While we were up in Richmond we also saw signs for the Rosie the Riveter/WWII Home Front NHP museum. I had no idea it existed, it’s a little warehouse building not too far from the model railway museum. The museum starts with the focus on Rosie the Riveter and the changing roles of women as WWII progressed, but also touched upon general life at home in the US during and just after the war, the internment camps for Japanese-Americans and more. The displays were bright and interesting, and well organized. Unfortunately we got there pretty late in the afternoon so we had to skim through the exhibits pretty quickly. I’d like to go back at some point to view it properly, there’s also a short movie that goes along with the exhibits that plays regularly throughout the day and they do events there, so it might be worth looking at a calendar for when we can make time to go up again.

More photos from our visit to this museum here: https://www.flickr.com/photos/pleia2/sets/72157682967715334

I mentioned in my last general update post that I’d started doing a bit more work with Partimus lately. Last Friday MJ departed on a week and a half long business trip and so on Saturday I made plans to meet up with our executive director at one of the low-income housing facilities in the tenderloin, just beyond Union Square. For the first hour I worked on debugging an issue with guest sessions failing to log in. It was an issue we’d seen across all the locations that we service and ended up being impossible to diagnose remotely with the tools we had. Sitting there digging through logs and doing tests finally led me to figure out what was going on, the details of which I shared here. Essentially the command to remove the temporary guest users was failing due to a stuck lock file so the system was adding a guest user every time someone logged in until it couldn’t make any more (it hit UID 999). I wrote a script to remove the lock file and delete stray users that any of our volunteers can run if this happens again, but I’ll bake a more permanent solution into a custom Lubuntu ISO I hope to help build soon.

However, the main goal of this visit was to take a look at the PXE boot server that one of our volunteers built. It’s been tested and works for installing 32-bit Lubuntu, but we want 64-bit and in general need to do an audit and document what this server does so we can improve it, and replicate it on other sites as needed. This introduced me to the basement of the building, where lots of spiders live. I get along with spiders, but there was also no internet access or cell signal down there, so I brought along my handy portable hard drive (one of my best investments ever!) and cloned the drive so I could work on it at home. I won’t get to it this weekend, but I hope to carve out some time next Sunday to start digging into it.

I’ve been staying incredibly busy with work this week and would love to write about that now too, but that will have wait until another blog post. It’s 10PM and need to get to bed soon. I need be on the road by 7:45AM tomorrow morning to get down to Santa Clara for the Cloud+Data Next conference. I’ll be giving a Day 2 Operations talk in the early afternoon. It’s a talk that I was uncertain about before I gave it the first time, but it’s really grown on me, and I’m really proud of the improvements I’ve been putting into it. Wish me luck tomorrow!

June in San Francisco

Upon returning from Philadelphia on June 11th, Caligula was pretty upset. MJ got into town a few days earlier, but left for work all day and then spent much of the weekend away. Two weeks is a lot of time to leave him with only the company of a friend dropping by every couple of days to check on him, and he let me know with an afternoon of yowling and snuggling.

He’s been a very different cat since the loss of Simcoe. We always thought that she was the one following him around for snuggles, and I’m sure that was the case, but he’s been spending a lot more time snuggling me, on the couch, under the covers in bed. His unhappiness being left without humans is a big change too, he really doesn’t like being left all alone. We had no idea. Plus, recently we’ve also had to contend with some health uncertainty with him. His calcium levels have been running high, and I had to drop him off at the vet a couple weeks ago for a day of tests to see if we could get to the bottom of it. Alas, we haven’t, but a lot of major things (like leukemia) have been ruled out and so we just have to move on to symptom treatment once he sees a cardiologist about a potentially enlarged heart, which could influence his treatment plan.

I’ve spent a little time since my return on getting up to speed with the latest work Partimus is doing. We’re now in six low-income residences in San Francisco with over a dozen machines, many of which are high end systems donated recently by a local company. We also have a new imaging server created by one of our volunteers, which I hope to find time to have a look at and see about adding the 64-bit Lubuntu image to, as well as documenting the configuration so that it can be replicated at other sites. I spent some time this weekend updating Partimus.org so that the information on the site is more up to date and cleaned out some of the old materials we had floating around. I also did some curious digging into our foundation documents and discovered, as I had suspected, that 2017 marks the 10th anniversary of Partimus being incorporated as a 501(c)(3). I wrote a blog post about it here: Partimus celebrates 10 years.

Last Saturday MJ and I headed up to Napa before he headed off for a work trip on Sunday. The day began with furniture shopping though. Our sofa bed recently broke, and it’s growing increasingly creaky as a couch. It’s unusable as a bed at this point, and for a guest staying with us this week we’ve had to get an air mattress. A new couch is needed! We ended up in Concord at a leather store browsing some potential candidates. I think we found one we want, we just need to figure out what color we’re going to go with. I also got some great ideas for furniture in my future office, there is a really nice Dreamsations chair-and-a-half that lives as a big comfy chair, but folds out into a comfortable twin size bed.

After the furniture shopping it was up to Rutherford Hill Winery to pick up our wine club wines for the quarter. It was hot, possibly the hottest day of the season with the highs brushing up against 100. It was 98 outside as we cooled off in the wine tasting room. I spent a few minutes outside taking pictures of flowers and the view, but even this west coast dry heat is hot when the temperatures soar that high.

It was then off to a late lunch at the Bouchon Bistro just south of Rutherford, in Yountville. We went there during our first trip to Napa last spring, but it was a whirlwind weekend trip where we tried to squeeze the best of the valley in all at once. This time Bouchon was a destination for us. With 3:30PM reservations, we arrived at the tail end of brunch, with staff setting the tables for dinner. Our food selections were very dinner-like though. We kicked off the meal with caviar with some toasted bread, and I had a White Apron beer by Anderson Valley Brewing Company in Boonville. Next up were the entrees, MJ picked the winner with a dish of gnudi with fresh truffles, and I went with what was pretty much a lobster macaroni and cheese, also delicious but not quite as exceptional. By the time desserts rolled around, we were getting full, but desserts of chocolate brownie “bouchons” and fruit with meringue were a bit too amazing to resist. After the meal, our journey home took us over the Golden Gate bridge for a nice evening in before MJ’s trip.

More photos from our jaunt up to Napa here: https://www.flickr.com/photos/pleia2/albums/72157685503327645

While on the topic of food… I made eggs! I’m not much of a cook, I lack the patience and interest required to pull off more than just the basics. As a result, until a few weeks ago all I had ever made egg-wise was scrambled and hard boiled eggs. Unfortunately or me, my favorite eggs are over easy. I finally decided that I should learn how to make them without ruining them, it can’t be that hard, right? I fired up YouTube and piled on the patience. It turns out patience was what I’d been missing in past attempts. I hover over the eggs and then try to flip them much too soon, what I need to do is let them cook a whole lot before flipping is easy, and then I just need to let them cook for a few moments longer to finish cooking the whites. At 35 years old it may seem terribly amusing to onlookers that I just figured this all out, but I really don’t cook. It’s a big deal for me. Over easy eggs forever!

Sadly, after Napa, food was the last thing on my mind. The day MJ left was the day my stomach decided to ruin my week. I went to the gym mid-day, seeking some air conditioning in what had turned into quite the warm weekend in San Francisco too. Unfortunately the gym lacked air conditioning, but the fans did their job and I had a good workout. That afternoon I felt incredibly tired (just the gym, right?) and by Sunday night I was feeling queasy. Monday morning I had a full on stomach bug, complete with a mild fever. The fever went away and I was feeling better by Tuesday evening, I thought maybe the heat wave had just hit me the wrong way and I started rehydrating. Wednesday night I was hit with the second wave of illness which kept me up for much of the night. I went into work Thursday morning, but left mid-day to see a doctor, who gave me a prescription to treat the nausea that wasn’t allowing me to keep any food or liquids. Pile on some over-the-counter meds for other symptoms and gallons of re-hydration liquids, and you have my Thursday afternoon and Friday. Fortunately I was well enough to work from home (bed), though the slight fever did return Friday afternoon (ok, maybe I wasn’t well enough to be working, even from bed). Friday night and into Saturday I continued my attempts to hydrate and eat bland foods, but a massive headache swept in, that I kept in the realm of tolerable only through regular doses of Advil. I spent the day in yesterday, but I managed to go out to dinner last night with MJ and a visiting friend, though I was cautious and didn’t eat very much.

While I thought I was feeling better on Tuesday I snuck downstairs to a Bay Area Linux Users Group meeting just a block from home. I figured if I wasn’t feeling well I could just leave midway through, and I wanted to attend to talk about the latest Debian release (9.0, code name Stretch)! So attend I did, bringing along Debian stickers and my Stretch toy. It was a small dinner, but lots of nice conversations about Debian, recent changes with Ubuntu, and even some model trains after I geeked out about my new interest and subsequently learned about the Golden State Model Railroad Museum, must go!

With MJ back in town, Friday morning we went to the eye doctor to pick up new glasses! I’ve spent the past several years with Flexon frames, they’re super light and resistant to abuse due to their ability to bend. I switched things up this time and went with Airlock frames, which are in the family of rimless glasses. It’s quite the departure for me, and I don’t like change, particularly when it has to do with how I look. But I had also just gotten a whole new haircut that went shorter than I’d previously gone, so apparently I’ve been in a change mood. I think it worked out, I’m happy with both the glasses and the haircut!

Today I’m feeling better. The headache isn’t bad enough to require treatment today, and I’m trying to take it easy. I did spend about 90 minutes getting some fresh air while MJ was out with his friend. I walked a couple blocks up to Market street to check out the Pride parade. Once I grew tired of the crowds I walked up Market to Ferry Building to pick up a small lunch, champiñones (mushroom) empanada and dulce de leche alfajor at El Porteño. From there I took a few pictures of street cars before wandering back home.

More photos from my brief glimpse of the pride parade here: https://www.flickr.com/photos/pleia2/albums/72157683422410420

The month winds down this week. I’m helping to host a Meetup at work on Wednesday and taking Thursday off to spend with a friend who’s in town visiting, we shall do all the San Francisco things! Then we have a much-needed a four day weekend for the 4th of July.

Scanned 1915 Panama-Pacific International Exposition booklets

Back in 2015 I became a little obsessed with the Panama-Pacific International Exposition centennial events and exhibits in San Francisco and wrote about it here. As I wrote then, I’d been fascinated with the World’s Fair since I was a kid. I didn’t mention it then, but I also think part of what I loved about the historic World’s Fairs was that it brought the world to your doorstep. My family was not wealthy and my eclectic interests as a youth didn’t seem like they’d raise me up at all, so travel seemed beyond my reach.

Now that I’ve joined the ranks of nerds taking over the world, and have traveled a respectable chunk of it, I found myself in a position in 2015 to visit these exhibits, and even invest in some real pieces of them. In January of 2016 I purchased a trio of 100 year old books from the PPIE off of eBay for about $20 each.

They’re all in remarkable condition for being 100 years old. No doubt they’ve been carefully tucked away for much of their lifespan. It’s now 2017, they’ve been sitting on my shelf, kept out of the light, in their archival plastic bags. Last week I needed something to do that would make me feel accomplished but wouldn’t be intellectually draining, I should finally scan them all and share them!

So I did. It probably took me about 6 hours to scan, crop, and create the web pages where the 164 images now reside, but it has been completed. You can view, and download, regular and high resolution scans of all three of the books here: http://princessleia.com/ppie/

Some of my favorites from the collection are either beautiful, bring up memories or are simply amusing to me.

From the Official Miniature View Book I was amused by the Detail Figures of Fountain of Energy. In particular, the men riding a walrus and an elephant seal. I’ve since picked up post cards of these two and will be getting them framed for my office.

Also from this view booklet was a reminder of how much we accomplished in the 20th century, Art Smith’s Aviation Flights. In 1915 flight was a brand new technology, and only an exceptional breed of risk-takers were flying planes, some for the entertainment of the public. Indeed, Art Smith took the place as the official stunt flyer at the PPIE when the previous one, Lincoln J. Beachey, tragically died at the fair after losing control of his monoplane and plunging into the bay. Smith himself died when his plane crashed in 1926 while in the service of the US Post Office doing overnight mail service between New York City and Chicago. It continues to be astonishing to me that today flying by air is not only routine (particularly for me!), it’s the safest way to travel.

From the PPIE: Beautiful booklet, my favorite image lived up to the title. The showcase building of the event was the 433 foot Tower of Jewels, and helped give the fair the nickname of “Jewel City.”

The last photo in that booklet also holds a special place in my heart, The Liberty Bell. From my adopted hometown of Philadelphia, this was the first time the Liberty Bell came to San Francisco. I recently hit eBay again to snag a well-worn souvenir plate from the PPIE with the Liberty Bell on it.

From the Colortypes booklet we again have colored images, this time including one from the Tower of Jewels Illuminated at night. They’d did a light show in the evenings, which showed off the array of glass jewels that covered the tower and I hear played very well with the bay fog.

Finally, a colortype of the Palace of Fine Arts. This is the building that was preserved when the rest of the fair was torn down, though it was completely re-created in 1964-65 when the original, meant-to-be-temporary structure was demolished and replaced with an identical one made of poured concrete.

It’s so close to the original so the view from today (or, 2015 when I took this photo) is very similar to what they would have seen in 1915.

It was nice to finally get these all digitized so I can now tuck the originals back in a safe place, where they can hopefully remain intact for another 100 years.

A couple weeks in Philadelphia

The end of our adventure across the country on a train last month, landed us at our townhouse in Philadelphia on Monday evening, Memorial Day.

Our week was pretty busy. MJ had plans to stay through Sunday and I was staying another week beyond that. I work remotely much of the time, and so a full time remote schedule when I’m back east isn’t disruptive to my routine, and I end up getting a lot of work done before my west coast colleagues wake up. Work-wise I had a very productive couple of weeks!

We did have a revolving door of contractors visit us throughout the week though. The townhouse is new, but there are a number improvements we wanted to make that weren’t offered when we bought and a few closing items that needed to be completed by the builders. The first was getting some electrical work done, including some lights above the shower stalls upstairs, and a few more outlets put in key places, like directly behind the TV and in the utility closet. Later in the week we had a tankless water heater installed (and the nearly-new tank heater we replaced successfully sold on Craigslist!) and a whole house humidifier that my sinuses will be grateful for come winter. There’s still work to be done on the place, and things to figure out but I am very happy with how much was completed.

We had a few lovely dinners with friends and family. I was able to make time over the weekend to clean up the little garden out front, though I expect when we return it’ll be overgrown with weeds again, one of those things we haven’t quite figured out yet. I met the neighbors and had a great chat about involvement in the HOA and issues concerning the neighborhood.

When we were planning this trip, we happened to look at the schedule for Citizen’s Bank Park and learned that our SF Giants would be playing the Phillies while we were in town! We snagged some great Diamond Club seat tickets for Saturday and went with our friend Danita.

Now, it would have been better Giants-fans-wise if we had gone to a game the night before, when we watched the Giants shut out the Phillies 10-0 while having dinner with MJ’s sister and her husband at a local restaurant. Alas, we went on a day that the Phillies won 5-3. It was a fun game though, no clear winner as you got to the later innings, with the Phillies getting 4 runs in the bottom of the 7th and the Giants trying to come back with 2 runs at the top of the 9th. It was a gorgeous day to be at the park for a 4PM game, warm, but not too humid, and the sun was out. On the way home we stopped for some Rita’s water ice.

More photos from the game here: https://www.flickr.com/photos/pleia2/albums/72157684649648515

Come Sunday MJ was on his way back west, but first we snagged some east coast Chinese food before getting him packed and on the way to the airport.

The week that followed for me was also pretty busy. On Monday I saw Wonder Woman with my best friend, and it was awesome! On Tuesday I hopped on an Amtrak up to New York City to meet my boss for a meetup at the WeWork space near Union Square on “Managing Microservices & Fast Data w/ Apache Mesos & DC/OS.” The weather was nice, so I walked from Penn Station to Union Square, grabbed a coffee as I got some work done, and then met up for the meetup.

\
Flatiron Building in NYC, during my walk to Union Square

I was in charge of a section of the presentation but primarily, the live demo, which went quite smoothly. Slides from the presentation are up here (PDF).


Thanks to Clint for taking a picture during my part of the talk! (source

A local friend, and former co-worker, from Brooklyn also came out to the event. It was really nice to see a familiar face in the crowd, have some time to catch up and to have a local buddy to meetup with for drinks in Brooklyn afterwards before retiring to my hotel for the night. The next morning a subway whisked me back to Manhattan where I had a leisurely breakfast at The Harold before catching a train back to Philly.

A few more photos from the evening can be found here: https://www.flickr.com/photos/pleia2/albums/72157681823948402

Back in Philadelphia, I spent the afternoon working from a library not far from the next meetup on our schedule, the Philadelphia area Linux Users Group (PLUG). But before the meeting, I had dinner with long time friend and open source colleague Nithya Ruff and one of her colleagues from Comcast, Prabha.


Selfie with Nithya and Prabha (source)

With nice, spring weather awaiting us outside, we made our way from Mad Mex to the PLUG meeting. I used to attend a lot of PLUG meetings, and coordinated the group for a while before I moved to California, so I have a lot of good friends and acquaintances who frequently attend. This meeting was no exception, upon arrival there was a flurry of hugs as I greeted familiar faces and met some new folks. My boss arrived soon after I did and we settled in for the meeting.

The talk was very similar to what we had done in NYC the night before, but shifted slightly for a more Linux-focused audience. Unfortunately the demo didn’t go as planned, but as we were running out of time we discovered that it was because of the university WiFi we were on, blocking everything. After the meeting we met for food and drinks nearby and I was able to bring it all up on my laptop, working, hooray! Slides from this meetup are here (PDF).

I had a lot of fun at these events with my boss, we learned a bunch about the fast data demo we presented, I was able to spend some time on Friday at work making some improvements to it.

And with that, the week was winding down! On Friday night I met up with a friend and went to Longwood Gardens out in Kennett Square. I’d only ever been once, back in 2008, when the weather failed to cooperate and the rain made it so we only really saw the greenhouses. This time was different! They were on summer hours, which means we could stroll in at 7:30PM and spend nearly two hours exploring the grounds before it got dark. It’s a beautiful place. There are the gardens of course with lots of flowers, but also an Italian water garden with a series of fountains, three tree houses spread throughout the grounds and some relatively new areas that wind through a large meadow and near some ponds. A quick stroll through the greenhouse brought us to a row of beautiful bonsai trees.

The highlight of these weekend nights during the summer is the array of giant fountains near the entrance, which they light up in various colors and choreograph to music for a half hour show once it get dark, just before closing. It’s spectacular, absolutely worth doing. I held off until after the show to take pictures, getting much better ones as we walked around the lit up fountains as they started corralling everyone out of the gardens.

Piles more photos of the gardens and fountains here: https://www.flickr.com/photos/pleia2/albums/72157681958162333

My trip wound down after that, with Saturday spent at the townhouse closing things up and then grabbing a quick dinner. A flight at 8:30AM on Sunday morning brought me back to San Francisco on Sunday afternoon so I could relax a bit and get some Caligula kitty snuggles before getting back to work on Monday.

DevXCon San Francisco

A few weeks ago I attended DevXCon in San Francisco with a colleague of mine. Since my previous role was as a systems engineer, with community outreach being more of a hobby, I’d never attended an event like this. Since it was local I figured it would be a great opportunity.

The event began with a talk by Donnie Berkholz on “(How much) do developers really influence? Reset/reality check” (slides). Setting the stage for the value of developers and how to reach them, the talk quickly cited the Microsoft Hosting and Cloud Study 2015 where he highlighted page 42 of the report, on Stakeholder Decision Making Authority. The several of the top Influencers and Primary Decision Makers, according to the report, were IT Infrastructure Managers, IT Architects and Software Developers. While CEOs and CIO/CTOs had similar numbers, it was clear that the individual contributor had a say in what software was being used. He then cited 451 Research’s Q1 2014 DevOps Study which showed that the top two ways that developers learned about new tooling were word of mouth and trade and blog articles.

The rest of his talk went over various successful examples of companies meeting developers where they are and systems that worked for engagement including:

  • Rewards to high performing members of their communities
  • Prioritization of high quality documentation so developers could succeed
  • Making changes in the product as you notice your user base moving to a new base technology

He then sketched out a story around the tooling that developers used, stressing that while most open source projects unintentionally silo their tooling, developers use all kinds of programming languages and frameworks, operating systems, automation techniques, and more. As a result, the most effective evangelism and advocacy work tends to be done when you’re going to broad spectrum conferences where you’re meeting with developers working on various technologies.

Grace Francisco then gave a talk titled “Gloriously Global!” where she offered various tips for working with a global team and effectively scaling your team when working with a global community, including:

  • Daily individual stand ups that are shared across the team asynchronously (record, share)
  • Two team-wide syncs scheduled so no one is left out timezone-wise
  • Host team off-sites, actual face time from time to time is essential
  • Having firm, clear rationalization for all travel (your team will be scrutinized more due to the nature of the work)
  • Make sure work you do and share is syndicated across platforms (blog, social media, where ever your community is)
  • Build a program to support external champions which includes swag, training, recognition, tools they need to succeed

She also spoke some about how you go about finding developer advocates and evangelists, explaining that the skill set may be challenging to find (technical, able to work externally and openly, speak, write, and do community relations). She suggested asking internally first to see if there are engineers looking for a career change, and then looking to post-sales engineers who are accustom to public-facing, technical work with customers.

After the keynotes, I went to a couple talks on APIs. The first, by Tristan Sokol, dove into the use of Swagger Codegen to create SDKs against APIs from reference files, after reviewing the challenges of SDK creation by a small team. He admitted the downsides of using an automated tool that, by its nature, can’t do a great job of catering to the specifics of every language it provides an SDK for, but argued that it’s better than nothing. The next talk, by Romain Huet, provided a series of things to consider when building an API for developers to build against, including making sure the business case is clear. He also advised that a quick on-ramp, good documentation, and perhaps even on-site demonstrations of usage were valuable to adoption, and talked about making sure error messages for incorrect use are helpful to getting the developer on the right track. Finally, a status page about your API to keep users informed about outages is important.

Continuing in the API theme, Erin McKean gave the first afternoon keynote, talking about “Supporting new developers and your API” where she drew experience from the successful API that Wordnik provides. She mentioned that early on they learned a lot of students were using the API, many of whom were part of university classes, so they made some decisions based on supporting those students where they were. Other tips for supporting them included providing a simple, documented, sandbox where people could play with the API without doing any damage and reviewing error logs to see where people are struggling so you can make improvements to documentation as needed. Like others at the conference, she talked about champions in your community and suggested seeking them out to write blog posts, share workarounds, and even talk about other products when yours doesn’t have a goal of supporting something that some customers want.

Jono Bacon spoke next on “Measuring the Health of your OSS Community” where he worked to dispel the myths around flashy dashboards that seek to measure communities. He reviewed tangible (easy to track in a dashboard) and intangible types of contributions, noting that intangible things like happiness, personal development, relationships and having a rewarding experience are the things that frequently keep people engaged with a community. He shared some strategies for “measuring” these things, including: engagement in person (how many people have their laptops open? are sitting in front?), engagement on social media, and constructive participation during open Q&A sessions. He also explained that it’s important to track the path of a contributor in your community when looking for general trends, but also making sure it’s always easy for new contributors to gain status and recognition, including reputation “points” decay when involvement decreases so that older community members don’t have an unfair advantage.

He also made several key points:

  • Focus on the outcome rather than the process
  • Review on-boarding complexity
  • Identify, track and try to improve failure states
  • Follow retention of community members
  • Keep an eye out for grown stagnation

This talk led nicely into the next, from Bear Douglas on “Building positive developer support experiences” where she outlined a similar series of things you want to keep an eye on:

  • Adoption of your product/project
  • Success rate of integration
  • Customer Satisfaction (CSAT)
  • Willingness to promote (Net promoter score)
  • Retention over time

She reminded us that when a new person comes to your community, it’s often best to assume something has gone wrong. They are frequently coming to the community to solve a problem or get a question answered, and they may be stumped or frustrated. She stressed the importance of keeping that in mind when working with new community members and to cultivate real empathy on the team supporting them (not just a playbook). Listen to what they’re struggling with, engage in real dialog, and make sure you follow up and follow through so they don’t feel patronized or forgotten. She also stressed the importance of a public road map so community members can understand where a feature they’re eager to see or contribute to is in the priorities of the team and aren’t left frustrated by what they see as lack of, or delayed, progress.

What I really liked about this talk is that she also talked about the energy required to be this supportive. No one is happy, supportive and empathetic all the time. Don’t let your team members feel isolated, make sure there are team stand ups, lunches that remind them they’re not alone. Avoid trash-talk style venting, since it can easily spiral out of control and create a negative atmosphere (in spite of how good it may feel to the frustrated person at the moment!). Conversely, when there is good feedback, make sure that gets back to the product team so they know where they are succeeding. Back to team care, making sure there is a mechanism for handing off support when you’re too spent or upset to handle it, someone with fresh perspective can help and turn things around, turning a bad situation into a celebration-worthy success. She also suggested making sure high points are recognized and highlighted, and goodies are sent out to great community members, which makes everyone feel good.

Some more tips gleaned throughout talks as the day progressed included:

  • Make sure support is as public as possible (private email threads expend time and energy, and are only valuable to the individual you’re working with)
  • Keep an eye on the percentage of questions being answered by the community outside your company vs. inside
  • Make it an on-boarding task for new engineers in your company to introduce themselves to the community, not just the company
  • Encourage employees to be open first, share things externally as much as possible
  • Be pro-active about pairing up community members asking questions with community members who have expertise (question gets answered, experts feel valued, everyone wins!)
  • Define a path for a contributor to become a more serious, recognized contributor (reminded me of the value of Ubuntu Membership) and give them the tools to succeed in that path
  • Uncover obstacles that community members encounter and work specifically to get people unstuck and reward them for success
  • Communicate your work internally, sharing successes and failures so those inside the company feel included in the community
  • If you have a Code of Conduct (and you probably should!), build, use and enforce it properly

I think one of the over-reaching themes of the talks, especially later in the afternoon, was a focus on what to measure and how. While broad ideas like those from Jono and Bear can be a guiding force, there is no blanket solution for everyone to use, and you can’t just copy what others have done. You need to be attentive to your business, community and product to know where it makes sense to focus. The path from new user to paying customer is rarely a straight road, so work through collected data to learn your most successful outlets and make sure the time, money and effort is put in those diverse places (events, blog posts, support engagement), tailored for your particular community.

It was a fun event and I’m glad I went. I hope as I’m moving forward in my relatively new efforts as a formal developer advocate I can continue to learn from the practitioners who have come before me and work to implement them in communities I’m working in. Thanks to the organizers and everyone who came to lend their expertise to this event, and in their communities every day.

More photos from the event can be found here: https://www.flickr.com/photos/pleia2/albums/72157681120795004

Cross country by train: Part 2

Continuing on from my last post, our cross-country journey continued as we entered Iowa on Sunday morning. After a day of no proper meals due to not feeling well, I’m happy to say that I managed to consume about half my breakfast of eggs, potatoes and a biscuit.

As this second bit of the ride on the California Zephyr took us into the midwest the scenery did calm down from the breathtaking views in California and Colorado. Still, it was incredibly green and there were some lovely hills here and there. We also saw a fair number of horses and cows, along with fields that I expect would be growing a whole bunch of our food later in the season.

Leaving Iowa, we crossed the Mississippi River into Illinois. I’d seen the Mississippi River on trips to New Orleans and St. Louis, but this was the first land crossing I’d done, and the furthest north. Even up there it’s quite a river.

The ride through Illinois went smoothly, we saw several wind farms and we had a nice fresh air break in Galesburg. We soon left the countryside farms of western and central Illinois and made our way to the final destination of this train: Chicago.

I’ve been through the Chicago airport several times, and spoke at a conference south of there in Urbana-Champaign, but I’d never properly been to Chicago. In spite of not quite feeling 100%, we did have just over three hours before we had to catch our next train and I made a point to venture outside of Union Station. But first I beheld Union Station itself, it was a nice place and we were able to spend the rest of our time in the Amtrak lounge there.

I took a walk around Union Station and then walked across a small river to get over to where Willis (formerlly Sears) Tower is for some pictures. The fresh air was nice, but it was getting a bit warm outside on this side of the Mississippi! After all those mountains and glimpses of snow, I was suddenly reminded that it was the end of May.

Our next train boarded just before 7PM and whisked us off to Washington DC. This time we were on the Capitol Limited, and to mix things up we decided to go with a Roomette rather than the Bedroom on this segment. I probably wouldn’t do it again unless traveling solo. The privacy of our own sleeper space was nice, but we’re not small people and it was pretty tight quarters for the two of us. The top bunk, where I slept, was a bit smaller than in the bedroom and I was extra thankful for the don’t-fall-out net at the edge of my bed. It was only for a night and a half day though, and we weren’t tired of each other’s company, so it worked out fine.

We had dinner shortly after boarding, we were a bit disappointed to learn had the same dining car menu as the California Zephyr. Still, the steak was good, even if I could only finish half of it. It was also enjoyable watching the sun set as we rode through South Bend, Indiana.

I didn’t sleep exceptionally well on that leg of the journey. We had a stop in Toledo, Ohio in the middle of the night that I was inexplicably awake for. I then woke up around 6AM in time to wander around the platform for a few minutes during our stop in Pittsburgh. I think this journey was a bit bumpier than much of the journey on the Zephyr and it was delayed by about an hour due to freight congestion in the corridor.

As Monday morning came into focus, I’m delighted to report that I finished my entire breakfast, though I did skip anything resembling cheese or a buttery biscuit, going instead with plain scrambled eggs and potatoes.

We made our way through more of western Pennsylvania, into Maryland and then West Virgina. It was a lot of familiar views, green forests and fields. I’d vacationed in West Virginia before, but we hugged the Maryland border in the flat areas, so there wasn’t much to see until we got to Harpers Ferry, which is incredibly charming.

Our final stop was Washington DC! We had once again taken the entire Amtrak line. The station in DC was probably the most amazing of the trip. It’s huge and beautiful, and included an large food court with beautiful stairways taking you between floors. I was finally feeling well enough to have a more normal meal, so I got a beef salami and cheese crepe in the food court along with a bottle of water. The tucked away Amtrak lounge wasn’t nearly as nice as the new one in Chicago, so I spent most of my time wandering around the station taking pictures, and a few minutes outside to see the Capitol Building and get some pictures of the station from the outside. It was definitely May weather out there, my jacket was too much and I retreated back to the air conditioned station pretty quickly.

The final leg of our Amtrak adventure took us on the Northeast Regional. Sleeper cars behind us, we had regular business class seats on this train for the quick two hour, largely urban trip from Washington DC to Baltimore and Wilmington to finally Philadelphia!

We departed the train at the familiar 30th Street Station in Philadelphia. We had just over an hour there, taking time to relax for a bit before taking one final train, this time on the local Philadelphia transit, SEPTA regional rail. My father in law graciously picked us up at the station in Trevose just after 7PM and deposited us at the townhouse, just over a mile from the station.

And there we were! Coast to coast on trains. Would we do it again? Absolutely. It was expensive and time-consuming, but I love trains and the chance to fully disconnect, catch up on reading, and see the country is worth it from time to time. We weren’t overly social on the train, but chats during meals with fellow travelers were always nice, learning about them and their reasons for taking the train (usually either for the experience like us, or because flying was too stressful or too much of a hassle). Even before we were off the train I was thinking about the next one I want to take. The 46 hour Empire Builder that travels north of our route, from Portland to Chicago? Or perhaps a more southernly route on the 40 hour Southwest Chief between Los Angeles and Chicago, or between the same two cities but taking 65 hours to traverse Texas on Texas Eagle? I’ll definitely be looking for an opportunity to take the Coast Starlight up the California coast. So many great choices.

More photos (almost 450 of them!) from our journey are in an album here: https://www.flickr.com/photos/pleia2/sets/72157684493832435/

Cross country by train: Part 1

Over Memorial Day weekend MJ and I decided that instead of flying to Philadelphia, we’d get ourselves a pair of Amtrak tickets and take the train instead. We had always wanted to, but the trip lasts three and a half days and it’s difficult to rationalize such a long journey when we have precious little time off. Ultimately, we realized we could take the long weekend to do it, and besides, when else will we get the opportunity? Since we had a home at the end of our trip, we didn’t need much luggage, which was important for the final legs of the journey that lacked check luggage options.

Our trip took us all the way from San Francisco to Philadelphia. It consisted of a town car to the first station, a bus, three Amtrak trains (California Zephyr, Capitol Limited, and Northeast Regional), a SEPTA regional train, and the final mile to our townhouse in my father-in-law’s car. We switched Amtrak trains in Chicago and Washington DC before arriving in Philadelphia where we picked up the SEPTA regional.

We left early on Friday morning, taking a 7:50AM bus from the Amtrak station at the temporary Transbay Terminal in San Francisco. This connector bus was part of our cross-country train ticket, a necessity since the train doesn’t come to the San Francisco side of the bay.

The bus delivered us to Emeryville station where the California Zephyr begins the journey across the country at 9:10AM.

The train arrived on time, and in spite of the process of people herding that hasn’t changed since the 19th century (a woman shouting out where people should stand in line based on the car number they’re in), we all seemed to get where we needed to go and boarded the train.

For this 51 hour journey to Chicago we went with a bedroom on one of the sleeper cars. It includes a couch that folds into a bed, another bed above that that folds down bunk bed style, a chair and a private little toilet/shower room, which I ended up being incredibly grateful for. Big windows in the room allow for great views throughout the journey.

California was beautiful. I spent Friday morning doing as much work as I could before we lost internet access, which I had via a hotspot (no WiFi on the train). I got a lot done, but by the time we got deep into the mountains it was too spotty to do much online and I switched to reading. We’ve visited the Sierra Nevadas before, but going by train was a whole different experience. It was also fun to be so far up in the mountains where there was still snow on the ground.

We crossed into Nevada in the late afternoon, first going through Reno and then through the vast stretches of brown-colored landscape that none-the-less rivaled some of the other mountains I’ve seen around the country.

There were also stretches in Nevada where water poked its way in, showing us a wet and green foreground, with the backdrop of rolling brown hills, a scene we enjoyed during dinner.

Meals on the train are served communally, so for each meal we’d have a couple across the table for us to chat with while we ate. As bedroom customers our breakfast, lunch and dinner were included in the price of our ticket. The train was pretty full throughout our journey, so for breakfast and lunch we typically had to get on a waiting list which they’d call out numbers for as they seated groups. Dinners were reservation-based, which you’d book in the afternoon.

The first meal we had on the train was lunch. Sadly for us, the menu was a bit pork-heavy (lots of bacon), but it was ok to eat around the pork options, both of us having a hamburger for our first meal. It wasn’t the best hamburger I’ve ever had, but it was fine. They served dessert with lunch, I went with the lemon tart. For dinner on the first night a salad was waiting at the table when we arrived, and then we both had steak which was quite good! I had shrimp with mine. For dessert I made it about halfway through a chocolate cake before realizing I wasn’t feeling very well.

The night didn’t go well for me. The train rode through Utah as I had intestinal problems that took me to the bathroom frequently, but couldn’t be explained by motion sickness. No one else on the train was sick, so I’m thinking I boarded the train with a bug or some food poisoning. By morning I was through the very worst of it but my stomach was still upset, so I skipped both breakfast and lunch as we made our way through Colorado. I wasn’t feeling well enough to spend much time reading, but just taking in the sights and relaxing was perfect for me, dozing off here and there as I tried to give whatever sickness I had some room to recover.

And enjoy the sights I did. The first parts of Colorado we saw were a bit more green than Nevada, but still had the beautiful brown/red hills

We had a late afternoon stop in Fraser, Colorado where MJ insisted I get off the train for a few minutes for some fresh air. It was a brilliant idea, in spite of being sickly and pale as I hobbled off the train, the fresh, cool air made me feel a lot better. From there it was further up into the mountains as we approached Denver, giving us some of the best glimpses of Colorado mountains and even a bit of active May snowfall as we came out of one of the tunnels!

That evening we made our first major stop at a Union Station, this one in Denver. We had about a half hour at the station, which gave us time to leave the train and explore a bit. It was a really nice station, clean and open, with lots of fancy shops and trendy places to eat. It was a bit too trendy for me though, I wanted some simple crackers to munch on and ended up with a small, five dollar box of fancy crackers instead. Still, they did the trick.

We re-boarded the train around 7PM, right in time for our dinner reservations. I still wasn’t in shape to eat much, so dinner that evening for me was a dinner roll and some sparkling water. It was OK though, in spite of not feeling well, I was still enjoying the trip, and if I was going to be curled up on a couch not feeling well, it might as well be one on a train!

Over night we crossed into Nebraska, waking up the next day in Iowa.

DevOps Days in Salt Lake City 2017

I was in Salt Lake City for OpenStack Days Mountain West back in December, it was the first time I’d ever been to SLC and I certainly didn’t expect to return so quickly. Still, back in early March one of the organizers for Salt Lake City DevOps Days reached out to me and asked if I’d be interested in giving a keynote for the event. After some brain-racking as to an appropriate topic, I happily agreed to join them to talk about “The Open Sourcing of Infrastructure” which is part history lesson, and part learn-from-history lesson.

But before I talk about that, let me say a few words about Salt Lake City. When I was there in December I didn’t have a great opportunity to really take in how beautiful it was there. I walked around Temple Square and admired the Christmas lights and buildings, acknowledged the mountains, but my heart was elsewhere as I worked through a difficult time. This time I was in a better place. As I rode past the city and into South Jordan, UT where the conference was being held, I really got to check out the scenery. The whole area is surrounded by mountains, which were snow-capped even in May. It’s really something to wake up to, and be reminded of every time you look out the window. Beautiful mountains, right there!

The conference itself was held at Noah’s Event Venue, a great space that easily accommodated the 400 attendees, with a large auditorium on the ground floor, and several rooms throughout the space for open spaces and workshops in the afternoon. The sponsor room could have been bigger, it was a bit overwhelming crowd-wise when I ventured in a couple times and the sponsors were squished in pretty close to each other. Everything else went well though, the lunch lines moved quickly, the outdoor-ish space where we ate gave us a lovely view of the mountains (and was even better when they brought in some heaters the evening of the second day!).

This is the second year of this conference, and last year they established a tradition of having a stuffed animal mascot. Last year it was a unicorn and this year it was a Yak (a la yak shaving). Obviously I had to get my picture taken with the both of them. They also sat up there on the lectern during my talk, hooray!

Talk-wise, there were a few that stood out for me. The first was the opening keynote for the event. They brought in Ross Clanton, formerly of Target, but now at Verizon. I had the opportunity to meet and chat with him and the closing keynote speaker, Gwen Dobson, at the speaker dinner prior to the event. As we figuratively compared prep-for-our-keynote notes prior to the conference, I was certainly eager to hear from both of them.

Ross began his talk by giving some DevOps methodology background, but the meat of what was interesting to me was the strategies used inside of Target and Verizon to really drive the DevOps model. Executive buy-in was essential, but from there you also need management to take training seriously, in several forms. You don’t teach an organization to adopt DevOps by reading a book and expecting and over-night transformation. Instead, you need varied methods of moving the organization forward and celebrating wins, he suggests:

  • Encourage collaborative learning environments where peers teach peers as much as instructors do, and it’s OK to fail and ask questions
  • Run internal DevOps days, bring in a couple outside speakers but also internal folks who have expertise and stories to share
  • Host six-week immersion engagements (“Learning Dojos”) where teams work on their actual backlog using DevOps strategies and have the freedom to learn and ask questions, while solving real problems, not examples created by instructors
  • Gamification of team progress, where teams get points for various DevOps skills and capabilities they’ve started incorporating into their work and are rewarded (Verizon has the DevOps Cup, like the Stanley Cup, awarded each year!)
  • Even if you aren’t winning a DevOps cup, make sure management knows how important it is that they acknowledge and celebrate any positive progress made toward the adoption of DevOps principles
  • Don’t fight people who resist change in your organization, instead do awesome things with your allies, make progress, and most of the nay-sayers will join you eventually

Later that morning we heard from Rob Richardson on “CI/CD on the Microsoft Stack.” This was interesting to me because in spite of my own aversion to proprietary software, I do understand that CI is important for the entire software industry and had been remiss in ever looking into what is available for developers on Windows doing .NET programming. His talk walked the audience through setting up a CI/CD pipeline using TeamCity for CI and hooked into Octopus Deploy for CD (note: both proprietary) that are available and have support for Microsoft-focused environments, and specifically .NET in the case of Octopus Deploy.

Now, I won’t say that this is immediately valuable to me in a practical sense, since I don’t use any of these tools and am uncomfortable building infrastructure tooling around proprietary solutions anyway, but I was appreciative for the broadening of horizons. I learned that there are easy CI/CD options for folks working in the Microsoft world, and adoption of them by people outside of my open source bubble will make the software world better for all of us.

That evening I met up with a couple colleagues from Mesosphere who were attending the conference! Sam Agnew works in sales and joined us from his home base of Denver to meet with folks at the conference and Tim Harper works in engineering on Marathon remotely from a city just south of SLC. After the evening social at the event venue, we all went out to enjoy a nice meal of Mexican food and some drinks. They’re both super friendly and easy to talk to, so it was fun to get to know them a bit. I also found great value in chatting with them about Mesosphere and DC/OS, they believe in the company and products as much as I do, but don’t have the Silicon Valley slant on their opinions and observations about where we’re going.

The second day I gave the opening keynote. During this talk I guided the audience through the past couple decades of infrastructure with an eye on the shift from proprietary to open source software. From there I focused on what we’re open sourcing on the operations side today, and things to consider as we once again become dependent on proprietary technologies, even if they are “in the cloud” this time.

I stopped short of flat out telling people not to use proprietary tooling, or to never consider building their applications into proprietary, hosted APIs and tool kits. A lot of companies successfully do this and a lot of the sponsors at the event make their money by providing hosted products that make sense for them. Instead I implored them to think about their choices carefully, and provided a list of things to think about, including the risk of vendor lock-in, price increases, security and reliability concerns and understanding if/how your (and your customer’s!) data will be used by the vendor. Looking back, these were the same things we asked ourselves a decade ago when we shifted to using Linux as the infrastructure platform of choice. Slides from my talk are up here (PDF).


Thanks to Sam Agnew for taking a picture during my talk!

The final talk that really stood out for me came from Rob Treat who spoke on “Production Testing through Monitoring.” There is a lot of focus in the DevOps world around CI with testing, but the truth is you’ll never find all bugs through testing. He shared a handful of funny (but serious!) examples where once in production, users did things that the developers never thought of that caused serious production issues. This wasn’t because they weren’t testing, but instead because our imagination will simply never come up with every potential use, or misuse, of the software we’re building. This is where monitoring and metrics become essential.

As someone with an operations background who really likes monitoring (I run Nagios at home), this seemed obvious to me, but he took it one step further to make it something worth noting: You don’t just monitor basic things like CPU heat, processes running and return codes (in fact, you might be tracking too much of this kind of stuff), you also track things that make sense for your particular business. This returned me to the talk by Jeffery Smith at the DevOps Days in Seattle where he stressed the importance of IT actually understanding the business.

Rob demonstrated by walking us through an example of using metrics as they tried to figure out why traffic and sales were lower than normal for a couple days. After looking through a bunch of technical reasons, they finally overlaid email bounce statistics over the data and learned that for a couple days, bounces were higher than normal. Since much of the company’s sales traffic is driven by these emails, that caused a clear problem on those days. Having the data to draw that conclusion was vital, but they wouldn’t have known to collect that data if they hadn’t been tuned into how the company drives sales and the fact that tracking something like email bounces would be valuable.

Huge thanks to the organizers of this event. They did a great job making us feel welcome and making sure we had everything we needed. As speakers we also got amazing Utah-themed gift baskets which they graciously offered to ship to us (couldn’t bring it on the plane due to liquids involved, and I didn’t check a bag). The attendees were great too, everyone I spoke to was very friendly, even after they found out what strong feelings I have about using open source and open standards, hah!

More photos from this event here: https://www.flickr.com/photos/pleia2/albums/72157681808549041

Outdoor Caligula, trains, MST3K and eateries

Back when I lived in a house in Schwenksville, Pennsylvania, I would often bring Caligula outside with me in the warmer months to work in the garden or just generally relax outside. He had a 50 foot lead that allowed him to explore, but not get close to the road or into the poison ivy-ridden woods. He enjoyed these visits to the outdoors, chasing chipmunks and laying in the grass in the sun. Simcoe was less interested in outdoor time, in spite of numerous attempts, she was always a bit too afraid and didn’t like wearing a harness.


Young Caligula, gardening in Pennsylvania

Fast forward to today. Caligula has been living in a high rise in downtown San Francisco for over seven years! We haven’t brought him out during all this time. I’d loosely mention taking Caligula out to a park here and there, but Simcoe didn’t like being left alone and she’d often react badly when we brought Caligula home from the vet (hissing, growling, for days!). And I figured she still wouldn’t be interested in coming along for the outdoor adventures. Now that we have just Caligula, it was time to revisit outdoor adventure plans. This past weekend we brought him to Golden Gate Park, where we found a quiet patch of grass not too close to anyone else and enjoyed some food (picked up from a Mexican food truck) as Caligula wandered around on a short leash.

We weren’t sure what to expect. I’d never brought him to a public park before, and I’m sure the car ride over wasn’t his favorite thing, but he loved it. My often lazy cat spent the hour and a half there wandering around our blanket, and then dragging me around so he could explore further.


Caligula in Golden Gate Park

Eventually we rounded off our day as the wind picked up and it got a bit cooler, but I’m really happy that he had such a nice time. I know I’ve been pretty down since losing Simcoe, and I think he’s really missed having his snuggle buddy. It was a good way to cheer all of us up.

I’ve mentioned that 2017 has been a tricky year for me, but I’ve started to feel better. Instead of spending so much non-work, non-traveling work watching TV, I’ve transitioned back into reading. My interest in other hobbies has picked up too, I’ve started moving away from so much computer work and decided to get more serious about my interest in model trains. When I was in Philadelphia last time I picked up a starter train set at a toy show, and I’ve now started to refresh my memory on some of the other basics. I subscribed to Model Railroader magazine, and am now somewhat overwhelmed with how much opportunity there is to learn and explore. I’m also struck by the fact that hobby-wise I’ve mostly focused on digital and outward-focused projects. This will be one of the first that gets me back to hardware, but it quickly occurred to me that it can be pulled into a bunch of the electronics projects I’ve idly wondered about over the years. Arduinos and sound-activated controls for a model railroad set? It’s totally going to be a thing!

Increasing the scale, we decided to go back to Philadelphia over the week of Memorial Day. As we were musing about travel, my interest in trains distracted me into talking about cross-country railroad trips and MJ seriously suggested we finally do it for this trip. After geeking out over routes for a couple hours, MJ secured tickets for us on the California Zephyr which we’ll take the entire length, from Emeryville to Chicago in one of the bedroom compartments. From there we’re taking a Capitol Limited to Washington DC in a Roomette and then on to the Northeast Regional to Phliadelphia in Business Class seats. How long does this trip take, you ask? We’re leaving from San Francisco’s temporary TransBay Terminal at 7:50AM on Friday the 26th and arriving in Philadelphia at 5:15PM on Monday the 29th. From there we’re taking the SEPTA regional rail from 30th street station in Philadelphia up Trevose, where the train drops us just over a mile from our townhouse. So it takes a long time and train is not cheaper. Traveling how we are, in the bedroom and roomette is actually considerably more than flying. For us, it’s all about the experience. I’ve not seen much of the center of the country, there are beautiful places I’m missing out on. Taking a train through over the course of a few days is a pretty exciting proposal, I’m really looking forward to it.

With all this train stuff, I realized over the past year how much more adventurous I’ve gotten with rail-based public transit. I’m slowly starting to default to it where it makes sense time-wise, and sad about missed opportunities to take it in the past.

I also recently finished reading Train by Tom Zoellner. He takes several journeys on train lines all around the world, and weaves a tale that blends his experience on these routes, conversations he has with fellow train passengers and a hefty dose of history about each line, and those which are naturally related to it in some way. It was a beautifully written book, and made me even more excited about our cross-country journey! I recently finished the audiobook for Ringworld. I read the book years ago, but never really got into the series. I decided this time around to buy the series as audiobooks and start making my way through them. I got an audiobook of If the Oceans Were Ink: An Unlikely Friendship and a Journey to the Heart of the Quran which has so far been incredibly engaging. Back to the pages, I’ve been reading Madeleine L’Engle’s The Arm of the Starfish and my second book by Brene Brown, I thought it was just me, but it isn’t.

But OK, I’m not just spending lots of wholesome time reading. The new season of Mystery Science Theater 3000 (MST3K) came out several weeks ago and I’ve been doing my best not to binge watch. I slowly made my way up to 1105, the episode that has my name in the credits because of the Kickstarter campaign. I then went through the next few pretty quickly, they’re just so good! And MST3K has been an important part of my life since I discovered it in the late 90s on the SciFi channel. I don’t remember how I found it, I must have just stumbled upon it in my general watching of the SciFi channel. It’s what made me join my first IRC server to chat with fellow fans. It was there that I met my ex-husband who introduced me to Linux, and dove into IRC client scripting and creating websites. Later I helped a pile of fellow fans run an MST3K fan site, which was tricky after the show stopped airing, but gave me my first experience scouring the internet for stories, which I later used in my work on the Ubuntu Weekly Newsletter.

I had my doubts about a reboot of the series, on the one hand we had many of the original cast and crew members participating, but on the other they suddenly had big names and cameos being announced as part of the project, and there was a real risk of the show getting more serious than I would enjoy. Thankfully, my fears were not realized. The show is just as silly and campy as it ever was. They didn’t let a budget or big names go to their head, it has the feel and jokes that I came to expect from MST3K.

At home things are chugging along. As I write this on an early Friday morning before work Caligula is in super snuggle mode and is curled up against me. He’s been like this since we lost Simcoe. We think he’s lonely, as my trip to SLC this week didn’t leave him the happiest (MJ was at work all day). There is a temptation to get him a new kitten friend, but every time I think about it I get sad and realize I’m not ready for it. Plus with all my travel lately I don’t really have the time to train a new kitten, who will have claws.

Speaking locally, this past month we’ve seen the closing of two Italian establishments in our area. A.G. Ferrari has closed all bay area locations. It’s a shame, that was my go-to spot for fresh Parmesan cheese and Italian bread. Umbria, my favorite Italian restaurant in the city, and conveniently on our block, has closed. We made our way down there on their final night, finding ourselves in the midst of other random diners, as well as family and friends wishing the owner a fond farewell. There were speeches, stories, hugs, and tears, which we were included us in. Thankfully this is not the end of the story for them! They’re moving up to Glen Ellen in Sonoma, with progress being tracked on their #WheresGiulio website. We’ll have to visit when they finally open, but I’ll really miss having such a great local place.

We’ve also been carving out bits of our weekend to actually catch up on boring adult things. Our dining area has always been a den of chaos, and I’ve finally started tackling that by picking up a new piece of Ikea furniture so we have a place to pack things into. The chaos still mostly exists, but it’s starting to be tamed and some things are now put away, hooray!

I think this weekend will be a stay in one. I have a ton to do here before I depart for two weeks. And a busy work week is on the horizon with attendance at DevXCon on Monday and a journey (ferry + car service) up to Napa on Wednesday to speak at a conference on Thursday. Then the rise-with-the-sun trek over to the TransBay terminal Friday morning to catch that train across the country. It’s all exciting stuff though, I wouldn’t trade next week for a boring one even if I could.