• Archives

  • Categories:

  • Other profiles

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.

DevOpsDays Seattle 2017

At the end of April I made my way up to Seattle for DevOpsDays Seattle. It occurred to me upon arrival that while I’ve spent the past several years very close to DevOps circles and methodologies, this was my very first DevOpsDays! The crew organizing the Seattle event was definitely a great introduction, in spite of the gender ratio that always plagues these events attendee-wise I felt safe and welcome at this event. They also had a diverse selection of speakers without sacrificing quality (Something I tell people all the time is totally doable! Here’s the proof!).

Bonus: My walk to the event both days gave me a great view of the Space Needle. So pretty.

The two day event had the format of a single track all morning, a talk just after lunch, and then Ignite-style talks (5 minutes, 20 auto-advancing slides). From there attendees had the option of one last talk in the main auditorium, or to join fellow attendees in a more interactive series of open spaces (unconference). Put together by the attendees, unconference topics were whatever people had proposed earlier in the day and wanted to have round table discussions about with their peers at the conference. The open spaces then continued through the end of the day.

I won’t give an overview of all the talks, but I do want to highlight a handful that stood out for me.

The first day we heard a talk from Suzie Prince titled “Continuous Integration: A Bittersweet Love Story”. I wasn’t sure what to expect from this talk, but I was eager to hear from her since CI is so near and dear to my heart. She began by discussing two of the most important things about CI: Collaborating on master/trunk (rather than your own branches) and committing code daily (or more!). Coming from the OpenStack world, this wasn’t news to me, yeah, this is CI how we did it! Great!

The big reveal for this talk was that’s not how everyone does it. In fact, based on some research she did last year, most people do CI wrong and suffer in ways they really shouldn’t if they were doing CI properly. The research asked a variety of questions about what people knew about CI and what the pain points are. It was quite astonishing for me to hear some of the results, it sounds like we’ve done a poor job as a community of explaining CI and making sure organizations are implementing it correctly. A blog post about their findings is up here: No One Agrees How to Define CI or CD.

Full video of the talk is available on YouTube, here. I recommend watching it if you’re interested in this topic, her presentation and slides do more justice to the topic than my summary!

My talk was that afternoon. It was my first time giving a Day 2 Ops talk, and I had spent a lot of time while preparing the talk to communicate the right message without being patronizing. Essentially, things get complicated when looking at cloud-native systems where you have an underlying platform (whether it be bare metal or a cloud provider), then whatever you’re running your application in (container?) and then your app itself. You need to be able to get metrics about what all the layers are doing, maintain some kind of monitoring system that understands the setup and can dynamically adjust as your system grows, have a way to access logs and troubleshoot problems down all the layers and have a system for maintaining everything. Plus, you want to give the appropriate access to everyone in your organization based on what they are working on, developers want access to their applications, operators of the physical cluster may need access to the infrastructure but need to know less about the applications.

I had some good talks with folks after this talk, several admitted their organizations accepted the turn-key offering of easily running apps and really got into trouble when things went sideways and they had to debug the actual issue down the stack. No one cares about metrics, logging and troubleshooting until something goes wrong, but more care should be put here in the planning stages, since it does take time and attention, and ultimately it’s all pretty important.

Slides from my talk are up here (PDF) and the video is on YouTube here. I’d like to give this talk again, based on feedback from folks who have seen it, I could use a more formal checklist of things to consider when building a cloud-native system. Plus, I’ll add some talk about integration with existing platforms, we all run complicated things with many moving pieces, no one wants yet-another-tech-specific-dashboard or non-standard tooling that only works when it’s assumed it’s working in isolation.

The second day opened with a talk from Jez Humble on “Continuous Delivery Sounds Great But It Won’t Work Here”. This was a really fun and inspiring talk (though I had heard some of the examples before). He began by going over the top reasons people claim they can’t do CD in their org:

  • We’re regulated
  • We’re not building website
  • Too much legacy
  • Our people are too stupid

His general premise was that these “excuses” for not doing CD in an organization are surmountable with the right culture, and walked the audience through examples that proved this. These included: checks for compliance that can be put into your CI pipeline, the fact that HP’s printer division wasn’t building websites either, but saw significant improvements once adopting CD methodologies, the idea that legacy applications should never hold the rest of the org back and new things should be built to meet new goals (like CD!) and a car production line example that showed how the same employees did higher quality work once their culture changed.

Super interesting stuff. Video of his talk is available here.

I also want to highlight a talk by Jeffery Smith on “How to Elevate Your Contributions as an Ops Engineer”. He very correctly pointed out that IT teams are often very insular and so focused on the tech of the infrastructure, that they don’t poke their heads out to really understand the business, or the specific value they’re providing. He walked through several examples of engineers in a company taking a broader view of the company and what it needed, and being able to make direct impact on the bottom line since they understood where things were going. Plus, this helps you too. He suggested that specific technologies come and go, they get automated or commoditized, and suddenly knowing how to configure something is not as valuable. You bring value by understanding the industry and helping people outside your specific sphere get their work done too, and proving that up the chain. He’s a great speaker so I recommend watching the talk for yourself! It’s up here

Then there were the Ignite-like talks! There were a bunch of great ones, but two really stood out for me, and since they’re only 5 minutes each and really fun, you should just go watch them:

Finally, huge thanks to the organizers of DevOpsDays Seattle. They were really friendly, and I got a kick out of my name being on the back of the conference t-shirts. Usually that’s where conferences put the sponsors! But sponsors get their names on plenty of things, this was a great way to make the speakers feel like rock stars :)

All the videos are up on a YouTube playlist here and more photos from DevOps Day Seattle 2017 that I took are here: https://www.flickr.com/photos/pleia2/albums/72157680011962503

I’m now about to get on a plane to attend and speak at my second DevOpsDays. This time I’m headed off to Salt Lake City! Here I’ll be speaking on “The Open Sourcing of Infrastructure” on Wednesday morning.

My magical smartpen

If you’ve ever seen me in a talk at a conference, you know I take notes, it gives me a record to blog from later and physically writing notes helps me with memory retention. I also carry around a paper notebook in my purse to jot down random stuff (cat’s weight at the vet, space measurements for when I go to Ikea, to do lists created when we’re having brunch and planning out our afternoon). The problem with this is that the contents of these notebooks aren’t captured anywhere digitally. I’m not going to transcribe this stuff after I use it, “but it would be handy to know the size of that space next to the counter, but darn it I left that notebook in my other purse!” or “I’d like to finish that blog post at work today, but I left my conference notebook at home.”

Enter the smartpen.

You write with this magical pen in a special paper notebook and suddenly you have paper notes AND they sync to an app on your phone. From there you can read and transcribe the notes, export them in various free formats, and auto-sync them with a handful of proprietary services.

A bunch of people have asked about my experience, so welcome to the rare blog post I’m writing about a product. I’m not being given an incentive by the companies I mention to write about it, and I probably wouldn’t write about it if I was.

My journey began when a colleague of mine clued me in to the existence of the Moleskine Smart Writing Set back in February while we were at Spark Summit East in Boston. From then on, I had a bit of a bug in my ear about it. I wandered over to the Moleskine shop nearby a few weeks later to try it out, and ended up semi-impulsively buying it there. I say semi-impulsively since I didn’t do as much research as I normally would have for such a thing, and in retrospect I could have gotten individual pieces (pen, notebook) for slightly less elsewhere. But it wasn’t much cheaper, and I did try the product out in their brick and mortar store, which was a valuable pre-buying experience and I want to see stores stick around, so I don’t mind spending my money there.

Regardless, I had it and they had a note return policy once I opened it, which of course I did as soon as I got home. It comes with the following things:

  • 176 page paper notebook with the special dots needed to work with the pen
  • The Moleskine-branded Neo smartpen N2
  • 1 pen tip ink refill
  • USB charging cable

I set up the Moleskine app, jotted down a few notes, and immediately realized I had made a mistake. You see, the pen is just a branded Neo smartpen and if you use the Neo smartpen app, you can use notebooks that aren’t made by Moleskine! Now, while I’d be happy to use just the lovely Moleskine paper pads (in spite of the tremendous price tag, they are nice), right now they only make them in the large size. Not awesome for my purse. Neo directly has lots of notebooks! Including the super cute N professional mini, which now lives in my purse. Oh, and the apps are nearly identical, Moleskine just branded theirs.


Moleskine Paper Tablet N°1 that came with the kit, Neo smartpen and Neo N professional mini

Now, the playing around was behind me and I had everything all set up, time to take this show on the road!

My first conference

I spoke at an Apache Flink conference in early April, and that was my first opportunity to use my shiny new smartpen. I charged it before hopping on the bus to the conference. I took a bunch of notes and it worked quite well.

The weight and size of the pen weren’t a problem for me, I didn’t really notice I wasn’t writing with a normal pen, though I admit I don’t have small hands. I was able to open up the app on my phone and watch writing happen, cool! Or just write a bunch and let is sync up later. The pen claims to store 1000 pages of writing, so syncing frequently doesn’t seem to be something that’s required unless you want to, but it does sync all the pending stuff for all notebooks when you do go to sync it.

I was pretty happy with this trial run, but it did immediately make me realize a few things about the pen that I wasn’t too keen on.

What I don’t like about it

The first three things I don’t like, but I think I can live with or work around:

  • The app isn’t great, it’s kind of confusing
  • All the auto-save options are proprietary (Evernote, Adobe Creative Cloud, Microsoft OneNote)
  • The notebooks are expensive, $30 for the large Moleskine, $14 for the little Neo notebook in my purse

In spite of the app being a bit of a mess, it is basically usable. I’m not sure I figured out how to properly get the backups going to Google Drive (I think I did…?). I’m somewhat worried about data transfer if I get a new phone and have to move content over from the app. The documentation isn’t great on the Neo smartpen website, so far I’ve noticed that it’s not always updated to reflect the latest version of the app. There are also a few little wizards that pop up to explain how to do things, they’re annoying until you realize you actually need them to use the app effectively, which is even more annoying.

In spite of not liking using a proprietary platform for auto-save I don’t have a practical problem with using them now and then, after all, I do use G Suite quite a bit. Practical concessions can be made.


All proprietary auto-save options :(

Plus, even if auto-save is going to a proprietary place, it’s not the only export option. You can export individual pages as PNG, PDF, SVG or TXT (it gets the OCR treatment) and then email them to yourself, upload them to Google Drive, or a few other places (depends on the apps you have installed).

The cost. Eh. I don’t go through these very often, so I can stomach the price of the notebooks once a year or so. Plus, they are really nice.

I could see any of the next three being a problem for me that causes me to stop using it:

  • I have to remember to CHARGE my pen (“what are you doing?” “charging my pen” “uh, ok, that’s a thing now”)
  • I have to remember to BRING my pen, and the special notebook
  • I can’t just use random cute notebooks, I have to buy expensive Neo smartpen notebooks

One of the reasons I attached myself to a paper and pen is because it’s simple and doesn’t require any technology. And I get free notebooks at conferences pretty frequently, it’s fun to use the various sizes and formats they come in, changing to a new notebook when I fill the last one up is fun. The complexity of now making sure I charge and have yet-another-device, and a specific notebook, is a challenge, particularly since I use the pen with both my conference and purse notebooks. If I leave the pen in the wrong bag? No notes for that day!

Finally, there are a few unknowns. What happens if my pen dries up in the middle of a conference? I can’t just grab another pen! I do have a spare tip, and you can order more, but I haven’t yet started carrying them with me. What happens if Neo smartpen goes away as a company? Or stops supporting my device? I can make backups, but it puts me in a tough spot for long-term support of my shiny new system. I also don’t know how well this all works if you have multiple pens, if I did decide to throw down another $150-170 for a second pen that only lives in my purse, can the app cope with two pens being linked? I don’t know! Can I switch which pen is going to which notebook? I don’t know! The inflexibility and confusing-ness of the app is quite a concern here, I’m somewhat worried that doing something unexpected will cause me to lose notes, or have a disjointed experience in the long run with notebooks being digitally split up.

General usage

That’s a lot to complain about, and I’m honestly not sure about this all long term, but the geek in me is in love. I love gadgets and it’s really cool to finally have a digital record of the copious notes I take at conferences. No more are they just stashed in a drawer, never to be seen again once I’ve completed a notebook!

It’s also so great to be able to leave my paper notebook in my conference backpack and not slog it back and forth to my desk or the office when I want to write a blog post that references them. I just load up the app in my phone to browse my notes, or have a peek via Evernote on my desktop. This also means that my conference notebook pretty much lives in my conference backpack, less risk of forgetting it. Also, if I lose it I’ll still have a digital archive.

I’ve now used it at Flink Forward, DevPulseCon and DevOpsDays Seattle. I can’t speak strongly to the battery life, since it’s been pretty reasonable so far and I didn’t charge it between the second two conferences, it lit up when I needed it to and still had 80% charge at the end. I do also usually carry a little battery with me for emergencies for my phone, noise-cancelling headphones and other random devices anyway.

The automatic transcription is pretty decent, I have tried to be a bit less sloppy with my writing, but it’s confused by industry terms. It’s good enough to correct after the fact though, so it gets most of the job done and I just need to pop in for edits. This will be very useful if I do decide I want to formally transcribe anything I write.

In all, the experiment has gone decently well and I’m looking forward to skipping off to Salt Lake City tomorrow for conference number four with my shiny new pen and notebooks!