That time I checked all the Drupal modules for Drupal 9 readiness, I mean again

On a recent Thursday afternoon, Gabor asked if I was going to pick back up on me efforts of checking Drupal 9 module readiness. That got me a mention in the Driesnote last year and to be honest is my favorite claim to fame in any project. I had not thought about reviving it though. I mean people are tracking this stuff I assumed, but independent validation of notions is a really good thing to have. So, I said to myself, “that would be a good idea.”

Gabor, if you don’t know, has been diligently working on getting us all ready for that June 3rd launch date of the next major version of Drupal 9, which has a lot of anticipation around it. It will be the first major release to not require a rebuild for site owners, just an update. I think that is pretty awesome given the technical sophistication that is Drupal at this time in history. He has been the driving contributor for the upgrade_status module development. TL;DR, this module lets you know what to fix in your modules to be D9 ready!

Basically, the idea is to run this checking tool against all the modules that I can install with the command line (more on that later) and spit out consumable reports we can do analysis on.

So, I did what anyone about to embark on a quest for computer science knowledge would do, I did a fresh install of Ubuntu and started setting up my environment to make Drupal work. Why a fresh install? When was the last time you installed a minimal operating system and just pulled down only what you needed from the interwebs, as you need it? So snappy, so clean. If you have not taken Ubuntu 19 out for a spin, well, you are missing out on a great OS experience. Also, doing as much tinkering and sampling as I do of various repos and settings, a fresh Ubuntu install would make it easier to debug, and boy howdy did I need to debug as I went.

Getting Drupal working was super fast and easy because I had the perfect pairing of tools to get me going: Composer and the, completely new and amazing to me, Drupal 8 Quick Start Command . Literally 5 minutes from the time I installed Composer, I had a working copy of Drupal 8.8.5 installed and running. This is a demo setup but you can get to hacking on it immediately. Served my purposes as I ran it more or less nonstop for a few days and it didn’t fall over on its own, though you can push it over with a wrong move or two.

A quick note about Drupal always assuming you want to immediately pop it into production. I get it, this saves a lot of devops hassles to make the options assume you don’t want people messing with things, but we are on a local box explicitly messing with things, so we need to run chmod u+w web/sites/default in order to give the files permission to actually let us Composer install stuff.

One of the very, very recent updates (as in hours before I agreed to do this) Gabor has been working on and what he asked me to investigate was the modification of the Drush command upgrade_status:analyze to the command upgrade_status:checkstyle. It runs the same check, just outputs the results to XML format. So I needed Drush and Composer let me require drush/drush which gets me Drush 10 automagically. If you have not seen the generate feature of it yet, here is a video I did about it in Drush 9, not much has changed.

The script itself is pretty short and simple without all my inline commenting, basically
1) load in a CSV of module names,
2) loop through it, composer require modules one at a time,
3) runupgrade_status:checkstyle and redirect the output into a file with the module name and
4) uninstall the module before beginning the loop again.
When I did the ‘check all’ project last time, I used “drupal-check”, a PHPStan based project for static code analysis. I didn’t need a working install, just a code repo. Using a running Drupal site makes things a little stranger.

Before, I was able to leverage Git to just flip between branches as I went, configuration was not part of the mix. Also upgrade_status needs the module to be enabled. Drush lets me do those things easily. git reset --hard should have let me just flush all the code changes, but something interesting happened, and I think it was due in part to Drupal caching, the code stayed put. At least parts of it. I eventually went so far as to composer remove each module, then rm -rf each module folder. Seems like overkill but it worked.

It take approx 45 seconds per cycle, but it worked. 45 seconds x ~6000 modules = 75 hours of script run time to do them all. So naturally I reached out for help to the internet for help scaling the process. Very fortunate for me Arrow a.k.a Aaron Feledy, master of all things Lando and ccjjmartin a.k.a Christopher Martin immediately jumped on board this train.

Aaron built the awesomeness that is the Lando recipe for this setup, which you can find in the repo. Chris dedicated some time and machine resources to make multiple Lando instances run as well as made tweaks and suggestions to everything along the way. This would have taken me a full week of futzing with things on a single, underpowered laptop. Instead I got to hang out with some amazing Drupal folks for a couple days online and produce the final results.

And the results are….not finished running as of the time of this writing. About another 2000 or so modules to check, but soon this will be public. I just wanted to write this up while it was fresh in my brain. I love me some Bash and Drupal. I am so lucky to have found this community. Looking forward to a grand future with Drupal 9.

If you want to run this yourself or just see what we are working with, check it here:

Design4Drupal 2018: Views from the top floor and walking further than we needed to while a good time was still had

I always consider The Olde Towne one of the iconic American cities. By this I mean that if I go to Serbia or Iceland and talk about cities in the US, people always know San Francisco, New York, LA and Boston. They have a picture in their heads, and with good reason, of some of the oldest buildings, some of the oldest bars and some of the more famous landmarks in this country. It was quite an honor to go be part of the magic of old bean town as I accepted the invitation to speak at Design4Drupal 2018.

Food and Fun


Coffee and snacks and tea were still being set up when I first arrived. But when I finally was able to get some coffee it was actually pretty good for college catering. I think that because there was an open Starbucks in the building they knew they should step up their game. Lunch time rolled around and us special meals folks were treated extremely well. I had a pretty amazing ‘Cobb’ salad with beets and avocado. Even the afternoon snacks had a vegan section what was more than just fruit.

There was no official party or goings on on the first night. This let me catch up with some of my favorite Drupal community members who also didn’t have official other plans. We found a BBQ joint with a reasonable set of veg options and a great mixologist on staff, The Smoke Shop.


Very much a repeat of the previous day. Again huge props to the organizing team who really looked out for us with dietary restrictions. Very notable fact, the catering thought that small whole cakes would be a good decision for some reason as snack. I got a good chuckle out of that.

After Party

We gathered at Meadhall in Cambridge for a very fun evening of snacks and beverages and fellowship as a community. No tweets that actually showed the party and the venue in full swing can be found, so here is a sample tweet about the venue.

Yes, we also found some time to do DrupalKaraoke. THanks to the good people of Courtside for letting us celebrate area man’s birthday with y’all.


Friday was Sprints and Training Day. We had coffee and snacks abounding and lunch even offered up vegan pizza and a pretty healthy salad option.


Opening Remarks

10 Vital Lessons For Running A Successful Digital Agency
MaryAnn Pfeiffer

MaryAnn is the kind of shop owner I hope other shop owners are paying attention and learning from. This talk is a no-nonsense look at very practical aspects of running a business. I really loved her approach of laying out the advice, then explaining how she came be believe this and the data behind it. I highly recommend this one if you are running a business of any kind.

Raw Notes:
Her 4th year here
goal is to help save you some time and effort and void mistakes she has learned the hard way
not a coder, pre-internet marketing
marketing communications
personal intro and polling audience
1. Begin with the end in mind
lawyers are better on the way in than on the way out
making sure you get paid for your work and work is not stolen
keep things professional
she learned from a client she had been working with for years
her work was stolen by an advisory board, went to court
2 years
another client who had signed a contract
only took 2 months to get paid
another client wanted to change the contract too much
had to say no
all had to say Attorney and they backed off
even her mom needs to sign a contract if she wanted work
2. Friends can be clients but they are customers first in that case
Specific lens of friendship is bad for business
Clients can make really good friends though
as long as professional lens is there
3. Think long term
don’t just take any project that comes along
you will regret taking bad fits into your portfolio
strapped for cash, will take about anything
Client relationship is a 2 way street
4. Brainpower should cost money
don’t give free consulting advice
your knowledge and time are real assets
been doing this 17 years
for first 10 years did a lot of unpaid consulting time
now has a ‘pick your brain’ paid consulting
written report or other deliverable around advice
5. Realize there is strength in numbers
invest in financial tools and advisors to grow your business
She hired a person to handle finances and accountant much smoother
6. Be a work in progress.
Sooner you start documenting and process management the better
project manager came in and had no idea how to start
all process was in people’s heads, not written down
took weeks to document
had to define the processes
7. business is business
No one is a one person shop
we all have to use outside vendors
choose those vendors wisely
seemed easy to just get friends and ‘down the street’ convenient
but not always a fit
now she has stable of vendors who are trusted and provide real value
referrals must be because of business fit
8. No I in Team
working with partners who can keep your relationship secure
had a server fail, hosting company
known them for year, bad luck run on his part
multi day outage
80% of her sites were down
headache and really should have been end of business event
she was prioritized as a client but still the end clients wanted to migrate hosts
but they all still trusted her
chose Pantheon cause we care
Fiery hoops and made sure the clients were satisfied
(Great job Roxanne!)
9. Transparency leads to trust
clients depend on you but you depend on them
must help each other get better
took her a while to be really transparent
tough position to be in if you agree to do work you don’t know how to do
instead figuring out if can do, otherwise refer them
want them to be a happy client so they trust long term for things they are competent
10. Every little thing, going to be alright
can’t force them to jump though
can be frustrating, you have to just let it go
business is not personal and you need to let go of ego

Wednesday Keynote

The Building Blocks Of The Indie Web
Jeremy Keith

I didn’t go into this talk expecting it to be as technical as it was, but wow I am very glad I went in with an open mind. I left with a much better understanding of what is even possible around owning your own content and how it all fits to make a better overall internet. It is not the responsibility of large corporations to protect your content and privacy, it is yours. Things like OAtuh and ‘rel me’ might seem like technical novelties, but what they represent, if embraced, mean a much freer internet where a content creator decides on when and how their content is used in a more meaningful way than using FB, Twitter, etc, could ever allow. This is also a very entertaining talk in my opinion with some of the better thought through slides I have seen in a while. They don’t work stand alone but amplify his talk when he is going through them.

Raw Notes:
Owning your content going forward
Ideally Capitalism good
bell curve distribution
in theory it could be economically good
if a level playing field
Rich get richer and poor get poorer due to feedback loops
Internet explorer
wants to see many browsers competing on features
dodged a bullet
routed around it, like networks
hub and spoke
airports still use this, old telephone
single point of failure
well connected nodes distributed network
still possible for network to work even if one goes away
military background survive nuclear attack
but really people working on it thought
nuclear weapons with hub and spoke
reduced the possibility
shared with the Russians
no top down and nodes can add in as needed
no permissions on the WWW to create a new URL or link
no planned structure
wild crawling mess
walled gardens – Compuserve and AOL
the web Won!
wanted free open
but returned to walled gardens like Facebook, Twitter, etc
FB is media company in the world but we make all the content for them
the better the network
the first person who had a fax machine had a completely useless device
before FB it was a singular social
basically pushed us back to the hub and spoke model
hypothetical, an election
single point of failure
like WP and Drupal are popular and get attacked more
temping target, large attack vector
Convenience is driving it
trade control for this convenience
they now control your content
the movement tries to balance that
indieweb, you should have your own website
link rot is a fact of life
comes back to the architecture of the web
proposal to hypertext conference in 1991
2 directional links
one directional links
but 2 direction isn’t that hard
link rel=
rel stands for relationship
works on a as well
a rel=
a rel=me
but that does not make 2 direction though right?
spec element on profile links
kind of 2 directional
relme auth
piggyback OAuth
can sign in to a service using your own website
why would you even do this?
authentication is the hardest point of an API
micropub – incoming post requests
you can use anyone else’s interface that conforms to this standard
publishing elsewhere send to own site
but POSSE is better
Post own send somewhere else
using ITTT for ths
Webmention another W3C standard is a service on these things
monitoring responses and can ping you and push to you by authenticating
can do comment but also do interesting things with the data
plugins available
works for Drupal as well
but why? why this?
should all be different whys
but it is about control of our media
but this is all about tech
but that is not what indieweb is about
it is about design principals
have to have fun!
emoji included
your site is your playground
the original motto of the World Wide Web was: “let’s share what we know.”

How Technical Should A Drupal PM Be?
Matthew O’Bryant

I do a fair amount of thinking about Project Management since I talk to so many people who work on projects. I also see that as an appealing career path to be honest, as it is something that gets things done and in an ideal world, unites folks for the better. Matthew does a pretty good job of reality checking anyone that might be approaching this field lightly. He systematically walked through terms and concepts that PMs of any skill level should be mastering and at least familiar with. The final answer of “how technical” is ultimately “it depends”, as with so many other things in life. However, knowing more and continually learning is certainly a good approach no matter what.

Raw Notes:
Long history of CS sales and technical background around sales and marketing
bought a home loan automation, learned coding and architecture
Dreamweaver, ASP
20 years of this stuff
Digital Project Manager
I think in 1’s and 0’s but I speak English
Does it even matter
Main role is
hit deadlines
manage a budget
resource coordination
quality control
client satisfaction
Answer is yes, it matters
carpenter using a hammer vs making a blueprint
actual answers, it depends, on quality of the project
small sites maybe less important
even some medium, depends on what you need to integrate, maybe great contrib modules
maybe less to explain
maybe more technical
support SLA
Endurance vs Stress test
more complex you need to have a better technical understanding and be able to translate it
knowing terminology
adding content
basic HTML and CSS editing
Basic understanding of Views
intermediate skills
paragraphs, pathauto
admin toolbar
many more
know your basic contrib modules
Drupal permissions
views config
commerce features attributes
so you can have the conversation with the clients
version control for Configuration Management
Module configurations
more advanced things
know git
W3C WCAG 2.0
Perceivable Information and UI
Operable User Interface and Navigation
Understandable Information & UI
Robust content and reliable interpretation
Peer code review
Cross Browser Testing
Performance Testing
Security and Penetrative Testing
Google Analytics
Google Tag Manager
Heat Mapping Tools
improve your skills
Build your own website

Storybook: An Interactive Pattern Library for Your Decoupled Applications
Brian Perry

Brian is an excellent presenter and this talk is a continuation of an idea I first heard him discuss at Midcamp. Now, I will always caveat that front end stuff always seems a little out of my wheelhouse, as I don’t really touch that side of things in my day to day. However, this adds a bit of magic show element to any of these talks where I just get to be impressed a thing is possible without fully grasping how it does it’s thing. ‘Knobs’, for instance, seems like a completely logical tool anyone would want to use for making fast changes when prototyping or developing but I can’t point to a single thing on my agenda to have a reason to dive into it at the moment. Still, I am very grateful to get to attend these talks and expand my knowledge base around this area. You never know what tomorrow will bring or when I am going to need to need this stuff. It was a very good demo.

Raw Notes:
Atomic design approach
Atoms -> molecules ->Organisms -> Templates -> Pages
build components and prototype them
integrate with Drupal in interesting ways
test things before you integrate fully
can be Twig
on github as well
website in github
bulk is in React
slide shows, galleries, ect
reaction is the folder you want
Another example
Uber React-Vis
visual storybook focused on components for visualization
JSX add on
Adding Storybook to a project
npx create-react-app my-app
cd my-app
npx -P @storybook/cli getstorybook
npm run storybook
starts a localhost instance site
going to be pretty bare bones but that is scaffolding
Individual story files
config.js file
iterates through options and pull in what you want
example story: Album
Music discovery app
Row with an album cover, name, render method to render JSX
select album function
import React
import {storiesOf}
import { Album }
import { AlbumList }
Album story
Addon: Actions
Can see a lot of things
log the actions and functions
with Knobs you can fiddle with things in real time to experiment before committing
Lot of demo!
List View story
Combine all this with Puppeteer to test all the things
deploying is straightforward as well
build to a .out directory
or NPM script
and can post that anywhere with static JS bundles
Drupal and Pattern Lab?
style guide guide, gatsby edition
the storefront in the workshop
really is a dev tool

5 Essential Lessons You Can Learn From Art History
Jennifer Smith

I’ll admit it, I didn’t fully read the session description before I got there and thought we were going to be looking at classical architecture, painting and sculpture from all throughout history. Instead we started in 1900 and I quickly got acquainted with the importance of The Bauhaus and Swiss Design and how we can all benefit in our daily choices from embracing simplicity over needless ornate embellishments. I also learned how to quickly apply the Golden Ratio to a layout without a lot of hassle, which I am going to start leveraging as design choices pop up. TL;DR – centering is the lazy way to show you don’t know about design, so stop centering everything and flat is better than drop shadows.

Raw Notes:
There is design in everything
If you follow best practices
looks more professional
takes stress away
impresses others
don’t make your company look bad
10 minute art history
Early 1900’s
could go back further but this is modern era
Emphasis on tech
manufacturing process and function
style subordinated to purpose
Electricity comes around
have to design things to use it
like fans and such Peter Behars
tea kettle
unified appearances
glass walls was a super big innovation
reason behind every component and decision
Van de Velde
trained as a painter
served as an architect, designer, teacher
jewelry and other common things
first real silverware sets
art to industry as well
German Association of Craftsmen
form determined by function
elimination of all ornament
elevated functional aesthetic
1918 war ends and design things ramp up in post war
1919 Bauhaus school
to this day still think German Engineering is good because of this
free to people who qualified, school just for designers
building for a soft machine, humans
Bauhaus became a philosophy
eliminate elements that do not matter
form follows function
everything is designed
make design accessible, avoid overloading and over stylizing
Craigslist is EVERYTHING at once, Google is one thing, done well
1933 Nazis killed the Bauhaus
1940’s Swiss Design
after exit from Germany, kind of makes sense
not specific to Swiss, but international style
flair for design forever there though
international typographic style
this is used by all large corporations now
Used Asymmetric layout
Flush left, ragged right
preference for photos over illustration
Dieter Rams, less is more
record player
Braun juicer
inspired by that juicer, Apples products in the 90s
10 principals list
Less is more!
don’t give the user more than they ask for
focus on needs not distractions
fierce reduction of elements
United vs American Airlines apps
United has a lot of unneeded parts when you first look
new flat design is actually just the swiss style
shiny is not needed
Windows 10 no rounded corners, grid best site about what not to do with design
how to eliminate unneeded objects?
Do you really need this in a box (boarders are a sign of weakness)
Does this need a drop shadow (most likely no)
Does it help to have this in 3D
does the gradient convey more information?
BWI is actually on the right path
but there is a video on their desktop site that takes a lot of space
mobile apps are cleaner
Using mind maps, helps figure out what is important before design work begins
don’t give people sloppy stuff
Eye pattern testing showed no real difference between serif and sans-serif
on-screen considerations
Xheiht 65% of the Cap height
strong counters
do not use Script or Cursive
use a typographic grid
Always adhere to type ramp
visually 2X the size so people can see the import stuff
Rule of thirds
Golden ratio
Fibonacci sequence based on rabbit research
very replicated in nature
multiple by 1.62 for a perfect pleasing size rectangle
helps to not center everything
can overlay Golden Ratio on your screen over anything
and break down proportions as needed, repeatedly
Google Materials

Thursday Keynote

Exploring the New Drupal Front-end with JavaScript

I always love a good Driesnote and was a bit curious how this would stack up. A visibly more relaxed Dries, in front of a smaller crowd than DrupalCon brings, really had a conversation with us and introduced several members of the audience to the history of Drupal for the first time. More importantly than our past, it was great to hear an impassioned view of the future and what that can look like. Not too dissimilar from WordPress, the take away for me is embracing JavaScript on the presentation layer is not optional anymore, so it is up to us to make sure our testing frameworks and APIs are up for it. Especially in a world where every new dev is at least learning JS basics, it is going to make adopting Drupal even easier int he future and will let us draw from a much larger pool of devs to grow the community.

Raw Notes:
History of JS, Drupal, API-First, JavaScript-driven Drupal admin interface
Brief history of JS across the stack
JS was invented in 10 days
Brendan Eich wrote the first JS version
in the beginning everyone thought it was amateurs
JS was not cool at first
asynchronous JS
lead to AJAX
then frameworks like JQuery, dojo, mootools prototype
adopted by Drupal, first CMS to use JQuery
put it on the map
2008, Chrome build JS engine V8
10 years ago, they were very future looking
10x performance improvement over internet explorer with V8
2010, twitter made unprecedented move,
implemented new API server for everything/everyone
Moved the rendering to the user’s browser
model is common now, but this was a first
over capacity whale showed that this initially did not do well
time to first interaction was pretty poor
had to download a lot of things
in 2012 partial rollback of rendering back to the server
AIRBNB made the code very reusable
JS word right now, Babel, nightwatch
tooling has really evolved
History of Drupal
message board for his friends
registered dorp, means village
typo to, happy accident
thought up public name for code, 30 seconds. Thought of Drupal
Google and Mobile had no real existence
1 our of 40 sites on the internet use Drupal
14 million visits to per year
reinvented ourselves many times
each morning we are born again, what we do today matters most
slow start on D8 after release
but getting better
51% increase in D8 adoption last year
REST API first initiative
Drupal’s REST support is pretty good, rich and mature
user logging/reg, media,
JSON API and GraphQL
pretty robust, moving them into core
pretty close
maybe in 8.6
more and more companies designing API first
Chupachups UK, Warner Music, many, many others
people at sea using Drupal locally and syncing once back at shore
integrate with anything including other Drupal sites
NewBalance is ideal use of both traditional and decoupled
Working on JS-driven Drupal admin interface
Drupal’s own UI is still not JS first/forward
could be more interactive and better if we do embrace it
Drupal needs cutting edge experience
Trying to replace a single page, they identified 6 steps
1. stabilize the JSON API module, pretty close
2. Improve our JS testing infrastructure
3. Create designs for the administration UI
4. Allow contrib modules to use React or Twig
no big bang swap of whole UI, introduce more dynamic incrementally
not everything needs React, but want it when you do
5. Implementing missing web services APIs
like permissions, found gaps in coverage
Admin areas have some things that are only in that use case
6. Make the React UI extensible and configurable
Good news, this benefits EVERY decoupled builds
why should we care?
used to be you made a site and just left it alone
now people live in the frameworks like Drupal, always changing
Drupal is no longer the Drupal you used to know
it continues to evolve all the time
slides at

Iterative UX: Find It Cambridge Case Study
Benjamin Melançon

I was very curious on this talk what a Find It Cambridge even was. Turns out it is a resource that can greatly help any community better organize it’s events and resources. Benjamin is just the nicest guy as well, which never hurts a presentation. For instance he deferred to team members in the room who had worked on this this project with him for various sections, making it seem like their whole team was up there presenting and he was just a player in the larger picture. I have heard too many talks where this would not have happened, even though the team is literally in the room. It encourages me to think about these sort of opportunities to involve others in my sessions. I don’t actually think my notes on this one are that good, as I had a few distractions in this one, so this is a case study I would encourage you to just watch for yourself on youtube thanks to the hard work of Kevin Thull

Raw Notes:
must have a budget
an ongoing budget if not a large one
iterate on what someone else has built
what another website does
issue is they want Google/FB/other expensive commercial site
find something similar to what you want to build and use the elements that work well
Sommerville pub was there to help them figure out what worked well
research showed more info was expected from a .org vs a .gov
that is changing in Mass thanks to!
Resource Portal Interviews
Students from the school of public health reached out as part of a project to research with them and provide analysis
Testing other sites
You need content, you can not design without content
Google sheets originally,
then another content store was used
compare to other sites
see how buttons work well there
a wireframe allows us to experience design while implementing quickly in dev
Best 7 letters when talking to a designer or Developer
discontinuous Improvement
have to break and improve things
Go where your users are
use IE if they still use it at your user’s facilities
visualize everything
visual maps
Lessons learned from user testing
there were many
not including 141 programs that forgot to check themselves as All Ages
water play parks
seasonality or weather dependent results
more use cases
curated lists of things

Building a better page builder with Bootstrap Paragraphs
Jim Birch

Going to be very honest here. I originally went to see this because I wanted to support Jim giving the last session of the camp. I always love his talks but going in I had a fear my mind would wander and my notes would be pretty spotty. However, this is actually a really interesting area, even though front end. Jim’s presentation skills are second to none and his raw passion about this subject matter is infectious. At it’s core this is a talk about DRY and how to make everything reusable. This is a great lesson for anyone, not just front end folks.

Raw Notes:
Different widths for different content elements
better typography
wanting images
structured content
ability to add semantic markup
easy to administer
slide things around
Bootstrap framework – HTML and JS pre-configured
powers about 25% of the web as a front end
mobile first and responsive
Create grid markup and readable
standardization helps
on-boarding is easier
mixins for adding existing styles to semantic html
best practices for small/lo budget projects
get 80% there when you start
Open Source – MIT license
If already using Paragraphs
how many times have you repeated yourself
but a litttttle bit differently
install this modules and start exploring right ow
Strategy – create a module to give you want you need
create base templates and CSS that could be included with any Bootstrap include
harness the power of Entity Reference Revisions fields to neat Paragraphs
Have global width and color options
Inspiration – Les and David Needham’s great presentation using Paragraphs
they came out with idea of paragraphs as content paragraphs and layout paragraphs
and ponies
Global settings
Every paragraph should gave widths and backgrounds
background colors
empty classes follow the standards for bootstrap conventions
Content bundles
layout bundles
image includes a link field
embed JS or connect to mailchimp, Pardot, Eloqua, etc.
Drupal Blocks – render them in line with the other paragraphs
not everything works though
copy and extend for custom blocks
Views paragraph bundles, reference field, lets yo put a view into a paragraph, even with an argument
up to 6 pieces of content
distributes equally
two uneven columns 1/4s and 1/3s
3 uneven columns, it gets messy but possibilities are wide
column wrapper
another layer
carousel for those that like them
images and text, just no other carousel inside a carousel
slide interval speed settings
Modal – 4 fields – title, body, footer
Tabs like the accordion
tabs and accordions in a tab
2 Submodules
contact and webform
Contact form let’s you reference the content form entity
add new or use existing contact form
Webform, same thing but for Webform module
using Block element modifier markup
Markup – div.paragraph
Twig – width example
Drupal asset libraries to apply styles
theme has hierarchy to the modules
module libraries folder
custom blocks
add fields
dropping in setting default
make your own content fields
manage display
Working globally
mostly config and a couple templates
packaged up in a module
thought was ‘how can this be reusable?’
does not want to rebuild again and again
create a module structure
Drupal console has a command that magically does this
add templates and CSS and JS
configure in the .libraries file
export the config
Just delete the UUIDs
Rename field_ to your own machine to avoid future collisions
if needed, add function to override template in .module
Bootstrap Pages module
article content type and an author and a landing page
meta tags and, optimized images, responsive, precofigured URLS
use frameworks to save time and be more productive
this is his attempt to do this
also can use this approach for any other framework
make it reusable

My Sessions

Nobody Wants a Website. They Want Results!

Discovery, discovery, discovery, discovery!

I got to talk at MIT! This is pretty exciting to me. I not only got to deliver 2 talks at this camp, which is cool into itself, but I also got to give two related talks that are part of a larger set of topics, which is the sales/project process. With ‘Nobody Wants a Website’ I focus on the qualification process and uncovering KPIs or at least what is measurable early. I got to follow that up a day later with ‘Discovery, discovery, discovery, discovery!’ and dig into what I think of as the most important part of the whole process. It was a really great feeling to give this ‘cycle’ of talks and I am guessing this is how Matthew Barney feels whenever they show all of Cremaster Cycle at once.

Sprints Day:

I always love a contribution day. The community coming together to make the project happen and evolve the state of things. I was very happy to get a chance to wrap my head around the Tour module, specifically the notion of leveraging routes and attributes. This is one of the more overlooked aspects of Core in my opinion and I look forward to being able to better get a grip on how to contribute back to the project moving ahead

Wrapping Up

I always will like Boston for the history, for the warm people if it is warm outside and for the pretty awesome Drupal community based out there. I am actually going to be headed back that way in the near future for another event. I am already looking forward to next year when I might again get a chance to speak at MIT in the shadow of the offices for the W3C, Stallman and Tim Berners-Lee at Design4Drupal 2019!

Texas Camp 2018: The blazing heat of Austin and learning much about Drupal core

I occasionally get on an airplane and am freezing thanks to the AC being cranked all the way up. This was the case when flying to the lone star state and was immediately met with 104 degree heat when they opened the doors on the ground. To be honest, this is not my favorite kind of weather, but at least I would be indoors for the most part, since I was there for Texas Camp 2018.

This was the second time I have ever been to City of the Violet Crown or Texas at all for that matter. The first time had literally changed my life. It was my first Drupal event I had ever attended, DrupalCon 2014. It was the event where I went from just another sales guy in a another tech job I thought was interesting to full blown community member and Drupal enthusiast. It would be hard to understate the importance of this for my life and there is zero doubt I would not be writing this now, nor would I be even living this well, if it were not for that trip. Tamping down crazy expectations of something that life changing, I went in like I do every camp. What I got out of it was again some of the most memorable moments I have had in this space yet.

Food and Fun


Speaker dinner

After a long, full day of training the speaker, sponsors, organizers and volunteers all got together for some Texas BBQ over at Stiles Switch. It was awesome to see everyone. The team made me feel very welcome with the food, by brining in some vegan quesadillas that really hit the spot along with some awesome veggies we all could share. Other folks with dietary restrictions also commented on how inclusive this event was. Not even going to mention it on the other things below, there were vegan options every singe time we were together, just as I think it should be.


No coffee to be found. I almost cried and went a walking around to try to find some. The only coffee place I could find opened at 10:00am. I don’t know what Texas thinks coffee is for exactly or when they think it should be consumed, but this was literally a first for me and was not too pleasant a surprise. However there were breakfast tacos. No lunch was provided so I ended up eating the really awesome and tasty breakfast tacos all day long

There was a Friday night after party as well. We gathered over at 4th Tap Brewing, another co-op, to play some board games and try their pretty terrific brews. I am normally not a beer drinker, but if you are in the area, drop in and see of they still have the Highland Scoundrel, a 10% ABV malty Scotch-style ale, made with peated malt smoked in-house. Best beer I have ever tried.


More breakfast tacos! No coffee, which lead to sleepiness on my end and might have ended disastrously if not for the heroics of David Needham who brought me iced coffee.
We again were on our own for lunch and instead of just grabbing the free option, I ventured around the block to Wich ‘Wich which has pretty awesome selection of subs, wraps and salads. It was great to get to hang out with my Drupal folks over a meal.
The after party was a hoot, taking place not too far away from the venue at The Local Post where we had more drink tickets than we knew what to do with and a terrific spread of food. Afterwards, we found a pretty awesome karaoke spot over at Common Interest and sang and sang and sang until they threw us all out at closing! At the karaoke, we got to see something that was a first for me, a trumpet player playing along with some of the singers and doing the best version of ‘Georgia On My Mind’ I think I have ever heard.


Training Day

Training: Visual Regression Testing with BackstopJS

I was super pumped to be able to co-present/assist with this training. I had done so at LoopConf and it was awesome. Being able to do it here again was also good, though this time I had my own agenda. I used the time to really wrap my head around some of the internals and how I could better use them for my workflow that I build Postitnow around. Here is a video of my then current results

Friday Keynote

Keynote: Breaking the Binary: The Politics of Code and Inclusivity in Technology
Nikki Stevens

Inclusion is one of the things we like to pay lip service to a lot I think. When Nikki showed some examples though of us getting it wrong, it was like a gut punch. I love a good gut punch, it makes me uncomfortable but motivates me at the same time. Like when I think about Accessibility, I always get that same feeling of ‘I am not doing enough’ which drives me to always make alt text at least now. Now I am inspired to always consider ‘am I being tolerant or am I being inclusive with this decision’. They are both important but they are very, very different ideas. I am glad to be on this journey of FOSS with so many people from so many backgrounds. This is and excellent talk to put us in the right direction, but it is up to each and every one of us to move down this path and make tomorrow better, and more inclusive, for everyone.

Great intro from Michael Schmid
Are things the way they are now, the way they have to be?
binary does not change for instance
code does not change
but we used to have balanced ternary system
nothing is inevitable or unchangeable
can we image a different future?
definitions from the crowd
intersection of change
power is exchanged
tech work is political
algorithm to tell who on skid row on who gets a house
it affects real things
internet exists in the real world
internet is just tubes filled with cats
we forget that this is computers made with stuff from mines
in a system, we are all connected
do small choices matter? yes
vim vs emacs
trello vs jira
vagrant vs lando
all the choices matter
the foundation for inclusion is the ability to imagine new futures
no one knows how tech works in general populations
does you ‘user’ exist
average pilot issue
Open demographics began last year
gender: male/female/other
open-demographics on github
gender form to many more options
small choice, huge difference
distributed credit shatters illusions of meritocracy by showing all the labor involved
supported by charts that show 86% male in the space
reinforcing illusions in the system
What’s the business case?
Diverse companies do better and make more money
changing ideas about women
why are we still here?
what is the business case for not changing our hiring practices
data show this is import to change
what systems are we supporting with our corporate and
why are black women so
things designed for white faces/skin
not taking things like gender diversity in stats
tech is important and impacts the world

My talk

Discovery, discovery, discovery, discovery! The most important part of the project

I really had a great time presenting this. Had a pretty full house and people gave me good feedback. The more I think this stuff is common knowledge the more I am always surprised people say they have not encountered some of this stuff before. I am about to retire this one I think, going to replace it with the best parts of a couple other talks about process and give a polished ‘Follow the Process to Success’ kind of a talk, but no time line on that. Thanks to you if you came out to it or listened online.

Getting closer to your customer: Using Drupal in the last mile
Kelly Albrecht

I honestly went to this talk with the thoughts of a) I think Kelly is an awesome presenter and b) What does he mean by last mile here? I was right on the money with the first assumption, Kelly knocked it out of the park and this was a great presentation. I was honestly surprised by the second part, having my expectations completely subverted and walking away literally pumped about a part of Drupal Core I did no know even existed. I spend a lot of time talking the ‘hows’ around DevOps. Automating and such, which is at the heart of the tech side of ‘What is DevOps?’. I don’t spend almost any time thinking about or discussing the ‘Why is DevOps?’.

Why we are thinking this way and how to implement
How close are you to your customers now?
easy to push customers away if you see them as interruptions
lot of misconceptions of what DevOps is
people think about it terms of servers and machine
DevOps came from the developer and the operations folks not communicating
shortening the feedback loop and adding value to chain
customer benefits
break down the wall of confusion
automation helps
feedback though is critical
narrow version of this topic and that is ok, we talk about it a lot
want to automate to noops (no ops)
this is short sighted
Whole point is delivering something of value to the customer
think about getting everyone in loop to customer as communicative as possible
Dev, Test, Engineers to get to mind set
build,CI,Deploy,Operate,feedback,plan,build loop
manager / maker schedule
feedback comes in as tickets
that is what the devs thought
needs to think wider with it
apply flow and automation ot customer feedback as well
which new thing is more important than the other new thing
what’s new, what is, how is it?, what’s next
people lose faith based on how they misunderstand a product
WP as a community thinks about the end customer a lot more than Drupal generally does
What if we modified the Drupal login experience
Tour is in D8 core, not being promoted but very valuable
?tour trigger tour trick pop-up
end user feedback at the end of a tour
get feedback quiz
if people feel their feedback would be heard, they give it
We need everyone’s perspective to make our product as intuative as possible
keep experimentations simple and cheap,
iterate to get closer to you

a11y — ARIA Rules: To Use Or Not To Use
Susan LaRonde
Charles Leverington

ACCESSABILITY FTW! You know it as well as I do, this is everyone’s responsibility. As if to underscore this and literally have the universe put a face to the issue, when we went out to Karaoke on Saturday, a group of visually impaired folks were having a party and ripping the stage up with how great they were! I had an ah-ha moment of imaging any of them trying to use this site, or anything else I have touched. These awesome people should have the best experience possible. It is a real blessing that Drupal (and WP for that matter) make accessibility automatically OK and it does not take much to get 100% of the way there from our end as content makers and site builders. Don’t delay, make your site accessible today!

Speaker notes are available on the slides from link
examples of ARIA accessible approved code are freely examples
add functionality where semantic HTML does not
classes and how they relate
HTTML DOM tree JS Accessibility tree Assistive technology user
right click inspect, look at JS events, look for accessibility tree
only exists since 2012
most roles are automatically made in HTML5, leveraging semantic HTML
roll = navigation
no aria is better than bad ARIA
do not overwrite existing accessibility semantics
do not change the native semantics unless you have to
ARIA uses KISS principal
lot of code examples in this talk that ironically I had to strain to see from even my third row seat
third rule of ARIA, always make sure keyboard controls are usable
NVDA – NVAccess, free and open source

The traffic fallacy
Sean Eddings

I work on a team that is in the midsts of trying to adopt a more Agile methodology for working on projects that fall outside recurring events. Every time I see a talk about this stuff, I feel it puts me a much better place to even communicate ideas on how to apply SCRUM or Kanban with others. This talk started with a ‘where is he going with this’ moment. Then he got there and I don’t think I can think about tickets in the same way ever again. If you are struggling with tickets and your whole team being too darn busy to get anything done, this this is the talk for you and a way of thinking that will help optimize everything about functional deliverables.

lives in NYC
traffic is bad and many places are too
but thinking while stuck in traffic
not a ton of thought given to solving
he researched and Houston to Katyland TX
41 minutes to go 28 miles on average
right now, hour and 20 minutes
in 2004 nonprofit said 25million hours wasted
delay would double by 2025
about $503,620,000 lost opportunity per year
engineers, extra lanes means more capacity
Texas spent $2.8 billion to widen the Katy Freeway
average time increased from 41 min to 64 minutes
55% increase
the amount of freeway increased the number of cars increased, ratio remained the same and actually worsened
50 lane freeway in hong kong
freeway engineers have the best intentions
Need a vehicle and progress limit
Manhattan is experiment with congestion pricing
no go on this idea now
Stockholm, Sweden, bunch of islands
set up experiment, costs a $1 to enter central city
when people saw the data after 6 months
travel time decreased by 50%
emissions dropped by 14-18% in inner city
what about our industry
Backlogs are like this, things taking forever never get done
think, more people, get done faster
looked at task list and too many things assigned to single contributors
Value was taking too long to get to the customer, and everyone was too busy
looked at they way they managed processes
realized they had a command and control model
traditional management says 100% utilization of people was the key
but if everyone is busy, delivering value with predictability is not impossible
changed to prioritized delivering work to the customer as quickly as possible
goal: put our good ideas into action quickly
1. Visualize our process
2. limit our work in progress
3. improve as a team
1. visualized
moved away from tech, went to boards and paper
high level visibility for team
bottlenecks easier to see, respect or change
makes hidden work apparent
2. limit work in progress
how many things can you really work on?
excessive WIP heightens distractions
marked WIP limits on board
there is no right WIP limit for everyone
a lower WIP is generally better
a too high WP leaves work idle
too low leaves people ide
WIP limits are not rules
take a list of work, prioritize it based on biz value
that is your backlog
work top to bottom
right now thinking of tasks and breaking them in different ways so something is completed
task that needs approval example,
deliverable is the thing to be evaluated but that is a new card once feedback is given
conversation the team has on who does what
always keep things in motion though to get to value delivered
flow efficiency is the sum of value adding activities in relation to the throughput time
Flow Efficiency = Value Adding Activities/throughput time
Works because devs do not put things in To Do
selected for dev is a parking lot
ready to deploy is a staging area
what stayed the same?
Multi-functional team
dedicated team
queue hygiene
daily stand ups
what changed
optimizing for getting a single work unit through the process as quickly as possible
ea members attached to work
team members pull work
that takes a lot of autonomy
Good to Great teams:
set the stage
gather data
generate insights
decide what to do
clone the retro
What did we learn?
Start with what we have
prioritize our work
visualize our process
limit WIP
Retros are how team improves
goal is to deliver value faster to customer
Agile and Lean, are all about experimentation and learning. Enjoy the trip

Saturday Keynote

Keynote: The Future of Drupal
Michael Schmid

I can not overstate how good this one was. Whatever you are doing when you read this, stop and go watch this talk! My summary is OK for my purposes but it loses Michael’s impassioned tone and the pure excitement he expresses about how we are being adopted as a community philosophy and software by governments around the globe. I went in thinking ‘oh great, another talk on how we are not growing and maybe some hand waving around some stats’ and I left going ‘oh yeah, I forgot that Drupal is the best expression of FOSS Internet CMS anyone has made yet. We are doing some great stuff and we can keep making it great!’ Some version of this should be the keynote at DrupalCon Seattle.

We need to talk Drupal
You taught us a lot Drupal
growing companies
You have changed lives
but you also changed a lot
Drupal 8 is not the old Drupal
Upgrading from D7->D8 is really hard
Modules work differently
OOP everywhere, you have to understand deeply
so many new things to learn
and already Drupal 9 is in discussion
Adoption is slowed down and it is scary
same is true for DrupalCon attendees
no DCon Europe
You also created physical and mental pain
Drupal Confessions
didn’t do his due diligence and found out too late
He is sorry for what happened
it is gone now, but caused a lot of pain he sees now
Had to learn composer and the CLI
so complex now
and now need to learn JavaScript
and it is very different too
and now the Security Issues
so many hours
is Drupal over?
is that our tomorrow?
NO! it is not over
Who is Drupal?
If we blame Drupal, we are blaming ourselves
we are all in there together
The others are not sleeping
Drupal is already powering the web
we have a lead
over a million sites
5% of top Million websites are Drupal
181 governments use Drupal for sites
So many governments decided to use this code we make
Want to buy a car, you are likely using Drupal sites
Lush – Drupal commerce, but because of our code
NBC, Pfizer, etc
Drupal is used more and more by bog and important websites
is more market share really better?
D.O Data Usage is voluntary
many people disable the ping back to Drupal
Now we have a road map!
we have a plan for next
an upgrade path
D9 Upgrade path, as easy as 8.0 to 8,1
will be smooth process
Camps are happening and getting more and more important
Camps are less intimidating than Cons
Camps are closer to the people
and much more affordable
only works if businesses sponsor
It is hard since ‘what do I get back’
small $ back, sure
but you are making Drupal better and possible
and send employees to participate and bring community closer
should be sharing that knowledge internally
lunch and learn it, share what you loved
employees: ask to go to camps
All the major frameworks using Symfony framework
Drupal started that
added complexity, but makes us all stronger
why embracing and using other tools
We have always done it, like jquery
Less overall work
brings us closer to the rest of the PHP world
easier to hire engineers
We need package managers
there is no other way
everybody uses it
everyone has always used package managers
like driving a car
it seems impossible at first
Secure is much more transparent
Drupal Security is completely volunteers
Same processes like Linux, Google, Apple, etc
hosting companies have you covered
Most popular tools, tops the list
TensonFlow, React
Stanford intro CS is in JS
Decoupled frameworks
this is how most large sites work now
API first is key
MOre dev, design, UX capabilities
So Drupal, forefront of decoupling
Full support for JSON-API and GraphQL
Contenta CMS
Angular, Elm, Ember, React, Vue
still a hard problem, but this is getting easier
So Dear Drupal
Lets build the future
Accept and embrace change from all of us
we always making it better
but that takes investment from us all
and if we believe

Hmm, I Didn’t know that Module Existed!
Fito Kahn

I started out in 2013 on Drupal 7 and have never really put it away, though I do much more WordPress stuff in my personal dev experimentation. I thought I would go to this beginner talk to learn a little about what Drupal 8 modules were all about, especially after learning about tour being in core earlier in the day. I took incomplete notes because I kept opening tabs for the modules Fito introduced me to and was just like ‘wow, I didn’t know about this one’ with almost every feature. With a goal of introducing the site builder to how to make very customized sites without cracking open the code even once, he made the case very well that through configuration of the modules alone, D8 can do just about anything out o the box or with a couple easily installed components. Again, this list is incomplete, but good thing there are also resources like this.

What have I gotten myself into?
Some people on first site right now
Overwhelming at first
but there is hope
there are so many modules
and the Joy of D8 being awesome
History of D8 75 core modules in D8
not as many contrib modules needed
30 core in D7
important dates
3982 D8 modules in 2018
8641 D7 Modules
Experimental Models as well
many in core are turned off, just need activated,
Modules that will make life better
– Admin Toolbar/Tool Bar Extra
– Coffee and Coffee Extras – search in admin that is easy to use
– Pathauto – makes URLs with tokens easy
– SEO Checklist 0
– Content Moseration/Workflows – in core!
– multilingual support, content translation in Core – 4 modules
– Webform – you can design your own
– Simple Sitemap – lighter than XML sitemap
– Slick/Slick Extras – one of many solutions for slideshows/carousel
can be touch to configure
– Focal Point – crop API
– Honeypot – defer spam bots from completing forms, not as intrusive as captcha
– Autoban (Automatic IP ban) using watchdog table
– Scheduler
– Paragraphs – editors control flow of content – replaces bidy field with content types you can mix and match
– Views Reference – field conjunction with paragraphs, adds more flexibility
– Panels/Panelizer/Display suite – create drag and drop layouts for customize looks of site
Let’s remember this is all to avoid actually touching code
this is all just install and config, very different than hand changing views
– settings tray – core. Customizer for Drupal
– Bricks
– String overrides
– Statistics – in core – can slow down the site but valuable info
– Module filter
– Alexa – yeas integrate Alexa with a D8 site

Archiving and Visual Regression Using Drupal 8
David Stinemetze

David was so impassioned about this idea, I just had to see this in action! Going in I was not 100% sure what to expect from this. The idea, as he had described it to me, seemed logical but I wasn’t sure about how it did it nor did I really get an idea of why you would even do this. Leaving the session, I was blown away by the quality of what they are building and sharing with the community. Leveraging the beautiful solution of BackstopJS, we get a solid path for backups, archiving and automatic testing that I had not thought of before. It is well worth watching just for David’s enthusiasm.

Old parts of site don’t change
testing anyway
add on a wayback machine element
Module overview
Web Page Archive module snap local or remote, triggered periodically, compare snapsops based on URL or XML sitemaps
Snapshops can be captured on any site
not just current instance, not just drupal, not just sites you own
Requirements, D8
Learn D8, Ease of use for non-tech users
Drupal 8 plugin ecosystem makes it easy to support additional use cases
give back to the Drupal community
Capture Utilities
Drupal plugins responsible for performing captures
uses annotation based discovery
configurable per instance
Captures screenshots of URLs
uses Headless chrome and puppetier
can also capture raw HTML
Skeleton Capture, prototyping tool
Web Page Test Capture Utility
Captures web performance test results
just capturing it now
other proposed use cases
Configuration Archive Capture
Rendered DOM capture
Google Analytics Capture
Security Scan Utility
can configure easily with dropdowns
don’t want to manually capture each page, use site map
capture stores things, storage can be an issue
Current Project Sessions – yesterday Spot the Difference tool
Visual Regression is all about the things human eyes easily overlook
slider compare
compare screenshots Heatmap
bright red to highlight differences
Release plan
Some remaining issues
You can help
needs new code, needs reviews, etc
demo time
in config, website archive tab

Goldilocks Decoupled: What the Future Holds for Decoupled Publishing
Mike Minecki

I hear decoupled being talked about a lot and I am certainly one who has seen it as not only a better way to think about building for multiple end user system. Mike reminded us all that this is not a panacea for all our issues and there are a lot of disadvantages for decoupled systems if the team is too small, the use case requires a lot of the CMS solved services or other things that a REST API can not do well yet. Even though this was towards the end of the camp, the conversation that flowed from the end of the presentation was lively and I didn’t capture that effectively. If this sparks an interest, go listen to the conversation from the recording.

This is not a demo or a show and tell
why Devs love Decoupled
Hard choices
are you doing stand alone or hub
chart for this out there
simplifies the ideas of it
if there are other apps basically
heart of the chart is layout and display management
modules, toolbar notifications, caching and performance
end up with choices
coupled, progressive, fully decoupled
more JS –>
Why do Devs love it?
bad reasons
new and shiny, Drupal is hard, performance, Dogfood API
Why good
good reasons
Shared templates and language
building frontend in JS is really fast and rather easy
Static site generators are really performance
separation of concerns
a lot more to a website than static markup and content
Content routing and complexity for instance
Decoupled pitfalls
Snowflakes – every front end unique
can’t install stuff (like twitter cards or sitemap.xml)
caching and routing – static site generators don’t work for bigger sites
Progressive Decoupled – the middle way
Redheaded stepchild of the monoloth and JS framworks
need deep understanding of both to build new stuff
DX is only great if 2 teams
Tons of Content APIs
0 ways to render them without a dev
44 decoupled backend listed on
that’s weird
off the reservation – Arc publishing
a pagebuilder
Superdesk publisher
lightweight source renderer
benefits for devs
Editorial controls
Built to work with reverse proxies
Standardized workflows

Wrapping Up

It was an intense few days for me. Some personal stuff happened, like it often does, that distracted me a bit. Very fortunately for me I was far from alone and had my Pantheor and Drupaler family members there to help me get back on track. This event also re-sparked an honest curiosity about what this D8 thing can even do. Time to get exploring now for sure. I know I will be digging into a few things more deeply and don’t be surprised if you hear me talking about tour sometime very soon at a DrupalCamp, as a BOF if nothing else. Also, I didn’t have the chance to see it live, but for sure check out the session about Drupal’s Layout Builder that I am pretty keen on as well. So many good ideas, hard to fit it all in one blog post.
I do hope I get to go back to Austin again in the future, but man I sue hope it is not nearly as hot when I got back. If nothing else, I hope to return for a future Texas Drupal Camp!

DrupalCon 2018: A little bit country and a whole lot of amazing conversations

Way back in 2014 I started working for Pantheon and at first it was just another gig, working in Open Source and selling a platform. Then I got sent to work the booth at this event in Austin, TX called DrupalCon. It was there that I met the users of the platform, the developers, face to face. It was there that I finally understood what it meant to be part of the Drupal community. Drupal events will always hold this extra special place in my heart which is way I was so darn excited to get to go to the SuperBowl of Drupal, DrupalCon 2018

This was the 2nd time in a year, and in my life, I had been to Music City USA. While a little more familiar, there was a ton left to explore and so much I have not yet gotten to do. I think the fact that the city was not as mysterious made this trip seem to fly by extra quick. From the time I land until I flew out felt like a few hours, not a few days. Lot to cover, so let’s rock it!

Food And Fun

Sunday Night

I landed and was immediately invited out for a night of good fun with the Drupal community. There were a lot of folks that rolled into town early to take advantage of the night life and sights of Nashville and it was like a whole ‘evening of hugs’ where we couldn’t walk too far without getting a hug from someone you had not seen in a while.


Coffee and tea and some high carb breakfast options were on hand as we started the day of training and Partner Day. Not terribly coffee but not great either. I opted for tea for the rest of the event after that first cup.
Lunch on day one had a very solid vegan option: tofu steaks, quinoa stuffed peppers and some pickled veggies on the side. Can’t find a picture of lunch options on Twitter, so here is
There was the Opening Reception for the sponsor area/main floor for the event with grits and other options. Since there was cheese in everything save the mushrooms, I found some crackers to munch on and a little fruit, but otherwise saved room for a the food at our Pantheon Team Dinner a little later that evening.
Monday night found me at the Pantheon team dinner, which happened at Pinewood Social, a super hip bowling alley/mixologist bar. I put a short hold on my ‘vodka+soda only’ approach and indulged in some good Tennessee whiskey. I carried this over from our team dinner to the official unofficial Drupal Bar Crawl, alo known as the DrupalCrawl. This year we crawled into HQ Beercade Nashville and many of us did not crawl anywhere else, given you could play most of the games for free, including one of the greatest games ever sponsored by a beer, Tapper which you can play here


This was the first full day of the conference and for me it started really early and I brought my own coffee. There was a coffee option but I didn’t see it til later in the day.
I had my hopes up for lunch and unfortunately the option for the catered line was not quite as stellar as the previous day. Though not too bad, cold quinoa salad had my protein needs covered and there was as much fruit as I could eat. The veggie sandwich was just OK.

Tuesday evening found me at the Pantheon Parter Dinner. We gathered at the Country Music Hall Of Fame for a great evening of celebration, a few speeches and some quality meals. It was awesome to hear so many experiences and points of view being shared. There are few things that inspire as much confidence in the community than agency leaders sharing what is working and what they are working. This ‘collabratition’ approach is pretty unique to the FOSS world and it is part of what makes it so great.

Can’t find a tweet for this, so here are some of my favorite Drupal people instead:


Tuesday night ended with some amazing singing by the community at a couple different places. First was the official Mediacurrent after party with much singing. I didn’t go, but thought it deserved a mention

Then a good number of us went first to Ms. Kelli’s, but there was another convention that had already settled in there. But thanks to the quick thinking and hard work by the amazing Stephanie El-Hajj we found ourselves in a much better spot without any competition from any other conferences at Wild Beaver.

Can not find a tweet with a pic, so here is another group enjoying another Karaoke bar in Nashville:


After a long night of singing and rejoicing with the community the next morning was a little rough, so thank goodness for that conference coffee!
Lunch was a serious step up from the previous day with green beans and potatoes along with more quinoa salad. Very full at the end of the meal.
One of the things that stood out was the cards on the tables that gave people talking subjects. I sat at the PHP table be happenstance and had a really great conversation about deployment pipelines and automated testing. There were a lot of topics

Wednesday night brought the Official Pantheon + Lullabot party at FGL House

And yes, there was an after party

Unfortunately I had to leave Thursday morning. It was for a good cause, one of my best friends in the world’s wedding in NOLA.


Training Day

Automated workflows in Drupal 8 with GitHub, Composer and CircleCI

I didn’t have a session accepted at DrupalCon this year, but I did get the chance to co-present part of David Needham’s awesome training. I want to take a second to tell everyone reading this to stop for a few minutes and go read Martin Fowler’s definitive paper on Continuous Integration/Continuous Delivery. So much of our modern work as website professionals come from thought leaders like this. It is amazing to stand on the shoulders of such giants and participating in discussions like this. Also, getting to lay down knowledge with the likes of Drush maintainer and all around genius Greg Anderson is intimidating and inspiring all at once!

Partner Day

While I didn’t get to attend this event, it looked like it went amazing. Worth a mention here.


The official Pre Driesnote Fun You can watch it online, but it is not nearly as fun as being there!

OK, I will admit it. This is my favorite part of the actual conference. My real favorite part is hanging with the community but as far as planned things officially on the schedule, nothing beats the Prenote. Lead by the one and only JAM who is one of the most recognizable mustaches in all of Drupaldom. Every year he and the rest of the amazing community team go out of their way to wake us up and have some good clean fun before Dries gets up and takes a more serious tone. I do hope you can go next year and see it yourself.


There was a lot said in this year’s keynote delivered by our project lead Dries Buytaert. With an introduction that was second to none by my colleague and team lead Steve Persch, the tone was set to get serious and address some big picture things that affect our entire space.
Rather than try to summarize the talk, I encourage you to go watch it. Below are tweets I thought captured the spirit of the event well.

And the rest…

Unfortunately, other than the Prenote and Dreisnote, I only got to go to 2 sessions with the way my schedule worked out. Fortunately I get to go to more sessions per year than the vast majority of people. Also fortunately all the other talks are recorded and available on the DrupalCon site

Don’t trust your gut: agency operations metrics
Ashleigh Thevenet

I will admit, I misread the topic description and thought this was going to be a talk about client KPIs, which is something that is of great interest to me currently. Instead I got an amazing overview of what an agency COO actually cares about, Which in and of itself revealed more about KPIs than I anticipated. This is also one of those talks that stands out as unique to the FOSS world. Literally a COO standing up and saying ‘this is how we do things where I work’ and providing spreadsheets to show how. Dummy data obviously, but if you are a freelancer or small agency and want to know how to get to the next level, her spreadsheets are freely available to clone and leverage. I left feeling amazing about this whole space and our future together.

Raw Notes:
Don’t Trust your gut,
Chief operating officer at BlueSpark
Metrics of her,
number of hours spent with her life
Context makes data meaningful
Lot of spreadsheets in the talk
Billable hours,
got to understand where you are spending your time before you can optimize them for billable time
Adapted the billable hours matrix for annual revue per role planning
rev, profit, margin at various utilization rates
Booked Capacity vs Capacity comparison with Monthly and Annual sales targets
Under contract was a runway pipeline
gives actuals and updated a lot
things shift, availability. extention of contratact, act of god, etc
sheet needs to be as fresh as possible
values of accounts
timelines and budgets for all current accounts
remaining budgets
time left
Will my current config of team be able to complete the work they have lined up
how did the team perform
how is the
Let’s back up to the Billable Hours template
rate and expenses
lists out whole team individuals, roles and such
number of hours per week
realistic utilization planning is the goal
potenial revenue per role is the thing she cares about a lot
helps understand when and who to hire
expenses are import to track as well
want to end up at 98% of realistic target
ie 34 hours not 40 a week,
80% utilization losing money
All project projections
timeline, start date and end date for each phase
Weeks to complete,
fill in rates and hours for each phase
rate x hours = contract value
time logged, from Jira, manually pulled in
then pulled into actuals tab
Weekly velocity to complete, the number of hour s and weeks and how many hours per week need logge to stay on track
Color coding will help yo a great deal at seeing things at a glance
easy to get overwhelmed but this is needed to project revenue
things will deviate, so you must adjust as you go
assigned some of the work to ‘unknown’
Unknown Frontend and Unkown Backend
makes planning more flexible
color coding red not booked enough, green capacity,
blue under water, overbooked
sometimes 4 to 5 week differentials with how days fall can be tricky
eventually all comes down to hours though
lets you shift projects as needed
don’t try to adjust in your head
important to see big picture as you plan each individual part

Extending the abstract class of privilege: outcomes and lessons learned
Farah Sabbagh
Ashraf Abed

Of all the talks about privilege I have attended, none felt more poignant or a straight up punch to the face than this one. The stories they shared shook me and made me feel sad and angry and really wanting the world to be better than it is. I even found myself squirm as they completely debunked the idea of ‘seeing past race/gender/ect’ being ‘colorblind’, which I will admit here and now I have said before. That does not work in a world where no one else is ‘colorblind’ and only blinds you to the intolerance going on around you.
It gave me a lot to think about and some straightforward examples of how to be a better ally all around. Very grateful for Farah’s and Ashraf’s courage in speaking up and helping us all get better as a community and as people.

Raw notes:
Lacking access
real story, got arrested for speeding
that cop became an ally but every cop after had same initial reaction
this affected his life later as had to admit he got arrested
We all have biases
blindly trusting our intuition in social interactions is naive
think before you speak, reassess your initial reactions!
Keep your bias to yourself
Unconscious gender bias
people assumed she knew less than she did when she started out
took her until a job change to get out of that rut
women tend to be assigned tasks that are less impressive
contributes to women being overlooked for promotions
long term impact on their career paths
consider adopting self-selection task assignment
trak, support and encourage female employees to work complex tasks
don’t assign women empathy-based tasks by default
She was accused of being too social to be a real developer
accuser had ‘feelings’ for her
she was new, didn’t have tools to handle the situation
but ‘luckily’ got sick and when came back he was gone
They walked her to her car every day
turns out the accuser had fallen apart mentally and was a threat after that
she stayed around for too long
BAH was a great move for her, a lot of women in tech and improved herself a lot
wording really matters
women they have spoken with are just as interested in pursuing a programming career
Female students are typically top performers
how to extent privilege?
-encounrage and reassure them –
give them homework to see if right for them before class starts
let them see if right for them, don’t penalize them for not wanting to keep going
encourage they will fit if they want it
strongly endorse them to key decision makers using Truthful information
Want to help grow Drupal?
we put a ton of thought into patches for Drupal
Put that much effort into helping your female colleagues
really lay it out clearly, it might feel like overkill but it is necessary
employers make a lot of decisions in the wrong direction with female employees
Older people also have this Bias
assuming they can’t learn new tech
her dad is an accountant, even though he was performing well, they pushed him to retire based on this bias
assuming they don’t want to learn
assume they will just be slower pace
people are not crediting all the experience that is brought ot the table
forgetting most technical problems have been solved before
Racial bias
black person early in career usually has to prove their personality doesn;t fit a preconceived notion
to be seriously considered for tech, black grads must be well spoken, charming,
others can get away with being quiet
‘but I don’t see color’
thats a start but it is not enough
the objectivity ship has sailed
too many others see color for neutrality to work
underprivileged people have faced barriers all their lives
evaluating a person’s fit for tech truly objectively would be to give them experiences, exposure and support before evaluating them
You can’t truly test aptitude with a programming test
posted his grads group picture on FB, got terrible racist hateful comments
people that do see color create a really crappy environment
There’s more
Family life – assumptions that people with use their family as an excuse to work from home or leave early
assumptions that people with visible disabilities are less able to perform
single employees are assue to be available 24/7 because they don’t have things going on and they have ‘no one to look after’
Whose job is it to fix this?
nothing is too small – small things can make a big impact
track, support and encourage individuals from underrepresented backgrounds
reach beyond your inner circle
participate in free training events such as GTD, hour of code, etc
Encourage your employer to set up paid internships
AT THE LEAST: RAISE AWENESS! thereby extending privilege
ripple effect can go far – a single top developer can impact Drupal significantly
what does better look like?
Documentation initiative
package contrib Composer dependencies in a .zip file (like core does) (think, bad internet connections)
auto-populate tailored documentation
resulting in centralized docs
D8Academy got involved
people who never heard of Drupal dl and install and contribute
Barrier free sprint
step by step instructions very easy to follow for novice
Drupal only benefits from inclusion

Wrapping Up

It was with very mixed emotions I left early to go to a very joyous occasion, a wedding. While I was super looking forward to see a best friend from college ‘tie the knot’, I was sad to leave all the fun and excitement of my Drupal community. I was super fortunate to get to attend and be there for what I got to be there for, but it flew by. It was an absolutely a pleasure and an honor to be there and can not wait until 2019, when Drupalcon goes to Seattle!

Stanford DrupalCamp: The first time I have ever seen it rain in Palo Alto and a shorter camp than usual

I was super excited to be able to once again go to a camp close enough to SF that I didn’t have to take an airplane. Not to say I don’t love flying and SFO and all, but there is a niceness to being able to get in a car and when I exit to be where I am going. This is especially true when going somewhere as beautiful as the Stanford campus. FOr the second half of this event, weather was perfect as you could hope for, but day one had a little rain come our way. But even though it was a tad grey outside, it was bright, dry and warm inside as the Stanford and area Drupal community came together for a day and a half of sessions and conversations at Stanford Drupal Camp 2018.

Food and Fun

Since this event started in the afternoon on Friday, there was no morning coffee or lunch provided. Fortunately for me, the camp takes place at the fully stocked and staffed College of Law, so getting some caffeine and some grub was pretty simple. I didn’t even have to go outside. Soon after we started, catering set up some coffee for us and it was OK. I’ll rate it as pretty standard conference coffee.

Happy Hour

The camp organizers tried something new this year and rather than a single afterparty on the second day, they had a smaller happy hour each evening immediately following the last session of each day. We had chips and salsas and wine and beer and other goodies. But the real joy of this was having a chance to say goodbye to folks and have those hallway conversations that you were unable to have while sessions were rolling along. The other very nice thing is it was very welcoming to everyone to just swing through on their way out, even if they could only just stop by for a minute or two. No one had to have too long of a night or had to move their car to participate. We even had a little background music pumping, not too loud, but definitely gave the room atmosphere.

Day 2

We, the sponsors and catering folks, arrived early on Saturday morning to find that facilities had failed to get the building unlocked. While it was fun to hang out outside on a beautiful morning, it did make us a bit rushed to grab our coffee and, for those who partook, pastries that were offered before the first session of the day kicked off. I opted for green tea.


While a free event, we were still given a free lunch. Pretty typical sandwich fare for a camp with chips and apples to round it out, plus the leftover pastries. I opted to take a quick stroll around campus to soak up the beautiful day and recover from giving back to back sessions in the morning. I ended up getting a nice little bowl of tofu and eggplant over in the main student center. I also got to sit outside for a little bit when I returned and before the afternoon sessions kicked back up.

Happy Hour Day 2

See Happy Hour above.

Unfortunately no tweets of this event exist that I can find. So, here is a tweet about the awesome chips I discovered as a result of this event, Garden Of Eatin’s Red Hot Blues. For sure buying these if I see them on a shelf.


Opening Remarks:

This is the 9th year of this event. They explained the logic of the event was to have a Friday and Saturday camp so Stanford workers could more easily attend day one and the general community could more easily attend day two. The sessions schedule reflected this with more of a focus on Stanford specific content opening day.

Keynote: Stanford Off-Campus Learning Opportunities (SOLO)
Pauline Larmaraud

One of the challenges that most universities face, as well as large scale enterprises with many autonomous parts, is reinvention of the wheel by each division or department. In fact, one of the main reasons Stanford DrupalCamp exists in the first place is to give the Drupal users and excuse to talk to one another and learn what other departments are doing. It does not need to be this way though. If you build a better system and evangelize it correctly in the ecosystem, then you can unite everyone and empower them with better tools. While I was not sure what this talk would be about when I first sat down, I was very grateful to hear a case study of exactly such a new and more useful system being built and spread throughout the Stanford organization. It was proof positive that we can collaborate and use free and open source software to make our world better.

Raw Notes:
Off Campus study is good,
study abroad is very healthy and helps do things you can’t do on campus
each department though was working alone
Siloed from other design and reinventing the wheel every year
listened to stakeholders, really listened
what they really needed was an application management system
These groups that do off campus are not connected to a central system
each independent
had to build trust and buy in and backlog
user needs first
delivered early and often as they could
they were happy right off and on a good path
opened up more and gave more feedback
Partnership between Stanford OIA + Aten
was an agile process
They are agile, not in the buzzword sense
Agile is a communication framework
to get in alignment is the goal
the 4 values
1. individuals and interactions over processes and tools
2. working software over comprehensive docs
3. client collaboration over negotiation
4. responding to change
Really though
1. Talk to each other
2. Don’t just plan it, build it!
3. Work with one another
4. Be ready to pivot
get to a product ASAP and get it in front of users
Agile sprint ceremonies: planning, standup, review, retrospective
they used to do internal retrospective, with this process is the first time they did customer facing
Agile because they worked on it, found what worked for them
the platform they built:
browsing opportunities was key goal
immediately find what they are looking for
Drupal makes it easy to define a content type
CTA up and to the right makes it easy to find and draw more people to apply
Applying for opportunities
had to have a review and approval process
pull in other student info, like records and GPA, etc
MAIS data
made checklists page
Steps change often
people can give feedback on each step
Results, 2,200 applications in year one
they think it is better than last year, but that data is not available
increased engagement,
over 30 units using this for in country and international opportunites
even more collaboration

If it Ain’t Broke: How to tell if your website needs a full rebuild or a focused fix

I will always admit that I don’t work at an agency nor am I a professional site developer. However, I end up getting asked a lot by people outside the space questions about their website as if I did have such a role. This session armed me with a great approach to helping those people who ask ‘how should I fix my website?’ It is hard to know if a site needs some tweaks or if it is time for a whole hog rewrite. now, with a handfull of questions I feel I can better steer people, at a high level, toward an appropriate answer.

Raw Notes:
Only 3 main points
You have to have a website
Your website has other costs than time and money
Opportunity costs
switching costs
reality: tech moves very fast
apple watch example
What does that mean?
mobile optimized
fast load times
mobile fundamentally different than the desktop
Google loves good content laid out well
when is it a good time for a focused fix vs rebuild
they offer help at Kanopi to plot best path forward
POP Quiz!
Do you clearly understand your audience and their decision making journey
1, 2 ,3, 4?
How hard is there to make decisions in your org?
Any pressing events, deadlines that require this refreshed site?
so you currently have capacity for a rebuild (funds, staff time, opportunity costs?
how old is your website technology?
Is your site responsive?
Add up the score
Low: rebuild
Mid range: need more data
High: focused fix time
Reality – smart strategy & strong technical foundation leads to optimal website health
Swoop and Poop – done all the work, then Sr. Team member is not involved, but comes in and poops on the whole process, then leave.
need to have SMART goals
website should help achieve your mission
helps get stakeholders on the same page
How optimal is your user experience?
Do your homework!
analytics, heat maps, surveys, interviews, user testing
take the time to do it right
Also need to have a need for speed

resist: Open Source, Open Data, and the Government
Jordon Koplowicz

If you know me at all, you wil know that I love and belive in information being free and moving fast. I think free and open source software is a major component of this and it is why I do what I do for a living. This talk was the perfect marriage of new data sets to explore and play with and fundamentals about why this is important stuff. Highly recommend going through his slides for all the links.

Raw Notes:
Vital Signs project at Stanford
12 different agencies
bay area metro
taking all the data an presenting as visualization
was easy to convence them to be open
Open Source Government
been done for a long time, but adoption never been better is something we brag about for opensource
many, many government agencies and divisions and universities using it, many agencies within the cities and counties
central department of technologies does point to open source
UC system using starter kit all OSS, Drupal
government open data
standford open data: SNAP, Opendata, EarthWorks, Open Policing
How does this help resist?
open data means the truth is still out there
we can still make our own conclusions empower citizens
give people the power to play with data
OSS: we are stronger together
also contributing back
whitehouse petition platform
18f: US Web Design standards on github
Vital Signs: Tableau Public module
SF using drupal themes DAHLIA and SFCOIT
What do I do now
1 Use OSS – larger user base helps
2 Contribute back – share a fork
revolves arouns how you are giving people permission to use your IP
3 Use open data – be vocal about it. Only way to communicate is to let people know you are using it. Very rewarding to the people workng on this
4 Publish your data – publish or perish is still a problem but there are solutions

My Sessions

Stanford selected 3 of my talks this year.

1 So you want to speak at a camp? Yes please!

I gotta admit, when the time came to start this talk there were only 2 people in the room, which reminded me of The Evaporators song Half Empty Halls. More people showed up but we all had a sit down conversation and I was very pleased with how it went overall. Both those people who were there at the start said they knew they were for sure going to be giving a talk moving ahead. Made me feel really good.

2 Let’s Learn Git. No Excuses!

While I didn’t get extra time for it, I tried my best to teach Git as a workshop instead of ust a talk. There is a LOT to Git and impossible to cover it all. Feedback was great and helpful this time and I know one person at least got a better understanding of the basic ideas. I think Git boils down to forward in time, backwards in time, parallel universes and conversations before a merge. Even one person walking away with a better grasp,

3 Nobody Wants A Website. They Want Results!

I really, really enjoy giving this talk. My favorite part is the Q&A, which I have converted into a group conversation section. So much learning and great examples from the crowd, including one person who had their intake form mechanized to help people qualify themselves before any human needed to get involved from her company. So many good points made by the attendees, I was proud to be part of the discussion.

Wrapping Up

Stanford is the birthplace of so much innovation. The very first host to host connection ever between machines was between UCLA and Stanford. The first autonomous vehicles were proposed here. Stanford gave us the Augmentation Research Center which gave us the Mother of All Demos.
While it might not be the first Stanford DrupalCamp, it was an awesome one. I can’t wait for next year’s event!

Quick final note about this post:
As of today I am using a new content deployment process leveraging CLI and my Dev and Test environments on Pantheon. If you are interested in how I am doing this, for this post the command I ran was:

curl | sed -n ‘1!p’ | terminus wp — post create –post_author=1 –post_title=’Stanford DrupalCamp: The first time I have ever seen it rain in Palo Alto and a shorter camp than usual’ –post_name=’StanfordDrupalCamp2018′ –count=1 –post_status=publish –

Still early version, hope to have this automated from a push to github auto rebuilds the content and in future hope to build some testing for content and then make all this work with Gutenberg. Currently I am relying on markdown editor, which is a tad out of date, but early testing is promising for Gutenberg, not ready for showing my work there yet.

MidCamp 2018: Chicago in the bitter cold and warmth of community

Chicago has a special place in my heart. It is the ‘Mecca’ of improv theater. It is the heart of the Midwest, where I originate. But I thin I feel a special connection to the community there since it is where I gave my first ever talk back in 2016 at MidCamp and became a camp organizer for MidCamp 2017. I was happy to come back to the DePaul University campus for MidCamp 2018

This year I again stepped up and co-organized, taking on more responsibility, agreeing to help Avi with social media posting and emails. We scheduled an awful lot of these and it was a lot of work, but I learned a great deal along the way around social media automation, so personally it was well worth it. Also, the camp was a success! We gathered together to keep making Drupal happen! Lot to talk about so let’s get it moving!

Food And Fun

Thursday morning was load in for the event and trainings. We had some conference coffee and someone brought donuts. There was a lot to do, but we got people people set up, into their classes and we had an informal sprint day with about 10 people in the room.

Lunch was actually quite great, but no pictures exist that I can find. Instead of a catered boxed lunch or sad buffet line, we got $10 vouchers to use in the DePaul Student Center’s Cafeteria system, which had plenty of options for all. I had the best ‘hot and spicy tofu’ on top of a hearty salad and still came in well under budget. So good.

Opening Social

After a very full first day we had the chance to gather, right down the street at McGee’s Tavern. It was awesome to see my Drupal family gather for a drink and some food. Thanks to New Belgium for sponsoring with some free beer. I am not a big beer fan but their Juicy Haze is actually quite tasty and refreshing. It was a great social to officially kick off camp.


There is a line in “The Coffee Song” about ‘No tea or tomato juice, You’ll see no potato juice’ This was true of this camp. Though we did imbibe some fermented potato juice at some of the after events. Coffee and water were all that were served, but I was A-OK with that. Coffee is the fuel we turn into Drupal after all.

Lunch was again a $10 voucher for the cafeteria and again I feasted on tofu and salad. Others made different but just as valid choices.

Game Night

Friday night brought with it amazing tacos from a local food truck (Name to be filled in later when I remember it or someone comments on it) and board games! I got to play a modified version of Zombie Dice which eliminated the red dice, as we could not find them. This does not make for a good game. I also played Dixit for the first time. Very interesting rule set and just fantastic illustrations. I think anyone would have a good time just looking at the cards and not worrying about the gameplay. If you ever find a copy of this again, spend some time just looking at it. Totally worth it.


More of the same coffee and lunch was the same thing.
Not exactly lunch, but here is a picture of Kevin Thull’s food form the same day

After Party

We traveled a few blocks in the cold at the end of Saturday to Derby Bar & Grill which had hummus and pretzels and mustard galore as well as alternatives for those who don’t want all plant based. Again the awesome New Belgium was there for the free beer and stepped up to sponsor this too. All in all, a great night.

A large percentage of us, lead by the amazing J.D. Flynn marched a few blocks to Shoes Pub to sing some DrupalKaraoke together. It was an amazing time and great way to end the camp celebrations. I witnessed while I was there the finest group rendition of Piano Man I have every seen in my life. The entire place for a few minutes was one voice, arm in arm. It was a perfect moment.


Quick note: Due to scheduling issues, I am not doing a round of recaps on these sessions, just pushing raw notes. I do plan to revisit this in the future and recap each section. Thanks for the patience for now.

Keynote Session: What’s So Open About Open Source?
Chris Rooney

Raw Notes:
Tells us his rules, what to expect
Talk on Diversity
Last year a lot of people felt they were under attack
the community is suffering
trying to bridge divide
Used to hate Palantir
had bad feelings about thembut learned
1 Don’t ever ever judge someone presenting at a Drupal event
2 Drop your weapons
he was a boxer and football player, weaponized himself and throught of things in zero sum
your tools, twitter and facebook
inflict pain on others if used that way
powerful, so important to be aware of your own weapons
In a focus group at DrupalCon
someone felt it was not inclusive
he thought he was not welcome there
thought he was ostracized for conservative beliefs,
could be number of responses
3 We are all simultaneously victim and perpetrator
this is fundamentally part of the human condition
we should be more conscientious of ourselves and surroundings
Diversity creates value
lot of research into this, diverse teams perform better
87% of the time diverse teams make better decisions
diverse companies make more money and have better user satisfaction rates
better at recruiting talent
OK, but how are we doing and how did we get here?
How diverse is Drupal?
not very
Participants at DrupalCon
18% Female, 52% male, 30% other/unshared
21% female, 33% diverse (on teh big 8 social IDs)
Tech overall,
30% women
Drupal is a bit worse in these areas
overwhelmingly the tech industry is white and male
lot of stats on that
Blind Spots coming on the horizon for the tech giants
hegemony is bad but systemic of old system
Deepening wedge of dispossession
Customer Distrust
clients demand more diversity
So what is going on here?
Capability Issue vs Systemic Issue
people get up tight about these issues
if capability issue is false, which he believes, then systematic is heart of issue
He interviews a lot of people, especially right out of school
sees kids that are super good, across all lines, good people are good
Super Smart
Really nerdy
socially awkward
(asks us to stand if that described us in our younger days)
over half room stands up
raise hand if still true
almost all raise hand
these are our people
Selection Bias
Mentorship/Role Models
stop and think how we each got into the spac
Lauren’s Law
(Lauren is a young engineer at Palantir)
I fell backwards into Drupal
didn’t have a CS degree
liked web stuff
that described most of room as well (we stood up again)
Career Risk Taking Prereqs
desire, interest, capability
a place tot learn/eperiment
a place to ‘land’
4 Safety Nets
shows video of missing a trapeze move
falls into net
Safe place to land, he was upset
but the net was there to make sure he was OK and could try again
Minority populations and Risk taking
Dispossession opportunity and ris taking
First one to X syndrome – got to stay on a path to make people proud
performing with no net
high school -> College
and then something happens
financial aid lost, family crisis, hae to leave school to find a job
bounce job to job
if lucky then find a way to learn a skill
How do we put Open back in Opwn Source
5 Make it a safe space
be visible
Proactive inclusivity means continual calibration. “How did that sound to you?”
So what is next?
Atlassian survey
over half wanted to learn more about their colleagues backgrounds
5 accountability challenges

RFPs: How to get what you want
Allison Manley

Raw Notes:
At Higher Ed conference talked to person who didn’t know where to start
she talked he through it and thought others would benefit
Sales is like dating. Need tof ind the right partner
need to be excited about it
Stages of dating
If you don’t get a call back, she is sad
prevent that
Do you even need an RFP?
Avoid it if you can, talk to people instead
but if you have to, don’t be a bad date
10 things she hates about the process
Asking for copies
on a flash drive or (eww) CD
physical paper copies
spreadsheets with hundreds of boxes to fill
wet signatures
objections in the proposal stage
no outline of goals
uploading a DB
40+ RFPs…
nightmare scenario
Phrases that mean nothing
like state of the art
best solution
Cutting Edge – not the same for everyone
dig into these adjectives
Specific to region (“nothing in Northern Ireland”)
banning slavery funded businesses…holdever from very long time ever
Worst Date Ever story (sprocurement)
27 pages long
scope was only 1/2 page
zero info on goals
many questions
6 attachments and a flash drive
scope was very vague
26 pages on how to submit the RFP!!!!
214 questions were asked
Quotes ranged from $35K to $235K
they STILL have not picked a vendor after 2.5 years
So let’s build an RFP
avoid all generalities
BAD: I want more traffic
Good: We want more traffic on these pages because…(specific reasons).
2 be specific around constraints
key dates to hit
external forces
brand and ID guidelines
3. Please tell us your budget
for real, tell us!
seriously!, she means it
at least give a range
if you don’t have a number in mind, ask “Do you think it would be between X and Y?”
That will get some reaction
4 Tell us your exclusions
What is def not in scope
specify URLs
Who is in charge of content creation
Who is in charge of hosting
5 Give details about integrations
Bad: Integrate with LDAP
Good: integreate with Active Directory with LDAP to do x and for y reason
6 List external resources
by role
by skill
Are they interested in working in tandem with us?
7 outline the status of your content
Have you audited content?
Anything being archives?
help them nail down the specifics early
8 send it to the right people
in early days she looked at RFP database
she picked one
went through a ton of work
they went through 100 submissions took months for them to respond
avoid RFPs that are open call
random submissions are bad
9 Give time to respond
at least 10 business days
more like 3-4 weeks is better
10 allow for Q&A
most of the time this is present
can be via an organized conference call or ad-hoc
Send all answers to all vendors regardless of who asked
11 Don’t ask for spec work
we don’t work for free
work without a strategy is no good
12 Streamline the paperwork
be mindfull of time
reduce formatting or paperwork requirements
keep it simple
13 Give a decisions matrix
how will we be judged?
what is weighted heaviest
geography? cost? clarity? etc.
14 realize you are buying a process, not a product
look for related experience
look ro effective problem solving
Responsive design example, no one every built one in 2011, we learned how
no one asked for one
you can really do it in 3-5 pages
Lastly: Feedback please…call us back
cover page photo strategy

Managing Community Conflict in Drupal and Beyond
George DeMet

Raw Notes:
Defining conflict
can be positive or negative
cross pollination of ideas
can help people find creative solutions
can help clear the air around team members
something people are not saying- tension
sometimes just need to get it out in the open
ultimately if conflict is handled well, can build trust and improve relationships
confilce does not mean you can not engage in an respectful way
Consequenses of negative conflict
When conflict is out of self interest can derail the organization
can damage relationships and end up with toxicity
Unmet needs often lead o neg conflict
don’t feel heard
Feel contributions are not values
interests are not being represented
feel hurt by something someone did
One will prevail over the other
you end up feeling left out and conflict
How? does this happen?
Technical disagreements turn to personal attacks
frustrations with the amount of time it takes to review patches/project applications
people lashing out in issue queues
During the D8 release, saw a lot of conflict
many people declines in contributions
lost moral
has a real impact on diversity
Only 3% of OSS contributors are women
in drupal it is 6%
still terrible!
we literally have no idea how many people of color we have in the project
Code of conduct can help
it is not enough by itself and does not remove issues
just way to understand rules
a COC is worthless if there are no structures to suppport if ther are no structures to support it or mechanisms to enforce it
Enter the Community Working Group
help resolve conflicts between community members
Uphold the drupal COC
Recognize community leadership
Provide conflict resolution resources and guidance
whatever we can to help improve the overall health of the community
no funding, no direct Drupal Association connections other than Dries
Dries mandated they should exist
lot of conversations around what governance means in the community
blog post on D.O with bullet points
session at DrupalCon about the specifics is coming
values and principals need to be true from the top
things get stuck as these things are complex
Ultimately we need to take responsibility for our words and actions
compassion and forgiveness are intertwined

OOP – The Pokemon Journey
Fatima Khalid

This talk is amazing! If you have ever wondered “What is this OOP all about?” then stop wondering and go watch this talk!

Raw Notes:
Write a modular reusable and flexible codbase that is easily extended
Pokemon Journey
pick pikachu
attack: thunderbolt
These are like classes, which are blueprints
data points
class-specific functions
creating a Pokemon Class
class Pokemon{
public $name;
public $type;

public function __construct($name, $tyep)
    $this->name = $name;
    $this->type = $type;

$pikachu = new Pokemon(‘Pi
Wild pokemon appears
how do we know the difference
Poison Fire
Inheritance is about sharing
parent class
child classes
overriding methods or properties
tree analogy with parnet class as trunk
Extending the Pokemon Class
class ElectricPokemon
class Picachu extends ElectircPokemon
Inheritance in Drupal
interface WidgetInterface extends WidgetBaseInterface
Gym Battle!
need to think about comparing and contrasting trengths for strategy
water (str)
Ground (wkn)
Getting data from our Pokemon
PHP magic methods: __get() and __set()
Getters and Setters in the child classes:
class RouteMatch implements RouteMatchInterface {
Using a Pokemon Ojbect
interfaces are like contracts
all methods are public
class ElectircPokemon implements PokemonInterface
Creating a Pokemon Evolution Trait
$nextEveloution = $this->evolutionsstate;
You win your first badge!
one looks like the Drupal Drop 🙂
functionlities on badges will change
plugins are like functional lego blocks
many types of plugins
different behaviors | common interface
Pokemon | plugins
abstract class PokeBadgePluginBase extends PluginBase
class DrupalBadge extends PokeBadgePluginBase {
To be the very best!
needs stats of wins and losses
services are like swappable operations
-same function | swappable code
-global available
creating a PokeDataInterface
call the pokemon service
new Pokemon
$pokeDataHelper = \Drupal::service(‘pokemon.pokedataservice’)
$data = $pokeDataHelper->
Services in Drupal are swappable
email.validator good example
when possible, inject your services
Pokemon Dependency Injection
you need to lead it and a container to load it into
if you are in a custom block, do you have a constructor? It tells you if you need to write the service into the interface

Too many cooks! Supporting augmented teams without getting salty
Stephanie El-Hajj

Raw Notes:
Defined: Salty – to be upset or bitter, often used to express feeling left out or frustration when things don’t go your way
Augmented teams are when 2 or more existing teams come together as one for a project
cultivating healthy teams going agile are other topics she talks about
Drupal has many companies with distributed teams like Amazee, which makes things a bit early
when do you augement?
Internal dev team?
Are you looking to hire?
Are you just looking for one project consulting?
Let’s talk about teams
scrum master, PO/PM, Devs
technical design review vs functional review
if you are in a run well kitchen, they don’t talk, works as a fine tuned machine
what you want your team to be like
when you bring in new parts of your team, they bring unique things
maybe using comments differently or chat differently
team dynamics can change
Each person can change team and the team needs to adapt to each streength,
if done wrong fights and such
we all start making assumptions
normal project they just lead and lay down how it works
with this they realized that would not work
added a single point of contact, made sense to them
problem is that they interpreted that request differently and assigned wrong person to this task
who’s driving, import to know
differnt than who is in charge
notes, repo, lot of organization logistic works
was not clear in their case who this was, too many people made too many suggestions
lot of time building RACI
Everything can not be a priority
if all are, none are
also different paths present to how to get to end result
like blindfolding carpenters
without the communication of this it ended up being very peicemeal
let’s check in!
during this time they had a lot fo spreadsheets
but also learning React at same time
realized they were doing too much and incorrectly
So we paused the project
got everyone in the same room
where it happens
turns out their side had never worked together as a team before
missing team dynamic
this got everyone on the bus
they enforced that building a website is NOT like building a house
once rescoped as a larger picture they got on track
building a website is like a road trip
only so much gas, so much money and so much time
start here, end there, but know there are a lot of options and directoins you can take
back to who’s driving
visionaries should be informed, but they were not being translated and communicated
Where are we NOT going
have to suss out what is out of scope for this project, make it to new project
want to see heads nodding
after every point asking “nodding head, we agree, we don’t agree? this is your chance”
changes calls because people realize they can’t just go back and add on later
getting into specifics
what the thing will be and what will be in it
planning is a group activity
Get everyone to know where they are
fail fast, fail often
when you get to the end, it is like a three legged race,
win the race with good teamwork

Hot JAMS(tack): Lessons from Building a Music Discovery App with Drupal and React
Brian Perry

Raw Notes:
was listening to a podcast
they had a spreadsheet with a lot of data
At the time decoupled was very stressed
he wanted to learn
the flavors
coupled – all Drupal all the time
progressively decoupled, Drupal still JS sprinked in
Fully Decoupled: JS framework communicating with an API to get data from Drupal
He went Fully Decoupled
limited editorial needs
wanted to go all-in and learn React
Reservoir is the back end to your front end, maybe the easiest but simple
Contenta, better access to vocabularies, comments, media
a more Drupal oke approach to extending
D8: You can roll your own
he used reservoir
migrating the data
please hydrate, it is important
google sheet -> drupal8
creaed custom migrate module
pulls data directly from Google Sheets Plus JSON
if you publish file->publish to web .check. republish on update
real tme access to a public URL data
migrate, more like Mi-great!

My Talk

Nobody wants a website. They want results!

I always see room for improvement, but I got a great reaction from this talk and it turned into a group conversation as I was hoping. Thanks for all that came out!

Sprints Day

I am so happy to be part of the community that makes Drupal. Even though I have no pull requests for core or any other badges, helping others contribute has been amazing! Special thanks to the Drud team for leading the new contributor session. All in all about 40 people came out to sprint and make Drupal better.

Wrapping up

Lot of very awesome plant based options for meals and the wondrous Chicago area Drupal community made this trip amazing. I came back tired and glad ot get back some of my mental space, as I am sure the other organizers did as well. If you are reading this far and are all like “I want to help organize a camp” then I say Do It! It is very rewarding and you learn a lot in the process.
MidCamp will always have a special place in my heart and I can’t wait for next year!

NEDCamp 2017: Driving in the New England rain and my last talk of 2017

The direct flight from SFO to BOS is about 5 hours and 30 minutes long. I arrived at dusk in the light rain and got to experience the horror show that is Boston traffic at rush hour. I rarely drive, but I felt very safe in these treacherous conditions because we are never going that fast, 15-20 MPS the whole way. I was very glad to make it to my destination, which was the quaint and confusingly laid out Worcester, MA (local pronunciation: WUUSS-tə), specifically to the campus of College of the Holy Cross for New England Drupal Camp 2017, better known as NEDCamp

I had gotten there a day early so I would not miss the speaker/community dinner and glad I had the chance to cruise around and see the town. I got a very pleasant surprise, finding a vegan Jamaican spot for lunch, Belmont Vegetarian. I got to work from a funky coffee shop right across from city hall and even got to go inside Salisbury Mansion which is nicer than the pics make it seem. They were just putting up decorations for the holiday season and if I lived in the area I would surely go back to see it in all its glory. I rarely take side trips or spend any time outside of my normal conference duties on these trips, so this was very nice. New England is great and all, but it was getting a little too cold for me.

Food and Fun

Friday night dinner

Instead of a speaker/sponsor dinner that was invite only, the Drupal community kicked things off with am open to camp goer who registered at Lock 50. This was a very lovely thing to do, with the trade off being everyone paid for their own meals. It was a joy to eat a pretty amazing gourmet meal with the Drupal community. Getting to connect over some nice drinks and fine food is one of the absolute best parts of any camp.


Almost all camps supply coffee and all should. But not every camp provides a full continental breakfast spread. Thinking back on it, MidCamp was the last time I saw a breakfast banquet quite this good. You can’t learn on an empty stomach, and given I had a set up time before my hotel started serving, this was one of my favorite aspects to this camp. It was all great, but raisin cinnamon bagels are amazing.


The staff of Holy Cross is pretty great about dietary restrictions. The lead catering person helped each of us figure out what was what. It was pretty great. There were build it yourself sandwiches, with many bread options for the gluten free, salad, chips and a huge veggie and pickle platter. For those looking for alternatives to that there was humus, tabouli and pita triangles. A true feast but I didn’t really have a lot of room for it since I overdid it at breakfast a bit. Definitely a good problem to have. Stuffed, we were all thankful that there was copious amounts of coffee to keep us going all afternoon.

After Party

The after party kicked off after the last session and we all got a drink ticket to start and a lovely cheese and bread platter. Servers came around with all sorts of goodies including these mushroom stuffed mushrooms that I think I am going to try and make myself. Just breadcrumbs, mushrooms and a lot of garlic mashed up and spooned into mushroom caps and baked. It was great to talk to so many folks about the day and how things had gone with the camp.
We only had the place for about an hour, so we scattered but some of us made plans for dinner. We found this pretty great BBQ joint with OK veg options that was pretty close to a Karaoke bar. They have some of the friendliest staff in the whole North East at Smokestack Urban BBQ. It was a real treat to hang out with the community and get to know each other a little better as people. We are all in this together trying our best, breaking bread is an important thing we all do and reminded us how we are more similar than different.


Then we sang. It was so much fun, as our party was literally the only patrons for the first hour we were there. Then the crowd came in and we got to show Worcester locals how FOSS does it! I only wish I had video of the 8 minute 25 second version of “Paradise by the Dashboard Lights” by a couple of our community which remain nameless in this post.


I was very excited to be at this camp because with my life and focus in other areas, Drupal is still pretty amazing and something I want to learn more about. Some amazing speakers on this year’s lineup, I had a hard time picking which ones I wanted to hit. By the end of the day my brain was mush from info overload so these notes get a little sloppier along the way. So much great info though, and you can see any of these sessions yourself thanks to the tireless efforts of Kevin Thull who records all the sessions, and the New England Drupal community’s youtube channel

Opening Remarks:

My Session

I got to admit, I went into this with a touch of sadness, this is my last speaking engagement of 2017 and as of the time of this writing I hae nothing lined up for 2018, which is the norm for speaker since most camps are just opening up for submissions for the spring around now.
I was very grateful to have a good number of people in my room, it made me feel pretty great. The Q&A was fun as well and I am so glad that this got to be the way I will remember my last talk of the year!

Can’t we all just git along?
Erik Peterson

Having written a talk and workshop on git, I am very curious to see how other people approach it. Erik approaches it from the terminal up. Literally a step by step of what the heck git is doing under the covers. I lost track of taking notes a few times because I moved over to my terminal to try some of this out, like git hash-object which I have not run across before. This is a must watch video for anyone that ever wondered how that black box of magic that we call git works!

Raw Notes:
Not a ‘how to’
not things you will have to do
help understand what git is doing and what it is trying to do
how to fix things when they break
logic behind it
Tim Berglund’s “git from the bits up” is where he got the idea
setting up git
git config –global
file that manages config
initialize a repo
that is all you need to do
what did that actually do?
that is meat of talk
What git tries to track
Objects and Refs
Blob – data of the files
Trees – pathing for a blob and other trees
Commits – tree, parent, comments
Tags – named commit
Heads/Branches – line of commits you can add to
Working directory – the actual files on your disk
Repository – history of all the changes
.git directory in the Working Directory
Each commit has an identifier hash
commits play one after the other
commit messages should be robust
People expect a master branch
Starting with Raw Build
Creating directory structure
hash-objects command
moving object into index
git update-add
mkdir .git
mkdir .gitobjects
mkdir -p .git/refs/heads
refs/heads/master > .git/HEAD
git hash-object
most OS hate large folders
objects in file 10K OK, 10M not ok
git generates huge number of files
everything is stored as objects in git
hashes breaks off first characters and makes new folders out of them
Directory + file is the hash
Still no commit, but no file
exists as a file somewhere, but not checked out
does not know what it is or anything about it
add it to the index
git updateindex -add –cacheinfo 100644 hasidentifier spiral.txt
git write-tree
git cat-file -c hash
git cat-file -p hash
git commit-tree hash
git cat-file -p
adding spiral file
Point of all this
a commit is just a pointer to trees
trees just paths to objects
objects just files in git folder
Git cleanup looks for objects that are not in trees, kill those
head branch detached when not pointed at branch, pointed at specific commit
don’t want to be on a commit, be on a branch with that commit
checkout rewrites your working directory
Rebase and Reset
branching – you can just commit your whole life through
moving to new branch lets other people work on your repo and keep working on your idea
like you didn’t do the work if you want to toss it
objects are still there, branch is gone though
rep log to see changes and bring branch back
merging is getting branches back together
real trees rarely do this
remembers the paths and both branches
then can get rid of branch
rebase is different
a git mere is also a rebase
that is a fast forward merge
rebase moves the base of your branch to a different parent
changing what it is based off of
makes it look like one branch
whole history you are testing against
vs git pull
pull does a lot
fetch just gets all work done from the remote branch
but nothing else, lets you control what to rebase against
git push me, pull you
git reset soft
moves head pointer wherever, leaves working directory alone
tree (brew install tree)
git branch –contains hash
little history commit

The command-line doesn’t have to be a black box
Jim Fisk

As you might have guessed, even if this is the only post of mine you have read, that I love eating and I love the command line. I was super excited to be able to see Jim lay out some of the tools he is using and how we can leverage them. I walked away with tig installed and man, it is such a nice little tool to more cleanly read git. Honestly think I am going to show this off in future git talks. Lot of great information and Jim is a heck of a nice guy, if you don’t already have a local Docker solution up and running, check out his project Vesl as it seems pretty good, though it is early days. Make sure to check out his slides, as they used some old school telehack figlet 3-d font made with Jim’s CLIdeshow tool.

Raw Notes:
he found himself doing a lot of things with tools
found himself going more and more to command line
wrote this talk to help show others how he found success with it
We will over Docker
Vesl, tmux, vim, and others
how to navigate find where you are, move things, and edit files
basically anything you can do through gui you can do through command line
Navigational thing
pwd – print working directory
ls – list files
see . and ..
. is folder you are in
.. one level up
cd – nav around the file system
Docker, container service isolated environments that can souse your dependencies and run different version of software in a consistent way. based on your project requirements
just type ‘docker’ see list of commands
all based on a common image you can download and connect containers
‘docker ps’ to see what is running
he created a project that made config easier
called Vesl (on dockerhub)
bas script, complex docker commands and make them easier to run
bloated container that out of the box, ready to go faster though
Vesl loads things behind the scenes from blueprints
vesl start container
Fish is shell on top of your commands
fish shell goes ghosting, efficiently run things, autocomplete
predictive text autocomplete, even if not same start of word, related terms
terminal multiplexer
have multiple shells within shells
why need terminal shells in shells?
ssh 2x and edit in one
tmux bar gets added to bottom
vim – can configure
at the start of what we can do with vim
vim config that helps you do things like debug easier
Fugitive – vim plugin
tig – better git history git backwards
history of changes and commit messages
see diffs on file by clicking on commit
tree view
look through actual files at that point
edit the old fie without pulling in memory
mysql cli


Inclusion and Diversity in the Ever-growing Global Digital Marketplace.
Aimee Degnan

Aimee is a pretty amazing person and speaker. She is one of the first people I remember meeting in the Drupal world and and was super glad to hear her keynote. This was not a lighthearted soft skills talk nor was it a technical session nor was it a business discussion. It was a heartfelt and honest discussion about recognizing our own experiences and recognizing the experiences and situations of others. It reminded me of the talk Andrew Norcross gave at LoopConf earlier in the year, where it was a real gut punch, at least to me. I do my best to be inclusive and use my privilege for the greater good, but there is so much to be done. I intend to improve and hope I can inspire someone else to have that same intent as I go forward. I could not capture a lot of the info from the slides, so make sure you watch the video.

Raw Notes:
How do we identify yourself
project manager
dev, site builder
her into slide and her tech history
do tech
Women owned business 20+ years experience
but who are you really?
race, class, education, sexuality, ability, age, gender, ethnicity, culture, language
lot of the audience looks male
but not sure how we identify inside
get more data
then this is where ask questions and listen what we say
that is diversity
being composed of different elements
this is for people, the true range of differences
the meaning of diversity os not the stat of being different, it is noticing and listing and respecting the differences in others
inner/outer wheel
inner are some things can’t control, like ago, national origin
outside are things you can change, appearance, work experience, Education, Family, Political
Different is scary
sometimes hard to find connection points
we like to be around people like us as humans
people find comparisons
you can tell if someone is safe if they are familiar
perceived confidence
but different can be empowering
different brings new ideas, new needs, brings change
society comes with lot of societal baggage
Privilege exists, we must acknowledge it
dominant, most influential
Oppressed, subservience and hardship, especially by the unjust exercise of authoritysomeone ho feels depressed
if don’t speak the language you could have a temporary oppression
trait 1 + trait 2 = total identity
most people have many more than 2
instead of Rosie the riveter being a white woman
3 woman of color, one in hijab
inclusion example of intersectionality
she had hesitations on putting this together
admitting how she is oppressed and privileged
being a tech business leader is how she is afraid of being judged
will she say too many feminist or radical things
hole built for a circle, other shapes are told by circle “just be yourself and get out”
need to be aware not just of ourself but other people and the situation
cycles of oppression and privileged
in order for a disadvantaged group to get better situation have to take on traits of dominant oppressive class
inflammation – pain cycle – tht you can fix with Advil, not privilege
have to have systemic change to fix
Inclusion – being part of a group or structure
integration says stay in your circle, but no effort to include
inclusion must be cultivated
but be careful not to have assimilation
inclusion is including people as they are, changing the system around the people’s neds
assimilation says change to fit in
homogeneity vs heterogeneity
made of same parts vs different parts
equality vs equity
fence in the way, looking at the problem different
addressing systematic issues
Digital divide
digital privilege
gap has improved over time
worse things happening content censorship and denial of access
across the board, internet is helping with inclusion
Drupal is 4.8% of the internet
Digital innovations, like Google translate
translation programs only getting better
why does this matter
where did Drupal start? and by who?
so many languages covered in the Drupal project
Your behavior and actions matter
be an ally
sometimes you don’t know the right thing to do
you can ask what the other person needs and help them, it is OK
be aware communication is beyond language
talk about change vs living change
Empathetic actions
be nice to each other
sounds easy, but not really
change is a process, takes time
is ongoing
must have an intent to improve
Yes we can!

Opening the Black Box: Becoming a Better Developer Through Debugging
Dustin Younse

I recently saw a shirt that said ” ‘;’ hide and seek champion since 1958″ Debugging and I have a long history that goes back to my college days. I remember printing out hundreds of pages of C and C++ code, which I wrote using the Pico editor, on green and white lined paper with the little perforated sides you tore off and then sitting down with a red marker and working through, by hand, where the issues might be. It still gives me nightmares. Thank goodness a LOT has changed since then.
I don’t debug a lot of code these days but it is coming up more and more as I evolve and learn more. The live demo part showed exactly how to use Chrome’s built in dev tools to debug JS. It was fortuitous timing that I could see this talk just as I entered the precarious world of JS and performance tuning. Great job and I learned some things.

Raw Notes:
Examples of errors taking down things
funny tweets
Nothing but text
CSS, Aggregated byt not cached
JS blocked in the browser
File permissions
differences between debugging and troubleshooting
5 minutes vs 5 hours
fixed vs understand why it happened and corrected that
What is the black box?
no CS degree or background, self taught web skills
everyone wanted a website, he would do it for beer money
above average google abilities
late nights staring at error codes
Mental model of Drupal a black cube
thing that did stuff
changed mental model to “Maniac Magee”
kids book
can untangle knots
largest knot in the world, he studies it, unties it with simple pushing and pulling
bootstrap process is complex
got harder in D8
let’s look at some new tools
When all you have is a hammer…
need better tools
“text editors” – notepad, nano
vs text editors – notepad++, Sublime
vs IDEs – more specialized – phpstorm, eclipse, komodo
how we set up Dev environment
FTP development – cowboy coding and ftp
no version control, this is bad
Local Dev – MAMP/Native LAMP
can work offline
xdebug possible
Local Dev Next Gen
Kalabox/Lando – Pantheon and Acquia prehooked
behave like the server you will be hosted on
more performance profiling
blackfire – newrelic but local
XDebug: step through debugging
hitting pause on code execution
inspect the state of the stack
modify values live
hairy problematic issue story
something is broken!
the ever dangerous live demo
example with chrome debugging tool for JS
modifying as goes walking through step by step, break points
looking at things as they are running
found off by one error
what is broken?
is something not showing up?
new content -is it published?
Log files
learn how to find your log files before you need your log files
linux/mac utility to easily view logs with more options than tail
tail multiple files at once
where is it broken?
custom module
template.php/.theme file
theme template?
since we don’t hack core or contrib modules
Change one thing at a time
git is your friend
save progress
make rabbit holes manageable
git bisect id your friend
lets you isolate changes between commits
must have multiple commits on branches and master
start in the middle
imagine a 45 step teddy bear factory
Git diff is our friend
remove your debug statements
ensure you only changes as much as you needed to change
git blame
git annotate
find out who wrote the offending code
not a witch hunt
a chance to find context
you can go ask ‘person’ and might be more info you needed to know
or time specific
debugging techniques
walk away, seriously
talk to a coworker (pair program)
talk to a rubber duck
write ti down by hand, show your work
make the future easier

Did you say taxonomy or content type?
Benji Fisher

I debated leaving this one in here. Due to some other duties I was late to this talk and my brain was starting to go numb on me, so these notes are not the clearest. Benji delivered a great session with all sorts of poetry and dead poet references. After the keynote he even called himself out for only using 3 dead white guys as his poet examples. The crowd was happy to help him out as Emily Dickinson and Maya Angelou (who does have a few public domain poems actually). It was a great community moment. It was also a reminder that Drupal is not always intuitive as the demo went a little weird at one point, but we got to the end with a much better understanding of content type vs taxonomy and how you can leverage both with Drupal!

Raw Notes:
developing vocabulary
builds a Drupal site
manage fields manage forms
ends up with
All english
all dead
all white guys
Emily Dickinson is a solid choice
page for William Blake
taxonomy for Blake
how you are going to edit the content type
same here
content type
poet info the same in both
What difference does it make
Drupal for free
revisions, created, timestamps, bulk operations
Drupal also gives taxonomy
drag and drop ordering
list of associated content (nodes)
Demo of admin, (reminded me of what Drupal dev looks like)
Revisions to taxonomy terms, module for that
created and changed timestamps
author info
bulk operations
drag and drop ordering
list of associated content
Admin experience
will you provide custom navigation

Wrapping Up

I will admit, I have not spent as much time in the Drupal community as I have in the WordPress community this year. I felt a little guilty about this when I first showed up. But pretty quickly I remembered that these are really my people, FOSS loving and community driven individuals and just the nicest folks in the world. I hope there are more events for me to go to next year. The community needs to expand, not contract. We should all embrace Drupal for what it can do and make the worked a better place. It took going to this show to remind me of that. Until next year for NEDCamp 2018, thanks NEDCamp and the whole wonderful Drupal family.

Design4Drupal: Seeing Richard Stallman’s office and the Freedom Trail in Boston

There was a certain magic in the air at Design4Drupal. I am not sure if it was because it was set in MIT Stata Center, which was designed by Frank Gehry, or if it was that you could see the inside window of Richard Stallman’s office (though I didn’t get to see Sir Tim Berners-Lee’s office), or if it was because the father of Responsive Design, Ethan Marcotte was the featured keynote speaker on the second day.  Maybe it was a combination of that and being in summer in Boston on the Freedom Trail with awesome folks from the Drupal community.  Anyway you look at it, this was a great event.

Food and Fun

I was fortunate enough to get into town the Thursday evening before the event and meet up with some awesome Drupal folks for drinks at the oldest tavern in the USA and some awesome dinner right beside the statue of Paul Revere on the Freedom Trail.

Lunch Day 1

We had wraps.  I had the black bean and salad.  There were cookies and muffins from breakfast left.  Unfortunately I can find no pics of this.

Dinner Day 1

There was no formal plan for dinner on Friday night, with the official after party scheduled for Saturday.  We were left to our own devices and a group of us wandered to one of the fine breweries in the area, Cambridge Brewing Company.  This happening spot just off the MIT campus had great service and a really good selection.  I had the lentil burger and shared some Shishito peppers.  I was delighted that for some people at the table eating these Japanese delights was a first.

Drupal Karaoke

If you find yourself in Cambridge, do yourself a favor and go to Courtside for Karaoke on the weekend.  The fun loving DJ made this a night to remember.  He danced along to and sang back-up for a lot of songs in between his DJ duties.  I was very impressed with the quality of performance from my Drupal community members!

Lunch Day 2

The wraps were replaced with Jerked chicken and awesome spicy vegan patties with greens and sweet potato mash.  Again, photographic evidence does not exist as far as I can find.  It was delicious.

After party

I unfortunately missed the after party.  I got on a plane to come back to my beloved San Francisco instead.  From all accounts it was a pretty good time, though this is only pic I can find.

The Sessions

Opening Remarks

Using Data to Build the New

Kyle Magida and Connor McKay

This was a really great insight into how the Commonwealth is using Drupal 8 and machine learning to better serve the people.  At the heart of their success there is a story about the management of metadata from the User Journey.  This project serves 42 major agencies, 150 other agencies, plus all the other commissions and offices.  This adds up to 100s of authors, 15 content types and only 4 design team members to keep a handle on it all.  Drupal is at the heart of this approach.  Being open source, it helps them avoid procurement, which allows them to move faster and freer.  This is a really great case study on the consumable API for metadata and relationships.  Check out the recording (to be added to the session page on the site)

Making data-driven and constituent centric

Brian Hirsch

This was almost a continuation of the first session, but went into a lot more detail on the nature of the project and how it came about.  Basically, they had come to a point of too many pages to go manually refresh, over a million individual pages on!  They needed a strategy to go after the high value targets first.  They decided to start at the top, applying the 80/20 rule.  The research shocked everyone once they started down that path, 10% of content serves 89% of page requests.  The user journeys aligned with 20 different ‘clusters’ of government services.  This helped steer them into a clear path where they have now updated the most used pages to be compliant for serving people with disabilities.  It really comes down to unstructured data vs structured data.  He said “The page metaphor is evaporating. The idea of title and body is useless and outmoded, We needed to think in terms of ‘chunks of data.'”

Keynote Day 1 – Agile Design

Kelly Albrecht
Kelly started off his talk with a very surprising (to me) fact: Over half of CIOs consider Agile strategy discredited. His central point is that we are mostly misunderstanding what Agile is really all about.

Agility is adaptability to a change in the situation. Think Spiderman.  “Your agility is measured by the speed and effectiveness of your response.” This is completely reliant on a central set of values.
Values: Commitment, Focus, Openness, Respect, Courage.  Issues arise when there is a violation of one of these values. Very few of us are not doing the best we can. Very few of us are intentionally doing poorly.
Iterations provide an optimized awareness into a larger effort
getting into a shippable implement- make the best version of this you can
breaking larger things into workable pieces. Planning reduces stress
Agility is bringing good thinking to action quickly. Agile does not tell us not to have a plan, but to always be planning.

My sessions

I was very honored to be able to give 2 talks at this camp.  First up was a new talk I developed around the discovery process for sales and project planning with references to Motorhead. Everything Louder Than Everything Else!: Navigating stakeholder needs through better discovery

I also got the chance to share my love of storytelling with Every project is a story: Applying storytelling to your client interactions

How to Make Friends & Influence Strategy

Breann Kopcza

5 things to know:
Know your audience
Share a purpose
Get involved
Own a communication role
Keep your POV simple


Debugging, Profiling, & Rocking Out with Browser-Based Developer Tools!

Mike Herchel

It was wholly appropriate that we were at MIT, the birthplace of the term ‘drinking from a firehose‘ to see this talk.  I did my best to keep up with him but after he showed me you can turn on from the document.designMode flag, I was distracted.  Here are the parts that I did write down.
Cmd + Shift + C = devtools open (no more right mouseclicks needed)
H key toggles visibility via the hidden property when you have highlighted an element in Chrome dev tools.
in the console insert: document.designMode = ‘on’; (mind blown).
chrome://chrome-urls/ (works in airplane mode), flags-> experimental canvas dev tools
requires restart and then turn on under settings in dev tools

This does not to this talk justice.  This is a weeks worth of tools and tips in this talk. Seriously go check it out once posted on the session page.

Keynote – Responsive Design: Beyond Our Devices

Ethan Marcotte

It was a real pleasure to see one of the thought leaders of design, the man who coined the phrase Responsive Design.  He started off by asking “Where is this all going?  Where do we go past Desktop design?”
As we are moving from page to patterns, it matters a little less what the answer is.  He said “I thought I would redesign patters, instead they redesigned me.” Since going down this path has lead him to a single driving question that keeps him up at night, “What if someone doesn’t browse the web like I do?” This is the most import question in his process.
A well crafted responsive design is device agnostic – a good guiding design principal.  He feels we are in a golden age of automation tooling for style guides creation.  He talked about tools like Pattern Platform Labs and Fractal.  He ended by telling us all to go and read a work that has really inspired him:
The Language of Modular Design by  Alla Kholmatova

We are not preparing for more desktop browsers, though their numbers are not shrinking.  Instead we must learn to expand our understanding of the smart phone and realize that there are a billion new users coming online soon. They are in developing countries, young and on a 2G connections.


Wrapping up

Boston is an interesting city with a lot of history.  I dig the vibe as it reminds me of the bay area in a lot of ways.  I am looking forward to going back next month for WordCamp although that will not be in the same building where the Web standards that we leverage are written.  I am still a bit in awe that I got to participate in this camp and deliver 2 talks in those sacred halls of learning.



DrupalCon 2017: Baltimore is way nicer than you think it is

After #WCRaleigh I headed to Baltimore, MD to DrupalCon 2017.

This is THE BIG SHOW for Pantheon! The biggest event for Drupal every year. This was the 4th one I have attended in the US, 5th overall. My first DrupalCon was in Austin, TX in 2014. It literally changed my life. Before that event Pantheon was just a really awesome job in the valley, for sure my favorite so far. But from day one of that event a few years back I realized that Drupal was way more than a pile of code. It was a real community.
Austin was also where it first hit me what the heck Free Open Source Software was really all about. Free as in speech, not as in beer. Free as in society, as in enthusiastic voluntary community.  Walking away from this year’s event, I had been reminded of that point and feel an urgency of renewed purpose for making this whole free and open internet thing work. More on that later.


My week at DrupalCon started with the Community Summit. This is meant for the folks who have organized community events like DrupalCamps, Meetups or anything else community focused. I arrived fairly late in the day, due to a few travel hiccups. The day was already in full swing and I raced to catch up, which was not too hard since everyone was eager to help me get on the same page. I was very grateful to be included in the conversation and feel I saw some real progress in the team I joined. It was awesome to work with my fellow MidCamp organizer Avi Schwab  and organizer of DrupalNorth Aiden Foster to further the cause of making Drupal Community happen. I highly encourage you to go participate locally and do what you can to keep things growing.

Directly after the community summit ended, the conference floor opened up to attendees to meet and greet the sponsors. This is when we got to roll out this year’s version of Booth Demo Magic. This is one of my favorite things about working at Pantheon. It is part magic show, part TED talk and part “Mother of all Demos”. This is where we unveil the amazing work we have done and get people fired up about the future of the state of the art.

This year was the best year in in my attending. Watching the demo is the only way to get a Pantheon shirt, which is screen printed in front of you on demand and in previous years, this was the main reason a lot of people who already knew us watched the presentation. This year, dropping the names of tech we were going to show how we integrate with caused such a huge stir that I think we might have had the same turnout even if we didn’t have the best shirt of the convention. As people passed and I said “Do you want to see CircleCI with automated testing setup from a single CLI command” heads snapped our direction, eyebrows raised up and people turned around to go find a place to sit in front of our screens. It was amazing. Really set the tone for the rest of the con.


Food and Fun:

Monday night dinner:
Every year Pantheon sends a large number of us Pantheors to DrupalCon and many of these folks work remotely. DrupalCon gives us a rare chance to sit down as a group and have a good meal. We were not disappointed by the friendly staff and quality of food from Roy’s Hawaiian Fusion. Very tasty and I found out there is a ‘secret vegetarian’ menu they do not advertise but which has some pretty OK offerings. If you go, ask for it.
No Drupal event of this size would be complete without a good old fashioned bar crawl and I left the Pantheon team dinner to join the unofficial official #Drupalcrawl as it pulled into the last scheduled stop, Tír na nÓg Irish Bar & Grill. It was so great to see so many of my friends from all over the world in one spot to raise a glass to Drupal. Special shout out to the crawl organizer Jason Mickela. He is one of the nicest people ever and the smoothness, inclusiveness and togetherness of this event re-enforced that notion. If you are looking for a low stress thing to do with your local Drupal (or any other) community, suggest a pub crawl and let the bars do the heavy lifting.

Coffee before a keynote was mandatory and I dug into my snack bag for breakfast, which is mostly almonds and a few other goodies to keep me going on the road. Coffee was abundant and OK for a trade show.
Lunch on the other hand was absolutely amazing. I went with the special meals option and was rewarded with fresh and delicious food that looked way better than what was on the buffet lines. I had a delicately crafted mushroom ravioli and pretty great veggies on the side. The care and attention to folks with dietary restrictions was pretty epic and I applaud the Baltimore Convention Center catering team. Well done!


Tuesday Partner Dinner:
Working primarily with agencies here at Pantheon over the last 3 years I have had the extreme pleasure of getting to be part of the Partner Dinner at DrupalCon, an annual tradition to say thanks to the fine folks at our partner agencies that leverage our product for their livelihoods. It is such an honor to get to sit and talk with these folks and hear the stories of how their lives have been impacted by the tech we work on.
The food was pretty OK. For the second time that day I went with a mushroom ravioli and a very lovely bowl of berries for dessert. Not to knock this place but the lunch was, by comparison, on par with the quality of this upper scale private dining venue. I ate my fill and I think they nailed portion sizes, which was great because I didn’t need to be in a food coma to make it to the next stop:

DrupalCon Karaoke!
If you have been reading this blog, you already know how much I love karaoke. The music, the drinks, the togetherness and most importantly the act of publicly displaying the love for a song. We were in real luck in Baltimore as the Tin Roof had live band karaoke! A four piece band backed up singers, giving them the choice of hundreds of songs. They even claimed to know many more than were in the songbook but they listed out the most popular for us all.

There were about 100 Drupal folks gathered together and we didn’t all get the chance to take the stage, but we all had a chance to cheer and sing along. The band was even so gracious as to extend their time. Being a particularly dark and rainy night in Baltimore, we got the vibe that without the love of the con-goers they would have wrapped it up early and called it a loss. Thanks to the good Drupal community believing enough we made it one of their best nights ever we were repeatedly told. Karaoke is an amazing way to bring folks together. Make sure you are singing with your community!


Again, the lunch options for special diets were pretty good, though I had the bar set extremely high the previous day, so I wasn’t as bowled over. I had a poblano stuffed pepper with daiya and I think cashew based filling. That part was awesome. The rest of the meal was chips and run of the mill guac. Living in California I will admit I am completely spoiled on fresh super high quality avocados, so most pre-packaged guacamole is belh at best. Desert was a cookie, which I did not try. Coffee was pretty OK too.Wednesday night brought the largest of the out of venue events:
The Lullabot/Pantheon party!Poster for the Pantheon + Lullabot party, head of the T-Rex fossils and the logo of both companies

Every year this party gets a little bigger and wilder. This year was the biggest yet and was a real hands on experience. The party took place at the Maryland Science Center! We were surrounded by dinosaurs, interactive exhibits and all sorts of fun and drinks. Really an amazing time and so many good memories made. The photo booth was hopping from open until they kicked us out at the end.

The un-official after party:
All I will say about this is vegan liquid nitrogen ice cream, Chaz Chumley on DJ duty, Andrew Mallis and his crew to the rescue on supplies and community making a crazy night awesome! That’s about all I care to say. Other than that, you really just had to be there. After all…what we do is secret.

The morning started with much, much coffee and the best keynote of DrupalCon! Lunch was a pretty solid veggie wrap, chips, cookie and salad. Of the 3 days, this was the most standard convention fare of the week on the special diets menu. Nothing to complain about but nothing so outstanding as that ravioli on day one.

For dinner there was a large contingent of folks I like going to get some crab, which Maryland is pretty famous for. I accompanied them to get a drink but looked elsewhere for food. I was certainly glad I did for a couple reasons.
First, it was the best greens I have ever eaten at this pretty awesome vegan soul food joint called The Land of Kush.  Even if you are not down with the plant based food path, seriously go check this place out. Pretty epic food at ridiculously low prices given the portions.

The other reason I was glad to have split off was the walk back. Yes I walked across Baltimore and I think I hit every best neighborhood in the whole city on that walk. Baltimore is only known by many folks because of The Wire. This show focuses exclusively on crime in “America’s Finest City” What they leave off is there are parts where it feels like the nicest parts of Manhattan or DC. From the Washington Monument to Power Plant Live, I followed a path filled with quiet parts, statuary, interesting and very old architecture. I felt very safe the whole time and recommend this walk if you ever get the chance to be in this east coast gem of a town.

Trivia Night!
My official end of DrupalCon was once again this fun filled evening of trivia and fun with us answering some interesting and at times frustrating questions at the Baltimore Soundstage. It was great to work with my old friend Jeremy Rasmussen and some new friends to have a good time and a few laughs. It was an ideal way to cap off the event and I left exhausted but very happy.


The Sessions

Since I was there to hustle at the Booth Demo Magic I didn’t get a chance to see many sessions. I did see a few though and really wish I had been able to see more.
The Prenote!
Every year JAM is the Master of Ceremonies for this lighthearted spectacle, designed to get us awake and ready for the Driesnote and the rest of the day. This year there was a bit of a somber, slow start. As you might know there was some controversy in the Drupal community over the last few months and JAM addressed this at the start. It came as a plea for healing and h provided a few links with resources he thinks will help guide us to be a better community overall.
With the tone now set to a bit darker than expected, we saw a colorful cast of costumed characters emerge on stage and the real prenote fun turned on. We met a green haired DrupalCon newbie named “B. Ginner” who was shown the ropes by a whacky bunch of community folks through song and dance. The biggest lesson is that at DrupalCon, “you can’t go two steps without a hug”. In fact this is officially part of the PHP coding standard, PSRB8.
If I had not already sensed it, this was the signal that DrupalCon was going to be good this year. Really good.

Here are my unfiltered notes:
“Sorry I hurt you, It hurts to see you hurting. Q&A best time to talk about that”
Focus on software
Drupal 8.3
15,000 sites per month launch with D8
YMCA not just a website, interconnectivity between systems is powerful
Drupal has evolved, from project for hobby to something as a powerful to power things
“enterprise” is misleading, non-profits and libraries are not really enterprises
Ambitous digital experience
ecosystem is ambitious as well.
“I was right” city of SF story
Lot of modules to port, please do that
1 million D7 sites need to be migrated
6 month release cycles are important
Depricated APIs will still be supported
D9 will Be d8 without the deprecated pieces
Going to make upgrade path simple and lot of time to update code as D8 evolves
8->9 should be as easy as 8.2->8.3
7-8 might be the last hard upgrade
Core team has added 4 people, with hundreds of hours of contrib
Previews of what is coming
impressive editorial process changes
autorespond-bot is on git hub (based on obama admin whitehouse work)



Project Management: The Musical!

The first non-note talk I got to see was “Project Management The Musical!” by the amazing duo of Allison Manley and Joe Allen Black. This was to be the final performance as they were retiring the session. I had been there over a year before in Midcamp when they had premiered it and was eagerly looking forward to see the last show in the run. It knocked my socks off and for only the second time in any session I have attended, I was part of a standing ovation. The other time was the opening show they did.
Rather than explain a musical to you, it is best to just go check it out here!


Know your friends, pick the right fights   

horncologne (JAM) and mathias.schreiber from Typo3

This one caught my eye as it was on the community stage and featured one of Drupal’s more colorful characters, the awesome mustachioed JAM, from the prenote. He was presenting with an unexpected guest, Mattias from Typo3 community. If you are not familiar with their PHP CMS project, you should take a look. They use some of the same PHP libraries and there is a lot to learn from it, much like we can learn from WordPress or Joomla.
What they spoke about shook me to my core and was a personal wake up call. I make my living off of the open source world and that world is under attack. They explained that although free and open source software seemingly has won the battle for acceptance in the enterprise world, that fight is far from over. While we have enjoyed a golden era of FOSS acceptance as the seemingly default ‘right’ approach, the large proprietary software makers have not gone away or even shrank. They are using their size and vaults to lobby for position harder than ever. They duo shared a few stories that have left me concerned in ways I had not thought about before.
There is a set of laws on the books, but not yet enacted in places like France that say ‘a CMS must have a creator maintained SLA’. Yes, that means all CMS must have a creator to deliver SLA for their software to be considered for government contract. Who would be eligible in Drupal or WordPress? They also discussed the Canadian government’s recent RFP that was written to exclude open source on similar grounds. This is a troubling trend.
They also shared Joomla’s story of temporarily losing tax status for their event governing organization. This would have been disastrous had the other open source communities not banded together to help define German tax law. How close did we come to a slippery slope there? Too close to comfort for me.
The good news here is that it is not too late. We still have an upper hand as we have a whole community to act, which is more valuable than any pile of cash. We just need to work together to continually make the slice of the (web technology) pie bigger for all of us. Let’s compete against the non-CMS market and the proprietary stacks. There is enough room for all open source to win online!

Creating a Culture of Engagement: The ROI of Transparency and Communication

Anne Stefanyk

She started off with a dance party! I felt way more energized after that for sure!
I went to this talk because I am very interested in project and team management subjects. The more I learn it seems the technology, though sophisticated, is not the hardest part of a project to manage. It comes down to how you work with the other people involved. Disengaged employees are not good employees. Satisfied employees are OK, but not going to go above and beyond and ever do more than told. Solid though and not too hard to engage though. Engaged employees are thrilled to be there and feel personal stake in the effort. You want as many of these folks on a team.
Openness is the key to achieving this. Share everything. Trust your team.
It is important to remember that communication is different for different people. For example introverts find group exercises and discussions distressing, and extroverts might not do well with just online exchanges. Read books to help understand other’s perspective and definitely listen when given advice. Engage your teams.
The Q & A was very good with some real advice and tricky situations discussed. I was very glad to be there and this is a talk you do not want to miss!

Wait, there are 35 Symfony Components? What Cool Stuff am I Missing?

Ryan Weaver

Drupal 8 is built on Symfony, which is a collection of 35 independent libraries.  Drupal uses less than half of them! That means that there’s a ton of other good stuff that you can bring into your project to solve common problems…as long as you know how, and what those components do!
That is the session description from the website. I couldn’t describe it better. Go look at his slides This was the best technical talk I saw during the whole con.

 Avoid DEEP HURTING! Deployment beyond git


Another technical talk, and the last non-note session I caught.  I have no need for such tools in my current role, but I strive to understand the deploy process and affiliated tools better all the time, since it helps me relate to the developers I am helping use my platform. Our presenter delivered a lot of humor and fun cartoons along the way while discussing a very serious issue and delving into multiple github repos. I felt very grateful at the end that I don’t have to hand build such a system nor maintain it. Very informative talk.

Technology and Its Workforce at an Ethics Crossroad

The last session I had the opportunity to see was the day three Keynote delivered by New York Times contributor and author Zeynep Tufekci.
Here is the short version. We are barreling towards Huxley’s dystopia, not Orwell’s. We are giving so much of our data away to folks who, admittedly are maybe not currently going to abuse it. But what about their successors? What about 2 generations out? These are tough questions. There are a lot of good things happening, but the potential for abuse is astounding. Make sure you check this out, if for nothing else than her story of a bus driver commandeering a bus for an earthquake relief process.
This talk really reiterated for me that the Free Open Source Software fight is more important now than ever before.


Wrapping up

I left Baltimore early in the morning for WordCamp Chicago. It was an exhausting week and I left feeling a little sore, but in amazing spirits about the future of Drupal and with a renewed sense of purpose toward FOSS. This was the best DrupalCon in so many ways. Go visit this city, it is a real American gem.

MidCamp: Chicago and my first time camp organizing

Chicago holds a special place in my heart for a few reasons. It is improv Mecca and I have lost a few friends to her stages over the years and continue to do so. It is also the home of Rock n Roll McDonalds, my favorite Wesley Willis song. And now it is home of the first DrupalCamp I ever helped organize, MidCamp 2017 at DePaul University Lincoln PARK campus.

This 4 day long event offered a full day of training on Thursday, two full days of sessions and a Sunday sprint day. I had volunteered to organize the last part. Having not ever done this before, I entered this trip with a bit of unusually nervous energy. Very fortunately for me the rest of the organizers made me feel very safe and supported and once again my MidCamp experience was awesome.

The Food And The Fun!

Thursday was trainings, but as with all Drupal events, there was room to Sprint as well. We had some simple box lunches with meat and cheese on wheat bread wrapped in plastic wrap. It has actually been a while since I had such a sandwich and it brought back memories of high school cafeteria lunches and vending machines at the factory I used to work at. Not unpleasant but a tad pedestrian given that the sprint room was in the student center and the air was thick with many varied food service options that ranged from BBQ pork sliders to teriyaki chicken bowls, soup bars to deli counter, sushi to pizza.

A small store with many types of food options, both hot and cold
DePaul’s Student Center Food Options

At the end of the Thursday Training/Sprint day, I was honored to attend the Speaker/Sponsor dinner held at The Red Lion Pub. This delightful English pub offered very charming decor with many books and WWII era posters on very high shelves and dark wood paneling to give it a homey study feel. The bar had my favorite vodka, a locally crafted one. This one was made from the same potatoes they used in the kitchen to make the french fries, Chipperbec. And speaking of the kitchen, there was a delightful assortment of food options, from fish and chips, to a vegan thai curry. Everything was top notch.
The food was only topped by the camaraderie I felt seeing many of my Drupal friends in person for the first time in many months. I left feeling stuffed and feeling really ready for the busy days still ahead.

Tired as I was, I still made time to go see an improv show that night over at The Annoyance. If I am envious of my Chicago friends for anything, it is their proximity to this theater. Given the nature of my talk, I thought it wholly appropriate to do some field research in the improv motherland.The Annoyance THeater sign, it is orange neon.

Friday morning brought the standard coffee, muffins, fruits, yogurt breakfast selections that are the common fare at so many conventions. I drank liberally from the coffee spigot. A brick morning pace had us at lunch before we knew it. Awesome wraps with many, many options for special/restricted diets. At every catered meal at the venue there was a cookie option for dessert. I am very proud to say that I resisted these at every turn.

At the end of the packed day capped by the lightning talks, we started Game Night, sponsored by They even hired the Döner Men food truck to bring us some of the best döner I can remember having. It was hard to not go back for a second serving. I played a few rounds of Zombie Dice and before there was a movement to go to HopCat, a local diner themed bar with 140 beers on tap.

HopCat is where I met Malort. Take a second and go look at “Malort face“. That is exactly how it tastes and it is a Chicago staple liquor. Coming from the city that drinks 35% of the Fernet consumed in the USA, I totally get having a terrible tasting but worth it for the memorable experience drink. I am glad I drank it, but I do not plan to repeat the feat. HopCat also served up a dish they call Crack Fries. These are just seasoned french fries served with a white cheese dipping sauce. I have no idea what was on the, but I could not stop eating them.

Luckily I was able to tear myself away with a small group to go find karaoke a few blocks away at Harrigan’s.   As most people who know me know, I love karaoke and I am especially in love with small dive bar karaoke. This place was dead as we arrived around 10, but by midnight you could not move around at all it was so crowded. One thing that made this place really stand out was the DJ took pics and posted them on their FB wall in near real time. Really had a blast singing with my fellow Drupal family.

Saturday brought more muffins, fruit, coffee and even hardboiled eggs. This was also the day that one of the organizers brought us donuts. While I successfully avoided all cookies on this trip, I did befall to the temptation of these locally baked delights. The sugar rush made the morning speed by extra quick and crash landed me at the nacho bar for lunch. Many nacho chips, mystery meat scoops and jalapeños later I was sated and ready to give my session.

Saturday night was the afterparty at one of the loudest bars I have ever entered. The ‘March Madness’ and the population of the venue assured that the roar was deafening in the main room. Luckily we had a back room reserved for us at far more reasonable volumes. Again I found a ‘semi local’ vodka, Prairie, which is made in the midwest over in Minnesota. Delightful stuff.  I had expected the food to be sports bar quality greasy bites and some of it for sure was, but there was very well executed teriyaki chicken and the best crab cakes I maybe have ever eaten. I was actually extremely glad that I left when I did, not only because the party’s tab had closed and the party was moving on to a karaoke place, but really because I could not stop myself from constantly returning for ‘just one more’ of those crab cakes.

Shoe’s Pub is where the party found itself next and this place was just great. Cheap drinks, many locals and students, and a pair of bullet style mics. The whole evening it was far more common to see duos or even small groups sing than solo performers. This gave the karaoke an extra special ‘we are all doing this together’ kind of vibe.

By midnight, karaoke was overflowing, too crowded to even breathe comfortably, so a motion was made to go see some legendary Chicago blues over at Kingston Mines. Once we arrived we realized that the line would not permit us to enter any time soon, so we went across the street to the slightly less famous but equally as entertaining BLUES bar. It was a night to remember for sure! It was also a great way to officially end the party for MidCamp, leaving only the Sunday Sprint to check off the list.

Thursday Sprints:

As I mentioned, Thursday was the main training day but it also gave room for folks to Sprint.  There was no formal plan or focus for the day, which gave rise to many people working on their own projects and getting help and feedback from their peers.  It was also time for the Organizers to finish many last minute tasks and get set up.  This was a great warm up to the camp days that followed.

Sunday Sprints:

This was not just the first time I organized a Drupal Sprint, this was also the first time I ever attended a formal one. I have attended contributor days on the WP side of the world and I have hacked at many a thing on Drupal, but this was my first real, on the books, official involvement with a Sprint. I loved it! I will at least be volunteering at future Sprint days as often as I can moving ahead.

Huge shout out to the folks who did the real heavy lifting of the day, the Sprint Leads!

First up, by coworker and friend David Needham, lead the first time sprinters on a ‘how to sprint’ session. This session introduced folks to how tickets worked, how to set up their local environments, and the many varied ways they might be able to contribute to the project.

We focused on three main areas for this sprint. Core, Drupal Commerce and Documentation:

The core team was lead by Adam Bergstein, who is not just a nice guy but also a security and best practice expert. I can’t name many other people I would have wanted leading that effort.

Drupal Commerce is a passion of Matt Glaman and it really showed, as he was the first to arrive at sprint day. If you want to contribute to Drupal Commerce, you can find the well organized queue here.

We had the dynamic duo from Joe Shindelar and Blake Hall focused on Documentation. This is such a crucial part of the project and one that is entirely accessible to all skill levels, making it very welcoming in general. While I tend to think of this as the ‘go to’ for new contributors, and some new folks for sure focused their energies here, we had newbies at all the tables. It gave me a great sense of hope for the future of the project seeing these new faces make their first contribution and leaving with so much done.

The Sessions

Emma talked about her story of going from feeling like an outsider to being a project lead in a very short stretch of time. Besides focusing on the ‘why it is important’ message that is critical to communicate to new and seasoned folks alike, she also focused on how one can contribute. There are so many ways beyond just writing PHP code to make Drupal move forward. You can write docs, you can volunteer your time, you can team new people things you learned along the way and too many others to list here. Fortunately, thanks to some speedy internet access and the dedication of Kevin Thull you can see her slides and hear this keynote yourself here!

Sessions I saw:

I was very fortunate to have had several members of the Pantheon team with me at MidCamp so I was able to go to many sessions. If you want to see any of these at home, they are all online and available now on the individual MidCamp schedule pages.

I was immediately drawn to this session not for the Project Management or the Yoga, but because it was applying the lessons from one of the speakers’ passions to their tech related work.  This is something I have tried to do with several of my talks.  It turns out that both yoga and project management both use the concept of flows and there are some direct comparisons you can draw.  Agile methodology is analogous Bikram, where Waterfall is more akin to Ashtanga.  Ideas like ‘sticking to the plan’ and ‘internal communication being critical’ are mirrors of ‘practice the poses’ and ‘listen to your body’.  There was even a participatory section where we all learned some poses and stretched out.  I felt more limber and very encouraged about the idea of mapping divergent skills overall.

I was very fortunate to see several of my fellow Pantheors give talks at the camp. The first up was my manager Drew Gorton talking about the very reasons I like working with him. There are many ways to manage a team but it always boils down to some key factors like ‘putting the right person in the right seat.” You can have the most brilliant people on your team but unless they are doing something they feel passionate about and filling a needed function on ‘the bus’ then no one is going to be happy. He also stressed the importance of communication and need for connection beyond what is just on the page of a report data. He fielded some interesting questions as well and I am very glad I attended. Check this one out for sure.



This was a very fun talk that not only gave a history and ‘how to’ of Mr. Ivy Leadbetter Lee’s priority management strategy, but also how our presenter transformed his life with this method in very short order. The very quick version is “write down the 6 most import things you need to do every day and do them. If any are left at the end of a day, simply move those to the top of tomorrow’s list.” This sounds really simple, and it is, but it is a very powerful tool to get done what needs to get done and feel a sense of success just from marking things off every day. David repeatedly made the point that this always felt amazing to do.
The real take away for me was actually another famous name’s process, Jerry Seinfeld. He was once asked how to be a successful comedian and he answered “write good jokes everyday”. On the surface this sounds like a disingenuous answer, but what he meant was, appy the craft every day and track what you did on a calendar. After a few days there will be a ‘chain’ formed of all the times you did the thing. The funny thing about human beings and these chains, is we do not like to break them once we forge them. I know I will be using this to mark off how I spend some of my time going ahead.

Doug started out this entertaining yet extremely technical talk by explaining that in fact Config Management is not a panacea for all conceivable ways to distribute Db config around the world.  It is for moving config from a dev or stage environment towards a live environment.  This is something I have a good deal of opinion around given where I work.  It is absolutely nor for packaging up config to move between entire projects.  I found it fascinating to hear the reasons why there has been so much love/hate of the Features module and Config Management in general.  Part of this is the gray area that is Content vs Configuration.  Not something I had really thought a lot about before.  My favorite moment came from the Q&A when an audience member lamented that, to him, “features is a hellish solution to a nightmarish problem” but that this talk helped him sort out how to make better use of the concept.


Saturday morning sessions kicked off with one of the more fun full length talks of the whole camp, my teammate Steve’s talk about the internet of things.  For this talk he rigged up his great-grandfather’s 150 year old telegraph key (a work of art unto itself) to oranges as a power supply to light up an LED connected to the internet.  While there was a lot of fun and silliness to some of his examples, the core message was actually really powerful, which was “Connect your interests to your workflow” and “Follow the fear”.
The first point is really to start thinking about the tools we use as a part of a larger ecosystem of hooks we can string together to automate all the things.  And by the second point he really was encouraging us to go learn the tech that might intimidate us and trying to do it an a playful way with ‘toys’, maybe silly or childish projects that teach the skills with less pressure.  On that topic he talked about the need for joke modules, which are really meant to show off what a particular hook can do rather than filling production need.  Drupal 7’s Bad Judgment module was the prime example of this.  I am going to be looking into this module moving ahead, as well as all the available webhooks I have in the tools I already use.  If you listen to this recording you will even the infamous FauxAlGore give an intro to the subject.

No one likes having difficult conversations but it is an unavoidable part of life. How to have these conversations is something we also tend to avoid, which I never really thought about until I saw this talk. I have no idea how this topic has not been more widely discussed at camps but can foresee this becoming a much more popular talking point in the future.
The basics are that when people find themselves in uncomfortable discussions they tend to react towards internalizing which results in silence or externalizing, which leads toward violence. You want to stay balanced right in between those extremes in a place of healthy dialogue. This requires some meta conversation sometimes and recognizing that everyone needs to feel safe. If you are in a critical conversation and notice that the other party has shifted to one of these ends, it is OK to ask why and revisit the points that pushed them there in order to find resolution and move ahead.
My favorite part was Chris asking the room if we remembered when we were kids and figured out that adults are not mature? All kids have this moment and it serves to remind us that we should be treating people as people. After all you would not ever say to a toddler ‘they are unfit to lead and are bad people due to their work habits’ but we all too often think things like that of our peers. It is important to turn victims into actors and villains into humans to have constructive dialogue.


This was the final talk from a teammate that I got to see. This was a fantastic and very entertaining talk about some basic skills everyone should develop to be more productive.  These were all tips and tricks Tessa learned first hand from being a busy mother and developer and community organizer and many other hats.  The ideas ranged from the importance of journaling to keep yourself focused, on track and motivated on the big picture to the importance of self care and meditation.  Sprinkled in between these meatier subject she sprinkled some great and humorous one liners as Pro Mom Tips.  My favorites where: “Never EVER leave a Sharpie unattended”, “Your keys are always in the other pocket”, and something I can’t use yet in my life, “If you need some alone time, tell your small child to go dress themselves, which we all know is a joke.”

The final session of the camp was more of a group discussion than a lecture on the subject of free speech and free software. Tim reminded us that in fact “Free Software is not the same as Open Source”. That there is a core value to this that goes far beyond the development methodology of sharing the code itself. That there is a responsibility to the freedoms this is build from. It was a great group discussion with topics floating from DRM, desktop linux being a good solution these days and bid data privacy concerns. While energy was overall low due to the timing of the talk and the energy we had already exhausted from the two full days, this was still a very lively discussion with so many great take aways. I know for me, moving ahead, I will be saying I work in Free Software a lot more often.

My Session:

This was the 6th time I have had the opportunity to deliver this session. Each time I do I learn a little more and I find new ways to improve upon it. I hope to have the chance to do this a few more times before I retire the talk. The one thing that stands out the most to me is the extreme shyness and introverted-ness of some of the participants. I give some pretty clear trigger warnings and repeated reassurances that it is OK to sit out the exercises or even leave the room without any judgement if they feel uncomfortable. I absolutely and thoroughly applaud the efforts of these folks who stayed and gave it their all. I left feeling inspired by their courage to try something that outgoing in front of their professional peers.
Afterwards I even learned that in one case former teammates that had a terrible working relationship ended up learning they actually had a lot of things in common as a result of my talk. While it is too late to fix the issues they had as a team in the past this gave them new hope that if they worked together again they would be able to find a common chord and better collaborate. This might be my favorite thing I have ever helped anyone do with improv.

Lightning talks:

Friday ended with everyone regathering in the main hall for a round of Lightning Talks. These are ~5 minute talks on any subject of interest from the speaker. These are not done with a lot of prep time, as the speakers signed up on a sheet that went up 15 minutes before we started the talks. I had the extreme honor of going first and delivered a stripped down version of my “Every Project Is A Story” talk I had given at SANDCamp (link to it). Other talks included “How to convert your sodastream canister to be refillable”, “The time I took my mom to Drupal Northern Lights and she learned what “Drupala” is” and my personal favorite, Jim Birch’s “Theremin” history and demo. This last one will live forever as a giphy, which you can download here.

I almost put this up in the Food and Fun session since it was an absolutely outstanding time, but in the end this really does fall under sessions. If you are organizing a camp and reading this, please consider a lightning talk session at the end of one of the days or over lunch. It was such a great way to connect and get some extra learning out of an event!

Last, on a personal and community note I came into camp with a nervousness stemming from more than just my nervousness as an organizer. If you are reading this then you likely are aware of the Drupal drama going on. If you spend any time on subreddits then it would be easy to think that the wheels were coming off and we were taking sides.  I was more than relieved, I was overjoyed, that when I did see my fellow Drupal folks all together there was the same sense of togetherness and camaraderie that I have come to expect.  Even the subject of the drama showed up and I was proud to interact with him as if there was not anything going on at all.  Put everything in perspective for me and I am feeling much better about the state of D8 and the world.

Also, I could not have been successful as a camp organizer without the seasoned experts on the Organizing team!  Huge love to this wonderful amazing group of people.  Take a moment to go look and see the faces of this tremendous team: While we all did a lot for this camp, a very special shout out to the Camp Lead who kept this ship running and made sure we organized, Mr. Jim Birch!

MidCamp was a blast and there were so many good times. I encourage you to go challenge yourself to learn more, better organize your priorities and become better communicators. I know I will. I can’t wait until next year!