WordCamp US 2018: Deja vu all over again and being happy

For the third time in twelve months, I was afforded the opportunity to visit The Protestant Vatican, capitol of The Volunteer State. I am not sure, but I am sure this nickname influenced the choice of venue for the largest gathering of Open Source volunteers around WordPress in the US. As I touched down on a cold afternoon at BNA I was so very excited to be back because I was thinking of all the amazing people I got to hang out with and all the amazing times I had the previous time. I also had a touch of a concern I would be comparing this trip to those and it might color this trip with the tarnish of nostalgia. I am overjoyed to report that though the trip was thick with familiarity, I had the happiest, best time you can imagine WordCamp US 2018

Food and Fun


I got to arrive a day early than my duties demanded, but this gave me an awesome opportunity So good to catch up with some amazing people.
Alley Taps smooth covers of pop songs with a little soul from local up and coming artist Falyn.


This was a setup day for us and the Pantheon booth. I had the opportunity to have lunch that day with one of my favorite people in the whole world, in or out of the WP space, Josh. We had a very satisfying #WPVegan mean at a place I would love to give more support to, Coco Greens.

Thursday evening was filled with so much fun. First, my team at Pantheon met at Whiskey Kitchen which has a crazy good whiskey list. Especially good list if you like bourbon, like I do.

The community had their first official get together on Thursday night as well at the Speaker/Sponsor/Volunteer/Organizer dinner at the venue Music City Center. Huge props to the catering for this effort. Having a vegetarian, mostly vegan, table separate from the offerings for omnivores was super convenient and made sure it would be hard to cross contaminate. It was really super great to connect with so many people who I had not seen, in some cases, since last WCUS.

We snuck in a little Karaoke after that as well.


Coffee and tea flowed like the mighty Cumberland River, which flows through the city. Conference coffee being there is good enough and I will not pass any judgment beyond that. Coffee aficionados told me there were more gourmet options available a short walk away.

Like all other WCUS lunches, we had a pretty hip jazz band serenade us as we ate BBQ and, for some of us, really thoughtful vegan options.

After the first day of sessions, Pantheon threw a little happy hour for the community at The Flying Saucer Draught House. This place is covered in plates of people who have had tried 200 beers. There are people that have done this 10 or more times as well with special honors on their plates. We didn’t quite drink that many beers but it was fantastic to hang out with the community.

After Party

The organizing team decided to move the official after party from Saturday to a day earlier for a number of reasons. I was not really on board at first, but honestly, I think this was a great move. Once again we gathered at the Adventure Science Center. Too many good times to relate them all here, but the fried tempeh and taco bar were fantastic!


After the ‘State of the Word’ and the end of day two, Pantheon got together with some of our partners for an appreciation happy hour at Kitchen Notes. It was awesome to have some Fried Green Tomatoes and the absolute best pita chips I have ever experienced. Honestly have no idea how they made pita chips that awesome, but if you are in the area, I dare you to go and get them and report back your thoughts.


There were other parties but I was doing footwork to make sure our original plan for a community karaoke party would still work. Turns out, thanks to Santacon, of which I am not at all a fan, we could not get into the first option or the next two backup spots on the list. Literally could not get in the door since they were over capacity at a couple places. Fortunately, the community will to make this happen got us into Wanna B’s Karaoke.
It was amazing. This is the crowning achievement to date of all my work to get people together to sing. Thank you all who came out to sing.


Bridging the Design and Development Gap with CSS Algorithms
Lara Schenck

I have never stepped back and thought “is CSS turning complete as a language” before. But once I did, thanks for Lara, I am not sure I am ever going to be able to unsee it. It makes me want to dig in deep to CSS3. This talk also delivered the single best explanation of the CSSOM and what ‘render blocking JS’ actually means. If you have never thought of CSS as a ‘real’ language, it is time to think again.

Raw Notes:
Is CSS a programming language?
Some people say yes, some strongly disagree.
Imperative is the how, the control flow
Declarative the What , no control flow
imperative, JS, Ruby, C++, Python
Declarative, domain specific, SQL, HTML and CSS fall here
CSS is a domain specific programming language, 100%
Turning complete in 2018
also, Math, variables and functions and conditional logic
specific conference talk from person in Netherlands
But everyone can learn it
but if all math not going to get everyone in it
Programming is a nice green pasture
the languages are pools in the pasture
in Nov 2018 most people still think CSS is not a language
Browser internals in under 5 min
person talking to server
get data
client http request server byte stream
inside the browser get byte streams
code points turned into tokens
assigns to the DOM tree and the CSSOM
those combine to make
Render/Rule tree for all Dom elements
Render blocking
JS must be executed when encountered, so disrupts the render
Layout draws DOM elements
Layout to Paint
like tiny images
Composite, smooshed together into one presence
imperative JS
CSS went from whatever, to CSS the programming language
Only have a hammer approach before
now have mental model for what the browser is doing
white board marker now
psudo coding boxes before touch code
inputs, algorithms output
ocean image to specific position
CSS, Grid, Flexbox, var, calc
She got a job and learned so much
now old code seems really bad to her
got the job from WordCamp discussion meeting
Yellow light time
Algorithm: well defined computational procedure takes input and gives output
Long method code smell
too much happening to let anything be useful
cut into litter chunks
single responsibility principle
Like kitchen tools
CSS terminology
property: value = declaration
A CSS algorithm is a well defined or set of declarations that take input and visual output specific thing
Algorithm: Clearfix
aspect ratio
assume the size of the container,
arrows with borders
Fluid Type
you can do it in CSS!
CSS algorithms?
what is a word for this?
another way to say it
grid algorithm
Utility namespace
kinda like an API
core patten namespace possible
how do you write CSS algorithms
1 Plan on white board
2 Brute force solution that works
3 walk through
Write smelly CSS
Figure out the algorithm
Give them name/selectors
anything can fit in this structure
be careful how to talk about CSS
CSS is weird -> CSS is the issue and faulty
just no true
CSS is declarative and domain specific
Mindful CSS bell
Read the spec
bridge between engineering and design
Engineering, Design and Product
if all speak different languages it is hard
user interface is the thing people touch
You can’t really learn JS in short time
CSS and HTML you can learn in a few hours

Moving the Web Forward with WordPress
Morten Rand-Hendriksen

There are sometimes talks you see that are so brave, they define comparison. In my mind, this might have actually been a more important session than the state of the word. A gauntlet has been thrown down by tis team and I am very excited to see how we move from here. It is super exciting to be part of a conversation that will literally shape our future as a project and the internet as a whole. This is one to watch for certain on WordPress.tv. Also, join the WordPress Governance Project

Raw Notes:
2015 – responsive images were not set thing online
WP introduced it in core
shipped to 20% of the web
changed the charts algorithms on the reporting
but seems that after WP 4.4, Responsive became normal
we have not been best custodians of the work
5.0 breaks this responsive agreement
flagged in 4/17
Matt says Responsive should not have come to core
he agrees maybe
2015 tech is not what is going to get us to the future
we are 32.5% of the web
what got us here, won’t get us to 50%
what got us here was deep commitment to OSS
solving problems in an interesting way and a lot of luck
what gets us to next level is how we work together
story of a desire path at his HQ
this is how the web works, paving cow paths
WP is the cow path
instead of looking at a new and better spec,
look at what people are doing and formalize into a standard
when we make WP decisions, we are making them for the web
What does democratize publishing even mean?
Democratize = introducing democratic principles,
o make available to everyone
publish means make a content available
making content available online accessible to everyone
values of the internet are the principles of WP
Tim Berners-Lee definiton
WP can realize the promise of the web
Participation and representation
who speaks for WordPress?
who speaks for the user (the PEOPLE)?
Corporations speak for us with specific interests and goals
we say nothing while everyone speaks for us
no answer to who speaks for WP
We must claim our seat at the tables of power
it is for every user of the web
to do that, we must first know what we stand for
democratize publishing….what are the necessary conditions to achieve the mission
He has a proposal
3 governing principles
1. Accessibility
Was grand idea of web was to make all books and journals in science available to share
2. Privacy
capability we must grant our users
3. Open Governance
for the internet, we need to take part of the conversations
I don’t want to talk to you about these things
Not going to talk, inviting other people to talk…..
Rachel Cherry
she is the person who says RollTide online
but Accessibility is a passion
A11y is something that can be quite frustrating
“I can’t use your website and it is our fault”
no one can say we have not build an inaccessible site
and we need to come to terms with that
easy to get to this way, stackoverflow to get it to work
but is it working correctly?
are we messing up the DOM with JS?
how do we force tooling?
Scans in core, will make better for all users
huge % of how people work with WP is Themes and Plugins
We must understand ARIA as a spec
would love to see a work were A11y is not in plugin, not in the repo
Leo Postovoit on Privacy
thinking about first the core idea
people see data in ways to do whatever they want
need to ask questions about how we use data and the data itself
we do not understand the difference between if I go to the library
no one needs to know my books
but online not the same guarantee
now we have laws
it is the privacy by design that is the fun part and how we can work
we must nudge this ball forward.
Open Governance
Chris Teitzel
He was inspired by Matt’s talk
he said get involved
but not much more
Heather Burns
contacted her at WCEU, wanted to collaborate on how to talk governance
spiraled to other CMSes than WP and Drupal
open conversation on what we stand for and how regulations work
we are all reactionary
Let’s improve together
influence the people making laws
they are not the people with the knowledge of how it is built
Morten again
5.0 was the last time we should make decisions only for ourselves
with responsive images we found the edge
e want a seat at the table not to drive the conversation but to
WordPress Governance Project
join in
node and Drupal (early)
AMP just announced
what do those models look like for WP

WordPress from a Drupal Perspective
Chris Teitzel

Raw Notes:
Drupal is hard
Play to your strengths
built a site for an app Thememonster
was in Drupal by coincidence after that
didn’t pick it because it was hard
learning WP learned it was not insecure and not that easy for everything
WP strengths
Design and usability
privacy in core
media management
Robust plugin and theme economy
and yes, Gutenberg
Drupal still needs to do these things and do them well
Drupal strengths
Data architecture – content modeling that happens to make websites
core APIs – forms API for example, makes forms super easy
VIEWS! – DB querying UI
Rest API in Core
need to play to our strengths
we can learn from each other!
Open libraries should be shared in between.

Stamping Your Open Source Passport
Drew Gorton

It is my great honor and privilege to work with Drew. He is not just my manager but he is a human being I respect and look up to. His guidance and support have made it possible to keep going with multiple parts of my life. Hearing his story, so well articulated, makes it pretty clear why this is. Check it out when it hits WordPress.tv.

Raw Notes:
Grew up in small America
fish and rice
moved to Spain in his teens
fish and rice vs Paella
later in life taught English in Japan over a number of years
another of fish and rice was sushi
elementary school kid would have hated to think about sushi
WP events about 3 years ago
he was also from Drupal
same travel experiences and differences served him well
tech is OSS and that is special kind of tech
Free as in liberty
one thing common, need people to survive and thrive
another interesting thing WP is made of OSS itself
PHP, MySQL, Linux, Apache/NginX
many other tools CMSes like this
57 different ones says Wikipedia
Drupal community is open and there are good events to go to
Or how about PHP events
– SymfonyCon
– Sunshine PHP
Generalist events as well
An Event Apart, AgentConf, JSConf Hawaii
Travel gracefully
– listen first
– learn, not convert
– Guides can be a great help!
– Meet the locals
– Share your journey

Scrum for developers
Jenny Beaumont

You like Agile process? Yeah, you bet you do. If not, this talk might just change your mind. Get more done, more effectively, no matter how large your projects or team by adopting these core principles.

Raw Notes:
Devs work form home
don’t like meetings, don’t wear pants
got to collaborate with your teams and clients through
SCRUM comes from Rugby
Agile is not the same
interrelated though
cultural hurdles and stereotypes:
idea specific to developers
causes to feel alone
fear of change
Managers can also have a bad rap, get in the way of work
Scrum addresses this with cross functional teams to organize
normal part of value driven process
lot of meetings in scrum, but all have goals for focus
need to understand what we are building a why.
are our customers getting value?
rather than build a whole thing, build small increments
deliver quickly and get feedback
meetings sets goals for sprint without defining how
what we can reasonably deliver
daily scrum is daily and only last for 10-15 minutes
Scrum team
Product Owner
Scrum Master
Dev Team
no managers on team
no one tells the dev team how to do it, they create their own path to the goal
with that freedom brings responsibility
autonomous, need to trust certain things are true
power to get it done
commit to the whole goal
you work hard
that shows in the work

My talk

Nobody wants a website. They want results!

If anyone thinks they have ever had a talk that was better received, I would not believe them. Not for a moment. The feeling that you are connecting to most everyone in a room and to see so many nodding heads and so many people taking notes was amazing. This is something the bright lights of Paris didn’t illuminate. This talk is the one where I realized the true power of the stage was to inspire conversation after the session is done. I hope everyone has the opportunity to feel that. There is no other feeling quite like it and it is electric.

State of the Word

I am not going to publish my raw notes for this one. There are a lot fo write ups about this talk. If you are itching to read one, I am suggesting PostStatus Stat of the Word report as the official one. Here is how I experienced it from my seat via my favorite tweets.

Wrapping up

There was so many good things that happened to me, it is impossible to get them all in here. So, I will be making a year end sum up that will include some of the things I have been telling everyone about, like my inceptions project, the overall win of WCKaraoke, the WPVegan thing and so many other amazing stories that deserve their own spotlight.

As for this trip, I am not sure how it could have possibly gone better. Seriously. I had such an amazing time and there was just so much love in the air. Nashville might be known for music and more and more conventions in the near past, but I will always remember it for the family of Drupal and WordPress that I got to meet and rejoice there. I do know exactly know what the next year will look like and I can never be sure where life will take me, but I feel a lot of optimism that whatever happens, the community will always be near and dear. I am also certain that I am already looking forward to WordCamp US 2019 in St. Louis

New England Drupal Camp 2018: The first snow of the fall and Italian food was bountiful

In all my travels, I have never been to the Beehive of Industry (whose motto is “What Cheer?” by the way) or even Little Rhody. Landing at T. F. Green Airport turned out to be a smarter move than flying into Boston Logan International Airport, as a winter storm was dropping a serious number of inches on New England all at once. As we circled the airport one final time before we were told we would need to divert to BOS due to the runway being too snowy in our intended destination. I had a bit of a panic, along with the rest of the plane, thinking of needing to drive all the way to Rhode Island in the wintry conditions. We did land in Providence finally and I got my first official welcome to the city right along with their first snow as we both arrived for New England Drupal Camp, better known as NEDCamp 2018.

Food and Fun

I got to Providence around midnight on Thursday and had Friday to check out a very cold city and co-work with the awesome JD. We had a pretty OK lunch at one of the vegan chains that has not found its way to my neck of the woods, by Cloe. Along the way we made a quick stop by HP Lovecraft square and saw the last place the weird old man made up his stories about indescribable cosmic horror. Walking around in the harsh early onset winter snow I could sort of see how the area inspired the tales.

Community Dinner

There was a day of trainings at NEDCamp but I did not attend those. The first time I saw the fine folks of the camp was at Cassarino’s Federal Hill, a three story Italian joint with a special Prix Fixe menu. They accommodated dietary restrictions but it was the kind of place that was baffled by the requests. They also seemed to be confused to how to serve Moscato, the dessert wine, as they brought me a giant goblet with at least a third of a bottle in it. Not complaining mind you, but the cloying sweetness was more than I could finish, even with a few other people sampling it.


People were anxious to go sing together in this last Drupal event of the year and JD did all the footwork to find us space at The Boombox Karaoke Lounge. We arrived to find a full front room but quickly learned there was a private room that had just opened up due to a cancellation. Boombox had a small but very imaginative tiki menu based on soju and sake and we all got the one that came in a ceramic cat statue with a hole in its head.


In a discussion the previous day someone postulated the theory that the reason all the coffee we encountered tasted a bit burnt was because New Englanders admire Dunkin’ Donuts as the defacto standard for how coffee should be served. The coffee at the event wasn’t bad, but I still went with tea for the majority of the day. There was also fruit and a selection of bagels, muffins and the like. Lunchtime was soon enough upon us and we adjourned to the Student Union building to have a nice Italian spread of pasta, bread sticks and salads. It was great to be able to eat altogether in one room.

After Party

There is something nice about a networking party right after the event ends. Everyone can come and have an appetizer or three and talk about how the event went for them. For this party we also had drink tickets and a beer/wine only bar. It was fantastic to meet even more folks than I had a chance to meet earlier in the day and learn who was inspired by what ideas. I loved each and every conversationI had there. Thanks to the organizers for a great event!

Some of us sought out some pant based options and found a very funk art spot that had a fun bar and a greasy “vegan forward” menu that also met the needs of the omnivores in our midst. If you ever get to Providence, do make sure you too also find AS220. To round out the Italian theme one party member got the vegan Pasta Bolognese, while I went halfsies on a seitan reuben and a grilled ‘cheese’ and mushroom sandwich. The best thing was the blackened sweet potato wedges, which were better then anything I was expecting. After this, some of us found late night libations at a speakeasy I never did learn the name of where I found out that a ‘blackberry gimlet’ is possibly my favorite mixed drink ever.


Opening Remarks

DevOps: Why, How, and What
Kelly Albrecht
Rob Bayliss

The general theme of the camp this year was DevOps. Kelly had given one of my favorite talks about the subject back at TexasCamp that helped shift my perspective on what DevOps is really all about, so I was glad that the first talk of the camp was going to be a furthering of that same conversation. Using real data he and Rob had collected they addressed the exact areas where people identified they had gaps in their process, making this a very practical and specific talk for this audience. Their penny flipping exercise might be the most practical example of continuous delivery vs batching ever devised as well. Make sure you check this one out!

Raw Notes:
Can we ship to customers at any time
how do I get closer to the customer to ship easier
how do we improve this trust and process?
Lot of teams trying to figure it out
firm phases are an issue
if doing dev work and done state is move to next team for functional testing
then to performance and onto operations
this is where devops comes from, trying to get these systems working better together
months long process sometimes though
as an individual, easy to think “I can get fast at doing all of it” independently
Batching strategy
20 pennies
customer wants pennies flipped 4 times
each team flips it 4 times
if you run it, all pennies delivered at same time
takes about 2 minutes
if 10 penny batches
faster overall process
1 penny at a time
the customer gets first penny in 5 seconds
then just keep getting pennies
all 20 pennies in 30 seconds
how can we apply this to our teams?
everyone on the team to deliver that one penny
Performance oriented Generative Culture
Ron Westrum
high cooperation
Messengers trained
risk are shared
Bridging encouraged
Failure leads to inquiry
Novelty implemented
DevOps Research and Assessment group (DORA)
high performing orgs
multiple deploys a day
lead time for changed is less than an hour
mean time to recover less than an hour
change failure rate = 0 – 15%
“IT performance is predictive of the performance of the organization as a whole”
Getting it out faster in a more stable way
digging into research
Cost of Quality
72900% ROI if your CoQ is .001
.07 hours
but nobody knows how that number is derived
no true scientific consensus
the people who are deploying having no knowledge of how it was built
and the devs are not clear on production deploy side
old school, IT manages the servers, then WebDev gives code to ops team and IT slots into hardware
we need to move away from these silos
How do we start and what will we see?
They did a survey, in short amount of time
not really state of NEDCamp DevOps, but some data
76% overall efficiency
and shows improvements
we will look at the areas people need the most help in
it would be great to have this test, but client won’t pay
need a shift to the left to include these concerns from the beginning
value in writing tests is getting testable code that does not need as mich rework
back to https://measure.team/results/2
lowest score –
63% – Branches live for less than a day before being merged
units of work need to be sized in a way they are individually reviewable in a short time
don’t want to review a million lines of new code at once
branches getting stuck in review state
prioritize work in review above everything else
break the work down and make more manageable
like with Feature Flags to turn a thing on and off
64% System heath is monitored proactively
you want to know in advance when errors will exist
metrics and trends over time
alerts for those systems
hosted on Pantheon – production issues
set up NewRelic, get that working,
see trend lines – but that is not proactive
set up alerts for thresholds when things are moving the wrong way
that is proactive
but watch out for alert fatigue
Historically the operations team is the team blamed for downtime
change brings risk
big changes are big risks
You don’t have to start at 100 miles an hour
set up small things first
pingdom if you don’t have it
little improvements over time
script checks for all your projects
67% The majority of prim biz value has test coverage and these tests are to be run whenever code is committed
mission critical stuff needs to be tested, focus there
should be fast if can make it fast
how to get started with this?
get a test system in place
Behat is the most beginner friendly one to start with
regression testing
that is entry point into testing
from there iterate into testing as part of feature development
67% Work-in-progress limits are used to monitor and improve flow and throughput
how to start?
Visual work on a Kanban board
surfaces bottlenecks
to do, in progress and done is a good simple system to start
can see what other states exists after that

Configuration Management: A True Life Story
John Picozzi
Nathan Dentzau

Configuration Management is one of those terms I encounter all the time and can talk about to a point. Every time I go to a session about this subject though I realize how far from managing customer sites at any real scale I really am. Hearing about real world scenarios taken from the day to day iterations on a mission critical property helps me better grasp not just the ‘what’ and ‘how’ but also the very real ‘why’ of this subject. If you are collaborating on a project that needs to move code forward without disturbing the content in the production database, this is a talk you need to see.

Raw Notes:
Collection of admin settings that determine the function without affecting content
Config vs content
content types vs nodes
Taxonomy vocab vs tax terms
Really only works if you do what Pantheon says
All config should go from live to dev
Code should flow dev to live
Other types of config
Display modes
image styles
language settings system settings
user roles module settings
a LOT of config with new code in Drupal
Where is config stored?
2 types
Active vs staged config
active is live in the site in your relational DB
changes when you change setting or UI immediately applied
benefits of performance and security
Stored in YML
Changed applied by export or import
Benefits are portability are security
Config manager
Core CMI screenshot
What is new, what is removed
import and export
Drush to do this too
no single method for doing everything
config directory required or optional
required is auto installed
skips over previously loaded config if optional when installed
shows a changes as diff
Active vs Staged
Workflow for Config management in core
pretty linear
Common config | -> Local -> Dev -> Stage-> Prod
works great for simple and small sites
may want some differences between environments
Configuration Split
takes common config and splits it out per env or splits for certain features like caching or CDN
all can be handled through UI or through Drush
Config Split Module
need to clear cache before config import
blacklist and graylist is a learning curve
blacklist is complete split – like Devel split out entirely
graylist – conditional split – individual items in the ui to select
Common config applies to all env but can individually pick the split for the right Env
dev split or performance split or a local split
folder structure
basically just yml files in folder structure
core calls it ‘sync directory’ vs COnfig Split calls it ‘common directory’
Backup and Migrate example
Configuration Readonly
contrib module
prevents someone from editing active config through the UI
Module can be enabled per env with config split
Warning: Have a solid CI pipeline and testing procedures in place before enabling in prod
no cowboy coding is going to be allowed here in an emergency
unless you are Drush master
way to make config split change with this tool though
Config installer
contrib profile
went into core this year
works with Drush 9.4 and later and not documented
install a new instance of Drupal from an existing set of config
not compatible with Config Split, manually importing config after install works
Config and CI
What is CI?
Process of automating the build and testing of code in a shared code repo
devs can focus on code and confidently merge in changes to a project while working on a team of others doing the same
GitHub and Travis in this example
CI: Code
Devs can use the Config Manager module to export Drupal config to version control and easily share config changes with other team members
devs can use the Config Split module to test config changes
Code syntax validators can be executed with git hooks or manual invocation locally
make sure team members are fighting the machines and not each other
CI Repo
Devs push and pull code from a central code repo like Github
Pull requests are created by the developer making the change and reviewed by the other team members
Automated build and test are triggered
CI: Test and Build phase
CI like Travis can run code syntax validators, automated tests, and deployments in a CI pipeline
Config Installer profile can be used to install a new instance of Drupal testing the validity of config changed and to run automated functional tests
if a failure, halted
Last step in CI is the Website
import config changed DB updates and entity updates handled automatically during the deploy process
developers can enable the Config Readonly module in prod – prevents surprises
improved site reliability and uptime
we get scared making changes in production because most of the time we inherit sites and are not sure how changes will affect it.
Hard to say what is right or wrong globally on some of this stuff
unless everyone is following your ‘best practices’ that might not be well documented
for example
Entity Update for example – not super well documented in Core
run it even if you don’t write new entities, some module do

2018 Keynote
Jeff Geerling

There are certain speakers who stand out in the pack and Jeff is always a delight to hear. I was surprised to find this was the first time he popped up in my notes, which I stared in late 2016, so it had been a while since I sat in on one of his talks. His sense of humor and style engrossed us all while his wisdom filled our ears and settled into our hearts. There are too many quotable quotes for me to name any one as a standout, but the heart of his message was his definition of DevOps, which I really love: “Making people happier while making apps better.” I really hope this talk gets presented again at another event, like DrupalCon

Raw Notes:
Works at Acquia
Maintains DrupalVM..which is most used for now
hosted apacheslr
server check.in
writes books for Ansible
typical weeknight, 5:00 or 6:00 pm heading upstairs, meals and family time
weekends rare has extra work to do
every other night before bed some open source work of book
joke answer slide
Real World DevOps
MS says you can buy DevOps with Azure.
Docker transforms devops they say
and you have to be in cloud they also say
GitLab example says there is a people component and doing thing quickly
Atlassians – devops about teams and people making things better
Gartner – and everywhere
rapid IT service delivery, agile, lean practices and system oriented approaches
Gartner sells tools, so not going to include people
Jeff – Making people happier while making apps better
it is primarily about people
if everyone burns out then you can’t have a project
reduced friction
Friction creates heat, heat causes burnout
stable teams
no heroes that have to save the day
Apps better
always deployable
automatic testing
1 automatic test is infinitely better than 0 automated tests
Those teams fix problems when they happen
don’t put it off for months
improvement time is built into the process
project planning though is super important to make sure stay up to date
lot quicker feature delivery this way
DevOps Prerequisites:
Easy to make changes
easy and fast local dev
with automated testing there is layers
Have you ever tested your backups
easy rollback is goal
Make it easy to fix and prevent problems
Devs can deploy to prod
details monitoring and logging
Blameless postmortems
Matt from Lullabot talked about this team aspect
its a poor craftsman that blames his tools – an old saying
avoid having a golden hammer
it can sometimes work depending on what success means
need the skills on how to pick the right tools and how to use other tools
need to adopt some terms
you aint gonna need it
– Andon Board
machine that changed the world
Toyota: every worker can see any problem in entire production line
policy of swarming a problem to fix that issue now
that solves a lot of longer term problems
– Time to Drupal
10 minutes for existing dev
1 hour for new dev
if you lose your machine and it takes longer than 10 minutes to replicate, that is an issue
– “Dev to Prod”
more than a day bad
more than an hour good
small batches of work
DevOps might be helped with tools, but the tools are not the important part
better communication and better relationships

Embedding a React app in a Drupal 8 site
Chris Wells

I am the kind of person who loves any reference to ‘turtles all the way down’, a reference to the Hindu mythological belief that the world is built on the back of a turtle and underneath that is another turtle and beneath that one is just more and more turtles forever. Ever since reading Gödel, Escher, Bach: an Eternal Golden Braid the idea has fascinated me. Equally as intriguing to me is the voodoo of ReactJS. I am traditionally not a front end person and manipulation of the DOM tickles a part of my brain in much the same way futzing with a Rubik’s Cube does. I am not good at solving those either. But unlike the puzzle cube I keep trying to learn React little by little and this talk was a great intro that solidified some of the concepts I have been thinking about.

Raw Notes:
a thing we did, not the be all / end all
What is react
JS library for UI
complex UI from components
Components all the way down
all components inside of components
mimics atomic design
DOM tree that react uses is a VirtualDOM
responsible for touching the actual DOM
game component, board component, squares components
all the way down
Props – data that your component takes into it
takes props in and does what needs to do
State – idea that data that lives inside of your component
locally scoped (though not entirely true, can pass down)
when props or state changes component re-renders
you should not be messing with the DOM directly
just say tis component color s whatever and it re-renders
start with a constructor
lifecycle methods
sounds like Drupal Hooks but React Hooks are totally different
why do we care?
Dri.es Drupal looking for adopt react
The framework that Facebook developed to build and run FB
people working on brining React to core right now
Decoupling – how you manage that content is separate from presentation concern
levels of this
tightly, progressively, fully decoupled
Drupal 8 REST API drives this
What did they do?
customer makes home automation, lighting fixture partnership
lighting designer for a house or other building
several rooms
job has rooms
calls over rest API to make a new job
Add to cart very easily
small agreement with their API but this tool will expand ell past lighting fixtures
Everything you see is React, Drupal is totally behind the scenes and used with REST API
Any entity are ECK entities
All of these entity types are enabled in REST API
Used the REST UI module
Added REST Export views displays for Lists
used hal+json as format
routing is changing but it is not visibly changing
inside the app, using React Router
can reload and get back t where you left off
in Drupal registers the single path /savant-tools
Needed to also accept savant-tools/*
React_libraries module (created their own)
import react and react-DOM from CDN
has prod and dev libs
each app we create depends on the libs
‘ejected’ from create-react-pp and removed those from build
Additions to React
note about Redux
it is open source JS lib for managing application state
you can use Redux with React or any other view library
Other thing, borrowed from Dan Murphy, Axios query Solr from the front end
lightning fast
Lessons learned
One thing at a time, take your time
ES6, babel, Webpack
learn webpack before really diving into React
Architect your state in advance
understand mapStateToProps() and connect()
scaffolding tool for new project bootstrapping
hides implementation details from yo
they ended up ejecting
next time just start from scratch
how to learn?
Web Bos’s courses
Scott T’s courses
React for Drupal

My Sessions

Let’s learn Git. No more excuses!

I was more than flattered to be asked to do this talk. I was not originally going to do this one, but there was a last minute speaker cancellation and I am known to have a library of talks I can do at a drop of a hat. I always get nervous giving this in front of a Drupal Camp crowd, as so many talks here are deeply technical. I get general good feedback though and I think it an important topic to get us all on the same page with, so I am happy to give it.

Nobody wants a website. They want results!

I got to premiere this talk at Pacific Northwest Drupal, so it is very fitting that the very last time I give the full version of it in 2018 it was at a Drupal event. It might be the last time I submit it to any camp as well, as I shift to more technical conversations that I think need to be had around subjects like testing, Bash and Git and Markdown. The crowd was smaller but eager to engage in a dialog about their thoughts on business and process management best practices. I have learned oh so much from giving this talk and I hope that it will inspire others to have such discussions in the future.

Wrapping Up

The first snowfall I saw in 2018 was in Albuquerque and unless Nashville offers some unseasonal precipitation I think Providence is where I will see my last flakes of this calendar year. So too does Providence offered me a final chance in the year to hang out with my Drupal community. I found myself in talks about the future of the project that made me feel included in a way I hope everyone gets to feel about their work.

With Rhode Island checked off my list of states to visit, it reduces the count of US states I have not been to in my life to a paltry sum of five. I hope next year I can fill that gap even more. So get with it Montana, Idaho, North Dakota and Vermont. And for you Maine, maybe your WordCamp Portland next year. You all have a lot to live up to if you are going to compete with the quality of my first trip to Rhode Island. Makes me glad that they are going to be in the same location for, hopefully a warmer and less snow covered, NEDCamp 2019.

WordCamp Seattle 2018: Not as much rain as I expected and learning about Brandi Carlile

Flying into Sea-Tac was met with a little wind and light rain, but at least the place wasn’t on fire, like my home state was when I left. I flew in a day early to have a little time to explore the city and catch up with an old friend before the WordPress events unfolded. It was great to be back in the Emerald City once again and visit Pike’s Place market, especially since the holiday craft fair was in full swing with specialized hot sauces, hand dyed yarns and local sourced honey around every corner. Getting a little shopping in was fun, but not as much fun as reuniting with so many friends and meeting more at WordCamp Seattle 2018

Food and Fun

Speaker Dinner

It was a chilly walk to the traditional gathering of speakers, sponsors, volunteers and organizers on ‘WordCamp Eve’. We gathered at the old time swanky Washington Athletic Club which has a private bar and a side room, which we were in. I was immediately greeted by so many a familiar face, it felt like a sort of homecoming. Round after round of appetizer met us as well as ‘pour your own’ wine and beer. Actually, for a good chunk of the night we didn’t have to pour our own, as my new friend, the very selfless and kind Archis did the serving for those who desired the fruit of the vine.

After that party, some of us stepped a few blocks away to a hidden upscale gem, Zig Zag Cafe. We had some very nice fancy drinks thanks to our local sherpa Chris who would prove to be the best local guide anyone could every ask for over the next couple of days.


If there is one beverage that Seattle is known for, it’s the jitter juice, the rocket fuel, the cuppa. The less words I say about the conference coffee is as nice as I can be to something that let me down this hard. The tea offerings were solid though. We also had a wide selection of fruits and breads as well as toasters to toast them.

WordCamp Seattle has one of my favorite lunch traditions. Instead of relying on the in house catering of the Washington State Convention Center, or deal with an outside catering company, they give you gift cards. There are a few dozen restaurants in a few block radius of the venue and we could pick from a list of places for which to get a $10 gift card. I always will pick Veggie Grill as it is my favorite US based vegan food chain. If they would expand to the US, The Green Panther would be my favorite, but that is not an option yet. No matter where people ate, we all filtered back into the convention center hall and finished up our fare together.

After Party

We returned to the side room of the Washington Athletic Club. There was a pool table uncovered this night, but food was ‘buy your own’ and drinks were kind of hard to come by.


After witnessing a good number of people arrive at the after party spot, deem it too packed, and retire from the place, I gathered up a few people and lead a charge for a plant based meal. The handy app Happy Cow told me of The Carlile Room which is “inspired by singer/songwriter Brandi Carlile, with … classic seventies-era lounge cocktails.” My curiosity was more than peaked and we dined on their local “plant house” features and impossible burgers in the ambiance of something that seemed ultra modern and classic kitsch all at once. High praise for the staff accommodating our unannounced and unreserved arrival. I also ended up buying a Brandi Carlile album as a result.

We got into some local (as in they make it on prem) made whisky’s, beers and fancy, smancy drinks after that, once again with the most excellent docent Chris leading the way. No tweets exist I can find of these events, so here is this one instead of a drink I wished I would have had.


Coffee did not improve. Tea was good again. Carbs abounded.
For lunch, I once again returned to feast on plant based foods at Veggie Grill, but some of us ate at fancier places.

My flight back was supposed to be much later than the one I took. I rarely do this, but thank you to the United Airlines bag check agent at Sea-Tac for getting me on a flight that had actually started boarding when i checked in. I was sure this would mean a baggage snafu, but there they where, first off the conveyor on the other side. Sometimes things work out.



Bridget Willard – Community: Observe, Include, Accept
Bridget Willard

I think Bridgets awesome. As the lead Team Rep for the MakeWordPress Marketing team I get to work with her quite a bit. I am so proud to know her and her passion for the community and motivating people of all walks of life is always inspiring to me. Very happy to call her a friend and was glad to be here for this talk. Reminding us that we are not alone and that connecting with other people is oh so important. It was the right motivational talk for a community that is pretty uneasy about the future at the moment.

Raw Notes:
Community is important
Community is a Verb
We make up Reasons and reasons not to go to events
is this really another Community talk?
Community is like Oxygen on an airplane
you don’t miss it until it is gone
She went hiking high elevation, was not used to it,
friend was
Community is social science
not a time wasting fluff
Unfortunately, we are all human beings
we are hard wired to connect with other humans
when we are deprived of it it affects our lives
everything that matters to people is a verb
* Observe
* Include
* Accept
We say we believe in inclusion until we don’t
iphone vs android example
meetup attendance is low or just talking to same people, it is on us to be the ones who do the outreach
Be the cultivator of the garden
you don’t just plant and walk away
Observing who is there and how they are
our body language tells all
Maybe you came here alone
meet the people around you
easy and feels good
conversation with person in audience
sometimes it is just good to hear it
psychological safety
that is what friends are and need it to exist
we don’t celebrate what makes us different, but what makes us the same
focus on the Venn diagram
it is up to us to reach out to bring them in
build bridges , don’t destroy them
we make emotional decisions and then go to Google to justify them
we should be making rational decisions
she is always having to defend Marketing as science
reading data and reacting in real time
it is real science
hard to be different
walked into WC LAX 2015
Alex V asked her to volunteer as social media person
she would have never volunteered on her own
would you like to ___
read bios and ask them if they
Cortisol is the stress hormone
it is what drives fight or flight instinct
if you are
Grooming and calm is Oxytocin
this is the chemical that makes us feel calm and accepted
lowers Cortisol
Embrace yourself as yourself
don’t just assimilate
don’t lose who you are
diversity of thought is key to growing the community
the way we have the conversation makes the difference
Why do we have a Lego piece?
We are built to be connected
is it the wrong piece? is it the wrong time?
invest in people and they will invest in you
you don’t know when you will need that piece
the best time to plant a tree is 20 years ago
2nd best time is now
it is not just random Lego
is one of you doesn’t participate we can’t build the plane
the actual Lego plan
we need a revival of this community
we already have early adopters and innovators
if we want to get to the next level, 51%+
we need to see the arguments don’t matter
we need to get together
you have friends

Speaking of Lego. Bridget brought a box of Lego, distributed the pieces randomly to the seats in the keynote and then asked to community to come together to make the thing on the box. We did pretty good and I think there are many lessons we should take away from the experience. Likely worth a whole post once I process it more.

What I Learned From Interviewing 200+ People in WordPress
Kyle Maurer

I wasn’t sure what exactly to expect from this talk and that is actually one of the main drivers of my attending. I will admit I am not a regular listener to his show, though I have caught a few episodes over the time I have been in the community. It was awesome to hear the story of the show as a project overall. The raw numbers he presented painted a picture of a community maturing along with the CMS, learning to trade stability for the ‘latest cool new thing’ and what that might mean. I for sure walked away with a new appreciation for how US centric my thinking has been around the term ‘community’. Not sure what to do with this perception change yet, but I am glad it has happened.

Raw Notes:
A few years ago, wanted to dig in a little more
on Google+ someone said they were starting a WP show
co-hosted WP RoundTable
he was only constant host
Never repeated a guest
talked one on one about community
learning things about them
Learned a lot about
Succeeding in WP
The People of WP
and himself
we all want to feel like Cheers
instead we all feel like the first day of school
we feel like we are minor part
learning to fit in
you can fit in, just need to find a place
scheduling with guests forced him to honor the commitment
schedule with a pen, not a pencil
Published > Perfect
but quality compromises limit growth
could have done it better, but learned to be at peace with the fact it was done
comparing the diffs between what they expected to get out of it vs what they did
they wanted:
traffic, views, an audience, notoriety
sponsors, recognition
what he got:
interviewing skills
valuable lessons
great stories
What he learned about the people of WP
reflects his networks and himself
he is a profile
The WP “Industry” is still very young
WP space has not been around a long time
self employed 58.2%
Employed 41.7%
many small players
bigger players begin to grow
market itself consolidates
still a gender gap, in all of tech
Stats for turnover rates
1 year 30%
2 years 24%
3 years 33%
4 years 34%
younger people change jobs more frequently
lot of business acquisitions as well
Age gaps, big time
Guest age range
teens 1.8%
20s 5.4%
30s 64%
40s 24.0
50s 4.2%
60s 0.6%
now this reflects his experience
and kind of self selecting
We are established but still new, so Enterprise business stats don’t apply
but it is not the new thing
many of the 30s folks started with the ‘hot new thing’ when they were in 20s
right place at right time
The non-US community is very underrepresented
guest locations is almost all US based
only a few other countries represented on the show
General observations
Everyone says “I got into this accident”
College experience was common – rarely related to WP though
a previously unrelated career was common
Many are taking a break from travel
when WP was taking off and WordCamps were new, lof o early adopters went to as many events as they could
burn out is real
reflects the age group, homes and kids and other pressing responsibilities
Almost everyone was self taught
WordCamps were a huge turning point for many people
special moment that changed their lives
how welcoming and supportive
What he learned about succeeding in WP
Super common advice
– Specialize – be super good at something
– charge more
undercharging really plagues the space
– just ship it! – more important to release than getting it perfect
– know when to give up
move on when it is time
– Good communication solves most problems
– Engage the community – the community will help if you let them
Common factors in major “success” stories
– Start early, some of it is just right time and right place
– Failed over and over – the most successful peple fail more
– Had funding or at least a financial cushion
– Worked their tails off
Bonus: reiterating his favorite points
Trick yourself into being consistent
WP is maturing and really changing, so must our strategies
We need to work harder on Diversity
This community will change your life if you let it
If you are not successful enough yet, keep failing, you have not failed enough to succeed

User Experience and Branding for WordPress sites
Jennifer McKnight

This was Jennifer’s first WordCamp talk and the excitement bubbled over from her as she shared something she is very passionate about: branding. It is so easy to lose focus sometimes when working on tech, leading us to think that everyone cares about tech the same way we do. Hearing her story of the cowboy at the farmer’s market who was just trying to do ‘beef stuff’ gave me a mental image I will be carrying around the rest of my days. I hope Jennifer continues to submit talks and can inspire others in the future.

Raw Notes:
Story of her dress
it is crochet
Passion for content
websites before
in 2000 websites were about utility
it was a service to make things easier to find
in around 2009 social media really transformed the expectations of what the internet did
in 2010 she took on her first website client
Idaho Beef
had no web presence, he didn’t have time
he was busy with beef stuff
Even small businesses need to be brand and UX
A brand is more than a “thing”
we do use brands as items a lot though
A brand is tied to perception
it is how you feel about the product or service
A brand can be defined, but it is difficult
You can impact your brand with web design
Video elements with real people in them
characters that personify human qualities
Aesthetics that elicit emotions
In store experience
Visual identify
Websites are one of the most effective ways to promote
UX if everything
rooted in existentialism
Tied to emotions and attitudes
Separate from usability
UX is what the user does on the wide
usability is how easy it is to use
The code of UX is ensuring that users find value in what you are providing them
Ask about
Tools that help create branded WP sites
better site maps and content planning
for better SEO
make sure people are seeing the right meta
Admin Custom Login
Google Analytics
Slider Revolution

With Great Power Comes Great Responsibility
Chris Teitzel

Occasionally you go to a session and walk out saying “How have I NOT heard about X yet?” with X of course being the thing they talked about. I rarely get to hear Chris speak but I knew it would be good. As he explained the real world implications of big data I was at the same time excited and terrified. And right as I was starting to think, “well, what can we even do” he brings up the Open Web Privacy Working Group
and the Community Core Privacy team
. We are all in this together. For now, I am disallowing all geotracking too unless I absolutely need it.

Raw Notes:
What happens when the democracy has bad actors
the rules get changed to let them shut it down
who watches the watchers?
banning Alex Jones is good but who watches that and says it is OK
with big data there is a responsibility with all that
tracking yourself
released heat maps of running and hiking and biking
accidentally published the locations of secret military bases
What are the unintended consequences of what I built?
Collectively big data is starting to know more about us than we know about us
the “Target” pregnant daughter story
customer ID for baby items online or in store tied to credit card
Looked at history to build a ‘pregnancy store’
lax sense of communications
following law but still creepy
Facebook can detect depression slides
built some suicide helpline stuff in
Memories feature, cool for a lot of things
“sick and tired of getting reminded of my son’s suicide”
how can we prevent some of these abuses
people using ancestry sites to track down more cold case suspects
selling data to cancer drug makers
really cool stuff
but scary since can’t control where your data goes or how it is used
80/20 Paradox
If we build for the 80%
What about the 20% and the 1%
Tech has the power to change millions of lives. for the better or the worse
homeless app to help discover services
computers are only as smart as the person programming them – his dad
We have the power to change millions of lives
What are you doing to protect ALL your users
Privacy as a community responsibility
Sometimes we need a nudge
US and EU views
Free speech as a right vs privacy as a right
Data belongs to the owner vs data belongs to the subject
opt out vs opt in
people fear government and trust businesses vs People trust gov and fear business
Litigation is the first resort vs litigation if all else fails
WP and Drupal
WP privacy in core Drupal it is contrib
how do we adopt common best practices across the web and
John Eckman’s Taking back what and from whom?
Contract for the Web core principals (recently published)
as a company, as a gov as a citizen
good framework
WP is leading privacy in CMS
Open Web Privacy Working Group
seems altruistic
but the opposite is we stay reactive and are not part of the conversation when policy if formed
7am office hours
get involved

My talk

Shipping Content With WP-CLI and Automated Testing And Why That Is Awesome

I am done with this talk now. I learned so, so much giving it. I built a tool I used to post this very post. It taught me that the things I really, actually want to talk about are Bash and Markdown, the latter of which I have already written and delivered a talk about. Yes, I learned a lot and I hope others have been inspired too, but it is a talk whose course has been run and I am thankful I got to retire it to a friendly crowd in Seattle.

Storytelling with Gutenberg: How to Use the New Editor to Boost Your Blog
Andrea Zoellner

This is the very first Gutenberg introduction I would categorize as inspirational. I went in just to get a chance to hear Andrea give a talk. She is one of the nicest people I have ever met so I assumed that her session would reflect that and it would be pleasant even though it was ‘yet another Gutenberg talk.” She started out with the zenith of the digital multimedia experiences, Snowfall, as the aspirational thing you can actually, really, no-foolin’ build with the tool right now and how to go about it yourself. This is the exact talk that every agency needs to be giving themselves to their clients. I have said it before, if we treat 5.0 as a client breaking event, we are going to FUD ourselves out of some great opportunities. If we instead explain how we can achieve these amazing digital experiences, we are going to own the future.

Raw Notes:
Official editor in the new release
it is coming to core
if you have a lot of workflows, need to adjust
take some time to do it classic editor
“to snowfall” 2012 term
NYT micro site of the who, why and how of the story
interactive site and cool storytelling elements online
with Gutes anyone can snowfall without a newsroom full of professional designers and devs
Applying tools to your content
Gutes walk through
Category block list
–see slides–
Add style to your text, can do it in the editor
columns are blocks not in the themes
verse callouts
gallery blocks
interacting with links
Integrate other post types
makes it easy to move content into a page and customize it for your readers
more intuitive
shortcodes, archives, files, custom HTML
editor side portfolio entry
Spice up with multimedia
interactive maps, gifs, videos
Built in call to action
CTA idea in different ways, ‘read more’ is a CTA it is how you specifically want people to engage with your content
Button block
pull quote to call out
images can be built in Gutenberg
upload image and add colors and things over it
simplify your workflow

Clone Yourself Through Automation
Jocelyn Mozak

Jocelyn is a wonderful bundle of energy so I was really looking forward to her talk. Being buried in DevOps automation over the last bit of my life I went in expecting something like that. Instead I got a taste of my old life when I was selling BPMN software where you are building enterprise versions of If Then Then That. Making the robots do the work is not just for automated testing or composing sites, it is for anything that do more than twice and will continue to do in the future. This is a must watch talk for any small agency or freelancer wanting to up their game.

Raw Notes:
came in late
Form automation
make sure you are doing it correctly and automatically every time
Project automation
launch and 1 month later “Testimonial”
30 days later
updating and maintenance plans
3 months out referrals
6 moths and 1 year anniversary
celebrate 9 months
but where do I start?
Canned emails
templates in Gmail, just save it
post launch
Active Campaign example
Zapier (Action happens, triggers another thing)
+ gravity forms
clear system of folders
client 1 project 1
client 2 …
active, name of client, project
move to Dropbox
Zapier connects more than 1000 apps
More Efficiency tips
de-clutter your inbox
auto scan and sort is good, but
make sure new shiny objects are dealt with systematically not as distractions
Key Qualification questions baked into auto email templates
what is your budget and investment?
Set example sizes of budgets to set expectations
gets rid of tire kickers and keeps your time freer
Get your tool set dialed in
themes and plugins ready to go
don’t need to play in experimental new stuff all the time, find what works
only use hosts you know and love
she uses WPEngine
Continue to automate, if you do it twice, start thinking if you will do 3rd time
if do a third time, automate it and never do it manually again
It is a bit like teaching your kids to tie their own shoes
there is an up front cost, but you will celebrate every time someone ties their own shoes
Tool list
you need to know your numbers and your business
some expenses are good

Wrapping Up

I flew into Seattle with a hope of not getting rained on too much and other than one rainy morning the city complied. Every place I went and everyone I met there was warm and encouraging. Seattle really is an awesome place to me and has consistently treated me well. I learned a good deal and was inspired on multiple fronts. From the marketplace to the parks and from the hip Capitol Hill to the mean streets of downtown it is a city that is very much alive in the NorthWest. I hope to get back that way sooner than later. If for nothing else, I hope to get to return for WordCamp Seattle 2019!

WordCamp Portland 2018: Donuts, more donuts and an unexpectedly sunny day

I really do enjoy my visits to Bridge City. The last time I was there for a WordCamp was back in 2015, before I started this writing project, but my adventures have taken me there number of times of the years. Everyone told me how wet and rainy I should expect it to be, but the rain seemed to stop right before I got there and Friday, during the day it was really nice out. It was the exact right intro to what turned out to be an awesome WordCamp Portland 2018

Food and Fun

Seeing some sights

I flew in a day early so I could soak up some Portland culture, like their traditions of unique bars, food trucks and of course, legendary donuts. I decided to also check out the natural settings that are abundant in Portland. There is a really nice city transit based self guided tour you can take called The 4T Trail that I highly recommend if you want to see some amazing sites and hike an 1,100 foot elevation change.

Though, not all sites of Portland impressed me as much.

Speaker Dinner

My camp activities officially kicked off with the traditional Speaker/Sponsor/Organizer/Volunteer dinner at Old Town Brewing. Beer was made abundant and vegan and gluten free options were covered. More importantly, the conversations were lively. Od friends caught up and some awesome connections were made. A few of us made our way to Ground Kontro for some late night video game fun before bed.


I showed up to the beautiful, though very remote feeling Templeton Student Center at Lewis & Clark College on an overcast morning to find Blue Star Donuts awaiting us along with some decent local brewed coffee. The day got off to a great start as we got wired up with all that sugar and caffeine.


We had pre-made sandwiches for our mid-day meal. I was very pleasantly surprised to find a new favorite recipe out of the meal, as they introduced me to the concept of Chickpea-of-the-sea, a vegan tuna salad alternative. While not an exact clone, the recipe I linked to is close enough. Game changer for me and the garbanzo.

We had candy for snacks. Not everyone was excited as Robert here, but we all enjoyed it.

After Party

Immediately after our long, but terrific day we journeyed up the road a piece to Buffalo Gap Saloon & Eatery where we took over the whole upstairs area. A buffet of interesting pub food options, including some hummus, greeted us along with a drink ticket or two. There was a folk band a’playing by the time we left. Pretty good sound to them, check out John Nilsen and the SWIMFISH if you like that sort of music.

Not all of us where ready to end the night and a handful made our way down the road to the McMenamins Breweries Fulton Pub for some late night cider and a little tiny bit of tequila before we called an official end to the unofficial end to WordCamp Portland 2018.


PHP for WordPress
Alena Holligan

You can’t learn the basics too deeply. That is why I went. What I walked away with was the best way to explain arrays I have every heard about, via a candy metaphor. Also, her dedication to “don’t just toss code into function.php” made this one of my favorite talks about adding functionality of I have seen yet. I know not implemented her example code yet, but can’t wait to dig in and understand it a bit better. If you know anyone who is trying to understand plugin development, this should be mandatory viewing, once on WordPress.tv.

Raw Notes:
example repo at https://github.com/sketchings/wp-random-quote-playground
PHP for WP
let’s not put our code in themes
Candy she gave out
that is the value we are storing
Reese’s, m&ms, etc
Ben, what candy do you have?
need to name variables to call them
more complex with arrays
M&Ms are like arrays
packets with individual pieces
it is multiple items in the item
lot of array functions
Nesting arrays
array within an array
just like a big candy bag has multiple M&M bags
name the key is associative array, names let us call things
variables: Scalar (bool, int, float, string)
$workday = false;
$hour = 6;
$price = 15.25;
$quote = “sting”; //string
define ( ‘FORCE_SSL_ADMIN’, true); – // Constant bool that does not change
An opening and a closing in PHP (not all have closings)
leave off if EOF
Make a random quote generator
$motivation = array(
“string 1”
“String 2”
$motivation[] = $quote;
echo $motivation[0];
//indexed array by default, numbered — this is faster but can get complex
Alexia messes up array when counting by 10s, off by one
way to repeat code without rewriting it
lot of pre-made functions that you should leverage
string substr
int strlen
string trim (rtrim, ltrim)
int strpos – find position of first appearance of sub string specified
strtolower – lowercase
mixed str_replace
Array functions
//our own functions
function sketchings_quotes — add your namespace thing in front, sketchings is her namespace github
$motivation = array(…);
$encouragement = array(…);
if ( in_array(strowlower(trim($category)), array(‘motivation’)
if this, then that
inside her own function again
if the category is not empty
pass to category and get quotes
if hour > 4 && < 17
things we are going to do to variables
Types of loops
foreach ($search as $word){
str_ireplace() – replace word no matter the case

return $content;
that is the basics of PHP
writing a function with the above code
minimum viable plugin is one file
Plugin Name: wp Random Quote Playground
// THAT IS ALL YOU NEED, that would run
interacting with WP
Themes – look and feel, not how it acts
Plugins – added functionality
Hooks – Themes and Plugins Hook into Core using Actions and Filters
Actions – add or remove functionality
Filters – Change data
First we do an action
add_action ( ‘wp_head’, ‘sketchings-random-quote_style’ );
when the wp_head is called, call this function
wp_register_style( “”)
plugin_dir_url( FILE ) . ‘css/styles.css’
Registered, used, where
now add in function
add_filter (‘the_content’, ‘sketchings_tooltip’);
when you push your hook, WP passes some things in automatically
passes ($content) for instance gets us WP content
function sketchings_random_quote_shortcode( $atts ) {return sketchings_random_quote( $atts[category’]);
‘random-quote’, ‘sketchings_random_quote’);

My talk

Let’s learn Git. No more excuses.

I love giving this talk and learn from it every time I give it. This time I remembered that the best answer to a lot of question is just showing how I would look up such an answer. I also learned a bit about how PHPStorm deals with Git by helping someone after my talk.

Columbia Lightning Talks

Not one, but three talks back to back!

How to clean up the WordPress Database
David Greenwald

This should be mandatory viewing for anyone who wants to become a serious web maintenance professional. He is going to give a longer version of this in the future and I can’t wait to see the slides and more how to info from there. Keep an eye on this presenter, serious WP rising star.

Raw Notes:
Friend had site, 100K monthly visitors
Cheap shared to VPS n fix
Cloudflare didn’t work either
wpoptimize to try and clean DB
it was the DB, old plugin leaded in lot of crap
282MB Options table before
2MB after
5 users at once = 1 gig of ram
DB are sneaky, expensive, bad for business and traffic
All your WP content lives in the DB
plugins add their own table
plugin ads a ton of tables
yoast does to
woo does a lot
not bad, just need to be careful
biggest issues
Large umber of rows
large data size
how to tell if DB is slow
speed test to tell
Google says 200ms or less
def less than 500ms
high traffic increases web delivery times
can be slow due to
slow server
old PHP 5.6 and older
Slow DB
or all three
Caching is a band-aid for the DB, always test is caching off
most important tables for cleanup
DB detective tools
wysql tools
always backup your DB first
can clean DB of trash
wp-Optomize is good for post and comment tables
does not solve options table
looking for bad actors, abandoned from old plugins
code example

Gutenberg and WordCamp.org’s Shortcodes
Corey McKrill

This might be the first Gutenberg Case Study talk I have seen live. Maybe the fist ever? If there is another one, please let me know. And what a case study! Improving the experience of the WordCamp.org site through new functionality not possible with the old shortcodes points to a bold future where were are less restricted on what we can do on the browser side!

Raw Notes:
Works on WP.org
site network
how they went form shortcodes to blocks
if he can make a block, so can you
12 year old site
custom post type called speaker
“I am a post”
speaker shortcode shows name, gravatar and description
when thinking on it 3 stages
1. server side render
but this means has to reload the whole preview and UX is slow
2. native JS on the client side
had to learn more react things
every time change parameter it is really, really fast
more complex and steeper learning curve
static in the preview though, have to use sidebar controls
thinking outside the []
things you couldn’t do with the shortcode system
select individual speakers
ope source, you can contribute

Holy Blockamole: Tips On Learning Block Development
Andrew Taylor

After his talk he summed up the whole thing as “Start with PHP”, which is likely way less intimidating for folks new to Gutenberg development. Thinking about how your users ‘should’ use Gutenberg is another great tidbit that was in there. Providing them guardrails is going to be a lot less of an uphill than trying to just dive in and write your own custom block.

Raw Notes:
lot to learn
start with the user experience in mind
Start with PHP
eventually you will need to write custom blocks
add theme support, much easier learning curve than writng new blocks
apply block filters
this gives guardrails
post type templates
shows the user the one and only and best way to do things
dynamic blocks
what is output on page can get saved in static blocks
when post is in an RSS or mobile, needs to be different , can’t be static
render callback in PHP
don’t start from scratch! wp-cli,
understand modern JS
been evolving for a long time
evolving faster now
lot of new ideas and concepts, big leaps
but doable
React and JSX
change the state, not the DOM
attribute for things like Location
state error messages
review the source code of Gutenberg itself
how did they build core blocks?
thorough documentation
in-depth tutorials
great code samples, they had both modern and ES5
review the goals and philosophies, before you write a line of code

Types, Subtypes, Meta, Options – An Abstract View On Data Structures in WordPress
Felix Arntz

If you want to better understand how WordPress works from a data interrelation perspective, this is the definitive talk on the subject.

Every so often a talk is so engrossing and the subject matter so dense that it is all I can do to just keep up mentally. When that happens I can’t take as thorough notes as I would like. Very luck for me, and for everyone, Felix wrote a brilliant blog article that discusses this topic in depth. Go read that.

7 Keys to Sustainable WordPress Projects, Inspired by Buildings
Nick Halsey

I love any talk that draws from a completely separate field than computer science. It reminds me of one of my favorite Viola Spolin quotes — “The environment will teach us, if we let it, everything it has to teach”. Also, this talk gave the most succinct and clear interpretation of the WordPress Philosophy maybe ever given.

Raw Notes:
Looking at buildings
example 1: $30mil building getting $135mil rebuild
example 2: reduced impact and costs by reusing same frame
example 3: PostTension Concrete Flat-Slab Structures – environmental impact is pretty bad
resiliency: Washington County Public Services
thinking for the future
building codes
Zoning code
what the building can be, how much x it can have
how tall it can be
you can work around codes if better results are agreed upon and proved
WP Philosophy is like the
He has reduced this down to:
1. focused
2. Simplified
3. Generalized
4. Automated
5, Iterative
6. Attentive
7. Open – to the 4 freedoms the GPL presents
Design Review
must meet with architect before applying Zones
peer feedback to get it ready to propose the final draft
examples in Portland
he works on theme installer in customizer
streamline the process
worked with team to get to good UX
Modular construction
pre-cast facade
structure reusable custom post types
he built sheet music site
explains benefits of custom post types
ties taxonomy
not seismically stable county building
exterior cross beam frames
worked on 14 color 4.5 color picker in customizer
little improvements like quicker previews are good way to iterate and improve over time
adaptive reuse
transforming an old boarded up factory into event space
entirely new use but keep character and history
Annenberg Digital Lounge
shared taxonomy and could keep much out of the box WP core pieces that were in place
tool taxonomy
Balancing Disruptive Innovation
Mass-timber tower firesafe and seismically
more innovative materials, and costlier
so on hold now
but made other projects more doable
Gutenberg is here and about to be shipped in core in 2 weeks
7 keys to sustainable WP projects:
1 building codes
2 the WP philosophy
3 Design and Code Review
4 Modular Construction
5 Retrofit/Iterate
6 Adaptive Reuse
7 Balance Disruptive innovation

Special surprise guest Q&A with Matt Mullenweg

We were all in for a treat as they announced instead of just regular closing remarks, Matt himself would be joining us for a Q&A session. We crowded into the main hall, which kind of felt like a church, to hear Matt answer our questions and give his general thoughts around the community. I am honestly still processing the whole thing as I write this. Parts felt like the best positive, inspiring stuff he has said yet and a couple comments around community left me a bit more perplexed about how we participate as individual non-core contributors. His admission that there have been some large Project Management oversights that have occurred does encourage me to think that this might be seriously tackled sooner than later. I really do hope this video makes it to WordPress.tv sooner than later.

Raw Notes:
“Gutenberg broke a plugin I was using, when it updates ‘Is it a have to thing?'”
which plugin? Events calendar
explained how to use classic plugin and how to adopt Gutenberg
“How is it coming back day to day”
Twitter makes people fight more
“what is the tipping point of people being on board with Gutes
getting early adoption key, want it to be non-event
changed support calls?
non-event, not really
muscle memory vs learning curve
Beta releases never get this kind of distribution
maybe 2K to 3K
Gutes has 600K, many in production
push date to 26th
backup in January part of the plan
Need more eyes, wordpress.com
“launched 2 sites with Gutes, working on new stuff, old sites, Fun to work with. Blocks make
“A11y things growing, what up with that?”
We had some project management disconnect
things we can do better
volunteer team should not be external from core
over 200 closed issues from the beginning
poorly in many parts that the a11y team didn’t point out
holistic look
many plugins don’t ever care about accessibility
as we replace widgets and shortcodes into a consistent framework
open it up to users who
“not about Gutes,
it is what does the future look like in a world of distrust and central authorities”
WP is not part of the distribution system
twitter is very polarizing
likes to talk about it on twitter
lot of good comes from these networks
technological optimist
social networks have woken up to the problem
thing are getting better with figuring out
“Are we still going to call it Gutenberg? ”
Codenames take on lives of their own
Gutenberg is being adopted by other CMS
New WordPress
its all WP to people outside this room
just be in passing
they kind of expect what new
“One surprising thing you have learned that has changed his thinking around ecosystems around OSS”
Next year we will focus more on the 5 for the future
40 full time volunteers from Automattic
reinvest back into core development
should be able to do 3-5 Gutes size projects at once
need much better Project Management
Policy that will be adopted
hundreds of volunteers
coordination should align Core’s values
“Too soon to ask? But what about React, what happens in the future JS and WP?”
Gutes is first thing built on the REST API
they found a lot of gaps along the way
APIs must be made more robust
Gutes Semantic HTML
cross CMS Gutes blocks
WP hot dignity

Wrapping Up

Portland reminds me a lot of San Francisco. It is weird and wonderful and full of people not from there. I left Portland with more to think about than when I arrived which is a pretty good sign that this was a good camp. I also realized a few things about myself while I had time to think while hiking, leading me to believe I should be hiking more. There are a lot of reasons I want to get back to Stumptown in the not too distant future, but at minimum I am already looking forward to getting back for WordCamp Portland 2019!

BADCamp 2018: So close to home for me and so much more walking than other events

I go to a lot of camps, but very few camps come to me. Bay Area Drupal Camp (BADCamp) is in my area, but over in Berzerkeley. It is beautiful college town that is just over the bay, only 45 minutes door to door. The last bit from the BART train to the UC Berkeley Student Union is not a subtle elevation change. But a good uphill walk wakes you up and get the blood a pumping which put us in elevated moods as we got together to learn and celebrate the community at BADCamp 2018.

This year’s theme was the circus! The decorations were all circus-y and there was cotton candy and popcorn abundantly flowing. And the juggling! There was a lot of juggling.

Food and Fun


This was the first year there was a Wednesday for this event, having shifted form a ‘Thursday to Sunday’ schedule to ‘Wednesday to Saturday’ one. Coffee at Berkeley is not better or worse than any other University of California. It is pretty consistent and average. As an attendee I can’t complain about the price point of free. Pastries were also abundant.

There is no lunch provided at BADCamp. Since this is a free event, it would be surprising if lunch was made available. They just opened a Veggie Grill in Berkeley and I dined there with a colleague. No tweet of mine for that, so here is one of theirs.

Also of note, I went to see Jawbreaker on Wednesday night. A couple people from camp went as well.


More coffee, more pastries and more summits, trainings and hallway conversations at the camp. For lunch I grabbed some Thai food at my favorite Thai place in the area, Thai Basil. Sometimes the greasy spoon places are the best.

After Party

Thursday night we had the first of the official after parties. We gathered at the rather swank Tupper and Reed for some free drinks courtesy of DDEV who threw the DevOps After Dark Happy Hour. Many a good conversation was had.

Having a couple drinks a few of us wanted to get some amazing plant based foods. Berkeley is home to the best vegan deli I have been to personally, The Butcher’s Son. I had the best giant bacon patty melt I think you can possibly put together. We all left completely stuffed.


A Drupal event where the awesome Jason Mickela is present will almost certainly involve a quest to find microbrews and specialty ale under the banner of DrupalCrawl.


One of my greatest joys in this space is getting together to sing as a group. An apex part of this aspect of my life is getting to know JD Flynn and Chris Weber better. JD actually did the footwork on getting people excited and pushed to the venue of choice for this event Nick’s Lounge. I was overjoyed that the Kanopi Studios team was already there when I showed up and we all sang together through the rest of the night!


The first day of sessions at BADCamp bring with it waffles. Not just waffles, but fresh made waffles with a lot of fixin’s. Coffee and tea flowed as well. I went back to Thai Basil again for lunch. It is good.

After Party

BADCAmp is known for a few things. Throwing a very good after party is one of those things. This year the Platform.sh team, which I learned is properly pronounced “Platform, Shhhhhhh”, threw the event. We got to go on the roof of the Marsh Art Theatre. We got to dance to some thumping tunes and get our faces painted. And of course there was a photo booth to show how we were affected by the provided drink tickets. All in all a great time for hanging with the community.

After After Party

In the tradition of this event, some of us went out late into the night and made a pop up kitchen happen in the middle of nowhere, complete with disco lights and carpeted areas under the stars. It was a blast.


More waffles and more coffee. I personally got some cotton candy for that sugar energy to get me through the day.
Lunch was again Basil Thai, though I had almost ordered ramen next door. That super hot chili and peppers though. Seriously if you are in the university area of Berkeley around lunch time, go give these nice people some business.

Lunch related tweet:


Thanks to Avi I got to go see Middleditch and Schwartz on Saturday night. It was a very great way to end a very busy but great week. Even got to sneak in some Karaoke before bed as the official end to my BADCamp.


Thursday DevOps Summit

How Do I Host Hundreds of Drupal Sites?

This is not your normal set of sessions. The Summit is to encourage community discussion of the best ways to approach problems. FOr a number of reasons with setup and my schedule, I only got to attend one of these summit panels, but wow I am glad I did. The chaotic notes that follow are my best attempt to capture what happened, sorry if you get lost. Basically, running a lot of sites is a challenge that has multiple approaches. The conversation is far from over though and this is the type of thing I love talking about if you see me at another event.

Raw Notes:
Panel: How Do I Host Hundreds of Drupal Sites?
Shawn Dearmond: University of California SiteFarm – on campus
Thom Toogood: GovCMS (Lagoon/Kubernetes)
Daniel García Mont: ASU WebSpark
John Bickar: Stanford Sites –
John Grubb: Platform.sh – not in attendance, never caught name of Platform engineer.
John B – like a 1000 sites. migrating to Acquia
Shawn – 300 Drupal sites in the group, another 300-400 on Drupal sites or clones, maybe 150-200 random sites people ‘just run’
Thom – amaziee.io, Australian government – 10-12 in next 2 weeks
many more launching soon, many each week launching
federal state and local
2 sides of the program custom and multisite
John grub not attended – Platform.sh -how to manage a lot of sites, not all Drupal
Daniel García – close to 2000 sites, all over the place, all tech
last few years sunk into cost recovery model
380 production sites on Pantheon
Drupal distro – 77% on the Pantheon sites
Mostly in Higher ed for this summit, but all over the place for this panel
Why the platform you picked?
was it costs?
John B 17 people
originally built service on premise
sites need to be created without
tricky to try and automate that
need something to spin up all the services needed for the sites
Looked at site factory platform
robust API
LDAP to Site Factory
log in and all the things
Shawn – similar to Stanford
Started on Pantheon – ended up with a Custom upstream
very bespoke
as started doing this over and over again
building out distribution to solve the core use case
300 live sites on site factory
in dev will be live soon
individual departments
grouping functionality with sub groups
works well with the hierarchy of a college
see sites within the department
did need and orchestration system
see all the sites at once
4 hours to
building recharge work on Pantheon and some good old site building on factory
no cost to campus customers
few other competitors in the DLS in the city
Gov design higher demand scale up and scale down
high availability compelling automated testing around containers
very simply each branch is a full build
Gitlab CI
change model version change
QA and supervisory model
for government, didn’t want anything in production cluster that aren’t approved Gitlab provided validation structure
very flexible
wanted to maintain some control
– Platform is specific unlike these other use cases
composer install run for you
just update your local and bring new branch to Platform
clone original branch and create a new env to get live services
apply new updates and run tests in new environment
if like the tests, just merge it in and that is deployment
Replicate-able for multiple sites
can push to hundreds of remotes
relatively simple using scripting for coordination layer
fleets of websites
ASU – picked Pantheon about 5 years ago
Maybe a little different
this is a different model
service partnership with other departments
contract with them to build
Pantheon was willing to work with them
Good dev experience on-boarding process was more flexible
it is a pull model – CU available
hybrid central and decentralized
websites owners must update sites
deploy updates fro service partners
9 of the team are devs
cost recovery in 2 areas
service and hosting
2008 the leadership introduced the model legacy hosting free hosting offering
no way to see what was abandoned
Faculty does not want to pay for their websites
departments pay for services though
Comments of picking a new or many new platforms
one of the things we have seen, move to standardization
looking for 80% of sites in one place
easier to roll out updates on app layer
John B – open env, anyone on anything in CGI
on IT for updates and they didn’t get done from app end
no life cycle management
each site has own doc root each on git branch
updates on infrastructure
giant multisite
Useful Site factory, lot of updates quickly is easy
one branch to push to ll sites without much intervention
Pushed updates to many sites in few hours with Drupalgeddon
Shawn – several different processes
Drupal 8 stuff much easier to use
Site factory process
Bitbucket for code
proboCI to do builds and run through 2000 Behat scenarios on fresh sites
not updated sites
moving to updated sites
PR merged, pushed to Acquia and runs their pipeline
saves to branch in their Git repo
tag to a release number and push, chugs through and updates fast
takes a few hours but with Behat takes about 20 minutes to run
less than a hour to do all changes on their end, then a few for Site Factory
On Pantheon site by site basis, takes some time
have to hit every site
some on A vs P
Recharge work for custom sites
‘free’ Acquia sites, but it is locked down
if you want to write your own, other product, Pantheon CU
you pay for that though, full thing
extra costs for maintenance
even have export from Acquia to Pantheon process
no PCI or HIPPA or other specs on site factory
lets them be flexible
“Who gets what module in” is a sticking point with Multisite
Thom – how do you avoid bloated MS setup
hard not to
with D8 focus, trying to get profile as small as possible
biggest change is output from profile as a make file
also outputs Docker images now
test these images and host themselves
extend and customize from those images
all can really do is change the Theme folder, not even managing a D codebase
all built and tested Upstream
building the project on the latest image
added a test image
run their own image
base themes and modules, lightweight controlled
Security certification that they
PLatform- updating and just updating composer lock and push it doing it wrong
all module updates and migrations
updating the infrastructure – growing team doing it
hosting your cluster built on read only containers
once built it is left alone
all changes get a new container
more layers to this. Regions and container versions can vary
problems with Drupalgeddon solve in unique ways
web application firewall in the regions
update firewalls for all clients first
ASU – build process 300 production sites
very greatly with each site
custom modules to standard sites
volunteers in the web community ot test things
merge after testing, pull model, each unit responsible to get to production sites
aim for monthly, but that fatigued people
now quarterly , 24 hour turn around just for the update setup
UCDavis – Using the test env on Site Factory, email sent to folks ahead of time
Division between special customizations
Last Q
Remaining challenges for the current platform
– 800 sites migrating into site factory
it is a lift and shift
legacy Auth with saml
latest core but getting to latest contrib modules is a challenge
Davis – biggest issue is difference between environments
test past fine on local and then fails on Probio
and different than prod
containers should be solving this
Acquia’s infrastructure is
Pantheon is not much better
caching layers is difference between local and CI and production
they spend more time fixing than making new code
i/o same set of issues, but future is standard containers everywhere
new thing for most people, training is a real concern
150 devs to onboard
Platform – user tools – HA solved, Various env solved
Didn’t solve deep learning curve at beginning
lot of issues around users understanding Platform’s opinions
Fleet management is automate-able but not automating it out of box
amazing tools you can use, Lando and DDEv, but noting direct for them
ASU – most users don’t need to worry about these things in ideal world
but not real right now
RFP is to get to something that automates



Communication is tricky and it is very easy to forget that not everyone is always on the same page as far as terminology and points of reference. This was a great talk that broke down how communication loops occur and how we can use a pretty simple process to make sure we are communicating well with people in all sorts of roles and skill levels. I know I am going to be reviewing my communications better into “what does it do” and “why” as I present new ideas moving ahead.

Raw Notes:
She translates a lot of technical solutions into plain speak for clients
worked at the Drupal Association, talking human side of Drupal
how it had changed their lives
Communication is
encoding – the sender packages it up to send
then sending over channel, letter, song, dance,
Message Decoded
reply feedback encoded
channel sent
decoded feedback
Barriers happen all the time at all channels
maybe technical, maybe personal, maybe cultural, attention, disability, etc
Using right words
with the right people
in the right medium
at the right time
for the right response
Reducing barriers
encoding/decoding problems
incomprehensible jargon
lack of shared knowledge base
vocab barriers
cultural values difference
Scheme – US English means plot, underhanded, UK- just a plan for an org
Issues with the medium
hearing, vision or other disabilities
physical impairment
inherent encoding flaws
Communication breakdown example
“what are you thinking for dinner”
meant ‘should we get pizza’ gets ‘make your own damn dinner, I don’t wanna cook”
well that escalated quickly
if you pause and realize there is a barrier there, maybe should ask or clarify
best version, sender is much clearer “I crave pizza, can I order one or are you planning something else?”
Know your audience
How can I phrase this in terms this person will understand?
how can I talk about this in a way that will make them care?
DO NOT be condescending
What are they doing now?
What are they trying to do?
What’s keeping them from doing the thing?
What do they value?
What makes them successful?
What makes them fail?
And find their barriers
Same background?
Same native language
Is this best medium?
is message structured the best way for this medium
Non-profit living history museum in Austin, TX
volunteer org
I spend a lot of time sharing info about bookings to people.
What is he doing now?
What is he trying to do?
What is keeping him from doing it?
What does he value?
What makes him successful?
What makes him fail?
Prefers spoken communication
talk about how solution saves time, and makes his life better.
Not technical answers
Find clarity with your inner 4 year old
What’s the point?
ask why until you have the most basic answer
How questions is a rabbit hole
vs what does the thing do
Avoid technical language and find concrete real world terms
example of cache solution
broken down to ‘makes the site faster’ and not delving into tech jargon
Might seems like a long process and lot of work
at first it is
then second nature
then improves all communication
most people will meet you half way
clarity and kindness makes things better
https://sidewaysdictionary.com – analogies explaining tech.
internet linguistics


JAMStack is the now and future for the front end. We are moving into specializing the CMS to just worry about storage and access to the content, moving to things like Gutenberg for editing experience and microservices for, well, services like forms. Gatsby is literally helping people make sites that are ridiculously fast. My favorite line from this talks was “The Gatsby team tries to make it hard to build a slow website.” This is a great intro and the example repo is very practical and usable out of the box.

Raw Notes:
He does not like JS frameworks
got burned on projects
Drupal learning is hard, really hard for JS template builder to understand
I’ve seen this before and its the work of the devil
now believer
JAMStack is a lazy term
secret sauce is sheer hosting laziness
production is flat files only
interactivity is 100% client side
Content is managed via git or a CMS on a separate server
Buzzwords but practical
$5k a month to $5 a month
removes all tuning and monitoring needs
very secure
CMS-> Gatsby -> JAMStack -> CDN
Code samples
how it is laid out
Gatsby is like a compiler
much simpler structure than CMS
not everything loads automatically, you have to import things you need on each page
Helmet instead of head
HTML rendering via JS
needs to be compiled but Gatsby takes care of it
some syntax to learn
Define a new react component
passing in Props variable
children – lets you put components in components
compared to Drupal, this is simple
Style components
defining style on same page as component
keep things together
instead of giant SASS directory, just in one place
article teaser styles that react to that
renders in CSS properly
Drupal side
JSON API – in core in 8.7
have to install right now though
make anon requests or http auth, protect data
webhook with something like Netlify
site never goes down on Netlify
set up a build hook
API to let it know it needs to rebuild the static site
GraphQL – it is amazing
get all pages and articles
copy/paste basis
taking initial page query and passing into a template
but after the query is written it is familiar and simple
images are tricky at first as well
Gatsby wants to make it hard to make a slow website
lazy loading is automatic and taken care of by platform
Kyle’s desire to mathematically save off milliseconds drives this
no views integration, must parse this in


One of the most important books I ever read was The Non-Designer’s Design Book, by Robin Williams. This was required reading for me and helped me learn to be bold and stop centering everything. Design is something we are all actively participating in, from end user to conceptual artist, we all feed back into the system. No matter what your role, understanding how to better communicate visually is a valuable skill and I am very grateful for this session. Also, learned I have been misusing the hyphen and the em dash — a lot.

Raw Notes:
75% of users admit to judging a company based on website design
opening a designing program is not the first step
what do you want to do and why?
Strategy Toolkit
What should your message be? Focus on goals
voice and tone
baby shower vs metal show
typography needs to reflect the right to the right audience
General Advice
remember goals and audience
keep it simple
focus on content
be concise
consider context
KIS – easy to get carried away, don’t go overboard
Focus on the content
use your strengths, think of cleaver headline over bells and whistles
core model exercise
how will people arrive at this page?
don’t bloat, can you live without it
consider context
flyer or website?
flyer in a grocery store, what is the rest of store like? What are other flyers like?
what limitations around how to use color
most colors print darker and duller than on screen
make sure you have ample frame/space if cutting it yourself
get to main points first
sketching is a great way to land on ideas and iterate quickly
consider maybe a wireframe
content prioritization and consistent alignment
visually anchored
whitespace is needed for design
not wasted space
less opportunity for distraction
looks luxurious
Good use of whitespace increased reader comprehension by up to 20%
emphasis visual space
consider the whole system
learn Photoshop or Gimp deeply
just go outside, natural light makes things look good
know if you have image skills going in,
some tricks are very simple like color overlay or blur
GIMP is very good free Photoshop
Pixlr is good but a step down
don’t get too crazy
want the darkest parts of photo near black and lightest near white
adding saturation to match real life
adjusting color balance
blue? add orange
images indoors always look too warm
cool outside
illustration and iconography
be smart and avoid clip art
avoid flaticon
The noun project – attribution
vector, scales very well
do not need to be huge
smaller is better a lot of the times
consider background color
keep in mind what backdrop they need to go on
Avoid bad ones
Google your Font and see what the world really thinks
Avoid wordart
in selecting fonts, Google fonts are great resources
mixing fonts can be dangerous
same font that is everywhere but has multiple weights
many weights makes it more flexible
Typewolf is a good resource for use in the wild
Type Hierarchy
big bold headings get points across
make sub-points same weight on a scale
avoid long line lengths
contrast to be clearly legible
difference between hyphen, En Dash, Em Dash
– hyphen just –
– en Dash alt + –
— Em dash Shift + alt + –
Palettes – stick to one or two if you don’t have a lot of resources
Coolers website, color palette selector suggester
but it does not tell you what colors work together
think of A11y, color blindness
stark, color bind simulator for Chrome
Spectrum is an extension for Chrome that simulates color blindness
immerse yourself in good design and take notes
look at other work and borrow elements but do not copy
slides online

Kyle Mathews

There were a few sessions about Gatsby at this event, but only this one was the original founder himself, Kyle. After a few equipment issues in the very packed room we were quickly looking at code and examples, which are kind of hard to take notes for, using my style anyhow. Good overview and thanks to Kevin Thull I think the recording is going to be a great way to see this.

Raw Notes:
Background in Drupal
Once React started he didn’t want to do anything else
he wanted a simple tool to make react easier
server render React to static HTML so sites load blazingly fast
But then load minimal JS
seamlessly add interactive/dynamic sections to the website as well
Write all templates in one format
Early on Gatsby was similar to Jekyll/Hugo and the like
people started using it and found bugs and made feature requests
How to integrate WP, COntentful or Drupal
What about themes, Code and data splitting and large sites?
Not just for Static sites,
Gatsby could solve problems similar ot what Drupal solves
Traditional CMS Presentation layer over COntent layer
Presentation layer – application layer
how do you bridge this gap?
plugins and GraphQL
Build time GraphQL layer
how to get started…
link component
demo start states
code code code
source plugins
code examples


The same way we are all designers, we are also all responsible for documentation. Even if you don’t code, it is very likely that when you need to use a product you will reach for those docs. No matter how you generate product there should be a good paper trail that explains how the thing works but also why it works. If we stop thinking of our reader as some random technical person and start writing to ourselves in the future, we are bound to create better, more readable and overall more enjoyable docs. This was a super solid presentation I hope every product builder sees.

Raw Notes:
We are all users no matter hat else
Docs are the first steps someone takes when they start out
good first impression point
On twitter @Codewisdom is good to follow
we are writing docs for our future selves
retroactive learning
can re-encode memory
step through creation process again but can easier codify why and what
being stuck sucks, getting unstuck feels amazing
writing docs in hopes that my struggles aren’t yours
Docs are good for a team
brain dump
billable hours
fewer meetings
mind state
fewer trivial issues
more brains grasp what’s going on in the code
reading the whole doc often gives you what you actually want
Good for ourselves, good for the team, good for the community
Why docs suck
hard to find, opaque and often out of date
writing code is NOT writing documentation
not even close
Makers aren’t users
reading is not understanding
some concepts to consider
imagine writing a doc for a 4 year old in making paper airplanes
or how to tie a bow tie
— no images allowed
We don’t know what we don’t know
Outside context problem
book: “Excession” – Iain M. Banks
poor language
translating requirements into code is hard enough
translating code back in to meaningful docs
packet dropping is and should be expected
not a software problem
useful knowledge transfer is a whole other field – Education
improving the concepts undergirding education
We are not alone
written communication in inadequate to express some concepts, like care crashes
code has advantages
our language is simpler
concepts less nuanced
convincing others on why this is important
Getting buy in from the team
especially stakeholders
can’t be underestimated
think in long term shift
uses logic, self interest (SS)
long term
BUS plan
what happens when so and so gets hit by a bus
pros – extremely visceral
highly motivational
can use real names
one time use only,
short duration of effectiveness
management by crisis
average time to first commit? ON average 6-12 hours
huge giant welcome mat
easier for people to get started and easy to promote to your friends
lower training costs
no need to fly folks in to train them
save on many fronts
Documentation fun?
fun to consume vs fun to create
for one sprint, do nothing but write docs
not one line of code
get the whole team involved
get food and drinks, hourly stretch breaks
get your PM to review
do mini sprints
60 minutes
team on site, a couple doc sprints
add paragraph breaks
add Flash, not the tech
add photos
tools for multimedia
licecap – make a gif
quicktime – audio and video
create doc stories
break into chunks
assign it to someone
go through approval
ship it
creating an Index
automate it, if you can
if you can’t make it single page and exhaustive
non-technical foks can spot Jargon faster
refactor docs
add a todo at least
encourage new hires to contrib to docs
better and better
requires revision
maybe somethings changed
mind the gap
what is trivial conclusion to senior developer may be a curveball to someone new
focus on logical jumps that appear to be simple
sourcing bashrc for instance
docs as acceptance criteria, mandate docs creation as part of marking off something as done
maybe docs as first pass
don’t do it – anti-patterns
not documenting, this is the worst
actually having bad docs is worse
if out of date Mark it as such
make a half assed effort, ehh, it does stuff
don’t make it easy to find
make it top level
Don’t violate Wheaton’s law – don’t be a dick
see ‘mind the gap’
No code as docs!
It is lazy and shows a lack of care to non technical users
“just read the code”
read – empathy for idiots


Over the last year or so of my life I have had the opportunity to lead a few projects as the Project Manager. It is always a fun time and I will take all the help I can get. This talk provided a very, very solid foundation for anyone hoping to get up to speed on how to manage large scale projects with multiple stakeholders. But all those lessons also work for teams of two and smaller deliverables as well.

Raw Notes:
Tips and tricks talk
Project team
architect, devops leads
creative director
digital strategist
accessibility lead
executive sponsor in the middle with a project manager to guide
kicking off
capturing the vision
help your client organize their ideas and get a plan of attack
make sure budget makes sense
realistic goals
all stakeholders agree,
failure is a domino effect a lot of the time
know what success looks like
ask the right questions early
kickoff agenda
who is responsible for each task
establish timeline and dates
what is a launch blocker vs nice to have?
who’s the captain?
Communicate with the whole team
establish what the project as a whole is even doing
make sure each role is represented at the table
Avoid the dreaded overcommitment
establish your MVP up front
know your deliverables
communicate with your product owner
don’t be afraid to say no
keep your team grounded in the delivery
don’t get caught with too many meetings
-maybe slack is better or an email for this?
managing team morale and motivation
don’t be afraid to say no
you need to push back to keep it on track
Hedwig helper’s hotline
everyday at 6:00pm EDT they would kick Kelly offline and someone steps in
keeping online all the time is bad, burn out
Identifying the goal and plan to accomplish it
revisit the MVP and adjust as needed
creating a Phase 2 plan shouldn’t be seen as a failure
show progress to stay aligned, established deliverables
refine roes and processes
keep your team on task with tools
Wrike, Trello, jira, etc
discovery, design, dev, QA, Deployment, post launch support
Agile Scrum framework at a glance
product backlog
sprint planning meeting
sprint backlog
1-4 weeks sprints
Sprint approval docs
little changes are inevitable, having docs makes this easier on everyone
continue clear communication to clients
take an extra 5 minutes to update tickets and communicate status
use weekly status emails to update project status
establish quick check-ins via a call or email to stay on target
getting ready to deliver success
check your deliverables against the established MVPs
Does the delivery match up with the success outlined at the start?
What does failure look like?
Are there elements of that that failure loks like present?
What happens if those pivots extend your time frame?
throw a wake, not a funeral
key to learn and grow on what was successful and what wasn’t
pivots cause you to try things that are outside your norm
did they work?
Multiple pivots can cause you to think on your feet and come up with new ways of doing things
why wasn’t the normal path working?
Postmortem can indicate failure even when successful

Rob Loach

I feel that very few talks I go to are named this well. AI is the here and now of how things work so ‘automagically’ in so many aspects of our lives. The available tools are getting easier to use all the time while also getting more powerful. The ‘correctness’ scores of some of the images Rob tested were astounding. I love that we are getting to a point where the philosophy of “let the machines do the work” is applied to such specialized qualitative things.

Raw Notes:
very distributed company
We keep teaching computers how to act as if they were human
Machine learning
recognize patterns
statistical analysis in a neural network
if at first you don’t succeed, try a billion more times
realtor.com – take pic of sign, not QR code
Patch.com – filter for obscene pic uploads
facial recognition – google recognized dogs, not just faces
Google Vision API
label detection to see objects
face detection
optical character recognition
explicit content detection
landmark detection
API gives you a breakdown on images, properties, safe search
pocks up recent changes well
stays current
and a whole lot of metadata
coordinates, and so on
score for these, confidence score
hot dog/not a hot dog app
Alan Turing is not a hotdog
a cucumber is not a hotdog
high confidence it is not
hot dog is a hot dog
93% confidence
kalamuna/hotdog – must set your own credentials with Google
Drupal module – sponsored by Pantheon
recipe website
used Umami
statue of david caught by adult filter
suspicious images can be approved
code example looking at API

Michael Hess

After some speculation if Michael would make it to camp, he arrived to great fanfare and put on his community hat, as opposed to his security hat to give us the state of the Drupal.org world as it moves from self hosted git servers to Gitlab for all the advantages it will bring. Are allt he wrinkles ironed out? It is being worked on and this move puts us on the right track for the growth of Drupal long into the future. If nothing else it is going to reduce the time it takes to go from newbie to committer. I am looking forward to keeping up with the news as this work evolves.

Raw Notes:
Better title, Gitlab is coming to D.o
little demo by end
some history
2001, Sunflower theme
CVS for code tracking
2005 – inline text in page and RCS, diffs
2008 – still in CVS, colse to present day patch
first drupalgeddon issue introduced
in 2011 – own git servers for Drupal
very complex project
48 hour outage to do the work
2018 – patch files still moving around
April 2008, Github went live
became standard
but why patches in the first place?
Easy and actually mailing list
2018 – for past 4 years been talking about how to get away from the patch system
Drupal issue queue is actually better than standard Github
issue queue makes it possible to jump in quickly compared to other projects
contribution credit
run own git servers, nothing really wrong but git servers hae never been kept up, security patched but architecture is old
code review
What are the goals
adopt a dev workflow that would be easy for folks outside Drupal
preserve unique elements
find a partner to help
wrote more requirements
workspaces model
again building own solution, own island again
let’s get off the island
why not just all over to Github?
works for some but not all, not many to one
Looked at Bitbucket too
good but need add ons like Jira and Bamboo
but they were going to pick it
gitlab CEO reached out and wanted to help
formalized path forward and slack channels created
3 phases
Phase 1 replace Github services with Gitlab’s
if project maintainer, must change remotes
use SSH
sandbox on d.o, workflow will need to change
Need to get HA worked out, Sync git history back to D.o
push hooks made
phase 3
confidential issues for security
GitLab issues
MatterMost (slack competitor)
project management boards
Phase 2 – merge/pull requests on Drupal.org
don’t work for DA but hoping end of January this is solved
built in IDE for Github
primary home for the Drupal project is still D.o
code, test results, git web viewer, merge requests = Gitlab
everything else = D.o
do we still need sandboxes?
how do we sync comments to just the relevant places?
still working on it
What are we forgetting? Something for sure

My session


I went over time. I never do that typically, but I got excited during this talk. People asked very good questions and I see yet again how to improve on this presentation. It was thrilling to have people say they have not been able to grasp some of the concepts before on their own and nobody had just explained the whole big concept at once before. I am very proud of what this talk and how many people I have helped get over that line. It was the end of the camp I was the last session. Very grateful to the 20 or so people who stuck around to learn with me!

Wrapping up

BADCamp is a blur every year. There is a lot of build up and prep we do for it. Then once the event starts it is just an endless string of hello hugs, catching up for a few minutes and never feeling like you got that much done because you were so busy. From the opening setup to the last goodbye, it is a wonderful experience with the Drupal community really coming together to celebrate what we are and how we keep advancing. Drupal itself continues to evolve and so does the community, but I hope we never outgrow this sense of fun and folly that underlines events where we discuss serious concerns around the future. No matter what happens next for me, if at all humanly possible I will be back for BADCamp 2019!

WordCamp Baltimore 2018: Jets and boats and parades, oh my.

On previous trips to, what John Quincy Adams called “The Monumental City” I was met with some pretty wet and/or cold weather. It even snowed on me the first time I visited. This time around the sun was shining for half my stay and the weather turned downright hot in the October sunshine. It put everyone in a sunny, bright mood and made for a pretty wonderful WordCamp Baltimore 2018!.

When I left San Francisco, one of the things I was very glad to be missing was SF Fleet Week. I got nothing against our Navy and am glad they exist. It is just the low flying planes spook the pets and send car alarms blaring through the caverns of downtown where I live and work. You can image my expression as I found I had landed in the middle of Baltimore’s Fleet Week. Somehow though, being right on the harbor and in viewing distance of the ships the whole time made the thing more tolerable. Also, I am not sure if I am imagining it but the US Air Force THUNDERBIRDS over the inner harbor were not as loud as the Blue Angels that buzz over SF. Much to my surprise actually, I thought it sort of added a pretty neat excitement to the air for the whole event.

Food and Fun

Speaker Dinner

I was super excited to return to SPARK for the traditional kicking off ceremony of any fine WordCamp. I was thrilled to see the same foosball, shuffleboard and other accoutrement in the brightly lit, well equipped co-working space where I was greeted by so many familiar smiling faces. Different this year, but eliciting a good deal of joy, was a buffet of Korean fusion foods, including a very tasty soyrizo like dish, in place of the pizza and salad I had been offered in the previous years.

Friends, let us not stride over this small change without pause. The main reason for this change was the direct feedback that pizza and the dairy is normally contains was not a food for everyone and salad alone was a poor dinner choice. Here was an organizing team that actually listened to the feedback and adjusted in a way that helped meet everyone’s dietary needs. I was to learn this was just one of many points where there had been improvement. Well fed and with a long day awaiting us, we adjourned for some liquid refreshment nearby.

Accidental Karaoke

Turns out that, much to amused delight, the Fairfield Inn had opened a new bar called “Bluegrass Etc.”” in the front of the building that just so happened to offer Karaoke on Friday nights. I found this out much to late to recruit my fellow WordPress pals, but I did enjoy a nightcap with universal extended family of karaoke enthusiasts.


While there is certainly nothing wrong with the homemade coffee via percolation method that the camp had used in previous years, there was a start improvement this year that required zero wait time while the batch process finished per cauldron. Coffee this year was provided from Vagrant Coffee. In truth, the only other place I can say might have had better coffee was the little coffee truck at WordCamp Phoenix but that was made to order and the wait time and lines offset that enough to really have no equal footing for comparison. Again, the attention to detail and actual improvement attempts were literally palpable. The snacks did flow as expected as well with some of the tastiest and freshest apples I have had in a while in the mix.

Lunch was literally a clone of the previous year’s Saturday option from local Peruvian eatery I believe was called Chicken Rico. This was again the organizing team listening to the rave reviews and giving us what we as participants asked for, more of the same goodness. The plantains were as amazing as I remember and the beans and rice were fully satisfying. If anyone went hungry, I was very much not aware, as the meal was mostly gluten free as well and all allergies I can think of off hand had at least a couple options presented.


I like to keep these reports positive, but I feel duty to mention that a very earnest attempt was made and successfully executed by some of us to go find vegan cuisine in the area. However, no tweets of this exist as I have literally no desire to mention the name of the place where we ate, in which my party had the worst service we had ever individually experienced. Instead I wished I had suggested a place that I absolutely love and is the far superior of almost any other place I have ever eaten, vegan or not, The Land of Kush. I can not say enough good things about that place.


A small, but mighty voiced, contingent of us ventured to the legendary Walt’s Inn to sing the rest of our evening away and hang out with some of my favorite bartenders I have ever met. The previous year a larger party from the WordCamp had gathered and it was super, super packed. Too packed for anyone to sing more than once and we had to wait a while to sing that one. This year, there were still open seats at the bar as we were leaving after 11:00 PM. I got to sing five songs and was actually tired of performing by the time I left, a rare day indeed and a night to remember.


Again we were met with delicious coffee and snacks and a selection of teas. Lunch was a variation on the previous day’s meal from the same vendor with a variation on side salads presented. The same feedback that had swayed the speaker dinner again informed the organizers that we all loved day one’s food so much that not a single person would in any way mind it being repeated on day two. Personally, I could eat that same meal twice a day for a few weeks before I think I would need to vary it up.

An unexpected parade

Towards the end of the first Sunday afternoon sessions, I heard what sounded like a marching band and I looked outside to discover a whole parade passing us by. The first float I actually saw was a giant upside down bug on a truck, which greatly confused me until I realized this was a local pest control company who was sponsoring this year’s Columbus Day Parade. Who doesn’t love a parade? As far as I can tell from all the smiles, only the local motorists were not having a great time.

Afternoon Networking

Due to a mix-up on the calendar of the catering company, a last minute change was made to swap the networking event from Saturday to Sunday when it had been listed on the schedule. While there were less people around at the end of day two, as is typical at any event, I actually found those conversations way more engaging. Folks that come for both days had simply learned more together and had more common experiences in which to base meaningful conversations. In my mind there was no harm at all in this catering mishap. The food itself was quite awesome, again this year from Dooby’s were we again had awesome kim bap and veggie pot stickers, as well as pork buns, Korean fusion mac and cheese and some really interesting and delicious looking cookies.

With a small heartache that it was over, I helped clean up a bit and then headed on my way to the airport. The end of a WordCamp comes with a bit of this feeling every time, but this time I felt it strong enough to note it here. I really do fancy Baltimore.


Opening Remarks


Making Security Make Sense to Clients
Adam Warner

Sure, my site has SSL. Sure, my passwords are super long and unique already. Sure, I already rely on a very secure and awesome managed hosting provider for many a thing. So why did I go to this talk? Because helping devs and agency folks explain this stuff to their non-technical customers is something I sometimes find myself doing and I will learn any and all tips I can. Every time I sit through a session like this I learn at least one new thing that helps me adopt better practices over time. I am super glad subject matter experts like Adam are willing to share knowledge with the community.

Raw Notes:
Reputation is going to take a hit if you get hacked
We need to be familiar with best practices
do not recommend things you have have not used nor understand
Must protect your business
Built a multisite – indielab
quick site spinup
hundreds of users
was going very well, until they got hacked
sites redirecting to Viagra and other bad things
at that time no security malware cleanup companies
had to use the forums to self support but gave up
closed down the site and refunded customers and was out of business
its in your best interest to secure your sites
most of us in this space takes our minds 24/7
if you are implementing basic security you can sleep through the night
Educating your clients on security is important
Some clients think they don’t need that ‘complex security stuff’
or think SSL is all they need
no such thing as 100% security
Who is responsible, The client? You, the dev? or the host?
Everyone has their role
Apartment complex analogy
Additional revenue is possible here
monthly maintenance and security plans
how do we communicate this effectively?
First is why
a lot of people hear hacked but they don’t know what a ‘bad actor’ is
number one reason is financial
a penny a click, hack your site and all you own, it is easy money
script kitty for 15 minutes of fame
political or religious ideology
Norse security map shows how often this is happening
it is always happening and a lot of them
here are Adam’s top tips
1. Backups – very important!
and store them off-site
2. Updates
it is an open door to leave old unpatched software still installed
take out all the things you don’t use, update everything else
3. Strong Passwords and Unique Passwords
password managers can help
not flawless but these companies are very invested in amazing security
a saving grace
4. Firewalls and CDNs
network and web application firewalls
internal firewalls keep isolated from one another
WAPs are for your specific WordPress install
hardware and software solutions
5. Continuous monitoring of your site
a lot of options and companies offer this
Bonus round
2 factor authentication
encryption from your machine
look at the name of your networks and pay attention
ask the provider what is the right one if need be
Include security in your scope
sets you apart and gives you a better image
it says “I want your business to succeed”
sell those maintenance plans, it is continuity of the same security
or as an Add-On service
one time malware clean up service?
Additional monitor or scanning
Automate all the things
managewp, infinite WP, MainWP
reporting is automated and simple to send forward to client
Watchful.li, been around for a while
grow your business by being a partner in security with your clients

The Medium is the Message 2.0
Daniel Schiavone

I have had the very proud honor of knowing Daniel from the Drupal world for a few years now, so I knew I was in store for a great talk. But it wasn’t until I referenced this presentation the following day in a conversation about web experience that I realized how much this talk had affected my point of view, which is the highest mark of excellence for any session in my opinion. The world around us is a reflection of where we are with technology at any given movement and how we engage with that technology collectively. Honestly, now that I know what I am looking for in web only abilities of design, things like JuxtaposeJS, I can not stop looking for them and seeing them everywhere. I really need to read this book in the near future.

Raw Notes:
a look into the book by Marshall McLuhan
Societies have always been shaped more by tge nature of the media by which they communicate than the content
printed book spurned on individualism
electrical info devices cause a rift between private and public,
between community and individual
People like Twain, Whitman, Artemus Ward – the first stand up comic
mid 1800
steam powered press, first one was bought by Baltimore Sun
mail and stamps changed
you could get your poems and books nationwide very quick
lead to speaking engagements thanks to the trains
Television is a ‘cool’ medium because there is a gap in the transport of info
book writing is a hot medium, there is no gap
the audience has a role in the TV process
now we have a lot more interactive things
going to films is a hot medium
The web is a medium of text and markup in a browser
a lot of content does not leverage links
The web is the ultimate ‘cool’
When tech gets pushed to extremes they have opposite characteristics
how often are we just seeing text that was copy/pasted there
are we looking at copy for the print world, not the web world
Seeing what the web can be
information transforms based on how you interact with it
scrolling example
Small innovations are creeping in
Wikipedia link previews
plugins for WP can do that too
Medium is helping us read better on the web, think about using things better
o average 28% of the internet is text, that is all that people are reading online
video, audio and images are the rest
text is still pretty dominant
typically we give content creators WYSIWYG
it is enough to give them this only to start?
Gutenberg promises to be a game changer for people who are just starting
there is a bit of resistance to this change
There is a Drupal module for Gutes
Drupal does good with authors and types of blocks
frames, we can think inside the boxes to get very creative
Comics are a place that we have thought through panels and frames
pacing and layout
Seeing into the world through phrasing and point of view
Youtube example
self authorship, production values all over the place
people are making a lot of amateur content
improving over time
look at first videos vs latest content
The internet will use text dominantly for some time
we should communicate with text better
sliders are out of fashion, but no one clicks on them
hero images are better but can get in way of text heavy sites
Tools have gotten better ans cheaper
sometimes low-fi might be even better sometimes

Building WordPress Themes with Advanced Custom Fields (ACF)
Tessa Kriesel

I hear about Advanced Custom Fields an awful lot in the WordPress world but honestly, it is not something I think about too much. As a person with his feet somewhere between WP and Drupal, the idea of leveraging fields and custom data types makes sense, but it never occurred to me what someone might require it for a WordPress project. This talk changed this with some pretty neat examples that showed not just the plugin but unveiled the structure of the CMS itself. Very glad I went to this one and it has given me and, based on the hallway chatter, the rest of the attendees much to think about around editing and leveraging content from the frontend.

Raw Notes:
Polled audience with slido.com active poll
Most people build websites
About 1/2 the room builds own WordPress themes,
about 38% of room are new to Customer Fields
Developer Outreach Manager
Advanced Custom Fields overview
Add custom data to pages, edit one place, use everywhere
create custom page-builder layouts
front end forms
Template 101
functions.php add functionality to your theme
style.css for style
page.php page template file
single.php single post file
Dog examples
custom post type with meta data about dogs
you get custom fields to work with on these custom post types
Adding sizes of dogs example
filling fields in the ACF interface
pretty self guided and examples available
Breed example – open text field
we need to update the template to know where to out the custom fields
page.php copy as template
Template Name: Dogs
grabbing all post data and outputting it on screen
name of field is what we use in template
some rewriting URL issues, taking to archived page
Adding to the theme,
there are a lot of exampled on the advancedcustomfields.com site
front end forms
let people edit without getting into the back end
single.php single-nameofCPT.php
ACF form head
and the acf_form() where you want it to display
can change things from the front end
can give people to edit their own data from the front end
pre-features as well
lifetime license
Repeater field
allows you to create a subset of fields that can be reused
Options Page
have global fields that can be used whenever you like
Does not work with Customizer by default
would need to build it in
Flexible content
page builder layouts
you can add additional layouts
can store as JSON and import when install
not an additional plugin, you have to build out own pagebuilder
template parts blocks

Left hook, right filter – learn to develop like a heavyweight
Antti Koskenrouta

I will admit it. When it comes to hooks and WordPress, I conceptually kind of get it, but ask me to actually explain any of it and I am going to feel like a giant fraud. I just have not gotten the required experience writing this stuff to really, truly get it. Talks like this one are like an escalator for my understanding though. I don’t get the exercise myself but I do feel very elevated. It is always a supreme pleasure to see this world traveler share his deep knowledge with us all.

Raw notes:
Fundamentals and historicals
meet Actions and Filters
suddenly all this magic happens
WP way method to allow you to interact with core
Actions and Filters
Actions first
think of actions as verbs that describe what’s happening in the code
how do you do it and interact with WP?
add_action(‘name_of_the_action’, ‘name_of_function’, prioritynumber>=1, numberofparameters)
for example
add_action('save_post', 'notify_of_new_post', 10, 3)
sometimes you want to remove a function from an action
remove_action(‘name_of_the_action’, ‘name_of_function’, prioritynumber>=1)
Filters always have one piece of data called a value that is changed
filters have additional parameters that can give the value context
If actions are filters, filters are nouns
look the same
add_filter('filter_name', 'function_name', 10)
returns the thing you are filtering
remove_filter() is in core
there are a ton of default filters and actions, but you can create your own and plugins leverage them
priority conflicts, just runs in order it finds them (if all 10s just run in logical order)
Looking at hooks in action
if you ever wanted to display a title different from the post_title on a page?
override it without hacking template
old skool: !=get_field('alternative title')
how do we get ti cleaner
–code example–
when see all this stuff an look at headers and see weird functions, how does that work?
long road to learn it all
What to add “quick actions”
post_row_actions filter
page_row_actions filter
comment_row_actions filter
if you want to restrict which post typed this is applied to you want to use the second ($post) parameter and add an if statement
if $post->post_type == “the_post_type_you_want”
adding a custom link in “quick actions”
sometimes you want to remove quick links
look for the class names of the tags within “row-actions”


unset() inside your function
if you want to change header or footer without changing theme
wp_head or wp_footer actions
if you want to change the main query via code
pre_get_posts actions are awesome
why? Results stay intact, pagination will be consistent
How do I create my own hooks?
once you change something, don’t change it back
search for one in existing code, then just copy/paste to template
$value vs $arg1
function notify_folks
not as scary as you think it might be
think of your code as a story
stuff happens and things change
if you have a point where the dev or reader might say “that is awesome”
they will want to hook onto it, this is where actions and filters go so therss can hook in
adambrown keeps a running list of hooks for wp


Living Life Like an Iceberg or a Ship
Cory Miller

You are not alone.
Don’t go it alone.
I am so fortunate to be in this community. Having people who have turned into real friends and not just colleagues to do business with has been the anchor point that has kept me straight up sane the last couple of years. I am grateful beyond words for this talk and I hope many, many people get to see this recording of it.

Raw notes:
You are not alone
don’t go it alone
some things that happened in his life and how he learned to deal with it
does not go too far down the hole
does not mess with depression,danger there
iceberg 2010-2011
Above the line
for dummies book deal, $1M in sales, Backup Buddy
RV Road trip, Cool new office, Speaking at WordCamps
that stuff is all the PR version, all the good stuff showing
going through a divorce, slept in office couple of nights
absolutely miserable
first time I didn’t want to go to work
This was the stuff he was hiding
People didn’t know he was suffering, he hid it
Consequences of iceberg living
drifting islands
we get marooned and become castaways
icebergs can cause havoc to others
had to evacuate a town in Greenland from real iceberg
he became a hazard to others by carrying everything around just inside alone
We need a better way, a more compelling way to live
moving to a model
A ship on a journey
NOT a boat
ship is something you can not do on your own
boats can’t go on long journeys and you are alone a lot on boats
Ships are built for the mission
Well equipped for the voyage, compass, maps, navigation
needs a captain
in charge, in command, in control
a Captain does not abdicate
A ship requires a crew
must match what is going on in your life
as they were getting acquired, needed new crew
I WON’T try to do this by myself
Need an accountability partner
companionship and camaraderie
needs to sometimes push and challenge you
Who will rush in, while everyone else runs out
those people are your core crew
for the successes and struggles
2017 the seas were rough
was transitioning and was no longer going to be the owner
this was a big identity shift
he had attached so much meaning to his job
and then in April had a death in the family
young man grief is wicked, bad
the three we overlook or need to strengthen
Counselor, Coaches, Comrades
your significant other is your first of course
We need more people saying “i have a counselor”
We have to erase the stigma of mental health
need to be able to savor success and that is a good time to check in
coaches are look at the bright things you can do for other people
or push you to do more
he has a group of entrepreneurs who share everything with
those people rush in when others rush out
WordPress is a fleet
this is an amazing community
Smiles are free
just walked to halls and smiled
pike a ping, you are not alone
One step, one action you can take this weekend
move towards ship living
sea gets rough
one message, 2 parts
you are not alone
do not go it alone


My Session

Learning Markdown: 20 minutes that will change your life

I got to premier another new talk at WC Baltimore! This brings the total to two. I am sure there are other people in the world that can claim the same thing but this feels special to me. I don’t have a WordCamp San Francisco to call home so I have had to adopt a few camps as home and I always feel at home at this one. And nothing feels as good as playing on home turf, adopted or not.

I, of course, see a thousand places to improve this talk but overall I am very happy with the reception and feedback. By the end of the camp someone said they had started also writing their notes in Markdown. I almost cried with joy. I know that sounds silly, getting emotional about HTML shorthand notation, but I really do believe this one little, simple adjustment in process is extremely powerful when applied over time. Seeing people start down that same path I found, well it just is like no other feeling.

What can higher ed teach us?
Curtiss Grymala

I have said it before and I will likely say it in the future, but the heroes of the higher education space always amaze me. If it was just developer delivering enterprise scale solutions on shoestring budgets, that would be impressive enough. But that vast majority of these fine folks are also open sourcing their solutions so that we all, every single person on the planet, can benefit from their work. It is not a common occurrence to have to fight the urge to stand up and applaud in the middle of a talk, but I actually almost did that when he talked about this aspect of his and his peers’ work.

Raw Notes:
Mary Washington, mid sized school
Why WP for Higher Ed
Community/OSS – this is unique, very important to them
User Management/distributed responsibilities
What are we using it for?
many things like
* school site,
* blogging systems with thousands of blogs, self serve multisite
* Learning Management systems
* ecommerce/donations
WPCampus WordPress in higher ed 2017 survey results
by modern tribe
The issue is, everyone wants good, cheap and fast
you can really get 2 of these
You have the power!
it is as secure or insecure as you make it
Access – managing user accounts can be hard
Single Sign On can be great,
let’s people remove access for all systems, like WordPress, from IT
Manage roles and permissions, really think through that
Scaling is a serious plus, higher ed proves it can do it, no matter what you mean by scale
40,000 pages on a site
2000 site multisite
150K content contributors
not free but you have control to do this
250K tags, who is going to eliminate the unused ones? Not him
RSS was timing out, post experator (sp?) to move it out for News categories
about $100K a year for hosting
but if you have 15 pages at 500 visitors a month, might not need managed hosting
but he always recommends it, that is the way they are going
lost his LAMP admin and a new one came on
they were nice, but they didn’t have full resources to be a
outsourced to traditional provider
scale and security are really why
caching and automating updates
and fantastic dev resources
git integration
Multinetwork is an edge case, extracting multisites from this
central update systems to help with plugin updates and such but still manual a lot
Costs, you totally control the costs
license is free, hosting for a tiny site is basically free for a year with AWS
50K visitors, that is not going to be free
if conditional logic forms
ContactForm7 is outdated and there are better ones, no need for manual like this
all in though WP is dirt cheap
proprietary CMS can cost $100Ks per year
Sharing is caring, community is crucial
smaller communities built around
higher ed shares code more than enterprise
public institutions, lot of people feel work should be available to taxpayers
BoddyPress basically came out of City of New York university open work
Mary Washington opens most of their work
this presentation is open source JS slides
* _s
* Foundations
* Divi
* Genesis
Premium plugins he swears by
* GravityForms
* gravityPerks
* Toolset or ACF
* Max Mega Menu
* WP101
* WPPusher
* UpdraftPlus, WP MIgrate DB Pro, and/or backupbuddy
* WP Offload S3
Free Plugins
* Jetpack – be careful! can be unpredictable after updates, does everything
* pagelinks to
* simple page ordering
* Tablepress
* WordPress Github Sync
* WPMU LDAP Authentication
* NinjaForms
* Caldera Forms
* Plugin Activation Status
wphighed.org – full of resources, has not been updated in a while
UMWEdu github repo
slides at http//j.mp/hebiz-wcbalt18

Corralling client content
Lynne D’Autrechy

I don’t have clients where I touch content but I do end up having a good number of conversations about content given my views on shipping content and Gutenberg. I really enjoyed this talk and the idea of organizing content by leveraging forms is something I had not really thought about before. I also liked the shout out to the wonderful simple, distraction free, plain jane twentysixteen theme which I proudly use unmodified on my blog. The Q and A was very interesting as well, though I didn’t take notes on that section.

Raw notes:
No order to the content and its in more than one place
a solution should solve all these issues
3 tools
File system
commercial solution
Shared Folders and Files
Google Drive or Dropbox
not to THEIR drive or Dropbox
use shared folders to create an organization for the content based on the site architecture, site map
use shared folder accounts
You both have access to it this way
way better than email attachments
2 Just let the client add content to the website
create a website with a basic theme, boring
they don’t think about design this way
2016 vs 2017 themes, plain is better
don’t want them thinking “where will this eventually go” at this point
Front end: the client will add content via forms
don’t worry about formatting
Gravity Forms is what she uses
title, body and post manager fields
allow clients to choose what page they want the content to go on
Create one body field on the form, formatting not important
let them use HTML if they want though
You can use code to connect those
creating multiple text fields whose contents will combine to create the body field
use code to combine multiple fields into one body field before post is created
Give them appropriate permissions
back up several times a day is a really good idea on this path
create pages in your architecture
if you use page builders you can make page templates for this
3. Commercial products
GatherContent, she has had limited success but it is solid tool
set up for many different writers for content
overkill on a small team and small business
they go have a blog and resources page that is full of good info though
Creates a central repo
and create templates for your content for contributors to write and break up content into manageable components
customizable workflows
Migrate completed content into your CMS
Content Snare
she has not used it but reads it is simpler to use
templates ‘chasing and follow up’ you can schedule
Content snare hierarchical but need to copy/paste
fine line between making it convenient for them and efficient for you
shared files, WP itself,
shared repo of content
hierarchical content organization
formatting guidelines for the client

Wrapping Up

I love WordCamp Baltimore. It is not just because I really do like Baltimore itself. It is not just because I have debuted two talks here. It is in good part because this camp’s organizing team actually tries to improve to be more accommodating year over year by listening and adapting to feedback. This year I felt thy went out of their way to be accommodating and I could not be more grateful. Organizing takes a lot of work and actually listening to what can be improved and actually improving those things makes this camp shine in the sea of over 30 events I have done in the last year. Every other WordCamp should take note, this is what an event can be from an attendee perspective. Welcoming to all.

No matter why I next return, I am already looking forward to landing at BWI and again walking around the inner harbor of B’more. At the very least I hope to get back once again for WordCamp Baltimore 2019 and see those awesome turtles once more.

DrupalCorn 2018: The weather was gray and cold but the people were bright and warm

I have never been to Iowa. I thought I had driven through it, but on reflection, I think it is one of the states I had missed. I went to their capitol city, known as “The Hartford of the West” for the first time and the weather decided to just flat out not cooperate. It was the coldest I have seen a place this year and a light mist or fine rain stayed with me from landing to take off. Good thing I wasn’t there to see the sun, instead I was greeted by the wonderful heart and soul of the Drupal community as we gathered for DrupalCorn 2018

Food and Fun

Speaker Dinner

After getting settled into my hotel, I made the short walk in the cool evening air to Court Avenue Restaurant & Brewing where I was immediately greeted by so many awesome familiar faces and new faces that made me feel right at home. It was a great way for us to get ready for event ahead.

Game time

After dinner, the Drupal community did one of the things I always expect them to do at camps, we played board games. A wide selection was brought by a few amazing folks. It was an amazing first night but soon enough we had to part ways as day one and the early morning start were approaching quickly.

After Party

After the end of the first day of sessions we came together for a meal, a few drinks and a Cornhole Tournament at Big City Burgers and Greens. The staff was pretty friendly and they kept us well stacked with fries, veggie burgers and all the fixings, as well as a literal mountain of popcorn.

The cornhole tournament used a bracket system and there were winners for both most points and for most creative name. While I still think my team’s name, “ZETTAWITH3TEEES”, based on this XKCD comic, should have taken first on the name competition, we didn’t come in first on the points either. Still, it was all in good, good fun.

Friday game time

Yep, we played even more board games afterward. Drupal folks love board games.

Saturday night

While there was no ‘official’ after camp events, some of us put out the word that we were going to get some very creative burgers at Zombie Burger and Drink Lab which features items like “THEY’RE COMING TO GET YOU BARBARA” –
‘two grilled-cheese-sandwich’ bun, American cheese, caramelized onion, bacon, Zombie sauce. And my favorite: “THE NEGAN”
vegan patty, vegan bun, vegan chipotle mayo, guacamole, caramelized onion, lettuce, tomato, red onion (vegan)

After dinner we went and found some DrupalKaraoke. It was awesome to sing with my community and at the stroke of midnight, the whole place sang happy birthday to me, as it was my 40th.


Opening Remarks

Friday Keynote

Learning @ Work
Tiffany Farriss

It is a rare session that challenges us to think about how we are approaching learning and feedback. I really enjoyed this one because it dug at the roots of why we approach learning the way we do. Walking away from this talk it made me appreciate just how disruptive Drupal and OSS has been and how we need to continue to look for new models to improve int he future rather than just relying on the old ways we have traditionally thought of learning and education.

Raw Notes:
What lasts?
What can Roman Concrete teach us
centuries old, but held up better than modern
Palantir – she became CEO, more than a title change
Operational side is part of it
allowed her to focus how they deliver
Putting things out there and see change happen as things are shared
Success of a company is based on people, who leave, which happens sooner than you think
Average tenure at tech is 3 years
how do we succeed together?
A Sr. only hiring strategy is problematic for multiple reasons
Everyone loves supergroups, but they do not last long
not a strategic choice for a company
not sustainable
Sr. only strategy gives no advantage, then you are just a vector to getting short term teams together of rock stars
also perpetuates inequality
missing out on the pipeline and retention problems we already have
diverse teams outperform uniform groups
represent the people we are serving
Culture, the way we do things around here”
pattern of basic assumptions
needs to have a lens of past experience where we understand the past
a learning organization is an org skilled at creating , acquiring, transferring knowledge and at modifying its behavior to reflect new knowledge and insights
Individual learning is different.
taking individual lessons and boiling it up for long term team knowledge
Affirm, Inform, Transform
Iteration on how things work is super important
this is what good journalism does for us
Transformational leaders can see the advantages of tech changes
Napoleon, Waterfall approach to war
attrition warfare
‘to grind down’ losses are staggering, really bad for people
losses on both sides about equal
one side breaks rank, they lose position and resources and then lose
Napoleon kind of invented agile
decisive victory, with as few resources as possible
He invented Maneuver warfare, confuses decision making ability
cannonballs were not standard sizes, got that solved and they got better
faster to deploy and worked everywhere
punch through cavalry lines and infantry as a spear,
made a playbook that he gave to his lieutenants
Napoleon had first mover advantage
adjusted per situation
leveled up his combined arms approach
no new tech, just combined things differently
different mental model
taking responsibility 2000 individual websites vs building a platform
easier to do individual sites, you can do it in a day
faster to set up that way
takes a lot more complex modeling and collaboration to pull off a platform
in cases of scale, generates efficiencies
Drupalgeddon – solved in 5 minutes
but greater initial investment
must create a culture that promotes learning
our educational system comes from Napoleon’s ideas in the Prussian system
emphasize a good soldier strategy
obedience, duty, diligence, reading and writing and maths
this is elevating a tactic and elevating to a strategy
in the US system, same thing, gave rise to obedient factory workers
works great for highly structured jobs, like manufacturing
most of us are knowledge workers here at DrupalCorn
Solving things that can’t be solved by computers
don’t let the robots take our jobs, require critical thinking
only some people thrive in autonomous situations
how do we enable people to do this
“deeper learning” said IBM in the 80s
National research council created charts defined:
Cognitive, intrapersonal, interpersonal
Fixed vs Growth mindset
no one controls where we start
growth says you can learn and work hard at it
hard work makes you smarter
not about who you are
Michael Jordan became the best at practice
first in, last out, focused on fundamentals
Company needs to demonstrate a genuine belief in human development
open to receiving feedback and you give them training
talk about all skills as learnable
hire Jr. people and let people do new things
present managers as resources for learning
Perfect practice makes perfect
Malcom Gladwell – don’t waste your time with his book
10,000 hour rule
Pot Roast story
little girl, saw mom cut ends of pot roast, asks why
her mom didn’t know why, learned from her mom, asked grandma, she didn’t know, asked great-grandma, she had to to fit it in her old pan
not all practice leads to improvement
Naive practice – play mindlessly
not getting any better this way
even 10,000 hours does not make you improve, automated ability
Orgs don’t just ‘get better’ takes work
quality and quantity of practice matter
everyday skills – arrested development – expert performance
experts don’t waste time examining small pieces, they work in patterns
they see things as units
Double loop learning
blame game a lot, smart people do not like to be wrong
OSS is fairly used to single loop learning
try smarter, not harder
like Scrooge McDuck
if leadership can’t create “psychological safety”, not going to build trusting teams that can succeed
Members of a team:
* respect each other
* interested as each other as people
* not reject for who you are
* trust one another to have good intent
manifested as:
* seeking and giving feedback
* making changes and improvements (don’t stick to a bad course too long)
* obtaining or providing help or expertise
* experimenting
* engaging in constructive conflict or confrontation
Deliberate practice
creating the expert
have to become an expert then an innovator
important to mentor to gain even higher level of expertise

My Session

Let’s learn Git. No more excuses.

I really live giving this talk. I am convinced now, after seeing Jansen’s talk at WordCamp LAX that I need to strip out all the code and just focus on presenting the concepts in a more memorable way. I tried to incorporate more conceptual walk throughs vs commands this time and I really liked the improved flow. Next time I give this, I might not have any commands actually included other than add, commit and log --oneline.

A Drupaler’s Guide To Marketing
Drew Gorton

I have not seen this talk before, but being on the same team as Drew, I am pretty familiar with what he had to say. I tend to forget that not everyone has spent years floating in the same acronym soup I have. It was actually refreshing to hear the feedback and watch as people parsed out the meanings of some of the terms, really clicking with them for the first time. This is for sure a talk to share with any developer who is struggling to communicate clearly with their marketing colleagues.

Raw Notes:
More money spent on websites than ads
websites are the biggest marketing spend
breaks down ecosystem
wix to Drupal to Adobe
WP used by practitioners
Adobe is top down CMO decisions
Drupal is getting squeezed in the middle
google search prompting tells us there is a problem
the sales/marketing funnel
Awareness, interest, decision, action
many, many players and moving pieces of marketing
CMS is just a tiny fraction of the landscape
digital marketing lots of tech, many measurements
many acronyms
All easy,, learn 9 today
tools to understand the rest
CTR – Click through rate
2000 visits/5000 impressions = 4% CTR
CPC – Cost per CLick
2000 visits/$1000
$.50 PCP
CPL Cost per lead
$1000/80 newsletter (for example)
CPL = $12.50
are these good?
It depends, need to compare to history
compare to peers
CAC – Customer Acquisition cost
NNN – Net New Names
MQL – Marketing Qualified Lead
CLV/CLTV/LTV – Lifetime value
S/ME – Sales/Marketing Efficiency
For every $ spent – how many new $ come back
MoM – Month over Month
“CPL is down 35% MoM” example
There Acronyms seems confusing at first, can take some time to parse
but very doable
this all makes reporting easy
track progress over time, KPIs can improve
Sharing things you care about does not always work
“We typically improve our client’s Cost per LEad (CPL) by 15%”
this explains value in their terms
very interesting is their KPI metrics
measured things, shared insights, simplify reporting

Demystifying Diversity and Inclusion
AmyJune Hineline
Lisa McCray

Inclusion and diversity are hard concepts to nail down. At the core, the idea is simple, we want everyone to feel welcome in our community. But achieving that is a lot of work. It is good work, but work nonetheless. AmyJune and Lisa laid out small but effective real world things we do to actually make some change happen. It was a great talk and one to share with folks who are eager to help make their teams and the world more inclusive, equitable and just.

Raw Notes:
How are things all the same, tend to get more of what you got
but how are they different
making an effort to respect those difference is diversity
If we are talking about D7y in people
look at all the attributes of a person, not just one
more like this vs you may also like
More like this, optimizes similarities
looking beyond what is most similar
We need inclusion not just integration, or assimilation
treating people fairly means treating people with same result not same standard
Equality vs equity vs justice
Inclusive language – words matter
Parent, not mother or father
difference between sexual orientation and gender, but we are not talking on that today
pronouns can not be assumed
community, how do we do it?
Start with job descriptions: watch for ‘coded’ language that teds to appeal to specific groups and excludes others
think about process. Does it give advantage to certain people
Can you learn from it and move on
foster Inclusivity at events?
people with disabilities
19 year olds, what do they do?
Call for Papers
to have a more diverse speaker line up – you may need to invite a diverse range of speakers
Include a Diversity and Inclusion section in the CFPs
‘lift and center their voices’
Accessible Presentations
font size and weight,
content placement,
slide effects,
visual content that needs to be described,
mic or not?
inclusive body language
Be an ally
sharing pronouns
DD&I slack channels in Drupal
Local Accessibility meetups
Volunteer at local camps, meetups, and DUGs

Saturday Keynote

How to Fall in Love with Drupal Again
Matt Westgate

Matt literally has the experience of building something very successful and then burning out to the point of leaving Western culture and his possessions behind, only to return to keep making Drupal. I really enjoyed his presentation and his view of the world was just refreshing and honest. If you have been feeling a little detached and burned out on this space, watch this session recording and it might help you too.

Raw Notes:
Drupal Song
15 years of Drupal
Lullabot founder and Tugboat and Drupalize.me
Act 1 Falling in love with Drupal,
Act 2 Falling out of love with Drupal
Act 3 Falling in love with Drupal again
Core values of Drupal
* Be Human
* Collaborate Openly
* Have Fun
* Kick Ass
Used to have World Book Encyclopedia
year in review book annual
one day brought a computer home and encyclopedia got dusty
56K modem
Yahoo was his now encyclopedia
Saw source code and freaked out, fell into it
ended up on pagetutor.com
old school, notepad and HTML
taught HTML at library on his own
this is all around year 2000
Windows98 were available Apache, PHP, MySQL
Started a web company, Moment Design
built his own CMS
WYSIWYG editor, more time fixing pug than building features
started to resent the software he made
yahoo took him to Drupal.org next
didn’t get it at the time
came back to it later, the more read about the Node system
first project where he saw good documentation and modular architecture
emailing patched back and forth
maintainer text file, he got to be a part of it
Met John van Dyke in the etymology
fixed computer bugs for advancement of real bugs
John became his first Drupal mentor
wrote the first D book
Threw first get together in Antwerp
Acquia FUD
worry Acquia was the first large commercial factory
would they make their own closed
fought it,
was just being scared, it didn’t signal the end
JS came through
Drupal 7 changed things
Drupal’s place became the place for large scale digital experiences
not for the hobbies small projects anymore
He burned out, sold his stuff and went to a monastery
Learned to understand suffering
come from a place of abundance
Acquia made it easier to choose Drupal as Enterprise CMS
yes, And… thinking leads to better collaboration
You matter more than the cause
Jeff Eaton’s talk at DrupalCon Nashville
it is easy to lose yourself in a good cause because you are passionate
Drupal is people too
Watched a lot of people,
Creating Healthy Culture of Expectation
* Don’t glorify death marches
* Don’t punish boundaries when people exercise them
* If you notice signs of burnout in others, help
* Do more than Drupal
Life is the stuff that happens while you’re waiting for moments that never come

Making Search Work

I enjoy any talk that begins with asking you if you really want to do the technical thing they are talking about. I live the advice that ‘not all sites need search’ or ‘it is sometimes better to just let Google handle it’. To me this means you should be having discussions with your project leads around expectations to the point that they understand the technical debt such things would invoke. I understand the implementation details around Drupal search and options like Solr even better now. Great one for devs that are new to Drupal for sure.

Raw Notes:
We normally think of search as an afterthought
need to question the need
6 page marketing site, not real need for search
firs ting people think of we think at Google
everyone expects their site to be as good as Google and their 1000000 engineers
and enormous amount of data
Go to a site, look for careers
cmd+f (if not there, that is not good)
put it on the page
next: google – vml careers
google already does it, on small case just don’t put search?
good intuitive nav
Can I build my site without search? – keep asking
Spire website (natural gas)
Natural Language Navigation
just fake it and it suggests the best things
What do we want to search?
just content and titles only?
content type audit is needed
only search for full URLs, if no way to get to taxonomy page, no use
after understanding which entity types
example 4 different indexes on a page – summary page
search by index? Multiple searches?
sort by is important as well
relevancy is score from search term, number of times it appears mostly
Sometimes want to see recent, not relevant
want to make sure it can be themed
what do you want items to look like in a search result?
Tyson food site example
Mobile users matter, don’t just think desktop
Now we are sure we need search and know what to search
let’s Setting it up
Strategy 1. No search
Strategy 2. create indexes, not as fast as Solr and not as advanced at all
no distance or location services, but it works
Drupal.org uses DB search, set up right
Strategy 3. Solr – best in Michael’s opinion
Apache project
different search algorithms
Works well with Pantheon and Acquia
Strategy 4. all other options, ElasticSearch, Algolia, legacy Google Search Appliance
many more with APIs
Search API module ties it all together
lot of plugins for backend and front end
servers and indexes are outside Drupal and need to set all that up
Solr – need a service
again, Pantheon and Acquia have a service
Or go find it hosted, WebSolr (+1), Searchstax, OpenSolr
locally, you can set it up quick with Docksal
really quick and easy setup
Solr schema.xml file
it says what we can search for
found in the search_api.solr Drupal module

Views for solr environment
delay, default is 2 minute delay before query is available once uploaded
tab shows schema file
after set up server,
select bundle – the content types
not scanning the site every search, passing that to index, just searching index
don’t put everything on DrupalCron, use other crons for services
now we have to add fields, tell D what to send to Solr
Rendered output is what he always starts
render before send, this has performance issues
Good part of planning phase is to think of the use case of things people will actually look up
experiment and tinker until it does what they would expect
if not doing server side rendering, not going to index, searching is harder
turn on HTML filtering, not for HTML itself (FFFF might be part of something else)
can create facets as well
weight H1s and H2s in search as well
Search Views
creating a page or blocks
creating search forms, its’ just a get
sort criteria needs set, default is create date
make sure mark Sponsored
don’t forget ‘no results’ setting
‘no results spellcheck module’ idea from audience
Facets = filters done after search
Facets Module – works with Views
lot of flexibility
last part is pretty it up

Code Koalas Presents: The 7 Deadly Sins of Client / Partner Relationships and How to Avoid Them
Ryan Wyse

I am a huge fan of any talk that presents communication as the solution to issues. Clearly defining what people actually want and how we are going to deliver it is the heart of my belief that we can all work together better. I live the 7 deadly sins analogy as well, making this a bit of a sermon. It also was piled high with real customer stories, which help make this an essential talk for any client manager in your life.

Raw Notes:
Origin of the name
child’s koala toy they would hang out with while coding
Lot of projects
7 mistakes we made and you won’t have to
Really just one to rule them all
** Communication is everything **
Just saying ‘communicate better’ does not work
things pile up and time slips by and that bothers others sometimes
made him late
just communicating at 5:00pm when alarm went off was better system
** Sin of Nothing **
Drupal client taught themselves Drupal
they defaulted to communicate less when they were not getting enough feedback
read into what people are saying a little more
not wanting to rock the boat, tell people we are doing a great job
having ‘out of band’ meetings
Sin of the missing expert
bad project from there being no one really in charge or having any tech knowledge on their end.
must ID who is actually in charge
** Sin of Money **
conserving funds, non-profits and the like
communicating sense of money back to the team is the issue
Project managers can get into mindset of fast but expensive and hard to switch to slow but good an cheaper
** Sin of Complacency**
not thinking ahead. not innovating
companies can get into mindset of how it is, not fixing that
** Sin of Omission **
Sales calculator app in React
talked to sales, marketing and sales
built what they wanted
then 6 months of emails
later we found out, no one could actually deploy an app,
costs real morale
Beginning of project question “Who can say no?”
** Sin of Names **
Not all things mean what we think they mean
same word for different things
QA – some devs think, throw to client see feedback
vs bug in ie9, fixing pixels
what does that mean
** Sin of Deadlines **
deadlines are never real. They are made up
conversations in timelines
couch things like little changes before launch
understand what is really driving deadlines and who is looking
Q/A – pause costs

Why contributing to the community is important for your companies health

For me, giving back to the community is literally how we get to keep our jobs in Open Source. If the underlying code does not evolve and keep better meeting the user need, the user is going to find new tools to get done what they need to do. Turns out there are a lot more benefits, proven time and time again, that go far beyond just keeping our jobs when we donate time and efforts back to projects. Every manager in the world needs to see this talk and these data points

Raw Notes:
People in audience are already giving back
highly effective companies do give back
need to find something that aligns with your core values
will it help your employees grow
** Common myths **
* no time
* to many projects
* employees don’t want to
* so many people are already giving back
88% of employees believe effective employee engagement helps with retention
Successful companies give back!
* Connects your brand to the community
* Socially responsible
* differentiate your company form the ‘greedy’ ones
* People love sharing stories about give backs
* Boosts employee morale – people want to belong to something bigger than themselves
* Makes your community a better place
* Created new connections
Amazing marketing strengths of Drupal
* forward thinking
* independent
* great support network
* contributions from the smartest in the field
* customer focused
* checks and balances built in
* Big Brands use Drupal
Want traction, lead the wave
position yourself as an expert
just create it and let us all make it better
build agency trust – proven experience
Iron sharpens Iron – making the code helps you better understand all the code
builds your brand
lets you become thought leaders
What to do now?
might seem daunting to write a module, other ways to do this
* Submitting custom modules, if you write for yourself, other might find handy
* Fix module bugs, there are a lot of them
* Beta test modules
* build better design and UX
* Write instructions
* Write for Drupal
* Create default content
* Marketing
* Admin sorcery
much more than just coding
get people to sign up for Drupal accounts
comment on what works and what doesn’t work
They do Workshop Wednesdays, talk to help others do this
create success stories
be a Drupal champion, let people jump on your wave
Promote what you’re doing
Be the Expert

Docker Based Battle Royale!
Wilbur Ince

Many Docker solutions entered and many left. Spoiler alert! Turns out there are many tools and just like any tool, there is a right one for your unique set of circumstances. I have been swearing my allegiance to Lando but after seeing how much faster Docksal is on a Mac, I am going to be doing some deeper investigations. It was exciting to see the issues Wilbur overcame through the demos and I loved seeing side by side info on what makes each unique. I know I am going to end up referring a lot of people to this talk as I discuss local solutions in the future.

Raw Notes:
Promoting the Twin Cities Open Source CMS Unconference
In local dev we need a bunch of stuff
clone of server env, but other things as well
local dev tools
Gulp –
Composer – Drush
+ replicate across platforms
load of issues
No more asking (are you on a mac or PC or whatever)
The trouble with normal is it always gets worse
Bruce Cockburn
the old days
install webserver stuff locally
Great for solo devs, single project
onboarding is slow and messy
Multiple clients/hosts
Not so old days
build for each project
consistent and custom
Huge Files
Must be maintained
The age of Docker
we build an env from containers
containers are lightweight and swappable
add what you want
cross platform
customizable with config-code
docker tools extend Docker making it easier
Flightdeck – TEN7 Tess FLynn
Lando – Tandem
DDEV – Drud
Docksal – FFW
Start with Docker
there is a community and Enterprise edition
he has only used community
FlightDeck – bare metal docker
Alpine containers, works very fast
1 dir 2 files
no scripting, no DNS,
Docker4Drupal Complete docker based system
not lightweight, powerful but DIY
layered on top of docker
provides popular recipes
github and Pantheon Auth
great documentation
Pros recipes, Pantheon integration, Extendable
Command line glitchy
slow on a MAC
DDEV easy to config and install
easiest inti
good init docs
no DNS config needed
great basic install
slow on MAC
installs containers in a VM
Much faster for MAC users
easily scriptable
Commands to add functionality – fin addon install pma
Excellent browser tool
Shows ALL
super helpful
Docksal is faster on mac, just a lot
no clear winner, different tools for different teams
but Docker is the key to them all

Contribution Day

I love a contribution day. There is some discussion of calling them Sprint Days, as we have in the past, but honesty, I like the new name better. Feels less rushed and can better invite new folks in who would like to contribute. Huge thank you to the organizing team for making it possible and for helping some new folks get going with contributions.

I got the privilege of working with Dan Ficker on building some Tours for Drupal 8. I am working on a project called Dwayne’s Tours, super early stage right now, to just go ahead and build tours for the project on my own that can be shared and used as a jumping off point for people implementing tours. My biggest accomplishment, other than Dan’s PR, was building the README and the TEMPLATE to make it easier for folks to get going with making their own tours. I will write more on this but when I get further along.

Wrapping Up

I got to turn 40 years old in Des Moines. I have mixed feelings about it. About turning 40 I mean. In retrospect, maybe not the most exciting place you can spend a birthday, but as I said while there, if I could pick one community to celebrate this event with, I would have honestly said the Twin Cities and Chicago Drupal community. No offense to the rest of the communities I am part of, but it was just amazing to see so many friendly faces gathered around me who fundamentally believe, as I do, in this crazy Free and Open Source Software movement that is helping change the world for the better.
I am not sure I will be back to Des Moines any time soon, but I can say I have fond memories of it thanks to the people I got to spend time with. If I do go back, I a pretty sure it would be for a future DruaplCorn, the best named of all the camps.

WordCamp LA 2018: A flawless Jenga game and a mariachi band

Once more I returned to La La Land, a city I have mixed feelings about. There is lot of really cool stuff there. Some of the finest restaurants and most imaginative bars on earth. They also have a rich cultural history and just the loveliest backdrop of mountains and ocean landscapes maybe anywhere in these united states. Unfortunately this is all covered in a layer of smog and the most infuriating traffic in North America, which makes the people, well, let’s leave it as ‘affected by the bad parts’. These are the main reasons I moved away all those years ago. But I was very glad to be back for a brief stay because seeing my WordPress friends would make it all worth it as I got to go to WordCamp Los Angeles 2018

Food and Fun

Speaker Dinner

After spending almost as much time in a Lyft to get from my hotel to the restaurant as I did on the plane from SFO to Burbank, I finally arrived at Blue Cow Kitchen and Bar. It was awesome to be greeted by so many friendly familiar and soon to be familiar faces. If you know me at all you know I love hugs, so having so many people coming up and just giving them out freely is a happy time. There were plenty of appetizers and drink tickets on hand as well. Afterward some of us wanted to get our pinball and Street Fighter at EightyTwo a “A 21+ classic arcade and bar located in the Arts District of Downtown Los Angeles”. It was a wonderful first night.


There is a Starbucks on the ground floor of the Cal State LA Student Union but we got tolerable coffee from catering services instead. Snacks were not rolled out until the afternoon, so we were all ravenous when they wheeled out their lunch options. Going to say it loud and proud, this organizing team made sure dietary restrictions were honored and respected and still gave me awesome schwag. I know some camps prioritize the latter at all costs, but it is great when a balance for accessibility is achieved. Good work!


I know I am going to get to a point with this community effort where it is going to be so hum-drum that people got together to experience finely crafted plant based foods that it will not merit a mention. But for now, I am celebrating every victory and omnivore who says “wow, I had I had no idea you could do that veggies” after finishing an amazing meal. In the LA area, Pasadena specifically, there is a magical place called My Vegan that makes inexpensive and mind boggling good Thai and American foods that we could gather at for a fine meal before the after party. Plant power!

After Party

We once again returned to the Blue Cow and I got treated really well by the staff. It is the little things that matter in customer service and the speed and skill of their mixologists combined with those little things made sure we had a good time. We also had face painting, giant Connect Four and giant Jenga. I partnered with the video game and board game superstar legend Devin from BlueHost and we did not lose, instead hitting a draw as we more than doubled the size of the Jenga tower. It was something a lot of people never saw before and made quite the spectacle.

The location proved hard to find for Lyft, so we made our way on foot afterward to The Exchange where we had even fancier things and got to know one another better. This late night community building does have a cost and I knew the late night meant a tired morning, but honestly, I would not trade those conversations for anything. Not just this time, but every time. You are welcome to join us.


More of the same coffee, but we got the leftover snacks, mostly granola, snack bars and pretzels, first thing in the morning, so breakfast was sweet. It also meant we were not as ravenous when they rolled out a clone of the previous day’s lunch menu. Consistent and satisfying, I do want to applaud their catering team.

Some of us went back to My Vegan again before heading out


My session

Let’s learn Git. No more excuses.

This went well. I have given this enough times now that I am starting to see and understand patterns in questions and reactions from the audience. I am giving this a few more times this year and now I want to rewrite it with these fresh learnings making it more focus on the concept and strip out a lot fo the code examples. I’d love feedback on this if you have seen the talk or want to go through my slides for my Git talk. Feedback welcome! Thanks to all how came out.

7 Little Tricks In Your WordPress Settings You Might Be Missing
Gee Nonterah

We were all beginners at one point. And if you were like me you mashed every button there was to see what it did and to better understand the menu options. Some people are not like this and are actually scared of mashing buttons on things for fear of breaking something. Very fortunate for all of us there are wonderful folks like Gee who patiently explain these basics. I snuck in because, believe it or not, I have never actually methodically ever thought about the WP Admin screen settings and how new people would interpret them. While the session was great, I think the real value was the Q&A section, which gave newcomers the chance to ask any question around this area of interest and we all learned together.

Raw Notes:
log in
in side, find and click
adjust site title
adjust the tagline
you can tweak these
I help you walk more rubbery
not just another WordPress site
They is this necessary?
We want to look professional.
can have the nicest design
uncheck the box that says Anyone Can Register
You can change your date format and select YOUR time zone
Under settings, go into “Writing”
change default post category
you got 10-15 seconds to help someone find something or they are gone
Under Settings, go into “Reading”
latest posts vs static strategy
You can select what your permalinks look like
helps with search engine optimization (SEO)

The Dating Game: Understanding Price Anchoring
Nathan Allotey

The first talk I ever gave at any camp was about pricing, so this topic holds a bit of a special place in my heart. I met Nathan the night before at the Speaker Dinner and based on how awesome he seemed I had to go see how he approached this topic. Well friends, this was one of the most entertaining and well researched talks I can recall recently. This is going to be a ‘most watched’ talk after it gets to WordPress.tv. For a taste of one of the many things that made this talk awesome: He once build a landing page with value anchoring options to get a date. Real story. Real results.

Raw Notes:
Learned as a freelancer
Envato job got access to all tutorials and he learned a lot quickly
got MBA at University of Texas
now he shares what he knows
The Dating Game, been around for a while
host and contestant on one side
Is the show about dating? Mystery? Couples? What is it about?
Shares his client on-boarding process
email – email them back – background research – in person meeting is possible or remote – research – proposal
client would negotiate
client would accept and the scope creep
client would decline
he was spending too much time with the client in the process and not closing
Came across Cognitive Bias
individuals create their
Your brains take shortcuts to process complex decisions
MIT students survey Web only $59 or web and print for $125
68% 32%
web only print only 125 both 125
15% 0% 84%
price anchoring
common cog bias, rely on the first piece of information
only gauge people have for pricing is what they paid in the past
expensive compared to what?
I see price anchoring
anchoring appears in romantic comedies
all these movies introduce choice and perception
a date doctor/consultant
whole movie was about positioning
spoiler alert, it is so old it comes on TNT
Hitch meets a lady and his moves don’t work
he had been hurt
got serious once choice was introduced
his character was forced to act
introducing choice to your pricing, helps clients make a decision in your favor
The Steve Jobs Way
$999 dropped to $499 on the day it was introduced
gave a higher price to anchor and then lowered the price
Did that meeting even happen?
a dream in a dream in a dream
put ideas in people’s minds
price inception, is that a thing?
Carola, Camry, Lexus
A lot of websites that show 3 prices
contact us = a lot of zeros
free or premium
does it really work?
Nathan Logic: “If this principle works then it should work if I try it on something obscure”
back to the dating game
LA trip
true story
built a landing page for
it would be great to see and hang out with Rihanna
we can go to Ryan Gosling’s wedding
or get something to eat
Sunday go to church
position questions so your answer is yes in reply
and it worked
Price anchoring works and we see it all the time
how can we apply it to our business?
basic, plus and advanced level if you are offering service
basic solves the core problem
pricing to make some $
1x || 1.5x to 2.5x || 3x to 5x
what to make advanced?
think about what your clients request you don’t offer but end up doing anyway
offering WP tutorials for every version
you can white label it
anchoring the prices
month to month or annual
anchoring services, backups, etc
if you are interfacing with clients, anchor those services
original design files
preference testing
difference between customer service and customer assumption
Always user price anchoring when giving prie
use services which focus on increased value
make sure it is profitable to do so
define project scope in your contract based on the selected

How to start testing an existing WordPress plugin with PHPUnit
Behod Saidov

I will admit it. I don’t unit test. I have never once ran PHPUnit in my life other than a demo of it once. But then again I don’t really write plugins or deal with PHP all that often directly. However, unit testing is critical if you do actually write code and I intellectually know that. I went to this talk basically to understand the tooling and look for places where I should be testing if I do start writing more PHP and build a plugin. I mean build a real one and not just an example plugin. Grateful for a straightforward talk with a lot of easy for me to follow code examples.

Raw Notes:
make sure it works
you will have a safety net
refactoring becomes easy
when bugs show up, tests can be written to ensure that these issues are exposed
faster debugging and prevent future errors
can provide documentation for code as well
what do you need to start testing
UNIX based OS, hard with windows, don’t even try
PHPUnit testing lib
WP test suite
wp-cli (optional)
multiple ways to set this up
can take time to set this up
Maybe use VVV
scaffolding your test suite
wp-cli lets you do this quickly and in best way
demo inside vvv
what does it add
.phpcs.xml.dist – code sniffer rules
phpunit.xml.dist – testsuites is key to it all
searches for files that start with test- and ends with .php
search the WP test suite and runs the bash script
wo_test_dir and wo_core_dir
shows location of tests and core
downloads the required WP version, installs test suite
no need to run in vvv
important to do this on travis pipeline or the like
what is a test?
test are public methods that prefix with test
alternatively, you can use the @test anon
assertions are methods
used to assert an actual value matches an expected value
PHPUnit comes with a lot of assertion methods, some examples assertFals, AssertEquals, AssertNull
$this->assertEquals(4, $calculator->(2, 2))
integration for WP
WP methods
integration tests
write to a file
open a DB connection
do something over a network
DEMO, let’s write some tests for our plugin
factories let you generate things inside your code
it is hard to start
you need to motivate yourself
it can seem pointless at first
in the long term, you will see obvious benefits
see how catching mistakes and problems

Close Your Eyes: Helping See Value in Accessibility
Joe A Simpson Jr

This is one of the most important topics we are talking about and it should be something every single project, at every stage, should be prioritizing. Accessibility as an afterthought means it will never get done right. Doing basic checking is literally built into Chrome now thanks to Lighthouse so there is no excuse not to test and implement before you go live. But before we even get there, we should have aimed for best practices from the concept phase. Lighthouse is awesome but so is spell check. Running it after you launch and if you have misspelled half the words in a doc means you have done it very wrong. Not trying to make you feel bad, because I do feel bad myself about missing so many simple things like high contract and bad alt-text over the years, but I am constantly striving for better and really do believe we all should be. Thanks to talks like this one, I am advocating for this in all our work. Let’s include everyone.

literally close your eyes
he moved around
describe where he is
impossible for us based on him not making noise
lot of stats we hear about disability
today we are talking about it from a designer standpoint
are we designing for 1/5 less of our potential audience
ignoring 20% of users
wants to turn us into advocates
“There are no constraints on th human mind. No walls along the human spirit, no barriers to our progress except the ones we accept”
I always use the carpool lane as a solo driver
worth the risk
this is what we do for our designs a lot when not thinking a11y
maybe compliance lawsuits for ADA
eHarmony, Disney, US Dept of Education
this is the scared straight section
Web COntent A11y guidelines
WCAG 1999
updated to 2.0 in 2008, 2.1 2016
if you take federal funds, need to meet Section 508
almost the same as WCAG now
“We really like the brand colors we used. They are much more lively than darker ones” – not compliant though
simulating color blindness example
content is easier to see and hear when:
color is not used as the only way of conveying info or IDing an object
foregrounds and background color should contrast
WebAIM color contrast checker
“We have a very limited audience for this site and the design caters to them”
they didn’t want to make a mobile site
Headings, lists, tables and other structures in the content are marked-up properly
semantic content structure tells the screenreader how the page is laid out
don’t use Headers out of order, created screenreader confusion
YOASTSEO is great tool for readability as well
avoid ‘click here’ or ‘read more’ or ‘download’
these are meaningless
meaningful link text that described the content being linked to
underlying links is so simple but very important
bold for more impact
don’t put too much information
img tag already says it is am image
can be empty alt text if caption already suffices and a link
colorblind graphs
all same squiggly lines
use change shapes for each line
they present what we want to present to our clients
WP Accessible-ready” themes
an optional stage of theme review process that looks for certain things
keyboard nav
skip links
AIOA compliant
search by feature on wp.org
only 123 A11y ready themes on wp.org
wp Accessibility plugin
contact form 7

Gutenberg Q & A Panel
Lara Schenk,
Leo Postovoit,
Roy Sivan,
Matt Cromwell

Like all panels, we get to talk about something broadly but not as deeply we I would like. The team did a great job and special shout out to Matt Cromwell for moderating like a pro. While we may be split on good vs bad of The Gutes, we are having the conversation in a civilized fashion that I think is ultimately really, really healthy and will help us as things evolve. Unlike so many deep code changes that affect us invisibly, this conversation is very visible, but this is not the first of such conversations. The better we get at it, the better we will all be.

Raw notes:
why are you excited about Gutenberg
Lara – content with a designer in mind
Leo – the future coming together
roy – react coming into core, huge deal
what concerns you
roy – data, cool array? Not how it is saved to the DB
will make it hard to power a ot of other things without structured data
Leo – a lot of sites I have built will break on content alone
unless we train people right, we might lose a lot mindshare
Gutenberg Ramp
Lara – node models will take up all HD space
Likes writing JS, but how CSS works in Gutes, removed seperation of concerns
can be an ok place if standards are good, but bad practices are likely to sneak in
What about page builders? It scares me
Leo: Gutenberg Ramp
the future is more wide open, think beyond the page builder and base use cases for WP
reach out to the pagebuilder team and ask about Gutes
Roy: difference between Gutes and page builder
Gutes is content, page builder for layouts and around content
right now they are different
Pagebuilder is on the hook to work with Gutes, not you
Question: Worried about content and page structure
how will we interact with that data
Roy: Structured data, (question asker using ACF)
ACF is going to support Gutes, just released that version
has not played with it yet
data of Gutenberg – backwards compatibility is the crutch
you can force it to use structured data by hijacking the DB
Airstream use case
Gutes is agnostic to CMS< this is a failing of WP core
Lara: display in the editor to move around and configure

How To Give A WordPress Presentation
Jansen Henschel

Every so often you see a talk that is so enjoyable you wish it was on as a prime time special rather than in a room at a camp. Likewise you sometimes see talks that make you want to seriously level up your game as a presenter. Now, I have written and delivered many talks, even one about how to give talks, and know a thing or two. But this talk and the pure honesty of this young professional made me rethink a couple fundamentals I have been making assumptions about until now. My next talk will be better because I saw this.

My only gripe about this session at all, is not anything about Jansen or his subject matter, but it is with the audiences at his talks. When Q&A rolls around, there are questions that pop up that if you asked any other speaker, you would likely get a talking to about your professionalism. Rather than asking about his actual subject, and I think since Jansen is a youngster (almost 13 as he said at one point), people impose their youth experience and ask about his favorite subjects in school, video games he likes, what he wants to be when he grows up and other prattle. I honestly have considered asking those questions of other speakers since, but see my comment about professionalism a few sentences back. I hope that people are hearing and seeing past the novelty of a ‘kid giving a talk’ and actually hearing him. I feel that the majority of people did. Jansen dropped so many true wisdom bombs on us that I can’t wait until I get to see him present again. Hopefully soon.

Raw Notes:
3 main points
1 – be prepared
organize your presentation
what are the things you want stuck in their head when they leave
what sticks out to people ae the highlight
if at a loss
start with main points
take away from the presentations 3 – 5 points
critical that the audience knows what will talk about
there are 4 types of people
knowing how to use email to excel Google docs
some have not mastered their own phones yet
on beginner day a few
corporations and non-profits like universities
if for the beginner crowd
not enough knowledge to
may be not the best coders even though great at design
classic design
may not be as knowledgeable
UX or UI better though maybe
intermediate person
have a website, but not much traffic going to it
what is next stage
business and marketing
plan for them they know what they are doing
looking for specific solutions to their problems
coding and marketing are pros
looking for more clients
not everyone fits into these groups perfectly.
general idea
Last year was about beginner, design and intermediate wordpresser
learned but maybe forgot
if people have take out their slides
lot of drawing in
also avoid having your slides be an exact copy of your presentations
slides should support of what you are talking about
or image expressing the idea
you can’t plan for everything
slides mess up with projectors
do not trust anything WiFi
give them one forever contact
you never know when someone will watch
you never know why they will watch
a forever contact info you
don’t attach it to your business
businesses come and go
give people all your information
people come to conferences for the experience of the presentation
make your presentation seen and heard
something funny or interesting to set your apart
people a there for information
2 – Even your nervousness wont keep you from giving a great presentations
Don’t be nervous does not work, cause you will get nervous
days leading up to the event
mac and cheese
mom said we are all supporting you
thought it was just him mom
then someone in community said same thing and he started to believe it
I want to be disappointed
they want to see a good presentation
you might think you will fail but that is just your nervousness
anti nervousness measures
read it aloud
to yourself out loud
notice all the things wrong
time dress rehearsals to adjust to time slot
introduce yourself to establish a connection and build confidence
don’t let other noises derail you
speak loudly
to be heard
do a sound check to establish
if writing a joke into it, leave a pause
don’t talk over their reactions
you might be talking too fast or being fidgety
pauses help people catch up
don’t speed through your slides
when asked a question, repeat the question
recordings can’t hear the audience as well as you can
loot at the audience
even your nervousness won’t keep you from giving a great presentation
point 3
tell your personal story
you might think you don’t have enough to say but why are you here?
why do this stuff?
the hard parts are the compelling subjects
some people don’t want to admit they got stuck on something ‘simple’ in retrospect
but everyone goes through it
hard to code at first, but went to forums
figured it out
hard lessons around setting boundaries at beginning
WordPress or any community constantly needs new blood
often he is the only kid in the room
never think that you are alone and no one wants your knowledge
bonus section
write down all your thoughts
just write down all ideas
get everything down
write down main points, what you learned
number them
if you have a funny or vague
if people seem confuse they stay confused
people remember stories
when people get stuck, your ideas can fly out
use or lose them but just write them
if stuck, do something you don’t really like but is a chore
free your mind when the body is working
brings up new ideas
even if you can’t think up something new at least you did something productive
“Dealing with difficult teammates” sample talk
1. main point
1. supporting fact
2. supporting fact
3. supporting fact
2. main point
1. supporting fact
2. supporting fact
3. supporting fact
3. main point
1. supporting fact
2. supporting fact
3. supporting fact
what do you want people to remember
be clear about your work
understand your coworkers
don’t be afraid to ask for common decencies
basic overarching story and main points
the real conclusion

Gutenberg & Custom Applications – How do effectively build apps powered by Gutenberg
Roy Sivan

Roy gives talks that make you stop and go “oh, that is what is possible with these technologies I have heard about.” The opposite of this is talks that focus on the new tech itself without applying it in the real world on large scale production sites yet. He highlighted his work with Airstream on a current project using his version of what you could call “Gutenberg customized fields” I think. Actually he calls it Gutenberg Object Plugin and you can install and use it yourself. He also did all his demo work on Pantheon and gave people access to his work in a fun and engaging manner. This is going to be an interesting conversation once it gets to WordPress.tv and I am looking forward to citing that link in future conversations.

Raw Notes:
Users don’t care if react is there or not
2014 at WCLAX
WP as an application framework
RestAPI was in it’s infancy
no one remembers
today, the same talk with Gutenberg in place of the WR-API
explanation of Gutes
will come when it’s ready and that will be OK
start rant
love and hate come in
Well structured JSON looks like objects
code example
use that data everywhere
democratize how we use the data
iterate through your posts
same category
data looks structured NO
comments in code is structure
but isn’t that an array of data?
needs to be backwards compatible
greatest thing and worst thing about WP
Gutenberg Object Plugin
built after WC San Diego
hijacked ‘save command’
puts into own custom table in MySQL

get data, put data and array of any blocks
case study Airstream
retro look company
building anew site
latlong is digital agency did work
contracted with Roy
WP and Woo
Headless React
Gutenberg & Woocommerce
most of the time they are not friends, like Tom and Jerry
no WooCommerce templates
all react
tweak for Woo disallowed Gutenberg
you just have to turn it on in a deep deep buried undocumented function
Power of react
He built a custom upstream
on Pantheon

Wrapping Up

I spent a lot of times in cars in LA and thanks to the talented driving skills of Roy, I got from one location to another without having to be completely at Lyft’s mercy. There is no ‘there’ in LA, since everything is spread out so much. It did feel like I went many places but looking back, no more than a normal trip. There were a lot of highs and a few ‘meh moments throughout it but I overall really enjoyed my time in the City of Angels this time around. I have no plans to return to live in LA ever again, but as long as WordPress folks are around, I will have reason to return. Already looking forward to WordCamp LA 2019.

WordCamp Sacramento 2018: Beautiful warm, knowledge filled days and very cool nights out with the WP family

Once again, I did not have to fly to an event, something that happens so rarely for me I lead with it on the blogs where it happens. Returning to The Big Tomato we were met with the most idillic weather I can imagine. Special thanks to my colleague Alexander who actually did the driving. There were a number of reasons I was exited to come back: the sessions, giving my newest talk and such. But the community coming together and watching new connections get made and making introductions that went far beyond just technical conversations is what I feel is really at the heart of my special feelings about WordCamp Sacramento 2018

Food and Fun

Speaker Dinner

The first official act of most camps is the getting together of the speakers and sponsors and organizers and volunteers who make the event happen. Same as last year we returned to the pretty awesome Hot Italian to get some pizza, drinks and a choice of gelato or sorbetto. I had the latter as an affogato with a creamy double chocolate nut cream based gelato. It was spectacular. The conversations were wonderful and the staff was downright awesome. Stop by and give them some business if you are in the area, they are doing it right. After closing this out, some of us went to enjoy the classic video games and pinball offered up at Coin-Op, the local brewcade. Very happy to say that with the help of a pocket full of quarters and the talents of my friend Jamie we beat The Simpsons Arcade Game. I played as Homer.


The Sacramento Convention Center coffee is not bad. But it is not bad in the way Folgers is not a bad brand for that it is. There was a Starbucks open for those that wanted a step up. This event is also known for it’s copious amounts of snacks. All the sponsor tables are extra long to accommodate plastic punch bowls full of candy, energy bars, and all manor of packaged sugar. It is pretty delightful and I never felt like I was more than a few steps away from sating any hunger pangs.


The way the schedule works for this camp, there is only lunch on day one and they want to accommodate everyone. They accomplish this pretty well by giving lunch tickets to get pre-selected items from food trucks they bring to the nearby park. The lines are a bit long but the weather was absolutely gorgeous and gave us a chance to eat outside and fellowship while eating a variety of options. I had a pretty good extra crunchy falafel on rice with a salad.

While the lines themselves are never anyone’s favorite part of a meal service, I do want to applaud the WordCamp Sacramento Organizing Team for ensuring that all food allergies and preferences would be able to be met. This is so important in the idea of inclusion and welcoming everyone in. Waiting a tad longer for better food is a welcome price to pay to make sure everyone can be fed.


WordCamp Sacramento has faced the problem of the afterparty and landed squarely on the side of ‘make sure everyone is safe and does not have to travel or wait around to network after the event’. By this I mean the afterparty is a networking reception immediately following the last session and light appetizers and very delicious agua fresca was served. Part of me really likes this approach because it encourages people to talk about their shared experience while it is happening and gives people a way to connect without the pressures to go to another location where alcohol might be a factor. While I am a fan of drinking myself, I am very aware that not everyone thinks that way and I am glad this event is another example of their commitment to inclusiveness in Community, which was the theme this year.


I never want to sound preachy, though I know I most certainly come off that way fairly often, but I get very excited about the fact that more and more people are turning up to these self organized WPVegan events. I put up a call for dinner and several folks I had not yet met and some old friends joined in for a special treat of a meal at Capitol Garage. I love their tofu ‘wings’ and the cashew based western patty sandwich is super filling. Also the staff was out of this world nice to us. They were so nice that I even went back the next morning for a snack and some espresso before the day of sessions. Thanks to all who support more sustainable and more delicious foods.


I honestly did not think the karaoke quality could go downhill from the Denny’s from last year, but there we were.

Note about the hashtags

If you are at a camp and want to make a hashtag happen, then just do it. What WCKaraoke and WPVegan has taught me this last year is that you are very rarely completely alone in your thoughts and beliefs in the WP community. Expressing your desire to want to get together and hang out based around a common interest is a great way to include others and to meet wonderful people. You might even get some new people excited about the things that make your excited in the process.


Coffee was coffee again. No lunch was served due to the sorter, later starting schedule. But there was an afternoon snack break planned which offered hot pretzels and brownies.
No tweets of this break exist that I can see, so here is a snack related one.


Opening Remarks

Leverage Linting To Be A Better Developer
Matt Vanderpol

As a developer, there are things that you wished someone would just sit you down and explain. This was a shining example of just that. This is the second time I have seen Matt speak and both times he flat out impressed me with his no-nonsense approach to just telling people the truth and hard facts of what it takes to be better at professional software development. In a very sincere manner, he laid out what Linting is and more importantly, how you will benefit from it. The bulk of the talk was on actual implementation details and people around me were taking a lot of notes.

Raw Notes:
(missed first few minutes)
Benefits of Linting
Catch bugs
Enforce best practices
ensure return
no arguments (about formatting, just focus on code quality)
Let’s look at Process Flow
and adding to existing project
Resources (slides are going to be available)
Many goals for this talk, the biggest is to be a jumping off point
* Edit –
* Lint –
* Report
do what works for your project, this is not the ‘one true way’
Rules are the lynch pins of the project
formatting rules – cosmetic, spacing, indentation, etc
code quality rules – how long should functions be, variable name standards
the second one is harder
Inline config
ignore or Tweak
* special comments
* by file
* by block
* by line
//this is an inline comment
IDEs can show your errors as you work
rule sets are most often predefined
indenting is that tab or spaces, that is example
Reports show you where the problems are
3 main things
Report errors
Autofix is a thing, but it changes things without you
prettier (is a program for this)
up to you, he does not like this
* stylelint – node based solution – fast (the one we will look at)
* scss-lint
* sass-lint
Config file for stylelintrc.json
JS COnfig File
webpack with bable to es6, es5 is shipped after minification
extending an existing rule set
options to config specific rules per
PP ruleset
* WordPress
He would start with WP, easier to learn,
not parallel, different but accomplish basically same thing
PGP Config File
rule sets are like plugins a bit
Errors and warnings work the same in the PHP-code-sniffer
everything with an X can autofix in the tool
auto add parenthesis for instance
flag ot show the sniffs by instance and the code
add to existing project – can be a fairly big activity
Autofix is nice to clean up low hanging fruit
run linter again
then you are looking at things that need conversation and decisions
ignore entire files?
Ignore specific rules in file?
Fix Everything?
Existing – lint new code!
if you want to exclude or ignore old code, thats OK, but going forward LINT!
sample theme is available screaming-fist
Code quality measurements
PHP Unit is the standard!

Better Search And Beyond: An Introduction To ElasticPress
Vasken Hauri

Vasken and I met a few years ago and I knew that if he was presenting there would be a lot to take in. This man is a wealth of knowledge and it is a very rare event where I get to hear him speak. Elasticpress is something I hear about pretty often and have to speak about. While my current employer does not support it directly, opting for [Solr], I still think it is important to understand the tools the community is using overall. This talk is exactly the crash course I would send people if they ask me in the future. Can’t wait for this to get to wordpress.tv

Raw Notes:
What is Elasticsearch
open source java based standalone DB and query engine based on Apache Lucene
Designed to do queries WP can not do out of the box
Restful API
Relevant Results, Performant aggregation and is much more!
Running it
Own server with Docker
Or get 10UPs Elasticpress tooling
amazon has a thing
Basic search functionality
If you install ElasticPress and all WP Search queries run thoguh it
but is that all you want?
can be used with any taxonomy (Categories, tags, or custom)
Helps visitors focus in on content they’re looking for
great alternative to traditional keyword search
designed to fit into your theme’s stylesheets
WooCommemrce integration
Great for search faceting and findability (fuzzy matching, etc, helps people find stuff)
also for searching past orders
easy to add things iteratively over time
let’s break mysql
start with a million posts
add a healthy sprinkling of revisions
store some useful, queryable data in taxonomies and metadata
query is reasonable from business logic is not good computer logic
can blow up very quickly
if you add one line of ep_intergrate a the top, very fast
filtered search
Specify meta and taxonomy fields to include in your search
Allows you to create buckets
improves complex queries that are impossible in MySQL
multi-site search
pass sites-all and search them all
related content
ep_find_related($post_id, $return = 5)
Document search
got a legacy process that involved PDF or Office docs, now that content can be searchable in WP
Requires Ingest Attachment plugin running on the ES instance
Other features?
protected content: enables to index non-public data from your WP install
Autosuggest helps searchers find what they are looking for
NB: this does require that visitors be able to directly access your ES cluster
filter events within a geographic range
sort event by date
aggregate by event types
Things to consider
retrieving specific post from DB works fine, don’t use ES for this
not everything is faster
ES does not do security. anyone can index anything, can delete indexes
no native permissions
you have to lock it down
Debugging EP
tons of plugins for this plugin
see what is happening behind the scenes
Advanced customization
ep_config_mapping enables field mapping and tokenization
ep_register_feature() lets you add own features int he same way as WooCommerce module, protected content an others

The Biggest Design Problem I’ve Confronted Is Project Management
Chris Ford

No secret that I love talks about Project Management. As my career path pushes me further into this realm I can honestly say if it were not for talks about the PM role at WordPress events and Drupal events I would feel way more lost than I do. Chris is a wonderful presenter. She laid out how she went from designer to PM and how her previous experience and specialization allowed her a unique perspective that helped her better communicate with her team. While it is easy to open a slack channel or email thread, it is not so easy to actually actively listen to what is being said and to meet people on their wavelength all the time. A look a the basics of design is a great way to think about the basics of how a team should communicate.

Raw Notes:
Her background is not PM
it was design
what she learned in design helped her succeed with PM role
Principles, processes and presentations
Number 1 is Empathy
for her this mean to actually care about people
bedrock of design
have a genuine interest
be flexible
this is an under appreciated part of Empathy
if you ‘decided’ what the solution is before understanding the problem, can’t be empathetic
Communication is another key principles
shared language
Using asana has helped standardize language
a project vs a task
active listening,
don’t just wait to talk
clients are paying you to listen to them
had a watershed moment where she realized if someone didn’t understand what she was talking about it was her fault, not their fault
this small shift changed everything
everyone brings something to the table
Collaboration – we have to work with other people
Process – design thinking
not showing the arrow thing
a few been very helpful
Define the problem
if you don’t know what you are solving you will never solve it
observe, research
Test Everything
Iterate often
things change over time and that is how it should be
small changes
frequent feedback
this is key to everything
a 5 year plan is real
not stressed about things she has not done yet
Visual hierarchy
let people know what is important by showing it
borrow/steal design ideas from other projects
4 page checklist for Asana
Use templates!

The Benefits of Continuous Integration
Andrew Taylor

Literally everything I know about this topic is the result of either Andrew’s or Steve Persch’s work. In fact, in my Postitnow project is built using Andrew’s example repo for BackstopJS training. It is always a pleasure to see him speak and this is my favorite delivery so far. This is one to watch for on wordpress.tv

Raw Notes:
Maintaining sites is the what we are doing
update a site, see is it the same site,
did this update break things?
slide by side
easy to miss small things, like padding issues
world of updates and testing
should update, but do we always check all features?
trying to not break production
client signs off on things once it works
need to make sure it worked before the feature
the ideal workflow, make change and then fully test site
do not let bugs out
but changes happen frequently
changing things is boring!
manual testing kinda sucks, adds up quick, lot of time
Make the robots do the work so we can be lazy but still have the benefits
Tools make this easy
WordHat, Lighthouse, Backstop
What I want to be doing is fix what the client thinks is broken in production
not looking for the breaks
CI servers, Travis, CircleCI, GitLab runners
script and defined workflow
if you run gulp, grunt, webpack locally
can have this done from a CI server
VRtesting does have limits
noise is an issue
automated Workflow Examples exist on his github
rigged for Pantheon, but you can mod to use any staging environment
reduced overhead
we don’t do manual testing every time because there is too much work
reinvest your time to automate more things, just analyze test results over time
consistency. Team wide.
gives us confidence!
reliable communication
git to store Jira tickets in commits
don’t untangle things and hunt for things by hand any more
get Jira to update itself
thinking deeper about the update process
update and then repeat on all sites
automating this means we can scale this
make this run while I am focused on other things
occasionally things break , but we know where and we fix and move on
test on every change, automate your tests
enforce the rules
upfront work
outweighed by long term benefits

Solving Content Reuse And Syndication
Jake Goldman

Jake gave a talk at WordCamp for Publishers 2017 that changed the way I thought about decoupled systems. Jake returned with a talk that wonderfully detailed the problem set of publishers who need content distribution across multiple properties. While the use case itself is fascinating to me, the solution, Duplicator, that he and his team at 10UP have built is just as interesting. I guess I am just trying to say I really enjoyed this talk.

Raw Notes:
Uber example
blog in a network
blogs have different editorial staffs and methodologies
don’t want to give editors world wide access
but also want freedom per region
if publish in one region how do we reuse content accross the newtork
9to5 network
electric, 9to5 Google, etc
6 different sites across tech/lifestyle subject matter sites
don’t want to become a generic tech crunch
in their feed they want to highlight something from another site
have that link directly back to the original source to cross promore
Bloomjoy, syndication network
work with a lot of lifestyle brands, a lot of them
most large properties have more than one property
Promoting content across sites
pushing from content staging env to prod
new content types, news releases, whole set of publications and push all at once
challenges and opportunities for them
editorial efficiency (UX)
maintaining and managing copies
SEO issues around attribution to original source that does not double count content
meta tag – rel=”canonical”
this solves this
Authorship & “Users”
do you create author for Jane Doe on all the sites or just the original site
one solution to rule them all
2 modes to think about how to distribute
1. push it our to all the sites
2. pull from other content providers you can pull into your sites
Adds “Distributor” box in your wp-admin
Clean UI
other concept – connection types in the tool
sites distribute to and from other sites
internal = inside multisite
external = site to non-multisite site
internal, all access is maintained based on previous settings
for external, one authenticated connection you create
at creation time setting rights and access levels
Distributor MUST be installed on all sites to work this
exposes the REST API in a novel way
currently support regular REST API
and the wp.com REST API – slight variation
if you want to get fancy can make own connection types
Drupal, AEM, Contentful
would love to see other people build and use these
connection to product catalog
custom content distributor UI (Associated Press)
RSS feeds and etc
Body, Media, Taxonomy, Metadata
content – different plugins and blocks on different connections
solutions is ‘rendered’ and ‘raw’ content body are both shared
by default, we try to be smart about this based on what editor is where
you as a dev can override this
render as HTML if missing block
Media – content with a lot of media can be very slow to copy and time out
canonical URLs in body
solution: copy featured image,use remote images in body. Option to copy “attached” media, Hooks and Filters
Road map: intelligently scan and update body for local assets
smarter for things like timeout
Different sites often classify content differently
send all the taxonomy
for now hooks and filters
road map – set ‘right’ taxonomy at time of send
Metadata is the full one…
common to say “here are related story with post ids” breaks if post order is different
dev: Hooks and filters metadata
Road map: add build in support for poplar plugins and solutions that rely on meta data
example: ACF
tool auto checks if post type before syndicating
fundamental, all copies get updates from original version
content managers are forking the original
locked by default on destination
can unlink it and then edit
users, replace author name with name of the site it came from with link
auto handle meta tags
SEO correct
YOAST SEO assumed and compliant
support Gutenberg (Beta right now)
designing with extension in mind is key to all their work, seriously here
can ignore hierarchy from a code level
not all networks are the same
modify content behavior
add attribution before it goes out.
good road map laid out, wants to get more devs looking at it
free to use, is behind reg
would love more feedback

Accessibility: Beginning The Journey
Ben Byrne

“Make your sites Accessible. You don’t have to tackle it all at once, but every little step in the right direction helps.” says Ben. Every time I go to any talk about this subject area I learn at least one new thing that helps me improve my site moving ahead. This time around I learned to never link text that simply says ‘click here’. Someone using a screen reader to just display the links from a page will get a lot of unhelpful ‘click here’ links they will have no idea what to do with. Small things and incremental improvements make all the difference in the long run.

Raw Notes:
Not full time job is focus on A11y
but it is a full time concern
let’s clear up some expectations about who a11y is for
issues are common and not necessarily permanent
he does not know a real % and ow that math works,
maybe who is using a screen reader
focus on the ideas
when some people hear about a11y, they think permanent situations
not always the care
visual impairment
auditory impairment
grampa holding a baby vs autoplay
cognitive impairment
might be really tired or you might be a cat
Why care?
search engines
nobody wants to limit our reach, want all users to use your site
when working with non-profits, strings attached, if not a11y, no grant $
withdrawn $ and government issues and lawsuits if you are dropping ball on this
Section 508
W3C WCAG 2.0
levels A, AA, AAA
needing to meet AA is largest chunk of customers
AAA is highest standard no one feels need to get there
2.1 is coming
19 new things added, not revise old things
the basics!
not final total checklist
use ALT, TITLE attributes
keyboard navigability
mindful of TABINDEX
skip-to-content link
remember doc structure
use semantic HTML5
<nav> <aside> <main> etc
be mindful for good A11y
use descriptive titles, headers, and link text
never use ‘click here’
do not reference this by position
see sidebar at left
we live in a responsive world, left, beneath are not guaranteed on all screens
no autoplay, ever!
captions on video, audio and other non-text content
no images of text
in code:
indicate language
don’t have major errors
Gracefully handle zooming
Spectrum – another good tool
simulates different colorblindness situations
WCAG contract ratio analyzer
other tools
AXE (from deque systems)
this is not a binary problem
it is a spectrum
journey is never complete
Compliance is not everything
the UX is that matters
Every step is good
as long as it is forward
don’t feel you have to solve everything at once.

My Session

Shipping Content With WP-CLI

I really had a great time giving this talk. This is, by far, the most complex talk I have ever attempted. I was able to refine it after presenting this back at WordCamp Montreal earlier this year and glad I did. I had really good conversations around this after the talk and I was delighted a couple project managers said they had new ideas to take back to their team to save valuable time. One person mentioned they wrote down 5 terms they had not encountered before and they were going to research these as a way to improve. It might be the last time I present this to be honest. The star of this talk is good ol’ fashioned BASH and I really have a desire to help people understand that as a topic next. Stay tuned.

Wrapping Up

This is my local WordCamp. No, it is not in my hometown, but that is the truth for so many people that come to any camp, traveling from their homes and routines and loved ones to a city they do not actually live in. They come from miles and miles around to share their knowledge and to rejoice in the community of WordPress and FOSS. This year was a great one, with so many new people to meet and so many new things to learn. I am so amazingly grateful for the chance to be a part of it all. Cant wait until next year for WordCamp Sacramento 2019

Drupal GovCon 2018: Contemplating cicadas in the warmth of some perfect summer days

My trip back to The House of Mercy landed first in Baltimore, which one of my favorite places, though it did not give me a chance to visit the town proper, just BWI. As I landed I thought I was meeting two of other Drupal enthusiasts who where going to land about the same time. Only, they had landed at Dulles. Fortunately this was one of a limited handful of miscommunications I experienced upon my return to our nation’s capitol metro area, specifically the Natcher Conference Center at the National Institute of Health for Drupa GovCon 2018.

Food and Fun

Tuesday night fun

Though I had missed connecting with other fliers at the airports, this was quickly remedied by a call to come to dinner via twitter from some of my favorite people in the world, the Drupal community! We gathered at World or Beer which is not where you think it is. It is behind where you think it is, as are many addresses in Bethesda. That aside, it was a great way to kick off a wonderful week.


Getting into the Natcher Center is an adventure in the same way dealing with the TSA is an adventure. Many guards carrying walkie talkies and a long line of metal detector/x-ray machines. After that, a short set of questions, an ID scan and a visitor badge is printed out to be displayed the rest of the time you are on the federal property that day. We get to repeat this feat each morning. Not painful, but this is the only event I go to where security is this tight.
Coffee and teas awaited us including some sponsored iced coffee, which was super appreciated in the summer heat. The morning whipped by and soon enough the familiar extra long lines of lunch that happen at this very well attended event emerged. The food was Middle Eastern, with some terrific falafel and some remarkably good baba ghanoush. I wish I would have written down where it was from.

Opening Reception

Rather than a giant end of show blowout after party, GovCon chooses to do an opening reception to celebrate sooner and give us a chance to network earlier in the event. We returned to Brickside Food and Drink. I must applaud the food selectors who made sure a vegan falafel was made available, which got immediately consumed and left piles and piles of chicken wings at the end of the night. Perhaps a sign that the scales are tipping away from meat faster than many meal planners have anticipated.

Some of us extended the evening’s celebrations a tad further as well, ending with some impromtu DrupalKaraoke


Thursday was a repeat of Wednesday with the coffee and the lines. Traffic flowed better since it was a box lunch option this day. I had a hummus wrap with many fresh veggies crammed inside, rounded out by local favorite Utz chips.

After the day of sessions, some people gathered for a Game Night. I just wanted to note it here, I did not attend.

Instead I got to go with many other Drupal folks to Smoke and Barrel, a location that is famed for it’s super tasty vegan options and well curated whiskey selection. Some of us ventured out to see some sights after that, including a stop by the White House with our new friend from West Africa who’s giddiness over seeing this so close up was downright infectious. We learned a lot about all the presidents that night too. It was a night to remember.


The morning was slower feeling as is the last day of a conference in general, but coffee perked us up and we got a picnic cookout for lunch with Boca Burgers and some wonderfully ripe watermelon.

We were treated to some cupcakes by the fine and outstanding Joe Crespo of ATEN Design.

After the daytime learnings on the final day, the Speaker/Sponsor dinner was held to give those of us who volunteered and organized and sponsored and did all the things needed to make a con happen a chance to unwind and connect one last time under the banner of the event. We returned to Birckside once again and I got to show off my skills at the first few levels of “Mike Tyson’s Punch Out”. I admit, I completely forgot how to defeat Soda Popinski. Some of us went out after that to some other foods at True Foods and out for some more fun after that.


Adam Bergstein

We need to get organized. Seriously. We are at a point where we can continue to complain about the state of the world or we can actually spend the resources and time to change it. Adam laid out a solid outline for a path forward if we really do want to make sure the community grows and evolves to make sure Drupal exists far into the future. There is a much needed conversation around this and I applaud Adam for pushing it forward.

Raw Notes:
Hero’s journey
Seriously impressive scale
work not done yet
old learning curve joke
still true though
hard to learn Drupal
on top of the base tech, D has its own querks
hope the learning curve is not eternal evergreen
fighting the good fight
ninja turtles overcome adversity
inspire us
Hero’s journey
Act 1 separation
act 2 descent
Act 3 initiation
Act 4 return
parallel steps
Luke Skywalker
Promoting impact
challenges us to find part and help
his dreams shifted from ninja turtle to helping people with tech
Looked at Drupal
how was this possible
The appeal was thousands of volunteers giving away work for free
giving back to make the world better
usage drove maturity and that grew reach
shear scale is immense
potential is great
small acts, when multiplied by millions of people can transform the world – Howard Zinn
not one person dong everything, which is what he previously thought
hard at first to join the community
even submitting a patch was a major issue for him
continued on
slowly got easier and more natural
solving problems for ourselves can help so many other people
reaches out to people who help him and he helps others
makes us better and lets us provide for our families
contributing to something bigger
Only those who dare to fail greatly can ever achieve greatly. – JFK
Dying before going into battle
old samurai way, any outcome is fine
Don’t be afraid of learning in public. the journey is more important that he destination – Kelsey Hightower
Future Drupal Community Vision
Doing things too slow can feel like we don’t care
change is inevitable
accept uncertainty and proceed boldly
continuous learning
ongoing experiments
We can not solve our problems with the same level of thinking that created them – Albert Einstein
people do not spend time on things they do not see as valuable
Aligning the needs of people
Clear identity – values and principles, code of conduct, governance, strategic vision
Values and Principles – needs a great deal of community feedback
new committee that is still in formation to focus on this
DGW, working group
looking for new folks
code of conduct
Governance goes well beyond events
Governance task force, trying to improve this
all community lead
Not a guarantee of a fix, but process is moving
Our community is like an elephant
hard to see it all at one time from our perspective
No standard use of Drupal name space
confusing since not all things are applying in same way
need to centralize efforts
to scale and evolve we need to get much better at understanding the whole elephant
make efforts more visible
help people align passions and efforts
Drupal Associations
need legal support, guidance, training
Community has been critical sometimes
need to actually support this effort
We need to have better documentation and easier on-ramp
technical docs are a start, but docs are needed for everything
shift from technical artifact to a useful service
A new community site
centralize info
mission, vision, V&P, strategic plan
groups and events
on-boarding, mentoring
Simplytest.me was a project that was meant to lower the barrier of entry for new folks
One important trait of high-performing teams is that they use their diversity to come up woth better solutions – Chris Sims
Sustainability comes from serving people inclusively
open to those that need it the most
Amy June joined after being a hospice nurse
now channels that energy to help people use the web
how do we do it?
it’s huge, how do we start?
community onboarding, but also for existing members need to be able to do things in new ways
builds trust and human connection
local and regional cultural differences, this is associations need
must be transplanted to multiple languages
Kevin Thull, very inclusive, records sessions so we can all benefit from them
the world of knowledge he has enabled is amazing
Creativity is the power to connect the seemingly unconnected – William Plomer
Harness the creativity to foster
Process for advancing is messy and does not scale
need a new group to manage this process better

Horizontal DevOps ~ Scale your team and tools across projects.
Geoff St. Pierre

I went in expecting a talk similar to what Kelly Albrecht gives on communication. Ever since I saw his talk, what DevOps even means has shifted in my brain. Instead was a talk on tooling and how technical debt actually costs real hours and real money when your team works on more than one project at once. No matter how many projects, having a project folder and a Lando instance for each makes context switching as painless as possible.

Raw Notes:
Horizontal is scaling across projects
not just scaling for one project
how do we keep people efficient and working on multiple projects?
Common issues around losing whole days switching between silo’ed stacks
Prevent that context switching (Gulp, vs Compass for Sass, Ruby vs PHP, etc)
no one likes to lose time across projects
Don’t be afraid of change
Don’t change too quickly
Introduce change slowly and measure for effectiveness
once measured and proven
Document the thing, how are people actually using it?
Brief history of Local Dev
no deploy mechanism, just live!
Applications got complex and enter LAMP
local stack was was fast but hard to maintain, rigid and nearly impossible to share
evolved to Virtual stack
still difficult to share
composable (verbose)
lighter than VM
easy to share
Enter Lando!
vagrant vs lando
71 lines of config
8 lines of config
pure @Docker
bash aliases and commands
$lando drush migrate-status
there are other solutions
Docker Compose
ddev is another options
start states
$lado init
D8, Pantheon, many more
this writes your config file
you could hand compose
lando start fires off docker compose
you can write your own docker compose files too, tweak to your liking
proxy server, DB server, appserver
node to manage your sass
and you can version control to distribute
then they just $lando start and we are all good
customizing the whole darn thing
—config example—
you can add run steps
once started run this set of commands
maybe yarn or gulp
make sure this command is available to lando
terminus or platform
Why do this?
increase efficiency
make your staff more productive
level up your devs faster
increase confidence and ability to deliver on complex projects
become a revenue stream or selling point
interject the needs for this in your projects
advocate for DevOps
‘where are we deploying and how as we deploying?’
Who is on the devops team?
Think in interfaces!
what are the places devs and stakeholders and clients touch
are you breaking it by changing how they interact?
aim to make day to fay dev and on-boarding seamless
Documentation is critical
Your company, your tools and every project needs a README
pick good partners
who are you choosing?
everything comes with a cost

Healing a Broken Project
Aimee Rae Degnan

As with any talk she give, Aimee brings a sense of humanity that a lot of technical talks just don’t aspire to do. I love hearing real case studies and anything drawn from hard earned life lessons. This talk was surely that. The best part for me came when she asked us to provide examples of how our projects are going using ‘adjectives in twitter sized descriptions’. The room felt a united sense of catharsis that they were not alone and all people have frustration points with certain projects.

Defining healing
temporal characteristics of issues
acute issues – severe and sudden in onset, life happens
Chronic issues (occur over time)
Comorbidity – simultaneous multiple chronic issues
Complications – a difficulty, a secondary issue aggravating existing issues
how can you tell is a project is broken
Feeling “Will this project ever end?”
Stakeholders ask “Is it done yet?” a lot and intensely
primal analysis
give adjectives to give twitter length descriptions of your project
what does your gut tell you?
1 – large complex, data integration and expertise required, good project
2 – there was a along difficulty, multiple deaths on project, data corruptions – bad sign, bleh
couple examples from the room
“Obstructionist gaslighting (room exploded in laughter could not hear rest)
Understand some project anatomy
purpose and business goals
Normal project pains
work is called work for a reason. Put your grumble filter on
fluctuations are normal for budget, schedule and team
varying velocity based on project phase
calibration of quality and velocity
balace of real world scope and reaching scope
There are ABNORMAL signs though
temperature of the project, look at data
budget and schedule overage
low client happiness
low team morale
things aren’t being built or wrong things built
unplanned impactful events (mergers, deaths)
If you are coming in as project recovery person this is hard to deal with
Answer the distress call
harder to influence change if you are in the mix of it.
First question: What is going on with this project
noun, assignment of a degree of urgency to wounds or illnesses to decide the order of treatment of large number of patience
to assign degrees of urgency
what is happening RIGHT NOW
what is the FIRST thing that happens NEXT
– Stop all work, Continue with caution to Keep Going
Revisit purpose
Why does the project exist?
what was the stakeholder really trying to do?
is the project purpose still relevant?
is it time for a pivot?
this is a big conversation with stakeholders. Sometimes the end goals get lost in the shuffle
Review the Deliverables
many times, tasks, requirements and priorities are set by transient people to the project
some deliverables may not be relevant. This is a good time for a backlog review
is anything defined?
is anything built?
are the right things built?
Analyze the people
feelings (everyone has them but really pay attention to theirs)
Project team:
Prepare for the hard conversation
Surface findings from triage
identify next steps
identify methods used to address previous failings
define which phases of the project will need attention and how much
at this point, new estimates may not be possible
use data to support your points
use humanity to convey health
Understand the stakeholders to prep the most effective method
don’t cherry coat things, be supportive and positive though
this is time for real, transparent change
Sometimes you have to restructure the team
open discussion of failures
transparent sharing of improvement approach
remove team members
add new folks: supporting skills, extra hands
provide training, if needed
be open to feedback and ideas from your team
the people will need to be heard!
Start out right!
Kickoff and project one-sheet
project schedule
project status reports
communication plan/set meetings
consistent and capable team
weekly progress report
fine balance structure must be catered to your team. too much or too little structure are equally disruptive
use tools that all team member can access and understand
Keep your eyes on the big picture!
focused, process based on discovery
Functional approach to expose gaps
end to end, as is walk-through of site
use Workshops and time-boxed discovery
BEWARE discovery efforts can lead to more discovery
time box helps
leverage meeting facilitators that can navigate a tough room
record meeting for reference. It keeps people honest and accountable
Redefine deliverables
Provide structure
provide more information
tiered delivery/progressive product features
perform a needs recalibration
-must haves
-should have
-nice to have
Keep in context
use plain English and avoid jargon!
Then work and work and time passes
but sometimes the project does not heal
causes and responses
no executive sponsorship/suport
no clear purpose
no clear budget
schedule slippage
mismatched team
behavioral issues

Demystifying Composer
David Hernandez

Composer is a magical black box to me that I barely understand outside of how to copy paste the commands from other peoples’ repositories. That is much less true now than it was before I saw this talk but I have not yet done the work to really understand it. I am admitting this because David flat out explained we are not going to ‘get it’ until we do that work and that is why hy has made a tutorial repo available to us all to help us figure this thing out and remove the magical veil. I can’t wait to dig in when schedule allows!

Raw Notes:
Made a gihub for us
run it step by step
don’t just read it or watch this talk
tutorial intro really
some commands are slow
A dependency manager
Drupal is the worst implementation of composer is the issue
not built from composer, it adapted composer to Drupal
it is a command line tool
no GUI
Getting started
dependent on your CL in your terminal
make sure you are using the right version of PHP
run composer in the container if using Docker
everything we do ends up in a composer.json
that is config file
it tells composer what to do
most important file
then the lock file
it writes this itself based on .json and what composer does
packages are downloaded into a vendor directory
composer command
finding into and adding dependencies
composer.json is written and composer.lock is the last thing written
runs as PHP in shell
$composer require vendor/package
many commands – will list info if you ask it too
composer init
optional command but this gets you going in an empty directory
runs a wizard to set you up right
you can just write the JSON but this is handy and nice
nice because correctly writes the json
example json
require is the most important part of the json really
composer install
run this to read the composer.json and write the composer.lock file
writes a vendor directory (in Drupal, this can be very bad, it is actually bad)
commands that gather data and install dependences are memory hogs!
composer.json = 43 lines
composer.lock = 4300 lines
composer require
go get it and put it in right
composer require –dev
adds info to require-dev section
by default composer will download the dev dependencies section
use –no-dev with the install command to avoid it —
Version Constraints
exact 8.5.1 = 8.5.1
wildcard 8.5.*
range >=8.5 <8.6 (be careful to make sure you are telling it right range)
Stability contraint 8.6.x-dev = unstable (dev) branch 8.6.x (alpha, beta, stable, dev)
increment last digit ~8.5.0 = 8.5.0, 8.5.9
increment last two ^8.5.0 = 8.5.x, 8.6.x, 8.7.x ect
IN semantic versioning, first digit is a significant digit, it will not change this, you have to manually change this
implementing versions is just adding it to the end of the command
$composer require drupal/console:^1.0.0 –dev
Minimum stability
understand this one
to composer this is the minimum stable version I will accept
it is OK to get dev if I say
dev, alpha, beta, RC, or stable
works with version constraints
project wide or per package
more instability
“prefer-stable”: true
prefer to download stable, but other versions can be specified
only do dev if you force –dev
Adding repos
out of the box COmposer looks to packagist.org
Drupal can be retrieved from there, but not themes or modules
neither will pages
need to tell it to packages.drupal.org
can run pre-install, post-install, pre-update, post update, ect
this stops Drupal from adding to the Vendor directory
used for metadata
drupal/drupal and drupal/core
complete copy of Drupal 8
Essentially webroot
don’t use
Subtree split of just the /core directory
use with scaffold
Updating is actually pretty easy
composer update
composer update drupal/console
look at your .json and .lock if this fails
composer does not do this by deafault
so someone made composer-patches
path to the patch can be a URL or local or within the project
create-project command
create project basically clone an existing repo, acts a a starting point
$composer create-project drupal-composer/drupal-project:8.x-dev
Composer will not install modules for your
this is not drush
be mindful of the .lock file
it will contain exactly what happened
think ahead how you will manage Compose as a team
read the messages
it will likely tell you why something didn’t work
it can be slow
it actually solves more issues than it causes to add vendor to git
this is controversial

Can We Figure This Drupal Component Thing Out Already?
Brian Perry
Adam Bergstein

I will admit it again and again, I am not a front end expert. But just like any other topic I don’t understand I am going to keep on going to these sessions to learn more and at least be able to talk at some level of competency when I do ask questions about this from more knowledgeable sources. I am not aware of too many more knowledgeable sources than Brian and Adam. The other big reason I went to this talk was because there is a tacit disagreement between these two on implementation details. However, the level of professional respect for one another overcame any negativity this disagreement might have generated. This talk is a wonderful example of how we can disagree in the most constructive and productive ways!

They had debate at Midcamp, turned it into a talk
Design and implementation
pattern lab was an attempt
making best use of reusable pieces
ongoing conversation, might change their opinions
how do I reuse the design assets through the web
examples in wild
pattern lab Drupal starter kit
Emulsify Drupal theme
Shila Drupal theme
and several others
also worth noting is DYI custom theme for this
might be only able to do this on one site
if a theme, then very hard to share and get exact results
outside of Drupal is impossible with this path
tech bias (SASS vs LESS, etc)
poor documentation on how and why problems were being solved
need flexibility in Adam’s mind
Problems Adam hit when setting out to try a fix for this
-Creating a fully decoupled solution
-shared tech baseline between the design and the CMS
use the right tech for your team
looked at Twig
having aggregation in a single file with Gulp/Grunt is essential for him
-the packaging and delivery of design system assets
-the implementation of design system assets in the CMS
-Change management of ongoing changes
Normalization – Atomic design
design patters resemble db normalization
create patterns in their most atomic form
reuse as needed, DRY principle
Really this was all intended for prototyping
work fast and separate from actual implementation
KISS concept
design system should define the simplest version of the ideal model it is expecting
this should reduce the need for the design system to perform heavy/complex processing
can be a warning sign you doing too much if can’t follow this guiding principle
code examples
raw values of what to expect
spitting out data, that is all the design system is doing
Least responsibility principle
the design system own the ideal model
twig example
just includes a patternlab twig file and map to elements
Understand pattern variations
patterns have attributes that are defined in the data
data is often thought of as content
example code template
Let’s adhere to standards
Atomic design
BEM – Block Element Modifier
Drupal/CSS/JS framework standards
Implementation ideas!
Process of packaging, releasing, change management
create releases of design system
leverage task manages like Grunt to build on CSS file and multiple JS files
use COmposer to bring in dependencies
Map design assets in the theme
remediate and launch CMS changes
in design system
ass composer.json
in Drupal project
add repository entry in composer.json referencing system repo
configure installer paths to install in docroot/libraries
composer require your design system
Adam does not like to do this, leaves in Vendor directory and Drupal caches it
Patterns are not a one to one mapping in the CMS
Flexibility to use any pattern in any way
provide well defined approach to handling design system overrides
some patterns are not implemented in a CMS
Pages are often just mockups and representation of pattern usage
must use core sponsored tools
custom block types
layout discovery/ layout builder
content types
view modes
Optional contrib modules
Paragraphs module
UI Patterns module
Display Suite module
This was just a WP specific tool
Very recently, someone wrote a session about D + G
experience of using a WYSIWYG better
it falls down in how it structures data
difficult to do with design systems
big red flags going off in Adam’s head

Keynote day 2
Deborah Bryant

There are few companies that have the track record with Open Source that RedHat does. And there are very few people who have the credentials Deborah Bryant has around the Open Web. She laid out the case for a free and open internet not by reciting facts and figures, of which there are many, but instead encapsulating these into very relatable and repeatable stories. Stories have the power to travel and be repeated for hundreds and in some cases thousands of years, as Neil Gaiman explained. I know I will be telling these stories of why Drupal is important and how we can advance to make the world a better place together!

Raw Notes:
Oregon open source bill
she had to testify the bill, as it stood, was bad
Open Source Values
the more time she spent at Oregon State
she came to believe:
The development model may be more important then the code itself
she founded the Government Open Source Conference in 2005
ran until 2012
started evaluated many OSS projects
in 2008 OSS pops up in Washington DC more and more
administration change
OSFA Open Source For America
increase in conversations about how government operations can benefit from open data
dispelled a lot of myths
international crisis congress
infrastructure mapping, was amazing to save live with OSS
Healthcare IT
Disaster Response
Open Streetmaps
Human rights
Social Good
Hacker Bus: Teaching Brazilian kids computer ethics
Sri Lanka has the highest % of oss devs in the world
Country Portal project
elevated for economy for the country
answered how do University students get trained in this stuff
Helped Malaysian get to non-proprietary tools in government
ICT global operations team for the World Bank
extending OSS to developing nations
ad-hoc consulting services
If you know how to open source…
Then Share MORE!
be an ally
be available
support something you care about
one concern many folks have is how to build community
RedHat is looking for help on this
Documentation is a real need across all projects
not accessible if people can’t find the docs

Government Issue(s): Leveraging Accessibility with Usability to Serve Really Diverse Audiences
Tearyne Glover

If any member of a community can not access public information on their government’s website and as a result, not get access to services they need, then we have got to do better. You sometimes see diversity talks that give you all sorts of reasons to feel bad and not a lot of actionable insights on how we can try and make it better. Tearyne got up and explained how to use data to drive the conversation forward for a more inclusive internet in very demonstrable and replicate-able ways. Understanding who is actually using your website and how they understand what is written on your website is a mandatory step int he right direction. Only with data can we help others change their minds. And helping the folks in charge of things like web portals change their mind is the only way we are going to advance!

Raw Notes:
What they got wrong and what they got right
UX front end dev for City of Dallas
a communications specialist
Curb cuts example
Who benefits?
visually impaired
many others too
She used to answer phones a lot and got swimmers ear from holder her head on the side
was hard to use headphones
started using subtitles
realized this was useful
Ensuring direct and indirect access through accommodations to people with disabilities
accessibility is heavily related to universal design which aspires to create environments that are designed to be accessible to older people
Design for All
a philosophy targeting the use of products and designs for all people
Employees Retirement Fund
Dallas has 12,911 employees, 9,690 are unsworn
sworn pension contributions are 13.32% of employee pay
2002 ERF launches first site, static
2015 launched active employees’ portal
2017 launched retiree portal, giving them access to their 1099-R forms online
2018 Pay stubs launched in retiree portal, giving access to pay stubs online and stopped mailing physical stubs, saved a lot of money
You have to know your audience
Diversity and inclusion is a good definition but what does it mean in reality
we are good at making images and some words
but let’s get beyond the fluff top level
Dallas stats
1.3 Million people
33.4% native Spanish speakers
most employees 62.9% do not live in city limits
Languages in Texas
many varied languages, need to deal with them
COD employee ethnicity, very diverse
and ages, she is keeping track of a retirement system, so very important
Income diversity
average salary between $35K and $90K
3,913 employees make up our top five departments
top pay compose only 3% of total workforce
Instead of lip service, how do we serve them?
1. build the margins in your product from the beginning
Summer sessions, what are their concerns.
technical – many people only have phone access
intersectional issues you solve doing this alleviates many issues
image in text sliders
obviously an accessibility no no
no alt text
how can people see it
or translate it
solution: Front page panels
new front page slider
actual text from a node, can be swapped around
simple HTML but shows all the same information
username and password screen
same screen
harder to brute force
reduced the number of attacks
used modal
on checking our Drupal analytics
the forgot password link showed up as a Spanish search
nobody translated it
being able to talk conversationally vs financial planning in second language very different things
They did translate modal before getting rid of it
this solved majority of issues
2. Identify pain points that create challenges
3. Design you products to offset the situations that result from the marginalization
commute times
City Hall, street department, parks, city attorney’s office can have very different experiences
retirees have different needs and requirements all their own
resulting in very different user experiences that need to be accounted for
due to her hybrid role, has a lot of one on on experiences with members
make sure you ask people
also use analytics data
Feedback tools
bad reviews are helpful to fix issues
What have they learned?
have to hold self accountable
New standards for Dev
one they had portal, now have customers you need to service
Frontend to UX dev transition
ticketing system
adopted a PM system
standards list
Spanish must be easy to access
Screens and Devices
tablet and smaller screen view must be accounted for
many internet explorer users are forced to use it
Cost of exclusion
counselors end up with more calls about basic knowledge that don’t need human touch (data gathering)
Members end up frustrated
instead of resorting to the source of truth, members sometimes disseminate incorrect information among each other
members make decisions that can harm financially in the long term
‘windfall tax’ issue
benefits of including people
members know they have a resource always
self service nature makes them empowered
members generally make much better decisions fo their futures
the portal frees counselors up to service more people better
we should hold ourselves accountable to be inclusive
incremental changes as we learn

Automated Accessibility Testing
Brian Thompson

I go to a lot of talks, as evidenced by my notes repo. So many talks I go to expose an idea but stop short of giving firm steps for what to do about this information. This leads to a feeling that Brian described to me as “a need to go do a bunch of work to figure out what how to use the ideas presented”. He seeks to remedy this in his talks and does so by giving not just concrete examples, but giving exact commands to add to your testing scripts to accomplish the goal of testing for accessibility. Now, instead of reading a bunch of docs and trying to figure out so many things on my own, I feel I have a new tool in my toolbox I just have yet to implement. I wish all talks were this actionable.

Raw Notes:
His grandmother could not really see domino later in life
was feeling the dots to understand what she held in her hand
this was his first accessibility lesson
would you build a bridge that only a specific type of car can use?
Andrea Fercia
Accessibility cases
blind woman sues toys R us for not being accessible and violating law
Winn-Dixie must update website for the blind
wet willies (bar in Florida)
terrible website
also sued along with Sabre technologies got sued for building it
we could be at risk for not building accessible sites
we need to care about this!
how do we go about doing that?
how much does it cost? that is what the sales people ask
WCAG just came out
automated accessibility testing
automated tools can be temperamental
big websites take long times to test
Cool demo
URL and API key to request reporting
can make json for readability
2 or 3 levels of digging deep on Drupal makes this tricky
reportype=2 is more useful
Google Lighthouse
in chrome, audits options in dev tools
you can pick a lot of options and run a report against not just A11y
seo, and other options
quickly identify elements from the reporting
lighthouse can tell you what needs checked manually
visual version vs CI version
On Gitlab, likes the CI system
one command with passed chrome flags
can use in docker very easily
commit it
they represent CI with a rocketship, which is pretty cool.
CI output does not automatically fail test
you need to write a parcer to understand reporting
enter AXE CLI
Canadian company, open sourced it
been around since 2016,
Designed for CI
one command, $ axe url –exit
–exit is what emits an exit code if problem persists
Bring it all together
many options
Google Lighthouse gives you many other things as well
think automation in all things
how do we do this?
docker containers for lighthouse and aXe CLI are available
see slides for URLs
no more chrome support in RHEL

Keynote day 3
Julián Rodriguez Orihuela

I honestly had not read the session description and went in rather blind to what was going to be presented. I left the session with a pretty big sense of ‘wow’ at how fast and how dramatically the team rebuilding and unifying their central government’s web presence is working on improving services for their customers: the citizens. While the technical details are indeed interesting the lingering impression came from the sense of duty to their fellow Argentinians. This was not just a case study on how things can be implemented but what these changes can mean for disenfranchised parts of the population, helping make services much more available to those who really need it the most. Next time someone asks about a use case for Drupal that highlights how it is different than closed platforms, this talk should top your suggestions list.

Raw Notes:
Argentina is pretty great in many ways
G20 held there
more than 25% of citizens in poverty
in a journey
strong emphasis of saving and preserving life
mandate to work to make more professional civil service leveraging technology and egovernment
when they arrived, there was no digital strategy in 2015
separate things in different ministries
very sparse platforms
experiences varied too much
principles on how to serve citizens
Focus on the Citizen!
One government, don’t need to know every ministry or agency, just should act like on thing
We go to the citizen
Measure and improve – don’t have to get it right the first time
need humility to make it better
Rewrite official website and guidance
one platform for the whole government
plan for multiple channels
took their service guide
remade in Drupal – put beta in the name
wanted tog et conversation going with citizens
migrated their own website to this new site
Then they need to grow up
how to get other ministries involved
had a mandate that 1 year after started
“All internet portals of the National Public Sector are to be developed through the General Web Portal GOB
used the formula YMMV
consistent strategy, similar strategy from local civic team strategy
presidential mandate
huge deficit
a couple big early adopters
scalability and security issues in current platforms
some stats
292 gov orgs to be migrates
2/3 of the way there
8 content types
faceted search
using panelizer
services 1,800
Areas, 600 (homepages)
news articles 14,000
pages 4,000
book paged 4,800
plan for 100% migrations by end of 2018
500K visits per day
8-10M a month
how the heck they move so fast?
our v1 methodology
Migration means rewriting the stuff, not using the script to move from one place to another
archives of news they do that but mostly it is just rewriting it elsewhere
v1 is better than what had at least
“not the best, but better”
adjust content based on analytics – data driven
trains people working on sites
focus on the service guides, the most important part for them
Don’t bother with the ad-hoc features yet – letting people maintain that themselves if too complex to move
have to compromise on things
ministry of health and the Press team for the president
they want their own special landing pages for important things
vaccinations, taxes, emergency situations
what’s next?
content audits
user research for content
end to end services, show all transactions needed for larger life events – ‘how to buy a house example

Motivate Your Agile Team with an Open Source Mentality
Laura Lacy

My favorite part of this talk might have some near the beginning with a modified explanation of Maslow’s hierarchy of needs that replaced the lowest tier with WiFi and Battery Life. Truer essentials have never been defined. In all seriousness though, having lead many a team and going through many methodologies, Laura sharing her experiences was at the same time entertaining and highly informative. I had not heard of the RE:WORK project yet and am looking forward to digging into that more to expand my project management vocabulary and tool set.

Raw Notes:
What motivates people?
Maslow’s hierarchy of needs
see tweet
motivation 3.0
extrinsic vs intrinsic motivator
motivated to perform to earn reward or avoid punishment
intrinsic is doing ti for its own sake
extrinsic motivation
good for routine work
can decrease intrinsic motivation
we begin to expect rewards and can perform worse when they arn’t met
best for creative or knowledge tasks
examples, Montessori school
20% time – work on what you want
extrinsic has a hidden cost of rewards
“now that” rewards vs if-then rewards
preschoolers and watched kids color
3 groups
group 1 offered a cert before coloring
group 2 gave cert after coloring
group 3 no reward
group 1 significant decrease in desire to color, 2 weeks after the fact
The candle problem
examine different aspects of what motivates people
candle, matches and box of tax
affix candle to the wall so the wax doesn’t drip
functional permanence, must use the box from the tacks
2 groups
group 1 timing just to get a baseline
group 2 has incentives $5 for top 25%and $20 for #1 performer
group 2 took 3.5 minutes longer on average
Atlassian case study
Fedex shipit days
occur once per quarter
24 hours
must deliver something of value to customers
innovations delivered!
faster jira load times
confluence plugins
better retros
24 hours to innovate, is like 20% time on steroids
INtrisic motivation
wikipedia – 27 MIllion registered users
linux – 75% of cloud apps
apache – 26% of the top 1M sites
re:Work project from Google
1. psychological safety: can we take risks on this team without feeling insecure or embarrassed
2. dependability: can we could on each together to do high quality work on time
3. Structure and clarity: are goals, roles and execution plans on our team clear
4. meaning of work: are we working on something that is personally important for each of us
5. impact of work: do we fundamentally believe that the work we’re doing matters
Agile manifesto
individuals and interactions
working software
customer collaboration
responding to change
management 1.0 – treating people like cogs
servant manager
embracing culture
deliver wow through service
embrace and drive change
create fun and little weirdness
be adventurous, creative and open-minded
pursue growth learning
build open and honest relationships
builds a positive team spirit
be humble
what van we do personally
what keeps you up at night, what gets you up in the morning
flow test
motivating motivators
Do you want to feel accepted or do you just want get things done
diverse views are important to get things done
AS a leader
make team decisions
involve all in gaol setting
rotate facilitators
team health check
promote the culture
hold space of the room
making sure people know how we act together as a group
need to act it, live it
get to know each other!!

My Sessions

I got to give two talks at this event.

Let’s Learn Git. No More Excuses.


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

I really love teaching people things and helping people learn concepts. In the case of git, I have a pretty simple goal: Let’s get people over the hurdle of being afraid of the darn thing. I got a lot of great feedback some of the participants that this helped sure up certain concepts or had indeed given them confidence that they could in fact get this stuff figured out.
In the case of my Discovery talk, the goal is slightly different than explaining a technical concept with a very clear correct and incorrect way to do it. As with anything that involves the people part of a process, I am not sure there is a true right way or wrong way, only tactics and strategies that are effective or ineffective situationally. The real value comes from the conversations that the attendees have in the Q and A and hopefully out in the hallways and the streets afterwards.
It was a great honor to give these talks and participate in this conference. I learned so much giving these talks and having these conversations.

Wrapping up

Ultimately this conference was about us, the true owners of the republic and of the open source code. You and I. Being in a place once decribed by The Magnetic Fields as “The seat of freedom and sweet democracy” gives a certain pause to the normal processing of thoughts that accompany these technical conferences. The ‘why’ of the event might have been on the surface a way for Government employees using Drupal to connect, similar in that regard to Stanford’s Drupal Camp, but the real why we are doing any of this felt better pronounced for me. We are doing this because making an Open Web out of Open Source technology ensures a freedom that we are realizing ourselves. Not handed to us by higher authority, but forged by the participants and constituents themselves. Messy and loud and maddeningly slow at times, democracy of software or of our way of governance is self determination in action. I can’t wait for next year already, when we can yet again rejoice together as we reflect on our shared values and vision for a just, free and equitable society at Drupal GovCon 2019.