As a newly-minted midwestern Drupal shop, having this year's MidCamp taking place the very week of my transition was irresistible. So, on St. Patrick's Day I hopped on the Saluki to Chicago (alas, too late to see the green river). I did, however, arrive in time to catch a couple hours of the training day sprint, where I met dawehner face-to-face for the first time (one of the great things about cons and camps is, of course, putting faces to names). Topped off the day with a meat & three at County BBQ - their brisket was if anything even more tender than Pat's back home in Murphysboro, but not quite as tasty. They did however have a unique cocktail - bourbon, lime, and cinnamon - which works much better than you might imagine. (yes, you're going to have to sit through me talking about food... and yes, I came home 5 pounds heavier, because Chicago)
FridayTess Flynn opened things up with an excellent summary of what Drupal 8 is all about, for those not already involved with it. Arrays of doom, NIH, services ("run-time patching"), Composer, OO architecture, progressive decoupling, views (and other common functionality) in core, configuration management, Twig, Migrate in core (yay!), semantic versioning ... - if any of this is unfamiliar to you, it's definitely worth watching. Even if you do know your way around Drupal 8, especially if the D8 development cycle has left you a bit burned out, it's worth catching the tail end of the talk (starting about 30:40) to consider the checks and balances involved in getting to a new architecture while keeping both core and contrib developers motivated. A quick note as I move on to the technical sessions - my interests are primarily on the backend, but FFW's David Hernandez has an overview of the frontend side for those of that persuasion. Michelle Krejci's DevOps and the Chocolate Factory: A Beginner's Guide to Automating, Testing, and Making Clients Happy was a little out of my wheelhouse, but an entertaining introduction to continuous integration nonetheless. The case for CI is made, and tools and approaches discussed (I particularly appreciated learning about Phansible, not to mention Enterprise Shell Scripts;). But, the main takeaway resonates far beyond CI: "Conversations are more important than the tools and processes that execute their outcomes". The next session I attended was non-technical, yet one of the most important at the camp - Developers and Depression presented by Greg Baugues. The title was slightly misleading, in that it dealt with various aspects of mental health, not just depression - so, actually even more helpful than it might sound. The session was lightly attended - I imagine there were a lot of people concerned about being seen at a session like this by colleagues/customers/(potential) clients - but now you can attend virtually either the MidCamp session (voice and slides only) or another version of the talk with full video. I have ADD, which mostly at this point I can manage myself (although sometimes...). And I have anxiety issues, which I now find seriously provoked by making a major career change. Depression - is hard to tease out from the negative outcomes projected by anxiety, so we'll leave that as a hypothetical. At any rate, this talk was the final push for me to formally address these issues, so my thanks to Greg. I particularly identified with the section at 23:07 of the recording - I have so many "great" ideas about migration in my head that I have yet to instantiate in the real world. Anyway, the tl;dr - there's nothing to be embarrassed or ashamed about, if there are mental or emotional issues holding you back, you can do something about it, and fuck the voice in your head saying "don't do this... they will shun you". Following that, I attended Moving our company site to Drupal 8: Break the Ice!, presented by Jorge Diaz and Dave Vasilevsky of evolvingweb. It was particularly good to meet with vasi, who has become very involved with the migration system in D8 recently (particularly with I18n, an area I have not been engaged with myself). Anyway, the most interesting aspect of their migration is how alongside the migration of legacy content from their existing Drupal 7 site, they also set up a Drupal 8 content staging site where new content was created, and set up a migration from that site to the "real" Drupal 8 site. For details, by all means watch the recording. Also of interest was the SiteDiff tool, which vasi presented in more detail in a later session which I didn't attend, but I'd like to check that out. The last session I attended on Friday was Content Migration for Site Builders by Suzanne Dergacheva, also of evolvingweb. I may not be a site-builder, but I can't resist a good migration talk... The angle here was using the Migrate module to generate either sample content or initial content for a website under development from a source such as CSV files (so the content can be edited in spreadsheets before a fully functional site is available, and also deployed at will as opposed to being managed in some central version of the site). It's always good to see novel use cases for the migration framework. Friday was topped off by the board game social (catered by Jarabe - most excellent!) - my introduction to Settlers of Catan. Newbie tip - if your starting position is pasture-heavy, you're gonna have a bad time (i.e., you'll get enough sheep to have you sound asleep after a few rounds).
SaturdayKicked off the morning with Project Discovery for Drupal, presented by Chromatic. Since a recent xkcd captured my feeling about estimation, I was very interested in this topic. The main subjects were poor (i.e., optimistic) estimation and unstable requirements. I particularly identify with the missing requirements issue - those times when it's halfway through the project and the customer says "where's foobar?", which appears nowhere explicitly in the requirements - because it's so obviously necessary to the customer it didn't even occur to them to write it down. Larry presented many ideas on how to make teasing out those hidden assumptions less of an art and more of a discipline. Following that was Larry Garfield's PHP 7: The New New PHP. I had kept an eye out on PHP 7's development, but it was helpful to have a good overview of the major changes, especially with the context of *why* they're good, and to start thinking about how (and when) to start taking advantage of them. A lot of fascinating stuff, but the ones I'm looking forward to exploiting are return types and scalar types (radical concept, knowing what type of stuff you're throwing around), anonymous classes (helping PhpUnit mocking make sense to humans), and generators (which actually can be used, for the most part, with PHP 5.5 and above, but have been enhanced in PHP 7). After lunch, to much acclaim, was Project Management: The Musical!. I know this would be special from the Playbills laid out on the seats. And it was - Allison Manley and Joe Allen Black of Palantir did a bang-up job. No spoilers here - go watch it yourself, it's just half an hour (would that real Broadway musicals were so lean!). Next was Ryan Gibson of Mediacurrent present Understanding configuration management in Drupal 8. This was a good overview, geared towards site-builders, of... well, configuration management in D8 (tl;dr - so much better than D7!). Closing out the MidCamp sessions was Michael Meyers of my (barely) former employer, Acquia, on Embracing Open Source to Grow and Transform Your Career and Company - a topic near and dear to my heart as a 12-year veteran of Drupal. So, he may have been preaching to the choir a bit in my case, but it was good to end with a paean to the community that's made it all possible (and maybe pick up a few tips to throw in the next time I run into an open-source skeptic).
Sunday sprintStarting with the train ride up on Thursday, my community goal was to get the contrib migrate_plus and migrate_tools working against the core 8.1.x branch. I got them basically working, with updated versions of the Allow annotations to inherit across namespaces and Source plugins have a hidden dependency on migrate_drupal core patches, as of Friday. At the Sunday sprint I did a little general cleanup, then talked with vasi about his work on I18n, which looks good and is proceeding apace. Food again provided by Jarabe, and again excellent - I look forward to visiting the actual restaurant (or the food truck) on a future visit to Chicago!
PostludeYou want to hear more about food? Tough, I'm going to go ahead anyway... I hung around Chicago a couple extra days (because Sarah's favorite singer, Bonnie Raitt, was playing the Chicago Theater Tuesday night, so she drove up for that). I experienced:
- Giordano's - frankly, a bit disappointed. I will stipulate my experience with deep-dish pizza was formed by the Pizzeria Uno chain when I was in Boston, and I'm not sure how "authentic" that still is, but I prefer having tomatoes in the pizza rather than a sea of sweet tomato sauce poured on top. And I also prefer our local representative of the deep-dish tradition, Quatro's, to what I had at Giordano's.
- As a native of Pittsfield, Mass, I couldn't resist the Pittsfield Cafe in the Pittsfield Building. Decent Reuben - basic diner fare, in the impressive atrium of the kind of classic office building that sadly is hard to find any more.
- Wandering around the Loop area Monday night nothing in particular struck my fancy, and I ended up at the Elephant & Castle. Decent chicken pot pie, nothing special.
- Excellent breakfast (Corned Beef Benny) at WildBerry Cafe.
- A highlight I stumbled upon a few years ago at the Chicago DrupalCon, I rediscovered Pierogi Heaven. Mmm....
- One dumpling tradition deserves another - our pre-concert meal was at Wow Bao, very good.
- And breakfast before hitting the road at Miss Ricky's, had a decent omelet...