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.

WordCamp Montreal 2018: A city as beautiful as I remember it and connecting things.

“Mount Royal” is a pretty amazing place in the summer when the temp is a very comfortable 26 deg C/ 80 deg F and not too humid. The days are long and the people are in a celebratory mood, getting to lose the toques and parkas in favor of a rainbow of colors and light fabrics. THe streets convert to what feels like a giant festival atmosphere with European like sidewalk cafes lined with coffee and wine drinkers along any major avenue. And the background of the river and mountains made every view from practically any vantage completely picturesque. These were the conditions that met me as I flew from Chicago for the 10th anniversary edition of WordCamp Montreal 2018

Food and Fun

Speaker Dinner

What would a WordCamp be without a Speaker/Sponsor dinner? We gathered down a half closed street, behind a tarped off fence that hid Kafein making it feel less like a cafe and more like a private club with a giant patio that extended well past the front of the store. Here we had some light food options which included very decadent vegan brownies. The staff was downlight delightful and made us all feel at home. It was such a treat to see folks from this community that I never get to see in the US and it set the mood for everything that followed.


Aside from New York City, Montreal is the town renowned for their bagel. There is a bit of a rivalry. As if to participate in this fray, the organizers brought in a giant bag of bagels each day for us to sate our hunger for two full days of sessions. The coffee and tea service, which were excellent and a notch above most catered options I have sampled, were accompanied by various spa water options with strawberries, mint, lemon and cucumber. Orange juice was also served.

Lunch was sandwiches and salads. The vegetarian and vegan lines were separate and that made me happy since my line was much shorter. Still, everyone got fed and many a good conversation was had.

After Party

The plant based food fans of Montreal joined me for some of the best vegan fast food on earth at La Panthere Verde which boasts 6 locations now. Best non-animal poutine I have had yet. I love being part of this. Next time you see me, ask me about the WPVegan hashtag.

We would have likely returned to the same spot we went to for the 2017 camp but that place had a fire in an apartment above and was not in operations at the time. Instead we went to a funky cafe/bar Cafe Osmo which felt to me like a place intended to be something rather futuristic in the mid seventies. It had a lovely patio and a slanted glass window. It was a blast to get to hang out with the WordPress community here and talk about everything from the weather to content strategy and everything in between. It also was an ideal location for further revelries, which included some WCKaraoke for sure.


More bagels and coffee and peanut butter with the bear on it met us on the morning of the second day. The previous night meant there was a slower rush as people filtered into the hall, but we were in full swing by the time sessions fired up. Lunch was pizza. I am again thankful for the plant based options, but given that I was in the hometown of my other favorite Canadian based vegan fast food chain, Copper Branch so I decided to indulge there with some of the best tempeh BBQ I know about.

The afternoon snack break brought with it a very special snack, the 10th anniversary celebratory cupcakes!


Go With the Flow: Boost Your Efficiency With a Development Workflow
Ann Cascarano

There are some basic things that you will need to know as a new developer. One of the greatest strengths of WordCamps is that someone will literally sit you down and tell you these things. These are peer reviewed thought leaders in their field who care that the free and open internet gets built in better, more accessible ways, for free, mostly on the weekends. This talk is a pretty great one for anyone who wants to technically advance from novice.

(came in late)
level up talk
You need a local
you need a safe space
mess around
code editor
atom, sublime
Command line
install tools
node, git
all the commands
code history
protect the integrity of the history of your project
very light and fast
video game save point methodology
git is not github
Staging site
must mirror production environment
another backup
recovery strategy
managed and unmanaged all allow this workflow idea
might just be easier in managed

Bridging the Gap between Designers & Developers
Mehgan Dove

I did not see some of this talk. But what I saw reminded me of everything I know about DevOps being more about tightening the communications feedback loop. We need to start trying to learn a more common language, especially in an age of more rapidly expanding tool chains and their inevitable acronyms that make the jargon unparseable. I am grateful for this talk because having the conversation about having better conversations is a conversation we need to have. When we think about interpersonal communications, especially within organizations, having better defined channels and processes in place should make for more efficient workflows.

Raw Notes:
learn some development
if you are handing over things and not care how it is implemented
and don’t know what is hard or complex and don’t care
you are going to have a bad time
have some respect for your designers work and skill
Handover in layers
Design s not arbitrary
show some respect
layouts are hierarchical in so many ways
Devs should not have to guess or recreate things in Photoshop
provide layers!
use guidelines and agree

Made you Look: Eye-Catching Web Design Trends

There are talks where I learn something and it seems like I am the last to know it. This time it was the concept of Pantone Color Of The Year that I had a wow reaction to and everyone else was like, ‘yep’. For that moment alone this was a great talk, but the fast pacing and just example after example and idea after idea was just entertainingly engaging. The sites she shared are all over the map on style, but it made me keenly aware of micro animations, which I see all over on sites now. Thanks Mandela Effect.

looking at yogurt
colors and bold
Pantone of the year
Ultra Violet its bold 2018
neon colors
have to have a lot fo contrast
have to see neon colors
high contrast,
trickles down into everything
bold colors again sunet patterns
full screen websites
lot of monochromatic
Be honest
this is possibly scary
if you want to add a pop of color, just add a bringht pop
one or 2 neon color
otherwise rainbow vomit everywhere
adobe color wheel, helps make complementary colors
another is brandcolors.net
color codes for influential brands
different colors
color pallets must work, don’t get too far without sorting it
illustration styles, more individuals and textured
multidicipline project
created illustrations and font to bring endangered animals to light
illustration over photo
striking typography
very striking
creative typography, funky
monochromatic again
food typography
look around and grab inspiration everywhere
in the real world
objects and elements in play with the typography
deconstructed type
not new, but will show up on the web more
broken grids and free form
no defined grid
before thinking about breaking the grid, remember why the grid is good
why are you doing it?
define a strong grid so broken shows
negative space
concise vs wordy
see copy first
way interact with the
micro animations
particle background
little JS gradient effect, very light, not heavy
adds a little something
She is not a wizard
thats how she knows what is using WP
and the themes used
glitchy and not perfect, but fun
augmented reality
minimalist photography
What story are you telling
where are you guiding them,
what is the journey
whats next
more customized shopping approaches
Anything goes right now though
no 2 sites are alike
if it works if it does not they won’t notice (ha)

How to Format Your Text to Help Your Readers

I have left a handful of talks and felt like I got the wind taken out of me. This time, I learned that I have been doing headers wrong this entire time. Literally the entire time. I thought H3 and H5 were just style options and I can not even fathom what I have been doing to screen readers and the like. Moving ahead, starting from this post I am going to be using the right headers correctly. There were many other good points as well and it was a lovely talk.

Raw Notes:
History lessons
March 12, 1989 Sir Tim
makes proposal for HTML
1993 publishes standards
Jakob Nielsen “How Users Read on the Web”
Summary: they don’t
they scan picking out individual words and sentences
Wall of text loses everyone
HTML is not a programming language is markup
structure of a page
semantically – elements themselves describe the content
Know the basic tags
H1 – H6 and accessibility
Don’t use H1 on the page or post, that is reserved for the page title
important for SEO and Ally
having H4 without an H2 is actually really bad
Help all readers
think older readers
Formatting in WordPress
Gutenberg is coming
1/2 the room never heard it was coming
Tour of the editor and Admin
Bold and Italics
not for pretty
for emphasis
Alignment is important
stick with left alignment unless Hebrew or other language with RtL

Your First Headless WordPress Project with ReactJS and GraphQL

I am going to finally actually build a front end project one day, I know I am. And when I do, talks like this that just in plain English explain what things like GraphQL actually do will be the reason that project will be successful. This is a great talk for folks who are ready to roll up their sleeves and dive in. My notes can’t do code examples too well, so I opted to not even try, await this to arrive on WordPress.tv.

Raw Notes:
Old fashion, desktop to web
how CMS works
responsive design
Tons of things that need to hook to the backend to get data
Advantages of decoupled
separate content and presentation
generate unique user experience
make your content available to mobile apps, kiosks, VR and anything else
/Retrieve post
overfetching – getting too much data for the UI
a query language for the API
retrieve only thee needed data
RESAPI – Post endpoint/ users EP/categories EP
GraphQL is one call that grabs those pieces
self hosted GraphQL
Framework for WP apps (server+client)
Relay from FB
Apollo-boost = no setup, cache, manage local and server data
you can extent wp-graphql plugin
retreive data
reactjs setup
in CLI create-react-app
create project
install packages
code examples

A Buddhist Guide to WordPress Development

When I was a traveling salesman in my younger days I listened to books on CD, one of which was Siddhartha by Hermann Hesse and to be honest, that is the sum knowledge of what I think about when I think about Buddhism. I really appreciated the bit of history lesson and the pacing, especially toward the end, of new concepts and ideas. His no-nonsense slides are a valuable resource for anyone wishing to explore either Buddhism or WordPress best practices or both.

Raw Notes:
Buddism and Jer in a talk
Pali and theravada
very diverse religion, lots of sects
school of the elders, Sri Lanka, Thailand
root of secular ones
sources for secular Buddhism
Contracted with Mahayana, greater vehicle, a diverse branch in china and Japan
FYI: Words here are in Pali not Sanskrit
Religion or Philosophy
both metaphysical and pragmatic
most teachings apply directly to material life
its an ancient science, got some things right
Ancient Indian cosmology is weird and a bit crazy, metaphorically can teach a lot though
Buddhism is a series of very useful lists
Quick meditation, anapanasati breathing meditation
breath in
breath out
just be
5 minutes exercise
anicca impermanence
whatever is subject to origination is subject to cessation
everything changes and we are all going to die
everything we have is borrowed, death or WP updates will take it all away
often translated as suffering and pain and dissatisfaction
nothing lives up to our hopes, so everything brings disappointment and stress
unpleasant things are dukkha because we can’t avoid them
pleasant things are dukkha because we can’t hold onto them
Lack of essential self
Three features of every CMS, PLugin and Theme
Impermanent: Won’t last forever
Unsatisfying: Guaranteed to disappoint
essence-free: Just a bunch of code
accept these things and let them go!
Cause of stress is clinging to our expectations
when we try to control the world, we suffer pointlessly
the ‘second arrow’ is the one we shoot ourselves
cycle of clinging and disappointment
when we imaging WP won’t challenge us that is makes us crazy
End of stress is freedom from clinging
if we accept things we are free from disappointment
Wisdom, Virtue, Mindfulness
8 fold path
Kamma truth cause and effect
really means actions
kammic fruition are effects of your karma
intention is key, as long as we know our intentions are truly good we can live with peace of mind
Samsara WO
Rebirth WP
We are reborn when we return to old themes, plugins and code
we inherit the decisions of our past selves, good or bad
learn from challenges you’ve passed on to yourself
wee clearly how your current decisions will determine your future
check the logs
being aware of yourself and body and mind in each step
Samadhi means concentration as well as meditation
set aside time just fro this training
meditate on wholesome states to develop altered states
like any skill, regular focused practice is how we get better
metta – kindness
Panna wisdom
all experiences created in our mind
accept things as they are, let go of what is painful
clear conscience and open heart
be mindful
mediate as much as you can and it all gets easier
insighttimer app

WooCommerce Troubleshooting Basics

I don’t think there are enough support talks at camps. They definitely exist, and I am extremely grateful to all that give them. But I think there can be more. Helping other people is a natural instinct for most people. The art of helping others is itself a set of skills one can achieve proficiency. Sarah was kind enough to tell us how she does it for Prospress and WooCommerce clients at a range of skill levels themselves. There is a lot of hope in teaching people how to find answers. I was pretty worn out at this point in the camp, so my notes are pretty sparse on this one.

Raw Notes:
internet wizard
Quest goal
learn Woo troubleshooting
to acquire more tools to fix all the things
fell confident when troubleshooting
Backup and Staging
Backups – important, fall back point
Google is your guide
Google error and description of the problem
sometimes github
sometimes WP codex
sometimes stackoverflow
reproducing the issue
scenario 1 pending payment orders with Stripe
looking at what screen they can see
test by doing the action yourself
reading a bit of the docs revealed the expected behaviors had changed
simple as a setting was blocking their issues
scenario 2, country not displaying orders
quick Google after replicating scenario
congrats you are now a Level 1 internet wizard
slay bugs

My Session

Shipping Content With WP-CLI And Why That Is Awesome

I have spent a ton of mental effort on this talk and this was the first time I gave this one. I am very proud of what I made as a result, this is the tools and workflow for how I post content to my site.. The largest part is postitnow and the internal modular component the terminus wpclonecontent plugin. I also learned a ton about behavioral testing, Visual Regression testing and am happy to share the tiny bits I know. At the end of it I think I am making too many broad points in the talk and still feel trapped in the fear that this is a lot of ‘look at me’, rather than having a conversation about the differences between ‘copy’ and ‘content’ and the difference between WP as the holistic platform for editing and as an artifact repository, as we generally do with modern code and build systems. I feel now in reflection, perhaps the general premise of ‘stop overwriting the DB’ is less obvious a goal then I can see it as from my vantage point. Perhaps I should articulate that more. I am extremely grateful for the opportunity to have a career path that gave me the opportunity to go to enough sessions that I could present this. It will be tuning this talk for Sacramento in September.

Wrapping Up

Every camp I go to a WordCamp it teaches me brand new things. Not just in the sessions, but in every facet and about so many aspects of life. I have called San Francisco home for so long that until I started traveling this much I feel there was a perspective I was missing. A wider perspective that makes me think we have so much more in common than we are believing we do. I would have no idea how to gather such a wide view if it were not for my community of OSS folks. Seeing how much we really all do have in common and how much we have to learn from one other gives me hope beyond hope for what we can accomplish next.

If you do get the chance I would highly visiting Montreal in the summer. It is seriously like being in a whole other country. I hope I get to go back next year for WordCamp Montreal 2019

WordCamp for Publishers 2018: Chicago – Seeing the city in a new light and saying goodbye to an old friend

For a third time I got to return to Great Commercial Tree in 2018. The first time it was 20F degrees outside but a great time was had and the second time it was pretty nice but it was early in Chicago’s amazing festival season. This time the weather cooperated exceptionally well and the days, while humid, inspired a population to embrace a summer at its peak and relax a lot of the expected hustle bustle the metropolis normally brings to mind. I was not there for a festival exactly, but I did have a festive time celebrating the publishing world embracing the Open Internet as we gathered for WordCamp for Publishers 2018: Chicago.

I had attended the previous year’s event in Denver and kinda knew what to expect but given this is the only WordCamp that moves around the country, I actually found this as (word that means novel and exciting but a bit intimidating and tiring) a new wordcamp. Unlike the previous year, I did not go to give workshop or lecture, but instead to volunteer, support, learn and connect with folks working on a problem set I find utterly fascinating: publishing. Specifically, the process of creating content, publishing that content publicly and then managing the platforms we build to share that content. Given that this is the only single vertical official WordCamp it offers a rare perspective into a limited but very serious set of issues in a space. The other places I have felt this focus on common issues have included WPCampus and WooConf. Both have strikingly similar looks and feels as a WordCamp, but are unsanctioned by Central.WordCamp.org. Having the official support and legitimacy of the WordCamp name brand I think adds a weight the organizers could not achieve otherwise, a claim I am going to support with the caliber of the participants as substantial evidence.

Food and Fun

Speaker dinner:

While I was not a speaker, I still got to attend the Speaker/Sponsor dinner as a sponsor and volunteer. We descended on Pink Taco which was of top quality. I couldn’t help but notice the website layout looked rather familiar, like an off the shelf use of tentyseventeen. I m not sure if this played a part in the venue selection but it surely didn’t hurt. One of the speakers even referenced the site in her talk in the following days.

This is also the part with the bit of sad news. If you have read tales of my other jaunts to Chicago, it is unmistakable that my go to Karaoke spot had become Blue Frog’s Local 22. While on my way to Pink Taco, my path lead me directly past the now shuttered building. Yes, it has closed down and we have lost one of the finest karaoke spots I have experienced. If you have ever sang with me there, I am grateful we had the chance to make those memories. And special thanks to my friend Doug who had alerted me to this when it was shutting down, so the blow didn’t come as nearly a devastating shock as it could have been. Still was a blow though.


There are few other cities, even in America, that inspire one to eat and overeat as much as Chicago. This tradition was respected by the organizers and the awesome team at Setka Editor who supplied us with a literal ‘wall of donuts’ to go with our ‘university catered coffee’, which I have written enough about not to comment further on herein.

Lunch was pretty OK and the organizing team did an outstanding job of meeting any and all dietary restrictions and specifications. Day one lunch was a box lunch with the standard sandwich, chips, fruit and cookie. This is in no way a slight against our organizers, but I am starting to wonder why catering companies feel mushy, grilled eggplant, pretty low in protein, is a suitable ingredient in wraps. Fresh grilled eggplant can be a delight but that is not what ends up in our hands at scale. Still, thankful for the plant based options.

Architectural Boat Tour

Not even going to lie, one of the reasons I had been looking forward to this particular WordCamp was the extra curricular activity plan. We all received a ticket for a tour of the Chicago river in our welcome bags. The welcome bag is a tradition I hope more camps adopt and for those that do like WCPHX one of the little things that as an attendee I appreciate. We boarded the CHICAGO’S FIRST LADY and an extremely knowledgeable and enthusiastic volunteer guide from the Chicago Architectural Foundation told us the history of not just the buildings that soared above us but of the river walk and the river itself. My neck felt a bit strained by the end as I craned it upwards to check out the varied and unique architecture collage that is metro Chicago. I honestly have to say this was my second favorite group outing at any camp ever, and the number one experience in the US, only tailing the Golden Loop and Northern Light expeditions I experienced in Iceland. If you have never taken one of these 90 minute boat tours, I would recommend them, especially the evening ones.

After the boat

Being in such an historic district of the metropolis, some of the party went to watch fireworks and another faction of revelers ventured to a couple of the old town’s more historic, albeit for different reasons, local establishments featuring libations.

Day 2

After the first day had left me non-enthused by the lunch option, I decided to order myself some of my favorite local vegan grub from Native Foods. This turned out to be folly on my end as the second day’s provided lunch was a very hearty middle eastern option with loads and loads of falafel, hummus and other plant based delights. I think my biggest take away is that I might start inquiring about the lunch options ahead of ordering ‘a la carte’ again.

After Party

Before we gathered for our after party festivities at the end of the sessions, a few of us gathered in for one of my new favorite rituals arranged around a hashtag, ‘#wpvegan’, or ‘Vegans who WP’ as my colleague and friend John Eckman coined it. We converged on one of the greatest hallmarks of plant based food in the midwest The Chicago Diner to have the best non-dairy milkshakes I think humanity has ever concocted and the heartiest Ruben sandwiches that you can feel good about eating but still guilty for the calorie bomb that it is. Of all the tribal rituals to whose origins I born witness, this small but rapidly expanding band might bring me the most glee.

The festivities that happened at Broken Shaker were just as great as any other occurrence that had happened at the camp. There was a terrific punch served from a giant silver bowl behind a bar that looked like it would have been at home in a pirate captain’s grand hall. A candle lit bookcase adorned a corner that again felt like a ship’s study moreso than it felt like an upscale hotel in Chicago.

Before we know it we found the hour late and the draw of WCKaraoke alluring enough to venture to Brando’s Speakeasy. Many other karaoke fans, a bachelorette party and at least one other convention of folks also found their way there by the time we arrived, but through persistence and the sweet, fast talking of Daniel we found our chance to sing a few times, dancing the night away as we went.


Opening remarks

“Decisions, not Options” in the Age of Gutenberg
Chris Van Patten

With the reality of the changeover of WP content editor advancing on us relentlessly, it is becoming more critical to have sessions like this. Understanding the ‘why’ of Gutenberg is, on some level as technologists, critical to the understanding the ‘how’ of the editor. Many of the decisions being made right now by the core team are being made with the deliberate attempt to shield users from having to think much beyond presented configuration choices. While that might sound counter to the open source nature of ‘run the software as you see fit’ the GPL promotes, I actually think it makes a lot of sense given the extendable nature of the pallet of blocks and there is nothing from extending blocks yourself. This is a great talk for anyone new to Gutenberg but who is old hat at traditional publishing.

Raw Notes:
The WordPress way
We got used to it
stuff that worked will keep working but new is coming
You ain’t use to this stuff
think carefully
Design for the Majority
Out of the box should just work
Striving for Simplicity
Decisions, not options
Guidelines, not rules
Think carefully about control belongs
think carefully about control should exist
Support most essential options, no more
make decisions that let your users feel they have options
Good we are playing with it now
Block action menu
this is new, no equivalent in TinyMCE
What is the common actions?
for features or functionality that change the block relevant to the context
Duplicate adds to the page
The block canvas
for first time, can see the placeholders inline in the editor
was kinda popular with tiny views, but that was a nightmare
rich text content
Block Inspector
Can be a challenge, can become overwhelming quick
instinct is to shove everything into the inspector
first and foremost, want smart defaults
Document Inspector
things that were once better as doc settings are better as block settings
Plugin sidebar
new and not a ton of use cases right now
splashy/giphy pick list of images
interface for choosing a thing is obvious
maybe Yoast might have their own plugin sidebar, possibly
Easy access from the top menu bar
—–(slack thing)
some issues for him
Plugin Sidebar vs Block Canvas
where should we really be inserting content
blocks inside blocks?
So, use Gutenberg core controls where possible
Gutenberg is the forms API we always wanted
core control style standards now
Don’t fall back to metaboxes
will not be a great experience
Options in code don’t have to be options in UI
Gutenberg HIG
officially opinionated

Taking What Back, and from Whom?: Imagined Communities and the Role of WordPress in the Future of the Open Web
John Eckman

John is really a great speaker. He at once sounds authoritative and honest in a almost folksy way that invites curiosity rather than reverent or blind acceptance. He is a wealth of information on what is going on in this space and is eager to share where he obtained his know how. I really appreciated his wrap up, reminding us as long as we are serving others, not just people like us, we are surely going to find a path forward.

Raw Notes:
came in late
Open web
decentralized web, internet archive
“build the web we want and the one we deserve”
are those the same thing??
bringing together a world that end sup magical (paraphrase)
Coalition for better ads
initial better ads standards
gathering worst kinds of ads, what is wrong is presented first
AMP and what do we do with it?
it is an open standard and one John supports
Data protections – GDPR, we are behind the ball in the US
nothing in GDPR sounds like nothing new, it is what we should have been doing
Rather than thinking about getting better data
Role of WP in the Future
WP is imagined (not imaginary)
the community is too
Mor10 ethics of web design is the thing to watch!
Immanuel Kant quote maxim
Democratize Publishing – thinking about ethics, very good thing to be thinking about
Free and OSS in letter and spirit
using the bill of rights
freedom 0 was added last, but it is the most important building block so it got inserted as 0
Better News https://betternews.org/
Ethical path to better systems
Open protocols
distributor plugin from 10UP
Accessibility as a pervasive feature
we allowed ourselves to move away form accessibility vs web 1.0
Project VRM (from Harvard)
Ethical Design Manifesto
Inclusivity is also a core principal!
Stop thinking about how we serve people like us
serve others
Recode/Decode Ma.tt

Reader revenue and the (less) open web: What happens when we all have paywalls
Eric Ulken

I am very glad this talk happened int he order it did for the day. It gave a context and a history for someone like me, peripheral at best to this level of publishing. This back story to how we got to where we are right now with pay walls and walled gardens was extraordinarily helpful in framing all the rest of the conversations I heard while I was there. It also filled me with a great hope that we are nowhere near a final, baked solution for this and the greatest innovations are most likely yet to come. We must have courage and start thinking beyond what got us here and invent new ways to engage that makes sure news and critical, timely information is not just the purview of elite and/or self selecting.

Raw Notes:
he has worked at the big papers
“Information only wants to be free if someone, somewhere pays for it”
For a while we forgot about the homepage and SEO
forgot the customers were coming through the front door
Paywall 1.0
rude and crude
since then have improves
front door wanes, then grew again
people became accustomed to paying for content
Paywall 2.0
2011 at the Times
An elegant way to extract revenue from your heaviest users without killing audience reach or ad revenue
Meter does something else, publishers brought needs into alignment
putting users in center of what we do
Problem solved..no so fast
some numbers
average publisher
50% tile
only 2% convert
the very best performing sites converted .96% of time, per month
over time NYT 3.5 million, 130 Unique, 2.7% subscriber rate
Boston Globe 95K 5M unique, 1.9% SR
Star Tribune 55K 7M unique, 0.8% SR
A crude segmentation tool
10 free articles vs 5 free
stop seeing more casual users and conversions drop
try before you buy is stretched beyond recognition
What happed when all have paywalls?
moving that direction…
Who uses the Incognito window a lot?
Have you ever tried to cancel?
CA law to let people cancel online if buy online
also sneaky introductory pricing
Subscription Hell, the paywall backlash
the openness continuum
open to closed
contrib model – sub only products
public media – the Athletic, The TImes UK
some in between like WSJ and Meters
Contributions alone are not going to solve the issues
60% want access to local news
40% notice a lot of interesting, useful articles
31% want to support local journalism
Well, there are a lot of good ways to support as a reader
should publishers care to cove this?
imaginary papers
100 users a month
1/2 are fly-bys
2 subscribers
those 2 are die hard and account for a lot of page views
48 are ‘in the funnel’
what business runs off of 2% of users supporting the whole group
philanthropy is maybe one, but no business really runs this way
but if can get a little money from more people
2 subscribers = $20
but add 8 low cost products + 2 subs = $36
with cannibalizations
who’s working on what?
Smarter segmentation by pricing – Google
Bundles – Apple/texture
Micropayments: laterpay, civil
COntributions, News Revenue Hub/ INN
Also lenfest, shorenstein Center, American Press Institute, Public Radio Bizlab
This is not easy stuff, but there are a lot of people working on this front
What can you do?
Listen to your audiences
Understand their range or goals and motivations
think beyond subscriptions
share what you learn
Remember not every will pay money but might contribute in other ways

Why Paywalls Are Good for the Open Web
Nick Johnson

I am not one to willing pay for content that often. It took me until Netflix released Marvel’s The Punisher series before I even did a Netflix trial. The was ultimately was not the content itself I ended up paying for, but instead the service that delivered me an HD version, on demand with subtitles, that I could watch without any fear of DMCA notice or shady asset loading that other methods risked. We, especially in America, are very used to paying for services. Modifying the conversation away from a guilt trip that ‘you must pay for content or content won’t exist’ into one of ‘look at all the amazing things we can give you for such an incredibly low price point’ might be key to dramatically better results.

Raw Notes:
Coming from it as a software developer, nit a journalist
what is the Open Web
Year of the Open Web was 2017, but it keeps going
single underlying principle connecting all these ideas: an open web is a web for and by all its users, not select gatekeepers and governments
Buzzfeed disagreed
Google and FB are going to have to fix the paywall issue that is bad for Open Web, otherwise only 2-5% of people will get quality news
Ad rev in publishing are not meeting the need for content producers
FB revered policy on closed content this year
Google said: Ads alone can no longer pay for journalism
Buzzfeed in march said a paywall for Buzzfeed might make sense
What are pain points?
2008 was a bad year
decades ago new medium like Radio and TV challenged
internet was a mixed bag
CL and FB killed the classified
Digital ad revenues aren’t making up for print ad revenue losses
many who are still struggling when making the jump
ad revenues have plummeted
eat enough carrots, you turn orange
too much of a good thing is bad
case in point, advertising!
in context it is fine, but shoved in your face adverse reaction
advertising is out of context if not relevant or if it is invasive
online ad engagement is down
7% user engagement in 1997
2012 – 0.1%
people learn to overlook online ads
Let’s shift it
let the journalism drive the cart
subscription economy is here!
different types of experiments going on
is what we have bringing back people
Vehicle crash coordinator
content generation is already open source
anyone can gather news
Many people would rather pay for someone to set up WP than set it up themselves
shift off of content to the service
makes more sense for paywall for the service
News reporting should not feel guilty for content paywall, not really what
How do paywalls and open web work together?
It makes sense that business should monetize core business
paywall also brings a responsibility with it for journalists
shift in perspective that makes us want to make more valuable things
will people pay?
many people will
case study: what would you be willing to pay?
gave options but only showed one price at a time
$3, $6 and $10
5.06% for the $6, highest but not by much more than $3 4.94%
we need journalism to exist
connected created government abuses without good local reporting
tax rates higher, more corruptions
Ask. It hurts if you don’t
a bible and a newspaper in every house, a good school in very district – all studies and appreciated as they merit – are the principal support of virtue, morality and civil liberty

Meta and Schema: Defining the Content about your Content
Jim Birch

Not going to lie here, I didn’t really take new notes. The next section is verbatim notes from another time I heard this talk. The only new addition, other than some reworked slides, was the inclusion of Speakable, which is an assistive A11y standard to do with screen readers (at least how I understand it).

Do you like whirlwind, two fisted, no holds barred, data filled sessions that have almost too much information shoved in your face? I love them. I wish every talk I went to I learned anywhere close to as much information as Jim presented. I will admit I started playing with a couple of the resources he introduced me to and might have missed part of what he was presenting in my notes. If you think you have meta nailed down, good on ya, but still, check this thing out. I am betting you will find a new tool or trick in here somewhere. And for those who have never thought about meta or schema before, prepare to have a new world view opened to you.

Raw Notes:
How do we look to others?
How does content look to others?
what you do for Google is good for all the other services
TL/R Specs and validators
w3c HTML 5.2 specs
WATWG Meta Extensions
Open Graph
Twitter cards
Meta, from the Greek, prefix, concept
like card catalogs
full time gig back in the early days of libraries
Dynix, early but popular
Enter the W3C defining 5.2 spec
4.2 docs about Document Metadata
6 things
– head element
– title only one
– base tag, element to set the base for something
– link, link to other resources
– style – embed information in the doc for styling
– meta – for everything not the previous 5
all name value pairs, only in the head of the doc
name=> value(content)
There are defined metatags in the spec
author, application-name, description, etc
pragma directives language construct that specifies compiler and other technical information
Other Metadata names
list all that have been applied for and their extensions
You can make your own metadata you define on your own
no one would know it was there but you, but you can do some stuff like priority of search engine
Unicorn from W3C
see how good of a coder you are?
pass/fail for
Google meta tag validator for things it understands
title, googlebot, refresh
that is it for google, one document, that is all
Open Graph Protocol
Let’s webpage to become object
required fields
title, type, image, url
music, video, book, etc
FB has a debugger – important to use for FB to re-scrape content
pinterest validator
LinkedIn – using random variable at the end of url to force them to refresh
twitter card
rich photos and such
summary large image
player card
app card
they also have a validator
How to implement in WP?
Yeast SEO plugin
add meta and fills in some things for you
can but in Open Graph tags
same with twitter cards
Theme itself can use logic to use image via php code
Started by google, Open source
way to put structured data on sites, in email messages and beyond!
goes on for days
drill down into most of them
Most popular are creative works
can implement a few different ways
inline was first and popular
What does Google care about?
Google Search Gallery Page
How? Yoast of course
Schema Plugin
JDFlynn made a tool to generate the needed JSON
again, theme can use logic to suss this out
Test and Verify
Google to test

How to Stop Editing in Google Docs (and Other Tidbits to Help You Find the Right Editorial Workflow)
Jodie Riccelli
Shayda Torabi

I am a little obsessed with aspects of content deployment recently. I went into this talk very eager to hear how their ideals around the process of going from copywriting to deployed content. What I left with was a set of questions and the desire to have a conversation around tool chains. IN a nutshell, their proposed solution to a complex editorial workflow would draw all the disparate pieces into a seamless administrative experience leveraging a single needed WP login. This is a bit at odds with my gut feeling that we should be instead moving towards a world where WP is only the CMS and editing and content creation is not something native nor even dependent on the underlying storage and dissemination platform. There is a lot of room here for needed debate and I am more than glad to have such wonderful peers in this space to have this conversation.

Raw Notes:
We are up to 31.4% of the web
14.7% of the top 100 sites
just growing
empowering people to write their own stories
more interconnected with other systems and we need to react to that
Teams are spread out
Frankenstein solutions, all sorts of pieces shoved together without any real planning
People inherit solutions, having to act out what they are giving
how to pic and figure out better tools
Current solutions do exist
publishpress and editflow
but they are locked in and still honestly a little kludged together
licensing models vary wildly
How Viacom, Campbell’s and Microsoft use WP
bending the tools to how they want to use it
content is king. Needs to be done fast and accurate
collaborate and redlining and costs and access are easier with Google docs
Using 3rd party systems to create content and recreate in WP
Copy/Paste is not even easy
Multiple languages
approval process is not just one and done
better control of advertisement placing within content
At WebDev they are making tools to solve this
met with client, heard all their issues and made a tool
streamline the admin editor to make it do what they need and only what they need
easy to show sign off and queuing
tablet vs mobile view editing
theoretical and then they started building this idea out
What do we need to consider to make this real?
Let’s make the editorial process as important as the site itself
Define the workflow
wireframing, whiteboards, anything. Document it and understand what you are really doing
WP lets you have granular user roles, so define what you need
hint https://codex.wordpress.org/Roles_and_Capabilities
WP roles vs real roles, not all map 1:1
how do you pay? Set the parameters per user
automatically calculate things
content, where does that come from and what is what?
conceptualize into a user interface
dashboard with rolling task list
Editorial calendar
might be in Google calendar or evernote or a whiteboard
assignment due date, color coordination, other ways to visually organize it
We need tools to be reactive to events/changes
Assignments – giving people items to do and converse about it
fluid is the goal, if you are jumping from platform to platform- not good
First draft – WP shines here already, editor is already in place
Fact Checking, making sure we have the right information
WP edits with comments and color coordination in a single screen vs platform switching
Media is essential
how to manage it and store it is vital to any content system
challenge was 3rd party media service overseas
get media onto the site in real time
video and photos and syncing with a site
why are we using ‘backdoor methods’ instead we could leverage WP directly
make it easy to A/B test, social previews in the dashboard
how do we actually edit in WP and make this happen?
track edits within the docs
go back to original writer for further edits
once editors approve do not ship yet
go through your process and QA your post
visual testing, accessibility testing
social media testing
process of QA that you are confident with anything you are posting
throughout the process never left WordPress
think about adding and editing content as much as we think about web design.
Don’t settle.
Demand more from your CMS

The Narrow Path for Local News
Austin Smith

My biggest take away from this talk was that we actually need to be innovating more and taking bigger risks with what we think the medium of web publishing can do. THe most telling moments were his screenshots and analysis of multiple sites on how much real estate is devoted to ads vs subscriptions vs content. For an industry that strives to make money from anything but ads, it was shocking what a tiny fraction of the screen and in how inconspicuously subscription and membership promotions are handled on so many sites. I have not been aware, nor ever had I heard anyone say ‘The Netflix model’ before, but I am seeing it everywhere now where the majority of the screen is devoted to conversion to subscriptions. Strange as it sounds, newspapers have a lot to learn from the online movie business.

Raw Notes:
What is the most unethical thing you ever did as a developer
he posted on HackerNews mentioned that
Jared Kushner requested Austin to delete articles
innocent article, but this story of deleting it went crazy
Realized he should not have done this
don’t delete articles, just append
WordPress does not allow this
Back to local news
Issues around president saying ‘press is the enemy of the people’
Press is not an enemy should be more important than open web
we need First Amendment protections to do our work
The Times and New Yorker are just as guilty of leaking or selling user data
Slow websites and walled gardens or society with no journalism
Slow internet any day, we absolutely need journalism
ads are what slowed us down
ad tech made the market need a whole layer that slows things down
Recreating same story, is that serving the good
maybe not
If it doesn’t make money or attract attention, don’t do it
simplify to just if it don’t make money, don’t
if we can break out of the
local papers need to engage the user’s ideas
engaging eyeballs is a little weird
we need to engage the whole brain
revenue strategy should be clear from user experience
News products that do not serve display ads will convert more readers to paying customers than those that do not
not logged in, visiting, fractional bit of real estate to promote their subscriptions
better on some sites
Netflix model comparison
harder to extract value from old news vs old TV shows
Digital news brands must exit the attention rabbit hole and become a valuable part of a healthy routine
Marketing healthy lifestyles
Whole Foods and gyms and such are selling the benefit, not the fear they will not exist
your weakest product will define whole business of products are synchronized
| low equity | high equity
High scale | |
low scale | |

Public traded and equity owned
NPR Civil
Noting Good
Many independent news orgs, newspapers owned very wealthy people
Consolidations are happening a lot
billionaires are doing good things and very bad things

A faster open web: Why speed matters and how to get there
Barb Palser

“speed is, for lack of a better word, good” is a phrase I could easily imagine being said during the outpouring of fact and interpretation of tooling from a very knowledgeable expert on such things. Google does have some of the sharpest minds and more interesting tools based on more data than has ever been amassed by any single body in human history. There underlies this all of this something I hesitate now to call ‘assumed correctness’ of it’s interpretation, but don’t know how else to express. The moment that sat with me and the one that I have been pondering, especially in the light of the next speaker, came from a question around AMP for Email. An audience member asked if this pretty terrific sounding premise of ’email content that updates upon open’ would work on other systems like Outlook or the like. This was met with a pause, as of the thought of it had not been realistically entertained in the talking points and an admission that ‘it would need to be on platform to real the effects, at least for now’. While I myself and my company rely on gmail, the necessity to do so to claim benefit from a new tech left me a tad uneasy, especially in light of the underlying theme of the conference and was stated, the talk itself, the open web.

Raw Notes:
Not really a talk about AMP
Taking back the Open Web
A challenge we are facing internally
Pinterest improved landing page engagement for second difference 15%
Financial Times 5% engagement change for every second of site speed
0.7% revenue impact for every 100MS
We get it!
But at scale, no we do not, the HTTP Archive tells us so
median mobile site is heavier than the median desktop site
median mobile page weight inches up
over 2MB is average size of a WP site
huge range in WP, long tail
not to say hard to build fast, but not nearly as hard to build slow one
First COntentful Paint
any visible content
people with WP sites are performing well 1/2 as often as other sites
Onload (Page finish leading) 67% with WP is slow vs 44.3% with other tools
Fun with Perf tools
Lighthouse – code and performance audits
Chrome UX Report (CrUX)
how real users are experiencing the web
real user data
top 4MM origins on the web
launched October 2017
used chrome browser data
PageSpeed Insights (PSI)
So What?
Track real user experience over time for any site
Looked at 7 sites and made a comparison using these tools
most OK to Good, one really bad
unless you have unique content or sticky users, pretty obvious who is going to overall do worst
Sluggish pages are not a mystery
images, Code Bloat, Blocking script
Yes, courage!
Must embrace and talk to customers about this stuff
Speed is the FT’s most valuable feature for monetization
assigning value to it, it is very important
Over months and years, must think about customer lifetime value
not just conversions
putting it in $ instead of % will get stakeholder attention
Ecosystem forces at work
You are an ecosystem force!
We in the room build and run these sites
If Speed was a requirement from the early days, would be a different internet
Your site is awesome – most sites are awesome – Consumers, Advertisers and publishers choose the open web
Well lit paths
should be easier to build and maintain over time
non-website technical owner should benefit as well
Enter AMP
open web is more encumbered with no end in site
can change vs we do change, different things
time for the open web to take a step forward
fast and engaging and monetizing as the best walled garden
progressing fat but lot of confusion around it as well
moves fast so likely not everyone up to speed
OSS, super fast and smooth loads
used by 56MM domains globally
surfaced to consumers by top search and social platforms
Features to news hundreds of third party integrators
rapidly evolving
AMP for email
email as amp docs
keep content up to date
AMP for Gmail in dev preview
AMP Stories, open for devs now
building for Gutenberg now
AMP and WP have been dialing this in, Native AMP mode v1.0beta is here
Themes and plugins are coming

Why we ditched AMP, and other UX choices we made for launching membership
Brian Boyer

There are few talks I see that define a conversation for me as sharply as this one did in the ongoing pro/anti AMP discussion in the FOSS community. Not only did I leave with a much clearer feeling of what AMP lacked from a functionality perspective, I also have never heard such a ‘no holds barred’ criticism of the players who caused the need for the existence of AMP. In a talk that I am very positive will never make it to WordPress.tv, due to some R rated language at times, I can only hope someone out there caught the livestream and will make it available to the rest of the world. I have never been more convinced that people need to think more critically about this subject of ‘my site’ vs ‘my AMP implementation’ and what that really means for an open web.

Raw Notes:
Intro, lot of work in media, for profit but mission driven organization
Journalism should be like a church
shared system of beliefs
People pay because they want us to exist
out business model is love
1. Reader
2. Subscriber
3. Member
but it is not that easy
Love happens when your audience identifies with your point of view
journalism is not objective, we choose what to write and not to write
but the stories themselves are more Objective written
we expect the work to speak for itself
with that into
the title
One thing was they needed a donation form
explicit on point of view
if you love it too give us money
implicit messaging sets the mood
Denverite, the Denver site!
Navigation is more than way finding
it’s the list of things you care about
not so obvious it is implicit list of our priorities
Chicago Tribute example
phenomena not unique to Journalism, but endemic in it
homes and cranes vs Real Estate and Construction
Point of view of Denverite: We’re geeks like you
best place to ask someone to do something is at the end of the content
Newsletter – You’re like us, get more stuff like this…
submit vs sign up
popups vs natural feeling box at end of an article
newsletter – must know – need to know – fun to know
we generally suck at hierarchical layout to our news sites as far as making sense of the whole day
wall of information effect
no one has really cracked the issue yet
newsletters are easier to express take on the day in a clean ‘top to bottom’ fashion
Newsletter is not an accessory for the website, website is an accessory for the newsletter!
Powerful tool for readers
We got a lotta subscribers
if you’re already one, we’re wasting our pixels
if we know you are a subscriber, prompt to be member
member only events and promote higher levels
Nobody ever wants to log into your news site EVER!
For them, they use links in Newsletters and cookie that
MailChimp UUID to look them up
simple API calls to fetch user data
not all the dots connect all the time
but that is OK
just gotta cover the big use cases
First real issue on why they ditched amp
1. We need mote control over UX than AMP allows
2. Building and testing multiple code bases is awful
3. Their site is really, really fast
lightweight WordPress setup
We got over our FOMP
Fear Of Missing Pageviews
AMP is not the open web
slow and creepy
leaving the solution to Google does not fix our problems
we must do that

Press, Publish, React: Rebuilding TechCrunch
Mike Selander
Libby Barker

Oh man, do I love a case study. And this was a great one. I have to admit, by this time in the event, my note taking skills had started too fade a tad bit as I found myself engrossed in what was being said and needed to concentrate on it in the moment to comprehend what I was hearing in real time. The imagery conjured by their description really felt like you were on an actual journey and not just dryly contemplating another set of ‘user experiences’. Islands and rivers factored prominently. Things I have learned about the drawbacks to decoupled solutions again reared their head confirming yet again the need for the CMS and it’s functionality that we have come to depend on online. This is going to be a great one to watch for any developer embarking on a serious use of a decoupled architecture project moving ahead.

They were brought on early to redevelop their platform
Wanted an ambitious big plan
decoupled WP application
cornerstone of their workflow
By decoupling they keep WP but lose front end dev issues
the approach
Goals of site was more interactive than ever
Decided on React on WP
WP meant all the admin side did not change
serves almost the entire site
user interaction is better and faster with React
slightly different
Semi decoupled
River experience
Wanted to deliver a single page application feel for the whole site
river of content, endless scroll to discover content
works same on categories or in homepage
presented couple of challenges
how do you effectively navigate through?
clicking on story brings through to another river feel
Ads and analytics were important
strategic user engagement
React constraints
Proprietary ads system enforces by owners of TechCrunch
Library to deliver as as expected by React
Traditional is monolithic and
React and View both rely on WebPack, reload without actually going back to server
ReactWP script, extend for any WebPack application
changed on_enqueue as WP needs it to exist
self documenting endpoints
Very easy o use, gives you all info needed as new endpoints discovered
React oEmbed container
gracefully handle
giving credit to the team

Wrapping Up

There was a contributor day on Friday and I do feel a bit of remorse, or at least FOMO for missing such an event. Perhaps even I would go so far as to label it regret, as it would have been a great day for the WP Marketing community to further progress some topics. I didn’t skip out without a firm cause though. I had to travel on Friday to Montreal, for WordCamp Montreal 2018, but that is a tale for another post.

I really do love Chicago. From the recessed buildings, that allow the streets to feel less cavernous than it’s eastern contemporary cities, to the river that never stops flowing as if reflecting the energy of the inhabitants its banks. As I gaze at my calendar for the rest of the year, I don’t see her on my itinerary again, but I know that it will not all that much lunger before I once again visit this Metropolis of the Midwest.