Stanford WebCamp 2019: A little kombucha and a whole lot of community doing good

There are exactly 3 events I try to make it to every year where I don’t have to get on an airplane. The first is me home camp, BADCamp. The second is the closet WordCamp to my house, in Sacramento. And the third is the one that let’s me list having lectured at arguably the most prestigious major university in California that is not part of the UC system. Visiting “The Farm” also is one of the rare chances I have to ride down the 280, amongst some of the prettiest backdrops of scenic foggy mountaintops I know about. As beautiful as the landscape is, the real joy for me was seeing so many amazing people and having so many great conversations at, what this time turned out to be the 10th anniversary edition of what was formerly known as Stanford DrupalCamp but is now: Stanford WebCamp 2019.

Food and Fun

Friday morning brought the coffee. It is also worth noting that on that morning the COHO Stanford Coffee House had pretty awesome vegan donuts. There was no provided lunch but plenty of options abounded in the student union, including a BBQ tofu from BBQ 101.

After the first full day of sessions we made our way across the Student Union to The Treehouse for en evening of fine craft beers, wines and a beautiful alcoholic version of kombucha, which was surprisingly refreshing. We also had some light snacks while there while we were catching up about life and such. It was honestly the best after party networking I have every been to at this event and it worth noting for this particular event that it went on until after 9:00pm!

Saturday was a repeat of Friday with coffee and buying my own lunch. For the record I at ate at The Treehouse again for this meal since they have a house made veggie burger. Quite good.

Sessions

Opening Remarks

Dos and Don’ts of Data Visualization for the Web
Deirdre Moore

Visuals and visual design are historically areas where I struggle the most. I like long lists of data and being able to sift the information myself in fun ways to find patterns. I often forget other people are not as thrilled with having to dance with such scenarios as I am. Having said that I walked away from this session inspired to try to look into visualization more when I am presenting information. Many of the charts I say, especially the animated charting ideas gave me a new perspective on others think of data sets and gave me some awesome ideas for being better at reporting some of my findings moving ahead.

Raw Notes:
Dos and don’ts
Why?
present Complex information
if they are not visually presented
Anscombe’s Quartet
as raw data no real patterns
statistical analysis shows similarities
but when chart/map it, becomes obvious
patterns emerge in new ways
import, tidy, (transform, visualize, model) -> communicate
import ->TIDY (where you spend the most time)
Data Dos
Clean
Complete
Current
Do make a title
put the point in the title
example of figurative map
pie charts
you don’t have a pie except for dessert
can’t tell what is what most of the time
do you use binary data? – good pie graph
Don’t distort the data with visualization
3d rarely helps
Bar Chart is the workhorse of charts
Avoid abbreviations when you can
Do you start your axis at zero
must for bar charts
Do/Don’t
Cut the Y-Axis
truncate on small movements and important
Small Multiples is good for outliers
stacked bar in small multiples good
pictograms
good for whole numbers but don;t overuse this one
Chart Resource Demo
Visual Vocabulary from financial times website
Data-to-viz.com
story data visualization
caveats
On Fonts
legibility is the goal
avoid fancy fonts
horizontal text when possible
testers with low vision
Data viz on the web
how?
an image with your viz
potential for user engagements
Accessibility
content must be
perceivable
operable
understandable
Robust
Do use Alt-Text!
be conside
don’t say it’s an image
link to machine readable file of the data
end with a full stop
Do Research color
color blindness colors
do use whitespace
interaction acceleration techniques
maps demo
mousing on to small dots
do tests for a11y
Test with screen reader
person with low-vision tester
viz interactivity responds to voice commands
run high contrast
use emulators
Make viz responsive
no control
Do/Don’t
Mobile First?
use analytics
what are people using
statcounter
mobile then desktop and tablet smaller
Flexbox
the it puts it in a grid
Do you use interactivity?
massive benefits
Animations to draw eyes to data
different visuals draw eye
awesome examples of animation
Do you need it?
in some situations are mandatory
it’s like chili sauce
if too much it is all people remember, but a little goes a long way
do use it sparingly
use CSS for transitions instead of JS or API
Audit a DV Class
there are 43 results in the Stanford course catalog for ‘data visualization’
Library has pragmatic workshops if you are on campus
Community!
you have a lot of knowledgeable colleagues, connect and learn together
Visualizing out of the box
Necklace from england, air quality over time
bracelet temp in Australia and rain
kitting to show commute
knitting in city council
physical bar charts
buttons
spark conversations
playdoh – #DayDohViz
How to cook a turkey
UN says data viz is needed for a sustainable future

Modernizing the Editorial Experience of a Flagship Campus Site
Eric Guerin
Jayson Jaynes

There was so much data in the talk I could not do it justice with my notes. Case studies reveal more than the technical implementation details, they reveal the amazing journey that every project actually represents. From stakeholder motives to end user worries, the tale of how we got from there to here, Drupal 7 to Drupal 8 in this case, is just fascinating to me. I love the fact that they acknowledged that one of the pieces, twig templating, was actually a struggle to learn, but one worth undertaking since the end result served everyone so much better. I love to hear tales of teams doing the hard thing to do the better thing and would love for others to also love this too.

Raw Notes:
Looking in the mirror
what works, what does not?
rising to the top
hidden in plain view
look at ME!
UCSF has awesome photos, but were not leveraging enough
Dude, where’s my site
servicenow as defacto point of origin
APO feed to update a-z list
Drush to make thum.io api integration – full screenshots of your site
moved to websites.ucfs.edu
search and filter easily
being classy on a budget
design to the rescue
hired HUGE inc to help
content creators know best
editors wanted flexible layouts and easier media handling
Tear down the wall
24 content types to 9
increased taxonomy a bit for better data management
using the round in that square peg
use what you want, when you want it, and making it up when you can’t
Liberal media, not fake news
26,000 media files, needed better search
title search
classification taxonomies
more demo
adding in columns to give editor more control
Media important because many editors and so many high density images caused page weight to go crazy
inserting full size images
extensible now
the editors fought it at first and then a lot of education later, they got it
Reduce and Reuse
out of box vs custom code
Wanted D8 since d7 retirement coming
upgrade to newest version of Drupal
wanted to simplify
7 root had 31 custom UCSF modules
306 contrib and custom modules on top
15 preprocessors
but easier than you think to move to 8
config management was way easier!
building at a lightning pace
made use of Media in Core
by relying on Twig templates, cut the need for custom hooks
but still difficult to learn, weird syntaxes, dealing with render arrays was a challenge
Responsive image sets to reduce bandwidth and lazy loading
Old site
275 contrib modules
31 custom modules
15 theme hooks
D8
144 contrib
10 Custom modules
10 theme hooks (much simpler too)
2 shakes and a sensible meal
out of box to the rescue with a little custom help
reducing complexity and relying on core
made the site earlier to maintain
reduced the barrier to entry
less code, less load!
old site, used Nodequeues a lot
wanted remove as much from DB as possible into display layer
panels, views, Nodequeues
much faster
themes are more semantic
alt-text is easier to access and enter
webforms can provide inline error messages
errors
d7 – 44
d8 – 6
warnings
42
26
Contrast issues
13
4
lazy loading really helped with speed
responsive
caching really helped
can reduce JS dependencies
refactor and reduce font sets
CDN images
Optimize views queries

How Drupal Enabled UC Davis to Help Syrian Refugees Regain Their Freedom
Carson Black

Sometimes I am reminded just how much actual impact web development can have and I get overwhelmed a bit. I had no idea going into this talk the effect it would have on me though, as I have found myself talking about it every day since as an example of what good we can actually do with all out ones and zeros and machines talking to each other over fiberglass and copper. The lives of hundreds of people have been impacted for the better thanks to the work of Carson and his team. I never do this, but if there was every a non-profit to think about donating to it would be the Article 26 Backpack Excellence Fund. Knowing the souls that made this a reality makes me feel very strongly this is the good fight.

Raw Notes:
Refugees have bad experiences
many die
Rights
human rights
in a backpack, wherever you go
in practice, people are discriminated against
backpack project
people lose docs
education is key, transportable skill
many people are education but have no way to find job
safe place to store information
What is backpack
Webapp with compartments, way to store important docs online
allows curation and sharing
mobile friendly
The Drupal hammer
multilingual
roles
jquery
easy theming
file handling
highly extensible
Contrib modules:
Me redirect module
Profile
Role Assign
User Protect
Video Embed Field – user videos uploaded to site
Entity API
User protect
UCDavis project
GDPR Article 26 – privacy
Article 26 Backpack sharing
Article 26 Redirect
Article 26 Compliance
Article 26 Profile
GDPR includes right to be forgotten
Drupal can be hard to forget all the files and info all the time
custom module removes ALL the files in the system
Backpack Sharing Module
creates 2 entities
Share – represents shared backpack
Share Item – selected items related to a specific Share
Form Controllers
Authentication for anon users
Custom access control handler: anon can view private files
Mailer
Demo shared backpack
Language?
Out of the box D8 Core made it possible
English first, then into Arabic and now Spanish
right to left switching of stylesheets
Process
Phases/Iterations
Sprints
Consultancy Scrum – learned that at a Stanford DrupalCamp
clear SoW
User stories from empowered product owners
dedicated Ps
Sprints
Automated testing
Docksal local dev
Pantheon hosting!
People
ID where client flexibility exists
Empowered Product Owner
Open communication between developers
Realistic evaluation of team member velocity
Opportunity to help others motivates
Outcomes:
Hundreds of backpackers
international attention – NPR all the way to Dreis’ blog
on time!
On budget!
Dr. Watenpaugh awarded Centennial Medal from the Institute of International Education
The Future:
French and Persian translations coming
Phase 3 – compass
API first initiative
Third Party credential eval by AACRAO
Academic counseling
Job placement assistance

Google Analytics 201
Andrew_Mallis

I almost didn’t include this one in the final blog draft as I was distracted by something completely unrelated and my notes are spotty at best. I really do enjoy listening to Andrew speak and love his ideas around visualization. While I see a lot of talks about Google Analytics at WordCamps, it is not all the time I see them at Drupal events, which even with the name change, Stanford camp still was this year. One of these days I am going to have to implement GA for real and when that day rolls around I am going to find this in my notes and rewatch this presentation.

Raw Notes:
Remembering how he got here
to Stanford
and how we got here as a community
is important to seeing the future
I am not your Guru
he learned it all from Vadim
–distracted–
Driving change through data
Why do people want a website
to do a thing, download a thing, get info, buy a thing
Users, Sessions and Pageviews
Person
trip to a mall
store
user
session
pageview
Session
GA has no idea how long they are on your website from the last page
session duration is strange
user intent is hard
Goals help measure campaign success
Solutions gallery
Bounce rate
excluded from other time based metrics
Master view and filter view of same page
–distracted – notes missing —

Plan for Drupal 7/8 End of Life Now Before it’s too Late
Dan Harris

Dan’s time slot moved and the presentation got off to a later than planned start and there were technical issues along the way. Though my notes are brief, there was a lot of information shared and performing a web search with any sentence from my notes along with the word Drupal will provide much reading into some fascinating areas. Especially around JSON:API and Layout Builder. The opening quote though is something I will be quoting for a long while to come, at least until Drupal 9 actually comes out.

Raw Notes:
Drupal 9 in coming, it is like the winter but it is not going to suck
D9 timeframe
just D8 without deprecated code
Your D8 experience might be messy depending when built
CKEditor in 8.7 is so much better than it used to be
layout builder is amazing
Layout builder is the single biggest leap he has seen
Dreis demo from DrupalCon of Umami
JSON:API for decoupled/Headless
in core
Drupal Workspaces
editing workflow, staging built in
workflows module multilingual is awesome!

Six of One, Half-Dozen of the Other: Metrics for Your Devs and Ops
John Bickar

When someone talks about doing things at scale, I sometimes hear them talk about dozens or hundreds of sites. But when you hear 2000 sites, there is just more gravity to the situation. Especially when the person speaking is responsible for the health of those sites. Ultimately this talk about about understanding metrics beyond uptime to measure the health of sites and services. Pure gold here in terms of talking about scalable systems that could make the basis of a whole book.

Raw Notes:
Pictures of dogs!
he manages Stanford site platform 2000 sites
responsible for the health of the service
that echoed louder
Service metrics, fitbit example
maps the why and how of how to measure things
map to business objectives
how we know we are being successful
what he cares about
* Security
* stable
* performant
* scalability
* reach
* a11y
* Business Continuity
Service metrics
tracking week over week to see better or worse
metric month over month
target vs goal
uptime example
Security
* Drupal security updates (quantity) (out of their control, but important)
* Drupal security updates (time to mitigate or patch)
last patch was 3.5 hours total for system
* SSL Labs Reports (quality, but cost benefit to improve? Is it worth it?)
Stability
* statuscake checks every 5 minutes for uptime
99.90% is good enough, not critical services
cost/benefits?
costs go up for every 9
Speed
* StatusCake again
Scalability and business continuity
no direct way
one example, moving from on prem to the cloud
99% there now
Reach
tracks how many personal sites
and number of group/dept sites on ACSF
growth per month
3.3%
2.6%
Ally
AMP
still an area to improve
a team of 17 people, what they all do?
5 devs
2 site builders
5 or 4 UX people
a Customer experience
Director
number of PMs

Communication 1: Understanding How we Succeed or Fail
James Smith

If I wrote non-stop about how just genuinely nice James is as a human being for the next few weeks, it still would fail to explain how much admiration I have for the man. Early in my life as a public speaker, his encouragement meant the world and it still does. Part of why I think I like him as a human so much is how well he communicates and how much attention he pays to the process. We are indeed fortunate to have him share his process and thoughts on the communication cycle. If we can listen and acknowledge the noise that necessarily happens, we can overcome so many hurdles in our lives. While about communication I would argue this session was really about life skills and how to be better members of a civil society. If you are eager to hear what I am talking about, no need to wait, hear him on Drupal.tv right now.

Raw Notes:
Communication skills
a conversation we need to have
1. Communication can be intentional or unintentional
2. it’s impossible not to communicate
communication is irreversible
is unrepeatable
minor differences, body language, etc are not reproducible exactly
reductionist view of communication
reduce to the simplest parts
Tool 1
What does a communication transaction look like
transactional model of communication from the 60’s
Sender/source -> receiver ->
encode -> channel of communication
decode -> receiver
<-feedback <- response
(Feedback loop)
fields of experience
things outside out knowledge or the receiver
don’t know how much they don’t know it
the real danger is the edge where they think they understand but they don’t
and then you don’t and miscommunication
7 edges of noise
Noise is unwanted signal
Internal = our thoughts
External = environment
Semantic = our reactions
can speak at 200 words per minute (max)
you can think at 2000 words per minute
every sense absorb data at 400Billion per second
can not be stopped
every second brain processes that to 2000 bits of information
brain models the wold around you all the time
noise can not be avoided because you create it yourself in your brain
words have usages not meanings
dictionary are histories not definitions
“That’s bad” or “That’s wicked”
Napkin at dinner – diaper in England
think about it, we live in a practicable lab all the time
testing things in low pressure often
We are meaning machines
your brain’s job is not to tell you what is, it’s job is to make rational model where you can be comfortable with the inputs
reference to experiences you have had
more meaning for yourself, something is ambiguous
client vs dev, hard to get them across that gap
back to the model, new picture
when you say you didn’t understand
they will raise voice, get louder
if you ask for the last 3 or 4 words, you get a different reaction
paraphrase and mirror
builds rapport, improve the communication loop
Communication rules
Responsibility is on the SPEAKER
when you can’t communicate, STOP!!!
This only guarantees that you will be ‘clear’, Not that will get what you “want”
2 – Best communication tool
7% of language is verbal
38% is tone
53% body language
Mehrabian is misquoted
that was research for English and how emotion is measured
this is not true for other languages
and varies a lot
can’t put hands over your ears and understand a lecture on physics for instance
but still super valuable
need engagement in communication process
the 7% reminds us to pay attention to other things
that’s right vs you’re right
we want to hear “that’s right”
that shows engagement
Take aways
active feedback loop
active listening
email phone in person 55/38/7
be aware of noise
be self-aware of ambiguous communication
know the communication rules

My Talks

Making A Tour: Leveraging The Tour Module For A Better User Experience

Sometimes you feel the whole room with you and know that what you are saying is a good thing to have said. That small room with the 25ish people there made me feel very welcome and very appreciated as I laid out a case for Tour as a better way to interact with any user that can use the navigation bar, which is any user it turns out. Imagine having a built in tutorial for every page on your Drupal 8 site. This is the reality that Tour module gives us. I feel so overwhelmingly happy to get to share this good news and to hear the potential use cases people come up with once they know the tool even exists. Special shout out to Kelly Albrecht who inspired me to do my own talk on the subject after his inspiring talk at Texas DrupalCamp 2018

Learning Markdown: 20 minutes that will change your life

As you might know, I write my blog in Markdown and I honestly don’t know why more people do not. I have the strange belief that it is pretty easy to learn a new thing like Markdown, which is just a shorthand for something I think we should all know, which is basic HTML. I say strange belief because while I am in fact confronted often with people who don’t like to learn anything new, I still cling to my belief that a better tomorrow is just around the bend if we just adopt some already existing but slightly tricky to learn technology. This talk is pretty close to my dissertation on this belief and I am proud to have good feedback from the few times I have been fortunate enough to give it. I also learned about in the process, a possible better route to editing github files which I am exploring deeper after having just learned about it.

Wrapping up

While not the biggest of the events I attend, it might be the one with the biggest heart. The organizers of every camp care deeply and it is not any form of a competition, but to see the Stanford crew pull together so tightly and force-of-will this event to happen for the last 10 years, it’s the stuff the OSS community is made of. Every time I visit the amazing campus and get to lecture in those hallowed halls, I count myself lucky. I can’t wait to go next year for the 11th installment of Stanford WebCamp 2020!

WordCamp Atlanta 2019: A little rain, more humidity and a whole lot of community

I landed into a humid summer evening with a bright yellow sun trying to cook The Big Peach and all it’s inhabitants. This was the first trip where I needed neither coat or scarf the duration of the trip, though an umbrella might have come in handy at one point. It was the first time I had returned since 2017. At the airport I immediately ran into one Michelle Schulp and knew from that second on that this was going to be an awesome trip for WordCamp Atlanta 2019

Food and Fun

Thursday night

After settling in, I walked around a little bit enjoying the downtown bustle on a Thursday evening, arriving in town a day before Contributors Day and a day before the Speaker/Sponsor dinner. Twitter let me know that the fantastic and fabulous Francesca Marano was enjoying some very authentic fare at historic Pittypat’s Porch. I joined her for some catching up and swapping travel stories, since she is also one of the road warriors in the space.

Friday

Contributor day started at 11:00am so, no coffee to speak of yet, but they did indeed serve us lunch. This and every meal that followed had a whole separate vegan special line and menu that prominently featured kale. While you might have a slight recoil from that vegetable in general, these were very well made wraps that packed flavor and nutrition dense superfood into every bite. Cant find a tweet about these wraps and I forgot to take a picture, but they were green wraps full of kale, if you can imagine that.

Speaker dinner

After a day of contributing we gathered at, the appropriately named The Gathering Spot for an evening of food, drinks and some fun trivia and conversation at the traditional Speaker/Sponsor/Organizer/Volunteer dinner. Given there were 62 speakers at this event, this is one of the largest of such dinners. While less intimate it was great to catch up with so many amazing people. Vegan options were plated and brought to us and we didn’t even have to wait in the buffet line. The quinoa stuffed tomato with vegan cheeze was marvelous! We also played a game of Kahoot.it trivia, borrowed from WC Miami and run by the same David Bisset from that same camp.

After the party, I was able to crash Mike Demo’s at the Tiki paradise, Trader Vics. It was a real treat to get to hang out with so many amazing people in a kitschy place with drinks and dishes they set on fire in front of you. It was a small but fun night that carried on for a small bit before bedtime came calling.

Saturday

Coffee and yogurt and granola and fruit! Of note, the fruit game at this camp was just on point! The berries were fresh and oh so ripe. The coffee was OK. Lunchtime brought more kale wraps and a few nice sides like potatoes and more awesome fruit salad.

The after party found us yet again at back at The Gathering Spot. This time there were appetizers brought around by the dilligent staff and larger bar selection. I had a bourbon which is worth noting here called Gentry. Smooth with just the right amount of fire and smoke. The party was good for all ages as well with a charactercher artist, balloon artist and a roving magician doing all sorts of fun tricks to delight us party goers. The real magic for me was the laughter and genuine fun of meeting new people and sharing in the joy that is community togetherness.

After the party some of us gathered over at the Metro Cafe Diner for some WCKaroake. This venue is a mixed blessing of a place, being a diner, a bar and a karaoke joint all in one. Location is everything and the proximity to the, central to the event, Westin hotel made this a good choice. The food is fair to OK, the bar is alright and the karaoke DJ played a full song with its music video between every singer, which is kinda annoying, but the convenience factor of all three at once make it alight. The chance to hang out and talk with my fellow campers made it awesome though.

Sunday

More coffee and yogurt and granola and fruit. Not sure why I have never really thought of granola and pineapple as a balanced flavor combo before, but I know I will be doing that more often moving ahead. Lunch featured a falafel wrap that I welcomed as a change from the kale I had been consuming the previous 2 days.

Before I left the event and having not eaten too heavy of a lunch, I ordered an early dinner from a local place I had read about in my plant based foods research of the area. Soul Vegetarian 2 markets something they call “kalebone” as a meat substitute and from my further digging, they seem to be unique in selling it. While the sandwich I had was just tremendously tasty, I would be hard pressed to tell you how kalebone differs from any other homemade seitan other than perhaps their spice choices, which I could not verify did or did not have kale. Still, for sure this place deserves future exploration when in the area.

Sessions

Quick note, I only got to see a handful of talks over three days due to the volume of hallway conversations I had while staffing the Pantheon booth. My normal process of going in late to a session and returning as the Q and A starts was short circuited by many an awesome conversation I was glad to have. This is in no way a complaint, but an explanation of the number of the session notes present in this post.

Contributors Day

I do so like Contributor Days. Getting together with the community to make sure we keep making the WordPress project happen and moving forward is the highest honor I think we can participate in. Normally I would add this as a whole separate section but there were presentations on that Friday as part of the contribution efforts and I took notes.

I also will admit that I have been a little unsure what to do next as a contributor. Back at WCUS 2018 I quietly stepped down as a team rep from the Marketing team and have just had a deep desire to return to the team after my little hiatus. I do still love onboarding people and had helped with that a bit back at WordCamp Phoenix 2019, but I still didn’t feel compelled towards any other part of the project at the time.

Very fortunately for me, Stephen DeLorme stood up and made me realize how I could give back to the part I probably leverage the most, WordPress.tv! I refer a lot of people to various talks on the many subjects I have taken notes on over the years. This includes my own. Doing a little work here and there seems to be right up my alley and will help us all get to see these amazing speakers and sessions a little quicker online.

Being a Model WordPress Contributor
Jonathan Desrosiers

It is strange that I never really compared my journey as a contributor to others’ path until this talk. Hearing how Jonathan went from a simple one line change to a lurker who occasionally did things put something in perspective for me that I have never really been able to articulate before. It was at WordCamp Atlanta 2017 that I first joined the Marketing team and just about a month later I was setting up and project managing the Trello board. A few short months later I was named co-rep lead of the team. I spent the better part of the next year and a few months doing my best to evolve that team, but never really understood what exactly I was doing. Having made a jump back down to occasional contributor I feel I am finally able to gather the perspective I need to make a healthier set of decisions moving ahead. I am rather eager to follow the processes in an established handbook of another team, like wptv, rather than help form them from the aether.

Raw Notes:
2013 first contribution
simple 1 line change
props
WC Providence
helped with a change but didn’t credit since didn’t directly touch code
Lurking in the bushes
getting a feel for community
see people knew from Trac and Slack
went into next phase, volunteering phase
raise hands to do things
mundane things at first, meeting summaries, accumulating research into blog posts
IE report
2017 Community Summit
honor to be there
Motivated to do more
recognized for contributions he had been doing
last year Bluehost hired him to be core contrib full time
Someone asked for him to become core contributor rights
ma.tt approved it last year
this year he is on the triage team, the lead
6,500 tickets in Trac
lot of issues, some are just misplaces core requests
Worldwide
it has led to so many opportunities
so many friends from contributing to Open Source
OSS Contributions transcend jobs
those contributions go with you wherever you go
What makes a great contributor?
be thorough as possible
over 1/3 of internet, can run in many combinations and code
Be patient
it takes a while sometimes
not everyone has English as first language
put yourself in other person’s shoes
Always be curious
always try to learn new things
Be empathetic
again, put yourself in their shoes
Understand timing
set realistic expectations
it is not because people don’t care or not important
but sometimes not in line with current project priorities
Understand the project priorities
You are not alone
there are others there even if not immediate respond
Assume good intent
people are not trying to be jerks
Master specific topics
this is valuable for the project
you can also become a “Generalist”
He focuses on Media component and multisite, but otherwise a generalist
go to make.WordPress.org
find a team
get on slack
observe, look at Trac tickets and learn how things work
2nd and 4th Wednesday in Core slack is a new contributor meeting
Jonathan is a moderator
Research – follow the process and see where ticket or code line was introduced
Volunteer
raise your hand to help
Good first bugs
lot of ticket reports for ‘first bug’ good way to get started
fluctuates week to week
Convince the boss that you should do this on company time
Don’t be afraid to ask for help
don;t feel alone and stuck, ask for help
Details, details, details. Be specific as possible
someone else has zero prior knowledge outside that ticket
save future research and duplicate work
Maintaining vs Contributing
Maintainers have long term stake in the project
Contributors drop in and out
not as time consuming as Maintaining
Have a Positive impact
just try to do good
further reading Nacin’s blog

WordPress.tv Overview
Stephen DeLorme

Until Stephen stood up and said something, I have never actually heard anyone from the TV project talk about it. Not really sure what that is and should likely be addressed as we continue to expand the number of talks given each year that need to be moderated, edited and uploaded. It turns out I already am set up contribute and it is easier, yet more ‘passive’ time consuming than I had imagined. “Passive time” is a term I use when I cook to indicate that the dish is just sitting in the oven. Exporting videos into the right format and size, as well as download and upload time is just as passive yet just as critical as that oven time.

Raw Notes:
Contributing to WP
What is WP.tv?
see talks from camps
So, who cares?
as an OSS project, discussion on the future of platform
WPTV serves as a way to disseminate this discussion across the globe, and as an archive of the history of the WP project
there is hardware to manage
new contributors, captioning and editing
1 Gig file size limit
anyone can submit to it
volunteer editors help moderate these videos
check against quality guidelines
trim videos, add intro and outro
compress as needed
subtitling/captioning
handbook make.wordpress.org/tv/handbook
wptv on slack
framecruncher sdbbesign.github.io/framecruncher

Saturday

Opening Remark

My talk

Learning Markdown: 20 minutes that will change your life

This talk arose from my baffling complex talk about my proof of concept content pipeline and automated testing tool PostItNow. What I never really expected was the way this talk about a pretty low level but wildly useful idea would excite some people; and i could not be happier! The morning following my talk one attendee admitted he really had never learned HTML and this talk has made him understand that is something he needs to pursue. Another attendee came up as excited as I am when I discover a new tool I see a million uses for and showed off the fact he can take electronic notes by writing in a special notebook with reusable paper. I had never considered this before, but he proved to me how transportable the Markdown format is as he could easily transform his hand written words into gorgeous HTML with just a little copy/paste. I am going to be telling that story far into the future.

GDPR for Developers
Andrew Norcross

When Andrew described his talk when I asked him when he was speaking he kinda sheepishly said “well it is a boring subject and I kinda wish I was talking about something cooler.” This ran counter to literally everything I know about his talks and I dropped everything else to see this one. What followed was a chilling talk that left some attendees sounding shaken when we got to Q and A, and for good reasons. I personally walked away wondering what data I am collecting on this site from people leaving comments and my not at all optimized Google Analytics integration, only means anyone might be sharing their data with me on this website, would make me culpable to GDPR regulation and fines. I can only imagine what horror people with dozens of sites with contact forms and other visitor data collection tools on production sites that have thousands of global visitors. GDPR might sound boring on the surface, but the reality is the underlying principles it it is built on affect every one of our lives in a deep way.

Raw Notes:
He is not a lawyer
talk to council with your company for real legal advice
The word we care about is Data
Data is worth a lot of money to a lot of people
Any information that is related to or identifies a naturally identified person
about 25 years ago
in the early days
was all about connecting people
All companies say “trust us with your data”
that was a mistake
92% of people worry about their online privacy
31% of people understand how companies use and maintain their data
74% of people have limited their online activity int he last year due to privacy concerns
many Major brands have one thing in common
Data breaches
EU privacy and law work different
The user has rights about that site
Right to be informed if you have a data breech you must tell the people effected
right to data access
more or less on demand
in a human readable format
can’t be just a raw DB dump without explanation
has to be all of it
Right to be forgotten
deleting
quitting FB, it never goes away
at best you are leasing data
Because
it never belonged to you anyway
James Lang
developer from VW
in prison
was building emissions
not the CEO, CTO or decision maker
not lead dev
not the ringleader
doing his job
building what we are asked to build is not good enough
so what about it?
In the US we define personal data slightly different
‘anything that pertains to me’ in the EU
health data
political opinions
racial origins
sex life
genetic data
biometric
location data
pseudonymized data
online identifiers
why that last one?
IP address
Mobile device IDs
RFID
MAC Addresses
Cookies
user IDs
we hold all this in WP core for EVERY user
this applies to EVERYONE who does business with the EU
can avoid? maybe but no
Can’t ignore the law
Data controllers
you decide what gets collected, how it used and shared
Data processors. use that data
Privacy by design
privacy can’t be bolted on later
7 point dev methodology
data intensive process
has to outline what data and who has access
part of discovery
regulators can demand on demand
Need to know everything
what comes into that site
Privacy Impact Assessment
This is still evolving
voice data was added after initial passing
not going to loophole out of this
Is this actually enforced?
They do enforce it
France fined Google $57M for not complying
not the max they could charge
individual countries can come after you
Will they really notice me?
First company every fined was over 2018 summer data breech
did every step right, letter of the law
still got fined
Ignorance is not an excuse
It matters
you want your stuff secure
And he does not want Facebook to ever
know more about him than he does

Basic Principles of Software Architecture
Micah Wood

Micah’s Twitter handle is a very accurate one: wpscholar. I have never been disappointed when I hear him talk. The vast knowledge he has accumulated he is able to not just share, but truly teach to any audience is impressive. In this short session that literally flew by from my point of view gives an overview of the true meaning of so many best practices, I have no doubt a week’s worth of workshops could be created by simply providing slightly deeper examples of each principle.

Raw Notes:
Software dev lifecycle
Requirements
design
implementation
QA
Maintenance
But what do clients care about
Cost
Timeline
Effectiveness
will it work now and a month from now, in the future can others take care of it?
Time and costs affected be design and implementation and delivery process
design changes are cheap and easy
implementation phase, be more costly
Delivery – reworking things after delivery will take the most time and are guaranteed to cost a fortune
What makes a project effective
solves the problem
is easy to maintain
The equation of software design
D = (Vn + Vf)/ (Ei+Em)
From code simplicity
V = value
E = ease of maintaining
24% APR
technical debt can bankrupt your project
shortcuts in maintenance
Law of change
The Longer your program exists, the more likely that any part of it will have to change
Law of defect probability
The chance of introducing a defect is proportional to the size of the changes you make
Law of simplicity
The ease of maintenance is proportionate to the simplicity of it’s individual pieces
goals
Easy to understand
easy to modify
easy to test
Self-Documenting Code
Use clear naming and small, specific functions
don’t get out of sync with inline comments, or the code starts lying to you
don’t use vague or abbreviated variables
be clear
Limit cognitive load
Consolidate logic and create clear boundaries
Limit code reviews to less than 200 lines of code
D.R.Y
Repetition is the mother of learning
repetition is good while you are learning
“Every piece of knowledge must have a single, unambiguous, authoritative, representation within a system” pragmatic programmer
Duplication of knowledge is a violation
duplication of code is NOT a violation
Knowledge includes data, business logic, algorithms
Code is Variables, code structures and function calls
Ambitious application before there is a duplication of knowledge leads to premature optimization
Ambitious application to code structures result in unnecessary coupling and complexity
You ain’t gonna need it
YAGNI
Single responsibility principle
a class or module should have one and only one reason to change
think functionality, logic and display
if coupled, changes cause issue for both
Open Closed Principle
software entities should be open for extension, but closed for modification
make sure easy way to extend the code
Modularity
Clear boundaries
Decoupled
Continuity
protection
must protect classes instead of all public
Extensibility
Reuse/Release principle
Only components that are released through a tracking system can be effectively used
composer is a good solution for this
or npm
wppackagist.org
A good software architect will delay decisions for as long as possible
uncle bob martin
care about the core business logic first and foremost
the actual business core
resources slide (good stuff)

How to Control Scope Creep by Embracing Change
Beth Livingston

Sometimes in the course of doing so many events you encounter the same speakers multiple times in short bursts. Given my limited time available and more pressing priorities halting me from seeing all the sessions I wanted it might stick out as odd to go to this one when I had just seen Beth give a similar talk only a week prior at WordCamp Orange County 2019. If I take a giant step back, the number one thing I think makes great teams and great companies and honestly great anything involving multiple people is a straightforward process. Beth holds the same value dear. Of all the business or project management talks I have seen since I have started doing this, no other talks I have personally seen do so much to preach and glorify that virtue of a repeatable process. While Agile values “people over process”, I believe without a firm process no amount of conversations can ever give you results all parties truly want at the end of the day.

Raw Notes:
Scope creep is the villain
She got into WP during the extreme couponing era
.net first, but that developer got a girlfriend and quit
He gave her Joomla, she then found WP
What we going to learn?
What is scope creep
How projects creep
proof this works
how to embrace change
and the magic of the change budget
How does a WP project creep?
Lack of clarity
Beginning design and Development too early
Over promise
Gold plating
How it happens
at deliver “just add”
“I thought I told you”
Content late from clients
They swap out point of contact to not the subject matter expert
Common ways you create it in project
“Throwing something in because you think it is cool”
this is gold plating
“waste of money and time”
“That’s a small change, I’ll just do it for free for now”
“Change control process takes too long”
“We will start before we have all the needed parts”
Embrace change management
Define the job in detail
get the right people involved
estimate the time and costs
Break the Job down
Establish a change procedure
Agree on acceptance criteria
How?
Educate the client
acknowledge change as inevitable
Abandon the crystal ball approach
Don’t just guess, have measurable way to do things
Position change as opportunity
Always position as phase 2
Establish and STICK TO a change management process
Put the client in charge of change
It is not their fault they don’t know
Discuss your management plan early
Be brutally honest about change
Suggest other options for content activities
Let them know that all projects do change
Don’t treat change like a penalty to the client
Positioning change as Opportunity
Phase 2 can be as big as needed
micro site for phase 1 is OK if they are in a hurry or don’t have much content
Stick to your established Change Process
Putting the client in charge of change
“Pad is Bad”
You can’t measure it
stop calling it a quote
it is an estimate
Elements of Good Change Control Process
Uses a change budget
Defines what continues a change
Identifies who can intimidate a change request
Establishes that all change requests are in writing
Specifies where the CR will be maintained
ID who approve/reject the CR
Specify how long a change approval or rejection should take
Clearly states what happens if the client does not respond
Specifies the billing
examples of her process
issues management is a whole related thing but separate
Review

Wrapping Up

I walked away from WordCamp Atlanta slightly surprised by the depth of conversations I had while there, especially given the larger than normal volume I had. From the person new to WordPress who had not quite figured out what a post was exactly to the old hats that continue to talk about the importance of proper credential storage and dependency management, I enjoyed every second of every one of these conversations. I really hope everyone has something akin to this experience as they continue in the community and at future WordCamps.

I felt my time zipped by too fast and there is a lot to Atlanta I didn’t get to explore. While I do travel quite a bit I find that I don’t really experience my host cities deeply. But the real reason I am outside of my beloved San Francisco is to be part of the community that is open source. Walking around that first night and reviewing music venues and other attractions that were recommended, it all kinda seemed hollow knowing that I would be exploring those on my own. This felt especially true when the alternative is to feel like I am reuniting with the extended family that is this community in possibly less remarkable or acclaimed places. I know which one I will likely always prefer, not that they are mutually exclusive. Maybe in the future I will go on that ferris wheel remnant of the 1996 Olympics with some other campers when I, hopefully, return for WordCamp Atlanta 2020!

WordCamp Orange County 2019: Where karaoke is the after party and you have to take the freeway no matter where you are going

I made the short hopper flight south to the home of the the Ayn Rand Institute and John Wayne Airport. This was the first time I have flown into that airport since they lost my luggage when I was in Americorps about 15 years back. They didn’t lose my luggage this time and this set me up for a really great time at my first ever WordCamp Orange County

Food and Fun

Speaker/Sponsor

We gathered at Rancho San Joaquin Golf Course for the traditional kickoff to the event, the Speaker/Sponsor/Volunteer dinner. I don’t always read the speaker line up super close when I go to a camp, mostly due to the velocity in which I attend them. This has the nice side effect of always being pleasantly surprised by one or more faces I didn’t realize was going to attend. The staff was super nice and I thought did an outstanding job.

We had to vacate the golf course at 8:00pm and some of us decided to have one more round over at the Auld Dubliner. This pub is set in a place called The District at Tustin Legacy which is a fake village that is just shops and restaurants and bars. It was a great time. A huge thanks to my WhyILearnIT co-producer and chauffeur for the evening Bridget Willard.

Saturday

Coffee, teas and as many snacks. Many snacks. If one thing is true about this camp, you are not likely going to go hungry. Lunch was lunch trucks that gave an options of tacos, BBQ brisket sandwiches, and some kind of other sandwich option. I went with the tacos based on the trusted suggestion of my fellow vegan Jessi Gurr and am glad I did.

WPVegan Dinner

Our original plan was to check out the very amazing looking high end Mexican fusion vegan restaurant Seabirds Kitchen, but that place proved too popular and we had to call a last minute audible. Fortunately directly across the street was a Native Foods which is my new favorite vegan fast food joint. The BBQ brisket burger and fried Brussels sprouts are literally my favorite things I have maybe ever eaten. Go there when you can.

After Party and WCKaraoke!

After a full day of sessions and dinner we regathered at the funky little Irish pub Durty Nellys which is also a 7 night a week Karaoke bar. THe place was very crowded but the weather meant that stepping outside for conversations between drinks was quite pleasant and all in all I would call it a successful time together for camaraderie.

Sunday

Coffee and tea. I skipped a real breakfast and was just going to snack lightly until lunch. Then out of nowhere, the amazing awesome human being Jon Gilbert showed up with a vegan poke bowl from I do not know where along with the best vegan banana bread I have ever had. This was the best food related thing that happened to me at maybe any camp!

Lunch was once again food trucks and I had a second (honeslty less amazing) veggie poke bowl for lunch. The other option was falafel/gyro and fries. I did not catch the names of any of these trucks from either day and would love someone to inform me of them in the comments. We again enjoyed the pleasantness of some outside air.

Sunday Social

Immediately after the the closing remarks they had a “taco and mashed potato martini sundae” social hour that also included a number of desserts. It was a very nice way to cap off the event and let us socialize and network without that “well, I guess it’s over” adriftness I get that accompanies other events.

No tweets of the sundaes can be found so here is my new favorite meme video that got tweeted during the event.

Sessions

Opening Remarks

Making the world a better place through web design
Natalie MacLees

I had just seen Natalie, my fellow crocheter, give a very inspirational talk back at WC Raleigh and was very much looking forward to this one. This talk as more of a ‘face reality’ talk for the industry as it presented the overwhelming evidence that we are effectively telling disabled people they are not welcome on our internet. This has been a topic we are talking about more and more and I am glad that we are. At the same time I am glad, I feel a dread that it just seems so hard. Like recently when testing out speed testing tools, one revealed how far off I was from real ARIA standards, even though my lighthouse score was 100 for this area. While I want to improve, and am making strides on it, to see how far that effort fell short when I really did think I was on the right path, put me in a mood that this talk hit home. Especially the last part that encouraged us to do what we can every iteration. I want to tell everyone they are welcome on my websites.

Raw Notes:
I came in late
A11y Inclusivity is a human right
Everyone need to think about inclusive design
Inclusive design should be built into your process
hard to go back and fix
how are we doing?
Bad. we are failing
Fortune 100 company sites
815,600
average 8000 issues per site
WebAIM Million
97.8% have a11y issues
it’s not just me, it is all of us all the time with this issue
our lives are digital now
work communication, business, government, personal use
we are leaving people behind
the Web industry collectively used it’s power to state that disables people do not belong here
no one made this decision explicitly, that is what happened
We need to step back from individual work and think what we are doing
what kind of world are we building?
Social Justice and Civil Rights
Legal considerations
little players get sued too
wine stores and shoe stores
Many businesses would be livid to find the tech choices their teams are making are actively incurring legal liability
Where do we go from here?
1. start thinking about websites in terms of that they ask of people
10mb of JS really needed for that form?
2. Commit to learn about inclusive design
there is a lot to know, not all that hard, just a lot
Ethan Marcotte quote – one thing a week, build into your process to adapt to how people use your site
3. Be an advocate and a gatekeeper
We are the last people to touch a site before it goe public
no one can force you to code a certain way
4. broaden your thinking about diversity
not for them, with them
5. do something even if it is not the perfect thing
build more accessible each iteration, each project

You Don’t Say: The importance of earnest feedback
Cami Kaos

OK, the fact that Oscar Wilde is literally one of my favorite writers, and the title references hi most famous play, did factor in but was not the only reason I went to this talk. Cami did an outstanding job of putting some clarity to one of the major issues around feedback, the mixing of coaching vs evaluation. The mixing of these, I am now convinced, underlies the misalignment of expectation and results of interpersonal professional communication. It is going to be my job in the future to ask myself what job I think I am doing when I give any feedback moving ahead. Let me add some final appreciation feedback to say I really enjoyed this talk by Cami.

Raw Notes:
Feedback can make you uncomfortable
Can’t just say good things
Oscar Wilde quote – importance of being earnest
feedback is not something you are naturally going to be good at
you need to practice it
When personal feedback stories from room
3 kinds of feedback – a common framework
1. Appreciation – good feedback, keeps the wheels moving in OSS and volunteers
making sure they are heard and matter
the issue is sometimes it is not appropriate or on topic
saying “your talk was amazing” is good
“your hair smells great” if you don’t know them, that is bad
2. Coaching – helping people grow and change
Sharing knowledge and gained experience
Mentoring is a form of coaching
3. Evaluation – best friends with Coaching
like depression and anxiety
Evaluation should not be emotional
simple feedback of how things are going
evaluate performance, doing this well or poorly
thumbs up or thumbs down
hard not to let evaluation be clouded
If yo are evaluating, do not try to also at same time
when someone ask you about their latest site, that is evaluation
if “how can I make it better?” that is coaching
If evaluation is positive can be appreciation
make sure appropriate for level of connection you have with them
What job are you trying to do?
Exercise to look back at evaluations and how it was handled
someone thought she was pregnant when she went on sabbatical
caused internal gaff
could have been an innocent mistake
job she needed to do, was tell him what email address to send to while she was out
that was the job
kitchen dirty, not her job to clean the kitchen, that is what a teenager is for
kid says “after the video”
turns into a fight to do it now!
now it is “how long is the vid?”
still gets done, the job is getting done
in a way where all parties are appreciated and respected
when feedback is delivered in anger, breaks the feedback
creates a defensive aggressive feedback loop
we have control over giving feedback
but we do have control of how we receive feedback

My Talk

If you gave me three hours to talk about Bash I am sure I would still gripe it wasn’t enough and there is still so much to say. 40 minutes was what I had and I just flat out skipped over Q and A, of which I am not very proud. I was willing to answer any and all questions after the time slot though. I was very encouraged by some very positive feedback. One tweet made me just stop and bask in it for a minute, something I rarely let myself do. I am realizing how deep a nerve Bash touches and I would actually encourage other people to give a talk about Bash, even if you don’t know it that well. I promise you, you will learn it deeper than you think might be possible and it might just change your life. I know it has mine.

How to Leverage your Project Management Methodology to Set Yourself Apart from Your Competition
Beth Livingston

I had missed Beth’s talk back in WCRaleigh, but this time I was determined to see it. Beth is a fireball of energy and her earnest grit when discussing the needed discipline required to get good at a project management methodology is nothing less than inspiring. I was honestly expecting a good high level talk on methodologies, but instead got a whirlwind of opinionated information that was challenging and as very nuts and bolts practical as could be. This is one of those talks to send to a sleepy seeming disorganized business lead in your life.

Raw Notes:
What we are learning
project management frame work,
first you have to have one
if you are doing any WP practice you need one
Project Management Methodologies
SCRUM, Six Sigma, etc
6 productivity principles for WP
Define the job in detail with a content first approach
get the right resources involved
estimate the time and costs often
break the job down
establish and stick to a change procedure
establish interim and final acceptance criteria
‘site is live, we are done’ is a bad acceptance criteria
Elements of a good PM tech
1 proper estimates
Stop calling it a quote, that is for fence or construction or deep detailed discovery
2 resource Manager
3. Work breakdown structure
4. approach to content collection
Proper estimating
1. abandon the crystal ball approach
this is the ‘I guess it is going to take about this many hours’ approach
if the next estimate comes in too high then can walk away
2. Don’t try to estimate what you don’t know. This explain discovery to the client
3. Get rid of the ‘pad’ a ‘change control’
no way to have lessons learned from arbitrary overestimates
4. Never provide a estimate…
Resource Management
Define the approach for the right
people
plugins
hosting
blocks
other resources
Approach to content collection
1. content first??
chicken and egg
content vs design
Explaining process to client makes it easier to grasp scope of work
2. define how you will:
determine content requirements
estimate contents
Change management
1. acknowledge change as inevitable
be brutally honest about it
2.plan for change
manage change use a change budget
implement change control without exception
change budget 20-30% on top of estimate to use for changes that will occur
invoice once change is agreed to against that budget
always get paid
Acceptance management
FIrmal process
incremental
define acceptance criteria before project begins
Why does this matter?
WP solutions going to look more or less the same idea
you need something else for your unique value proposition
You PM Methodology a a UVP
detailed 2-step approach saves money
phase 1 – project definition no real cost for change
phase 3 Dev – real costs for change
We don’t pad estimates because we don’t have to
we ensure we get the right resources involved
people, plugin, hosting, templates
incremental acceptance avoids misunderstandings and saves time
Your PM methodology as UVO
we acknowledge change, plan for it and let you manage it
never penalize change
it sets you apart v the other guy
the other guy i crystal balling it
functions can not always be tied to business requirements
content bottlenecks and delays
pads the quote
no change management
does not precisely define what done means
lay mines for other guy
teach client to ask
“how did you arrive at the estimate?
How do you discover and co BR
how do you manage the content activities
how do __ any part of your PM methodology

Take Command with Custom WP-CLI Commands
Dave Ryan

After seeing Steve Grunwell’s talk back at Loopconf 2017 and Ben Byrne’s session at WC Seattle 2017 I have been inspired to give my own talk on extending the WP-CLI. To date, I have not given this. Now, I take every chance I get to go see someone else give a talk on the subject because I am constantly doing research on the subject for when it does work out. Dave did an awesome job at presenting the case for WP-CLI and then showing us how scripting and writing your own commands is very powerful. At the same time he made it very accessible and even has open sourced the code he was demoing. I am actually going to rethink how I demo the tool in the future based on what I observed in this talk.

Raw Notes:
What is the CLI?
Way in
like a bank phone tree
authenticate in
press 1 for this, pres 2 for that
wp gives you a menu
Why?
saves time, especially if repetitive tasks
you can do multiple things with it
if you want to update a lot of posts, easy to do
db query
or write some custom commands
third party packages
REST API package lets you manipulate REST API way
powerful
Posts, pass queries form one command to another
cool operators
term meta key
composable
prompt
help
custom commands
why would I write a new one?
BASH!
command in a script or in an alias
that is great but downsides, permission issues, not version controlled as much a we should
defensive checks in PHP are easier than shell scripts
safe WP-CLI command easier than safe bash
intermix shell + PHP
can live in package or plugin
can install remotely
Easier than you think
check to see is WP is present
callable function
his ‘pewpewpew’ function
array for options of descriptions
concept of when
same as hook system, this code at this time
wp core download in a custom command?
‘when’
good properties of commands
Parallel construction. (things that start, stop. if begin, end)
mimic core/common args
Use Formats, prompts and dry-run parameters
immense level of value that you can work with different formats
All prompts can be overridden programmatically
make sure someone can flag to bypass the prompt
progress bar for easy insight on expensive operations
can easily push and pull these commands from github
walking though a lando script
wp-cli add command
lando\cloud_city\command
‘when’ => ‘before
leads up CLI file
namespace and use statements
extends the wp_cli_command base class
a few basic checks, positional arguments
Associative flags 0 key value pair meaning
if got positional or if a flag has been set
then create a URL variable
protected functions don’t become commands
good place to run logic
checkout core
install from list of settings
see rest in his github
0averyan/wp…
lando demo of this script
cool showing of wp live
his code is on github
scaffold FTW!!!!!!

Thirteen Blog Tips from a Thirteen Year Old
Emily Lema

I am 100% in favor of letting young people, actually anyone with something to teach and share, give talks at WordCamps. Young people always have a way of speaking their mind and flatly saying things. Sometimes these insights are genuinely inspiring and provide an honest, unfiltered clarity of a subject. Emily’s approach to this talk was very well crafted and was jammed with practical advice for approaching blogging. She said something towards the middle that I am going to paraphrase as “the purpose of a blog is to connect with a reader and be helpful” which I am still chewing on. I historically don’t believe in universal purposes for any tools, which is honestly what I think a blog is, but I am not able at present to find any flaw in her logic about a blogs purpose.

Raw Notes:
1. Take your own photos
It is her work and this is important
connection with the audience
example, went through a bunch of sites when looking for a service
stock photos are a bad sign
real images made them choose that company
2. Use Headings
vital to help when people skim
get your message out there
you still want your message heard
3. Have an opinion
facts are boring,
an opinion on those facts are more engaging
4. put your picture on the site
connects to people to you
5. always be helpful
give them your opinions and tips
goal of blogging is to help people out and give people out
6. Allow comments
this can be scary
might get hateful comments, but a great way to connect with your audience
helps build the community you want
7. Don’t worry about looks
simple is better to her
content is more important
people are not going to site to look at it, they are there for the content
8. Have an About Page
your picture is not enough
people will trust you if they feel they know you
this is a good path for this
Cosmo vs her friend story
9. finish when you thought it out
don’t worry about perfect size or shape of a post
once your thought is out there, stop
use headers
don’t try to write to a word count
10. You don’t have to hit publish
save draft and iteration is awesome
Make sure what you put out there is what you really believe
11. HIT PUBLISH
get over your impostor syndrome
her mom asks a lot of opinions before she publishes
she used to ask her dad if it is was OK to publish, now no fear
12. Keep at it!
it is key to be consistent
takes a while to get a list of posts
13. You will find your voice
this is a hard one
people always worry about this
after 5 years of blogging you will have your own tips and journey

Plugin-a-palooza

This is a pretty interesting event that is hard to capture in a short synopsis. It is somewhere between the gong show and a plugin showcase. Hosted by Alex Vasquez, our judge panel voted on plugins that were written in the last 2 month under a specific set of rules. Third place was $500, 2nd was $1,500 and grand prize of $3,000. It was a very fun time and I hope this makes it to WordPress.tv.

Wrapping up

I commented to my colleague that this was a more technical camp than I had actually anticipated. It was filled with inspiring conversations. I really enjoyed catching up and nerding out with my fellow System76 Pop!_OS and general OSS fan Joseph Dickson. Also of note, one camper told me the story of how he helps high school students figure out web development, including how one student has built her own business and gone from nervous person afraid of messing up to a brave and empowered individual once she understood she could make the internet her own. I feel a deep gratitude to be part of the world that makes that possible. This was my first WordCamp Orange County, but I certainly hope it not the last one as I hope to return for WC Orange County 2019!

DrupalCon Seattle 2019: My memories are scrambled

Hi Dwayne in the future (the only reader I am actually ever writing to on this blog),

It’s me Dwayne from the week after DrupalCon in Seattle. I got sick in Seattle and to be honest, I am still not all the way back recovered. Still, in due diligence with this ongoing effort to tell you what I have been working on and where we ate and what we learned, I am going to grind this edition out. Not likely going to promote it though, as I am not thinking this will be my best work. You can be the judge in the future though. Hopefully this is not a trend, just want to get a draft out before it all fades.

Love

Dwayne

POST BEGINS AFTER THIS LINE:

Landed at 1:20am in Emerald City, fresh from an amazing time on the other side of the country at WordCamp Raleigh 2019

Food and Fun

Monday

Bagels and coffee and tea

DrupalCon BarCrawl

The event was listed on the events page for DrupalCon

We went to the following places and I drank whiskey at all of them

Pine Box

Redhook Brewlab

Capitol Cider

I danced at the last place because they had latin jazz playing

Some of us went to Unicorn to end the night. I sang karaoke there.

Tuesday

More bagels and such in the contribution sprints room. Lunch was a nice bean stew and a mixed grains salad. Not amazing but kept me fueled. There was a beet salad at the Opening Reception for DrupalCon’s main exhibition floor.

Official Pantheon Party

Tuesday night was the official party. This was a good event. We were at the Museum of Pop Culture in Seattle Washington, AKA, the MoPop

Turns out if you are in a crowd after a party with 2000ish people in attendance and you yell “We’re going to The Whiskey Bar!” and you also inform Kevin Thull then about 50 people will end up over in that area drinking together.

Wednesday

Convention coffee is OK. Not amazing or great, but OK. Lunch as OK as well.

Wednesday night is when I started to feel a little funny but thought it was just DrupalCon energy and such.

The MediaCurrent party had “Laser Karaoke”, which was trippy as heck.

I then had other late night matters to attend to at a non-official party which I w will not be listing the details of here. Well, one fact, I fell in love with making and eating Bhelpuri while there. Can’t get enough of it now.

Thursday

Coffee is coffee and you can’t taste it when you only get a couple hours sleep. Kept me going though. I think I ate Veggie Grill for lunch, but to be honest this is where things start getting fuzzy in my mind.

Tandem threw a really nice happy hour at Optimism Brewing where I had a lovely sour beer. I think it was a sour. I do recall it being pretty good.

After a beer I shot on over to the 4 Kitchens/Kalamuna/Manati karaoke party over at Alley Mic a fun little event space over by the Pike Place market. I sang 1/2 of a song before issues happened with the equipment. My voice was pretty much gone by then.

One last stop that night had the last official Drupal Karaoke stop at Hula Hula a Karaoke and Tiki bar. Awesome job by JD Flynn for leading and organizing us.

Friday

I was not functional on Friday. I will leave it at that.

Sessions

I only made it to 2 sessions this year + the Driesnote + the training I helped with. Most of the time I would do a write up but let me just say for the record all sessions were great. I got mentioned in the Driesnote and that felt nice.

Monday Training:
Automated Workflows in Drupal 8 with GitHub, Composer and CircleCI

It is a real pleasure to get to work with my team. Almost everything I know about CircleCI or Composer I learned from either Andrew Taylor Greg Anderson or David Needham. We also were super fortunate to be joined by literally one of my favorite Pantheon users Brian Thompson join us to help with this training. All in all about 3 dozen folks walked away with a better understanding of this complex, yet powerful and much needed tooling chain.

Driesnote:

Raw Notes:
He was recently told something that changed him mind about Open Source
Diversity in OSS is worse than the rest of the technology sector
SOme of data suggest
it is not true tha OSS is mertitocracy
not everyone has free time to learn and contribute
Diversity and inclusion are great things
1 out of 30 websites are using Drupal
serving billions of people
most people visit more than 30 websites, we touch everyone
Diversity improves communication and helps diminish conflict
if people are more comfortable, willing to share ideas
many resons we want to do this
A few weeks back, saw a code review
comments from gnuget were very kind
thoughtful
example of how we can all act
1/5 people will receive negative feedback will stop contributing
Organizations can help
you can pay people to contribute so they don’t have to take personal time
What is Drupal doing?
pronouns field
non code contrib
commitment to accessibility
speaker diversity
TOS changes
CoC updates
8 sessions just on Wednesday about inclusion and diversity
how many other OSS projects have 1000s f people working on this?
Hook42
1x Internet DrupalEurope
3ndnd grove, full time contrib
Drud, mentoring
Also over 10K individual cont
So many amazing people
D8
50% more D8 modules stable than a year ago
First strategic track
make Drupal easy for content creators and site builders
Layout builder
video of the Umami demo
A11y got applause!
ships with 8.7 in 3 weeks
looks awesome
123 contibutors
68 organizations
Make Drupal easy for content creators
More video!
d8 Media library
Much of what we saw with media is stable
WYSIWYG in progress, target 8.8
6 months out
310 contributors
122 organizations
Admin UI
newer initiative
talking a lot ot agency owners
it is hard to sell Drupal cause the UI is dated looking
looking for modern experience
reality, Drupal is awesome under the hood, bad at showing that via UI
no major refresh in 10 years
proposed with ux testing
looks and feels more modern
better use of space and has more a11y
target 8.9 or maaaybe 8.8
We have to be successful with eery persona
the people spending 8+ hours a day mamking content, must work for them
important for all size orgs
helps non prov=fits and giant enterprises
that is the first track
secont track is to make Durpal easy to evaluate and adopt
migrate and out of the box
eval is down to 3 clicks
quietone has been hard at work on this from NZ
migrate initative coordinator
since 8.5 migration is ready
some edge cases
but do not hold off for 9!
come see the edge cases and help us all
for those following the commit chain
migrate module has been quickly advancing
should be a lot more ready
the OOTB inative
spanish translation by default
welcome tour
over 100 contributors
improves 86 organizations
JSON API
147 contribotors
so many
most complete int he world
Reducing total cost of ownership
more we need to do on this track
D7->D8 and D8->d9
no panic
D7 still community supported for 2 years and 7 months
vetted venfdors provide commercial suport for 3 more years
supported for 5 years at least
more and more migrations to D8
it is lie moving all the peopel between mving trains
testimonial vid
State of Georgia
d7->d8, met all the reuirements of the state
federated mode
share
A11y is non negotiable
knowing core is working on that it huge
mobile first is super good for them
responsiveness and dev and content experience is good
better inclusive core of useful modules
and the community is growing, more and more partners and collaborators
they caontribte back, humann drupal8
OSS contribute back was huge factor from the get go
Pega
amazing expereince
cut delivery for content and things by a 1/3
There are tools to migrate
D8 to D9 to D10 is same track
no reason to skip to 9
let’s talk about the path from 8 to 9
ships in June of 2020
fallback to Dec 2020 if things go awry
2 major reasons,
3rd party dependencies
Symfony 3 EOL
new improvements and secuirity support
Drop depricated code for maintainability
can ship new features and innovations quickly
manage deprication code and D8-D9
depricated code plus new innovation
any D8 modules without deprecated
What is deprecated code
search/replace
how di I knwo if my site uses dep
Drupal-check
integrate drupal-check in your workflows
upgrade status module
will use dchck, better visual tool
custom modules just fine!
send to favorite developer
/project/upgrade_status
Stop usnig dprecated code in core
Call to actions!

Getting an angry wet cat to purr: turning an unhealthy client relationship into a productive one

Raw Notes:
Donna’S talk! FINALLY!

Process is not going to be perfect
but communication makes thing sbetter
with any project need a KPI to define success
Trust is the glue of life. It’s the most essential ingredient in effective communication
Be transparent
who how what
define success
projec tis the
Success is not a luanch date
success is “I got more conversions”
I got me end users engaged
that is success
in the ling run you will never be sucessful if you don’t have these goals
this is the ground work you need
Lack of clear goals in the project is bad
MVP, what we need right meow?
shorter term goals
A hiss can be a good thing
embrace that someone is pissed off
it will guide you to learn to stop it
hear them out
especially when you disagree
where is this coming from?
discover the data source
define wha success looks like
if you cannot determine one ot ore of the above, it may help ID a red herring vs a big issue
Sometimes we avoid the hiss
sometimes it is EACTLY what we need to do!
How can we build it so people can embrace it enthusiatically
when you think of your team, who is your team?
Your real projec team includes your clients
makering leads, tech leas, other in the weeds people
agency stakeholes
AM, PM, Strategy, design, etc
A leader on your team, ack other people working with you
one clinet, they go through what went well and what needs improved
be transparent
ask questions
get to know the person as well as their role
easier to work with Jody or Tom than Anon PM client
competing priorities
find taime for call, get it on the table discuss needs
all stops
retro boards
allow anon posts
their team and her team changed the way they communicates
int he middle of the project
did not want it to become a post mortem
they needed to get it aligned so they could empower
So, this is not productive, but it can happen
cat in the rafters, up in ceiling stressed out
what could be causing it
they have a job, a life outsid eof communicating with them
what peices can I take off your plate
sometimes just saying it help
sometimes you can actually help
user journey
work it out by better communicating
AND what if your dev teamis wrong
what if something actually gets screwed up
OWN it
it sucks but you have to
don’t get defensive
agree on the problem to open the conversation
what aspects of the issue are the most valuable
what is needed to address it
propose a timeline
when you propose a timeline, do not be late!
no one wants to go back and have same ocnversaiton again
sometimes, you get it jsut right and they still say there is an isssue
find the common ground
where was expectations different
this community draws people pleasers
Prioritie that other feature requests will be deprioritized to allow tie to work on the issue
Wha to avaoid when things go wrong
DOn’t blame,
don’t get defensive
Don’t forget to showcase what you did to date
don’t miss out on the chance to speak positie about the future
Let’s keep going
Scope creep means you cna have a long term relationship
6 months down the line, still going to be there to work through these things
define what those next steps are

When Drupal met Symfony
slootjes

Raw Notes:
More flexible
He dos not knwo Drupal, he is Symfony
Spmf compments not framework
Components D8 uses
Http kernal
kernal.request
unsierialize request data
kernal.contriller
priorities matter
register your service
services:
Drupal\acme\EventSubscriber…
tags

Custom headers
easy
RestAPI spec
but for Drupal?
into and services yml
can autowire true to figure out things
Controlers as a service
dependency injection
prefered method for accessing
\Drupal::(‘foobar’); NOT GOOD
-> method
Controlers as a service
no ControllerBase no Container, just inject what you need
Drupal has this but it is Drupal and
too fast to keep up
NNEEEDDDD THESE SLIDES!
no more inline @var type hints
helps to preent fat controllers
easier to test
looks pretty
controller exceptations
“extra” bundle
base don Event Subscribers
a 1:1 copy of
ParamConverter
create your own
caching annoyances
forms, nobody likes them
validators
Just try it!
for him it made a lot of difference
got his team of the isald
learn from each other’s solutions
there is more than the modules on drupal.org
packagist also exists! just not for Drupal – PHP native
In the end it is all PHP
TODO: Understand possible patterns:
https://en.wikipedia.org/wiki/Serialization

Wrapping Up

DrupalCon is the best thing of the whole year for Drupal folks. The learning and the love in the community is like nothing else. I felt so bad about being too sick for Contribution Day on Friday made me literally sicker than the flu did and tossed me into a depression that ended up pushing the publication of this post out as far as it did.

I would feel worse but for the facts that
1. I know beyond any doubt that I love this community and an off day here or there is not a bad thing
2. Contributing to Drupal is an every day opportunity, not just a ‘while at DrupalCon’ type thing.
3. All the presentations are online for watching as I need to dig into any topic.
4. I get to go to more events in a year than almost anyone else at DrupalCon. So while I might have missed some of it, I will see everyone again sooner than later as I stay in the Drupal world.

I am not going to feel guilty enough to rewrite this in the future. If anyone else reading this has questions, please leverage the comments.

WC Raleigh 2019: I didn’t see KISS but I did eat at a Waffle House

It was raining when I took off from SFO and it was raining when I landed in the City of Oaks. This had a pretty fantastic effect of knocking the thick yellow pollen out of the air for the day. I thought it was a tad busy on the roads into town but it wasn’t until later that I found out that over 40,000+ people also were visiting Raleigh for either the KISS “End Of The Road” tour date or the Dreamville Music Festival. While not as large of a crowd, the 450 of us gathered together made sure there was just as much energy at WordCamp Raleigh 2019

Food and Fun

Speaker/Sponsor Dinner

I rode straight from the airport directly to Hibernian Pub where I got to see so many awesome old friends and meet so many interesting new ones. I even got to try a local vodka brand, Social House. Not nearly as smooth as I like mine to be, but it had real character. And speaking of characters, I want to give a shout out to Nathan Ingram who is downright inspiring on so many fronts, now including healthy living goals.

Saturday

Believe it or not, Raleigh is home to some awesome coffee. For example, Counter Culture Coffee is based in Durham. We arrived at the event Saturday morning to find Sola Coffee and some assorted teas. Easily in the top three for conference coffee experiences at any camp I can recall.
At Lunch time we shuffled over to the dining hall across the wonderfully bright and open lawn. A wide variety of lunch options with something for everyone stretched before us. I do love all you can eat endless option lunches.

After Party

After a full awesome day of campThe Raleigh Beer Garden which claims that they “are proud to offer the world’s largest selection of draft beers available in one restaurant!” I believe them, but I am actually more impressed with their massive back gravel lot with all sorts of games like cornhole, foosball and a giant connect four. I also didn’t drink any beer but later in the night we did explore some finer whiskey. The city was a little on the packed side and while it brought a good energy it also made for a loud party that kind of had to spread out to fit in amongst the other revelers.

Sunday

More awesome Sola Coffee and there were donuts. I did not have a donut, but wow that coffee is good. There was no lunch provided as it was a short day.

Sessions

Opening Remarks
Adam Silver

Normally I don’t write up anything on Opening Remarks, but this flowed into a ‘sorta’ keynote and panel discussion with the organizers. The main room was completely full and I was one of the couple dozen of us that were next door over watching on a youtube feed. This was overall OK, but we played a trivia game based on Kahoot. The lag caused by the stream meant my room never stood a chance. It is super awesome though that this camp is in its 10th year.

Raw Notes:
450 in attendance
Kids camp
Alone we can do so little, together we can do so much – Helen Keller
Panel:
The original organizers and other organizers
Doing it because they thought it needed done
just stepped up and did it
anyone can get involved
people do step up and bring people in
so many new people finding and using WP
What have they learned, a lot
sessions, there is so much more to learn
choosing one of the tracks is a challenge
Volunteers are amazing and bond
Kids Camp this year, 25 kids, this is a record for a first outing
Sandy flew in from Orlando to make this happen

Building a Trustworthy Website
Ray Mitchell

I really like Ray’s presentation style. He likes engaging with the audience by asking them questions and getting group replies. I admit, I borrowed this technique in my talk later in the day. His first question was “what is trust?” It was fascinating to hear so many voices define the term, when most of us only “know it when I feel it.” It gave me some good thought points for trust beyond the SSL.

Raw Notes:
What is trust?
“I know it when I feel it”
It is something in your gut when deciding something or someone is sketchy or suspicious.
Do we trust him? Should we?
Nice kid (pic of him as a kid)
Meeting a person at a bar?
same as visiting a website for the first time
First impressions
what do my friends think?
How does it make me feel?
Design
reputation
Security/Privacy
Benefits vs Frictions
Mission has to be worth doing
First impressions
1. Design
like in dating, first impressions matter
Meet site visitor expectations. Use the “design Language” for your industry
Pros look professional
use authentic images
Free is expensive, don’t use subdomain
use a real email address
meet expectations the client would have
if you are not investing in your own domain and own hosting, are you really trustworthy?
Reputation
Provide social proof via testimonials
leverage Google Reviews
Display affiliations, associations and endorsements
point to your social media following, your subscribers or customers served
Leverage the “Halo Effect”; showcase your client and partner logos
think BBB logo
Security/Privacy
Have an SSL cert
Consider using badges to give visitors confidence
Do you have a privacy policy? Is it published?
Are you adhering to common privacy standards and relevant legislation?
Is it clear how you will use information that you can collect?
Benefits vs Friction
Unnecessary Hurdles
Why do I have to submit my email first?
Is it easy for customers to self-serve?
Transparency
Content meets expectations
Speak to your audience – use the appropriate level of industry language or jargon

My talk

Let’s learn Git. No more excuses.

I love talking about Git. Every time I talk about it, I get something new out of it. It is always awesome to get a full room and we had such a fun time in Q&A. One attendee even asked a leading question that even I thought sounded a bit planted that let me expound on .gitignore. I am giving this as a workshop next as far as I know and I hope that version has as much energy as I got from this room.

1% Better: How little changes add up to a better, stronger business
Natalie MacLees

I once saw a talk with a similar premise up in Iceland and thought I would check out what the difference would be. I am glad I did. The talk I had seen before did have the same underlying premise but Natalie did an outstanding job of making it much more personal and immediately actionable from a day to day perspective. I will be thinking about “just floss one tooth” for a while. I hope to apply this one small change approach to get some better habits soon.

Raw Notes:
Conventional Wisdom
a story about herself
Purple Pen founder
Co founder of n2
Author of jQuery for Designers
Co-founder of LA chapter of Girl Develop It
Founder of Website Weekend (non-profit sprint)
2 time first place winner of PLugin-a-Palooza
that is her success, but let’s dig deeper behind the scenes
back in 2014
she was overworking and it was killing her
then, she worked from the moment she woke up
now, starts work at 9:00am
then, she stopped when too tired to do it
now, 6pm
then, no hobbies
now, so many!
social life then, no, people stopped inviting her because she always said no
now, Great!
self care, then no
now, awesome
side projects, then no time
now, lot of projects
stress then, 11
now, 4ish, reasonable
happiness then, 0
now, 10
How did she work that magic?
let go of the big lie!
Starting on Monday, or next week, her life would be different.
keeping that view of the world keeps you from being able to change
Digging in
Change really happens little tiny bit at a time
there are 2 ways those changes work
one tiny change makes ripples
Other is Compound and Build
the magic of compound interest
2 year chart
if you make business 1% better a week, that is almost 200% improvement over those 2 years with compound interest
we are creatures of habit
we form them intentionally or arbitrarily
but we always have them
part of our brain that keeps us from making big changes based on our habits
that part says ‘things are fine’ and hard to overcome this in your brain
smaller changes does not trigger this part of brain
smaller is easier to manage too
BJ Fogg tiny habits
he studies how people do things and habits
He says to make a habit you need
1. motivation
2. ability
3. a trigger
flossing
tiny habit first, flossing is to big
just floss 1 tooth
that is how small of a change is needed
Routines make habits better
Morning routine
mug of warm water
write
move
eat
shower and dress
meditate
plan the day
bedtime
hot liquid
cool down the room
PJs
wash face
floss and brush teeth
moisturize
bed yoga
read till fall asleep
she added in things she wanted little by little
Time limited challenges
up to 30 days is about the limit
she quit watching TV and FB for a month
now not going back
is it enriching me, is it fulfilling
Who do you want to be?
podcast, interview with very accomplished woman
she gave the advice, she makes decisions about who she wants to be and what they would do in that situation
Focus on lead measures
a timebox chart, really a grid
looked at how she was spending her time
she was doing things vaguely related to marketing
like FB
always going to have admin tasks and other things,
remember that is not the business.
you have to focus on your business
to make the money she wanted, she needed 20 billable hours a week
20 was reasonable for her
row for every week of the year
20 boxes in row
check box each billable hours
helped her see why she was not making the money
tiny change, huge results
changed everything
get a 10K foot view from time to time
setting a plan for the day
she does a weekly plan
and a monthly and a yearly
does a goal review at the end of each period
quarterly check ins
weekly, yearly…
Keep setting goals and be free to change them as things change
it is OK to refocus
doweeklypodcast.com with Alex Vazquez
you can do it
just 1% better

Gutenberg Phase 2 and the Future of WordPress
William Earnhardt

I have been to a good number of talks about Gutenberg over the last couple years. Mostly they have been about the editor and how to live with it. I can really only point to two other talks I have seen in person that talked about the larger overall plan. William’s talk was the absolute best I have seen of giving actual, real details on what is evolving next from this initiative. In short, dang there is some change coming, the Classic Editor and Theming in general’s heyday are clearly coming to a close sooner than later. For sure one to watch and makes me hope they get this one on WordPress.tv ASAP.

Raw Notes:
Defining Gutes
What’s so great about blocks?
at core, HTML
Can be nested and combined in infinite combination
standard
today
themes = hard coded PHP templates
type of site building components
posts, menus, sidebars (widget areas), widgets, media
Want to move away from this and to a 1:1 view of your whole site
Gutenberg Phase 1
Replacements of the editor screen
Gutes phase 2
Allow editing and customizing the entire site
Eliminate roadblocks
Reduce the amount of technical knowledge required
Builds on top of phase 1
iterative approach in order to maintain backwards compatibility
Look at the make core site
pase 1 is content
phase 2 is head and widgets
but in 5.2, next, what is in there?
out in a few weeks
groundwork for next steps and some improvement for editor
block manager
as list of blocks have grown, the inserter list has become unmanageable
site admins don’t want to make all blocks available
manager lets you hide things
turn off entire category of blocks or one offs
Core Widgets as blocks now
search, calendar, tag cloud, rss, etc
lots of smaller things too
microanimations on menus
hover states
background settings on tables
next blocks inside a cover block
–missed part–
legacy widget block
Menu Block – still in design phase
Section blocks
essentially just a wrapper to hold group of blocks
allows you to create reusable sections
easy to duplicate and share
in testing queue and plan for GA in 5.3
after that
Blocks in the widget areas
use block in any widget area/sidebar
manage widgets just like current editor
Iterative step that would allow existing sidebars to keep functioning
hints at a future with no sidebars
block areas
Widget Blocks in the Customizer maybe coming, mock ups now
Directly installing blocks, just announced last week and call for designs
the earliest in process, hope is 5.3 GA
Beyond that
Creative Concepts
in line editing of blocks in place
single block plugin
new block plugin repo
direct install inside editor
more granular control over features
could be bundled with multiple features into a single config file
Existential questions for themes
do we even need themes?
Now: php templates + styles
Future: blocks, block templates + styles
no more PHP in themes
Most basic theme could become just a full page container

Creating better APIs with WPDB and API Middleware
Jordan Cauley

While I historically claim I am not a front end guy, I don’t actually go to that many backend development talks. I am very glad I attended this one, which went in a direction I really didn’t anticipate. I expected that it would be all about the API internals and some explanation of why this offered his team a specific advantage on some client app. I walked out with a new theme to drool over due to it’s out of the box super high Lighthouse score.

Raw Notes:
His team a little over a year ago.
Chose custom tables, too much join and other stuff for just posts
github.com/jdcauley/cauley-invoices
custom APIs have issues
Cloudflare, WordFence and Securi block WP API
json is not automatically sql injection
if you do have custom data, can be extremely powerful
demo
just loads plugin first
default file API routes
API version number
Static object to hold models and an instance variable
some helper functions
if plugin version changes updates properly
custom WP tables now
they do a custom class
DBI
technically ORM is WP
define a schema, associative array
nested arrays
pass into filter
add table name, version, schema
trivial effort to create new class
once passed in, large pile fo functions
format
loop through if column type is not set, set it
warning, edge cases and unoptimized things outside their scope
but for them this is what they want to do
approved plugin
sanitize and pare queries by default
Once you have the model set
no sql value in using shorter values texts
long text is OK
for int use bigint
API services, some ideas into the REST API that were lacking
for this demo, no authentication of Endpoints
please authenticate and think security for real life
make sure sanitize coming in
half code is just defining WP routes
— missing —
custom middleware helps with this
first unit is validation function
universally param requests
if come back clean, return response, kill response if wrong
entire function for data is 10 lines
loop through models and and create data against that
point is abstracted so much to make API creation accessible
can download and look at UI working
next version will improve the visibility
Looking at whole
insert vs create
create is friendlier
Upcert functions
should be standard in DB
pretty much all other DBs he had used had better implementations
took their experience with other ORM and wrote this
find function is friendly default
Understanding the lifecycle
better code if you understand this
lifecycle hooks now and he puts them everywhere
when first building lifecycle hooks for find actions
recast before it goes out
comes in integer, comes out a string
re-encode json to array
double encoding is just something you have to live with
cardinalmedia.co – super fast theme
built to beat Lighthouse testing

Successfully implementing Open Graph for improved social media marketing
Steve Mortiboy

While I am in need of knowledge about twitter image sizes and other social media, I will admit I have not done too much research on the standards. That is why I am super grateful for the chance to attend talks like this at WordCamps. So much amazing information packed into a single session that I can actually apply to things I am working on. It also turns out that I wasn’t alone in my thought that “man, this stuff is just badly and not consistently documented.” That is the general default state I think everyone has unless they live and breath this stuff daily.

Raw Notes:
What is Open Graph?
FB
Social Share
you can’t run a business today without using social media
How do you market business
website content
+ adding content info to all the social media sites
Open Graph Protocol
started at FB in 2010
standardize how info is provided to them
og:title
og.description
og:image – this is actually a very import one
og:url
fb:app_id – needed for FB insights
a good quality image can influence our buying
informs the business decision
og:type
og:site_name
og:locale
og:audio
og:video – URL to a video to pass to FB
example card shown from FB share on Twitter
image
after FB other social media channels said this is a good idea
most adopted OG
except twitter
twitter:card
twitter:site
twitter:creator
twitter:title
twitter:description
twitter:image
Iamage guidelines
FB – min 1080px Ideally 1200 x 630pm
Twitter – min 300px by 157px/ max 4096 x 4096px
Linedin – min 1200 x 627px
Pinterest – 735px x 1102px
insta – 1080px x 1080x
Open Graph Instagram Sizes = a lot of different opinions
the numbers above are from dev docs but could be outdated
Overall, image file size should be less than 5MB in size
Poor image sizes mean small super cropped old fashion looking preview
OK, Select a plugin for Open Graph
there are 100s of social media plugins, just a search is a lot of results but confusing
Guidelines:
Does it let you set site wide defaults?
Can it be controlled on a per post or page basis
Does it let you set specific OG metadata for individual content including custom post types?
Does it help you debug typical problems?
Demo for AllinOne and how it deals with OG
live demo
checking the source code and looking for ‘og:’ reveals if set up correctly easily
/demo
Caching
Most social media crawl and cache, cache TTL is 7 days default
some socials provide info on how to force a purge and request re-crawl
most do no do that
Live Debugging

My favorite design tool … is a browser.
Mary Baum

I love some Chrome Dev Tools and I am always happy to learn more about them. What I really liked about this talk was Mary’s excitement about how much better her work gets when she leverages the right tools for the right job. Seeing her praise Chrome and then also explain that for CSS Grid Firefox is the real rock star, it made me realize we should be holding up all tools we use in our talks more. I also loved her patient and thoughtful answer explaining the history of ways to do layouts. I had never heard as clear or concise an explanation before. For sure one to watch if web design is in your life.

Raw Notes:
Few examples of way to display same basic thing
Many ways
Using chrome to see them all
Love Gutes now
Chrome device emulators
Phone view
and resolution it is and not the one you think it is
you can custom like jumbo-tron
DevTools
new update has hoverover awesome views!
manipulate css and html live and preview every change before you make it
It is her standard
Firefox has some uses
CSS grid
can show you a better grid layout with highlighting
laying out in 2 dimensions uses a grid
if a column or a road, she uses Flexbox
6 ways to layout boxes in CSS
Tables
display table – she never touched these
block -vertical and inline block – horizontal
floats – to the left and the right
Flexbox – does the math for you
CSS grid
before Flexbox and Grids, very hard to do things like same height columns
grids let you place things precisely
handles
rules
FF
once you copy the style into stylesheet
want to go to Youtube
subscribe to “layout land”
Everything about CSS you want to know from Jenn Simmons
CSS Tricks in the tool bar csstricks.com
codepen as well
pull it apart and put it back together on the fly
Character – Colonel Standards
Viewports
magic until they are not

Wrapping up

This camp was very good overall. Sitting in the airport, on my way to DrupalCon Seattle 2019 I realize I don’t have enough time to reflect as fully as I like and I know I would be lying only to myself if I said I would come back and update this. Let me do my best though.

Turns out the the additional 40,000 people meant some traffic delays but it really did make for a positive energy in the air all around. There is just something authentic about this community. Not that the other camps and conferences I attend are less authentic, but this one feels like people really are at home with one another and the overall vibe of the camp made it easy to just fall into conversation with anyone.

I didn’t make a WPKaraoke happen nor a WPVegan dinner assemble, though both were discussed. It would have felt a bit forced with the slower pace that seems to be part of the culture of the area. I look forward to maybe doing those things in the future if I get the chance to mosey on over to this part of the South again, maybe for WordCamp Raleigh 2020!

MidCamp 2019: Food Trucks and twirling, twirling, twirling towards freedom

I love visiting The Smelly Onion. It feels like I am visiting family every time I land. While a little on the cold side and a drizzle of rain was awaiting me, it was still great to get back into the shadows of the Miracle Mile. Having moved the event to a weekday event meant the vibe was a little different. Not bad but every day felt like Friday. But Friday sessions are always exciting and there was a lot of excitement this year for MidCamp 2019!

Food and Fun

Tuesday

I got the chance to meet up with some of the organizers not too long after I landed up in Lincoln Park. We played my nee favorite board game Foodtown Throwdown. We also got to shoot a short commercial for the venue we were scouting for the official After Party.

Wednesday

We were met with coffee and some light snacks at the DePaul Student Center. Coffee is middle of the road but the tea game was on point. Lunch was a wonderful taco buffet with a vegan fajitas mix featuring chickpeas. Since I have no tweet about lunch on this day, so here is someone else’s lunch:

Welcome Social

Instead of a Speaker Sponsor dinner, MidCamp has a Welcome Social that is much more inclusive overall. This year we returned to Derby Bar & Grill for some appetizers, tacos and plenty to drink, in part thanks to our sponsor New Belgium. I am a huge fan of any event that invites more people to come out and converse away from the busy floor of the conference.

Thursday

More coffee and tea from DePaul’s catering but also a surprise vegan donut from Stan’s Donuts brought to me from the truly good friend JD Flynn. It was just the boost of sugar I needed to really have great morning.

Lunch is worth talking about. Of all the camps I attend, MidCamp has the best overall approach in terms of inclusion, speed and scale. They have tapped into the university’s dinner service system and we all had lunch vouchers to get us into the food court. Once you are inside it is all you can eat. Vegan options, as well as other dietary restrictions, were not just available, but plentiful and very well marked. In the end this saves the camp money, makes for much happier campers. It makes for happier sponsors too, since the organizers gave each of the sponsor tables a pile of lunch vouchers, so we all got the chance to talk to a lot of people.
Great job MidCamp Organizing Crew!!

Game Night

It was a great evening of food trucks, in more than one way! First, we dined from the awesome food truck from Jarabe Mexican Street Food. They are very vegan and non-dairy friendly. Their sauces are some of the best in the Midwest! We played a multitude of games, but the one that I am still enamored with is that Foodtown Throwdown game.

DrupalKaraoke

As has become tradition, we sang. Thanks to our fearless leader JD Flynn for leading us to Shoe’s Pub for some excellent singing by all and some wonderful entertainment from some of the locals.

Friday

More coffee. More tea. More awesome food court lunch service.

After Party

We gathered at Tapster in Lincoln Park. This is a ‘pour your own’ bar with much more than just local brews on tap. It works off a RFID card system. A novelty in presenting people with dozens of beers to sample, one beer at a time. They have ‘Tito’s and soda’ on tap, which means I didn’t see the other taps. We had sandwiches and some sides from Chicago’s own Fat Shallot. In another awesome to me move, they ordered all the vegetarian sandwiches as vegan with cheese on the side! MidCamp once again shines as a camp that is getting this aspect correct.

More DrupalKaraoke

Once more we returned to Shoe’s Pub and once more we sang. But we also danced. And danced. And then some more. It felt like the best warm up for DrupalCon I have ever had. My arms were sore the next day from all the spinning my dance partners.

Saturday

For Contribution day we actually had a repeat of Wednesday’s fare. Same set up and same awesome taco lunch. The camp organizers had a meeting over lunch and we got to see just what they were up to thanks to twitter. I flew home in the evening.

Sessions

Wednesday – Sponsor Round Table, Training, Pre-camp Contribution Day

I had signed up to participate in the new Sponsor Round Table discussion. In order to make it more of an open conversation we decided on keeping what was said in the room in that room, but can safely say it was a very informative discussion. One topic, which is rather public, is how are getting ready for Drupal 9. My personal answer to that popped up on Contribution day on Saturday. Overall though, this was a great discussion that helped me form some opinions about the future of Drupal, which is overall strong. I didn’t make it to any of the trainings, but they looked awesome

Thursday

Opening remarks

Keynote Session

Actions Speak Louder than Code
Fatima Sarah Khalid

Ever since I first saw Fatima speak about Object Oriented PHP and Pokemon, I have looked forward to seeing her speak again. This was a pretty stellar keynote for a couple big reasons. One, it was her first, so she brought an excitement to it that is just downright infectious and inspiring. Also, she didn’t actually talk about tech, other than slightly about the cool web sockets based polling tool she was using, but instead talked about diversity in a real way, based on her real life. She engaged the audience and I know that we all left the room much better prepared for the conversations that need to happen ahead.

Later, during the lightning talks, which I didn’t capture in notes, someone else shared his story to make sure that more voices and all voices were shared. She literally inspired another talk later in the same day! That is the power of speaking up.

Raw Notes:
parks and walkways in a new neighborhood
Made friends with Gloria from South Korea
Kimchi and traditional Korean food
8 years old, 2001
morning of 9/11
traffic jam in Flushing NY, first day of 2nd grade
heard it on NPR
couple weeks later waiting for Gloria
her mother was with Gloria and told her
they could not be friends because she was a terrorist
this had a forever lasting impact
things changed for her
we called it a world in which people had already decided who we were
a Muslim in post 9/11 is an important and under-told story
The options we have and the choices we can make are limited by who we are
if these make you uncomfortable, that is good to challenge your perspectives
Activity: stand up and reach up. Now reach up on your toes
Reminder, you can always reach a little higher
Interactive session for Slid.io
choosing for ourselves,
You board your seat in the exit row and the flight attendant explains emergency procedures. The woman next to you asks for your seat to be changed because she feels uncomfortable and scared of you. The plane is really full. Choose.
Stand up for yourself
68%
Don’t make any waves
32%
Based on her real experience,
if you fight back, they will take you off the plane
if you don’t make waves – woman paid more $ to move ahead to another class of seat
more so lately others are more likely to stand up to ignorant people
Grocery store – irrational man demands to see in bags
Praying at work:
Pray in closet, pray in conference room, Ask manager for help
She prayed in closet until they turned that room into a closet
Her story was much longer but I didn’t write it all down
basically good people are good to work with and most people want to
how can we do better?
Diversity, inclusion and belonging
Find time to tell our stories
it helps build that sens of community and belonging
swapping introductions – builds real credibility
nod to David and his one cold night volunteering
talk about these things more
Learn the language, use the language
what makes you uncomfortable
so your research. be mindful.
be generous when having these conversations
Amplify the unheard voices
consider your environment.
embrace who’s missing.
Make an active effort not to exclude others
Acknowledge that oppression is constant
You don’t have to understand to help someone feel safe
Let’s take a moment to celebrate
thanks
we all live here (pic of the globe)

Empathy for internal users: Build and train for real content admins
Lily Berman
Nick Switzer

I attended this talk without reading the description for 2 main reasons. First, I couldn’t find any reference to these speakers in my notes from earlier camps and I love seeing new speakers. Second, and more importantly, I am very interested in empathy and training. Not exactly what I do as far as training, since I am teaching people tools and not how their site works, but the underlying messages of ‘stay simple and clear’ is universal. Really a good talk for anyone dealing with client work who ‘hand off’ things to users.

Raw Notes:
When you’re building a complex digital product, some simple things that can save you a lot of work
The build:
plan for real people
Put yourself in the shoes of the user
don’t start in Drupal, start in collaboration tools
simple, clear and focused
field names for real people
help text that is actually helpful
don’t be shy about requiring fields
character limits and field sizes should make sense in the editor’s context
Great power, great responsibility
thoughtful limits
the right widget for the job
views to provide focused list of options
Entity browser
make custom entity browsers, powered by views
Focal Point, can choose a focal point and Drupal will try to center on that spot when cropping
not perfect, but great starting point
Paragraphs Browser
filter and search by paragraph types
quickly find what type of assets they will need
chosen, linkit, entity embed metatag, aquia purge
improvement area
custom and site-spec specific
focus your custom dev time on what provides the most value for site admins and make it reusable
Views isn’t just for the frontend
more focused content overviews
content moderation dashboards
Training
now that you have a new site, got to train the admins
Drupal was a second language for her and for everyone
so you must prepare well
strategically choose who will lead the training
pick a person who knows the least about it to research and will bring a very clear version of what is really there
clearly define client roles for QA and content entry
Intentionally say what you say
always explain the whys
start your training
understand the room, know your audience
Roadmapping and signposting
tell the audience where you are in the conversation and set them up with expectations
start simple. very simple.
give them demo page to compare and learn from
check your jargon at the door
not familiar to clients
explain any jargon when you first introduce a new term.
Ask the right questions
After the training
send them training documentation
simple site, screen share recording
bigger and bigger sites, need more complex follow up
videos, how to docs, break screen shares into parts
Build touch points for questions into your scope and timeline
give them time to digest
giving this talk again at DrupalCon

Lost on an Island: Building Remote Collaboration in Cross-Continent Distributed Teams
Adriana Mosnoi
Andrew Willden

I work with a remote team. It has advantages and disadvantages. Any advice anyone can give for how to make this work better is always welcome. Hearing out loud some of the things I have been reading really drove home the points, like around clarity of communication and really making the effort to understand not just the role but the person you are working with. FFW is living proof that distributed teams can prosper.

Raw Notes:
10 tips for better remote work from FFW
1. Be aware!
do some research, know the geography and background
know your timezones! be considerate of schedules
understand roles and responsibilities – clearly defined
2. Be organized
document, document
3. be transparent
use calendars keep yours up to date
if you use a chat tool, set your appropriate statuses there
consider adding personal events as busy in our calendar so that no one books the time for meetings
4. Be clear
use simple, clear communication
adapt your language to your audience
These ones are easy to make a habit of doing every day
next ones, re quire more effort
5. Being flexible
understand that everyone is different
empathize and try to put yourself in someone else’s shoes
adapt when a plan changes or when something comes up
6. Be curious!
ask questions. Lots of them
Open yourself up to thinking differently
open your mind to new ideas and perspectives
7. Be present
have regular check ins (preferably video, minimum, audio)
try to meet offline and actively engage
create shared experiences and vocabulary
Final ones
8. Be humble!
Accept that you will be wrong, often
don’t make assumptions
openly acknowledge when you or someone on your team is wrong
9. Be happy
celebrate small wins
make work fun
communicate in a positive joyful way
make a shared digital space to connect with your team
encourage people to share personal accomplishments
10.
be vulnerable
take a genuine interest in your colleagues
build connections with people you work with
actively make an effort to know people closely, reciprocate
try to find common interests and appreciate differenced
respect their choices and boundaries
in short, be AOTCFCPHHV
Just be human, build collaboration
grow trust

Pantheon’s Guide to Security in Higher Ed and Beyond
David Needham
Paul Gilzow

Risk is where assets, threat and vulnerability meet
Assets
People
Threat is something that poses a danger
threat agent, is a group of people
vulnerability – weakness or holes in security procedures
But what level of risk? hole in umbrella
impact is greater
potential loss of or harm to assets as a result of exploiting vulnerability multiplies by the impact of the threat occurring
Why higher Ed is attractive target
network bandwidth and availability
rich in hardware infrastructure
poor in human resources
resistant to blacklisting – hard to get an .edu tld
you get benefit of the doubt in more cases than most on that
personal ID info
Sensitive personal
export control data,
a lot of data!
Backups – good restore points
protect your backups
don’t keep in publicly accessible area
test your backups!
Pantheon specific
NSA posters public domain
https://www.theverge.com/2018/6/4/17424530/nsa-security-posters-art-propaganda
On Pantheon, backups every day
hopefully never have to restore in a live environment
backing up your backups is pretty easy
Keep Drupal Up to Date
why/how does it reduce risk?
updates often address security issues
potentially removes an exploitable vulnerability
how? Subscribe to Security Team Newsletter
Update and stay on the latest release
a lot of people are either “no time” or “Didn’t want to break my site”
Security principles
don;t use components with known vulnerabilities
Keep themes and modules up to date
Bonus points
know what you have installed and why you have it installed
Hosting provider
if Drupal is the brain and your content the heart and soul of yor site
a hosting provider is the rest of the body
remains one of the top vectors for compromised sites
know what your host is running and what versions they have installed
engage the team responsible
File/directory permissions
lowest possible access necessary
security principle: least privilege
bonus
lock down all Drupal to read only
0400 if you can
ideally only the files directory is writable
attack surface
all the sum of the paths that leads into and out of app
plus all code protecting that path, and so forth
remove everything not in active use
Drupal does not check for updates on disabled modules
remove disabled modules
Droopscan
passively fingerprint the app
unused module module
Drush flag as well
bonus – regular audits
do your homework on themes and modules
research a theme/module before installing
on d.o little green shield, your module is being protected/watched over
why/how does it reduce risk?
every piece of code can introduce vulnerabilities
treat all data and code as hostile
dorkbot
security.utexas.edu/dorkbot
permissions and account usage
only what they need and tiers
least privilege principle
reduces opportunity for someone to make a mistake
create a custom role for specific permission things
Do routine account audits and remove permissions not needed
Protect settings.php
what?
add rules to prevent direct access
move the file somewhere not public
SSL
does not encrypt your site
just the transmission of data
does protect those credentials
Strong passwords
long, non-common words
more important than complexity is length
every one should be unique
7 B have been leaked
use a password manager
enforce strong, unique passwords for everyone!
defense in depth
everything you can do has an exploit
layer those parts to slow down the attacker

Everything I know about Kubernetes I learned from a cluster of Raspberry Pis
Jeff Geerling

What could I say about Jeff that I have not said before or is not already known; I think he gives some of the best presentations ever! The very idea of a Raspberry Pi running Kubernetes is just flat out fascinating, but then to run Drupal on that just seemed like a bit of parlor magic. What I saw was the beautiful orchestration of Ansible, Kubernetes and one of the most impressive live demos for the ages. Jeff is eternally curious and I am so glad he shares what he learns with us.

Raw Notes:
The big question, what can I do with a Raspberry pi?
how well does a Kube run on a cluster of Raspberry Pis
but a complex install
like Drupal
what you need?
Drupal, MySQL, services for chat, cron, logs, redis, Solr
now we have lots of servers to run them on
can’t just have one server
if something goes down, have to figure it out
Kube puts your stuff on servers
scheduling is hard no matter what you are doing
‘Architecurenauts’
build huge because we can
why this project? it does not have to make sense
learned a lot
slow hardware and limitations is a big issue to learn about
dealing with the tiny keeps
RP0 is too slow to deal with this and almost no memory
also got really hot
5 RP2, but abandon that
now has 4 in a cluster on a router for POE
4 1/2 years with 99.9% uptime
ISP caused only outages
how do you even put Kupe on pie?
ansible
config management for humans
kube uses yml, Drupal uses yml, Ansible used yml
raspberry-pi-dramble
ansible command line
ansible -i inventory all -m service “name=drable1-node-…
have to sudo to control ports on pi
self healing of Kube
kubectl get pods
pods are containers with kube running on this pi
look up pods and kube
how you can scale easily
logged in users authenticated means higher CPU usage
HPA
horizontal Pod auto scaling
how well does this work?
not the fastest but for sure not slowest
nginx caches can handle 5,124 requests/s
for comparison, local machine is 25% slower
home as a data center?
where you keep it
power, network, physical security
slow network issues
Kube basics
requires more rigor, deployment, automation
RBAC misteps can lead to major security holes
stateful is still not easy (DB and Storage)
need a dictionary
some well though, you can do amazing things
done poorly, failure at web scale
How well doe Drupa8 runon Kube on a cluster of credit card size computers?
it does OK

Overcoming Impostor Syndrome: How Weightlifting Helped Me Accept My Place in Tech
Kristen Mayer

I missed this talk the last time she gave it at a camp I attended and I swore I would see it in person if given the chance, which I happily was. Kristen is a delightful presenter and her passion for weightlifting and making a difference both shine through this talk. I know I struggle with imposter syndrome more than I care to admit, so just knowing that it is not just me is huge! I am so grateful talks like this one exist.

Raw Notes:
Impostor syndrome
thought she was going to be an architect
then got into UX research-> front end developer -> back end development
always felt like everyone else knew more
I’m only here because I got lucky
I’m not really good at this
I don’t belong here
was feeling it in her free time
also in her weightlifting
weightlifting
tech both have own language
stance form risks
don’t compare to other people
with weightlifting
accepted she would not be an expert, focused more on what she was doing that what others are doing
Always someone who knows more than you
felt her skills were not adding anything to the team
imagine watching a varsity high school football game
8th grader
not the star of the team, but makes good plays, there for the teammates
what are your impressions
You would root for him!
don’t be afraid to ask for help
with lifting, asked help when not sure, was OK with that
And did assisted exercise
at work though, always felt had to do it on her own and without help
Don’t get discouraged
lifting, when could not perform, blamed circumstances
at work blamed herself, felt like a failure
life affects work and workouts
Set goals!
lifting, deadlift 200lbs bu X date
tech: get better at coding
specific goals are much better than longer term goals
I’m not really good at this
pick something quantifiable
and time bound
Own achievements
lifting, celebrated every new lbs
tech she did not celebrate everything
‘it wasn’t that hard’
Mentor others
Weightlifting
talked about it with friends
helped friends
Tech
felt I wasn’t skilled enough to teach others
I’m not knowledgeable enough to teach somebody else
it is OK to say you don’t know the answer, but everyone can learn
Everyone is an expert at something
Join the community
lifting, connected
tech, was not sure where she fit in the community
felt not sure can contribute
Anyone con contribute
Being involved int he community has given her more support and helped her improve her skills
find people who inspire you
she looked different than her co-workers,
finding others who look like her and excelled has helped her feel like she does belong and can contribute
Takeaways
your skills matter
no one has all the answers
life affects work(outs)
goals are important but it is hard to hit them if you don’t know what they are
when acknowledged, believe it
sometimes you need a push to go further
Everyone is an expert at something
Anyone can contribute
representation matters
Overcoming impostor syndrome takes time

Practical Ways to Include people with disabilities in design
Liz Davis

Given what I do for a living, when I think of disabilities, I default to thinking of visual impairments first and, to be honest, kind of stop there. Sitting in the front of a room with a presenter who uses a wheelchair was a reminder that I have been neglecting pretty much every other user with needs different than my own. Liz is also a really delightful speaker who had the whole room at ease and reminded us that ‘it is OK to laugh together about this stuff, so long as we are not laughing at people about this stuff’ (paraphrase). I left the room understanding that Lighthouse and AXE can account for about 30% of your work’s Accessibility compliance, but without really asking for people who are differently-abled to use the product or service, we are going to keep failing at it. Really a must see talk for anyone building anything!

Raw Notes:
Inclusive design,
everyone talking about it
but what are they talking about?
we edge toward sympathy instead of empathy
it’s cool to be inclusive
But you are not sure how
that is the first step
key is to talk to people with disability
understand the disability rights movement
part of the civil rights movement
Nothing about us without us!
gang of 19, laid in front of buses in Denver, CO intersection for 2 days protesting lack of accessible buses
1990 ADA, stalled in committee, 60 disabled protesters crawled up marble steps
Stephanie Woodward arrested in 2017 during a ‘die in’
2017 guy dragged out of capitol for protesting the ADA repeal
Who definition: Disability is a complex phenomenon, reflecting interaction between features, of a person’s body and features of the society they live in
Make personal connections with existing disability orgs in your area
independent living orgs
local universities
active disability advocacy groups
senior centers
social media groups
Chicago specific
Access Living in Chicago
Chicago Lighthouse
Great lakes ADA
disabled twitter is a large group
INdependent Living Centers offer resources
Advocacy
Technical skills
Universities – students are always looking for gigs
Social media
First step to reach out, send a friendly email
talk about your project and other typical recruitment screener and information
“We are trying to do usability testing, need help”
Setting the Session
don’t want to say wrong thing or make them feel bad so lot of apprehension
Location:
is it close to public transit?
Accessibility of the building (if not, let people know)
parking nearby?
never assume 100% accessible
explain what is there
story about Sear’s tower elevator
Timing, para-transit can be unreliable at times
Para-transit – urban service for rides
UberWAV is supplementing this
Be Flexible
Consider assistive Tech
if testing app, not the tech itself, let them use their own setup
plan for that and give time and space
PAY PEOPLE
this is a service you are buying
Additional access
you can’t account for every single need, so ask what access you can provide
Recap:
Location
Timing
Assistant
Additional Access
During the Session:
Worry: What if I say the wrong thing?
Colloquialisms are fine, no need t feel bad for it
Teamwork!
Be open to feedback
WCAG DOJ website
https://www.w3.org/WAI/standards-guidelines/wcag/
Mom website analogy
If you interview 5 moms feedback, it is only 5 opinions.
Not about all moms
when you ask accessibility experts that is all that is, just opinions
some people not as open about their experience
Speechless on Hulu. Electric wheelchair character, realistic representation
Simply Different podcast – she is making it, not our year
disarming disability – podcast – robot arm friend
The station agent – Peter Dinklage in it.
Accessibility email specific to that type of feedback
Accessability@emailaddress.tld should exist
audit testing at most gets 30% of it.

Erasing the Stigma & Energizing the Seated
J.D. Flynn
Avi Schwab

I didn’t expect that I would be doing stretching exercises when I walked in, but I was glad we did them! My joints felt immediately better and it woke me up for the rest of the day really. Avi lead the physical portion and had all sort of great advice for better posture and living with a standing desk. He also reminded us that drinking more water leads to going to the restroom more, which is a perfect time to do a few minutes of stretches to keep yourself healthy.
JD talked all about mental health. I had seen a version of his talk before and it is an important one. Without talking about mental health, we will never erase the stigma. Both of these talks together can help someone lead a better, healthier life!

Raw Notes:
Avi-
Physical and Mental health session
Make yourself comfortable
It is a lot of our jobs to set down 40 hours a week
“Sitting is the new cancer”
We are probably not going to stop doing that soon
Avi has been using a standing desk for about 4 years
first place just let him buy a cool one
Rigged a standing desk at next gig
crank up desk at home
important to be comfortable at your desk, ni matter the set up
First, learn to stand
head back and neutral
shoulders back
ribcage down
abs engages
butt flexed
feet straight
we did some exercises
basic posture and easy stretching
sitting different
you can use your environment to stretch
Drink more water and use that having to go to the bathroom as a chance to do light exercise, any motion good
book Deskbound
Move and think about posture
JD –
Erasing the stigma, mental health and wellness in tech
Not a doctor
working remotely really affected him
it’s OK to laugh, as long as not meant to be insulting
let’s eras that stigma
got to talk about it, and laughter is part of that
Why this talk?
Working from home is hard on some people
You are not alone
it needs to be talked about
part of the stigma is the fear of speaking about it
20% of gen US popit is higher in tech
why important to him, he has mental illness
he was in denial for the longest time
thought it meant weak or damaged
“I’m not weak, I am sick.”
about you – polling the audience
What is mental illness
Major depression
Anxiety disorder
PTSD – RAM vs Storage – short term vs long term-
PTSD is where event gets stuck in RAM, re-live the experience
ADHD
TBD (one away from Bingo)
Life before treatment was difficult
caused self enforced isolation
was angry a lot
Challenges of working alone as someone with mental illness
isolation, stuck in your head
communication – working remote
reading into everything
text based communication makes this hard
if you never have communication with your coworkers
isolation
easy to start talking to animals
Distractions – anything but work
you can always find something else to do
Sedentary lifestyle easy to fall into
how did he avoid a stinky sedentary life?
trial and error
what he learned
1 simulate a normal work routine, get up and shower
if in the office, dont eat lunch at your desk
2 distractions – at home, avoid them, headphone rules at the office
give co-workers a heads up on that
3 guilt of not working and taking time off
you can not and should not be working 24/7
you are being paid to not work
don’t compare yourself
4 isolation – everyone has a phone
communicate and make human contact
sometimes you just need to be around people just to ignore them
get to know new employees, say hi and be friendly
bring cookies your first day
joina club or volunteer to get
join communities
what does mental health have to do with this?
for people in tech: 42% have been diagnosed with a mental health condition
Do you think you do? Over half said likely
those with mental illness handle thigs differently
afraid that taking time to ourselves will have negative consequences
OSMI survey
osmihelp.org/research
book
bit.ly/asmi-books
in OSS communirt is greatest resource
we are not just user name

Beyond Herding Cats: Lessons for Project Management in a Small Agency
Tori Lewis

I love Asana and when I found out Tori loved it to, then I knew we were going to be on the same page. Project Management is one of the areas I find myself getting drawn into more and more, given how much I love process. Learning all I can about how I can better communicate, no matter how large or small my team is, is important to me and hopefully will make me easier to work with.

Raw Notes:
she has a lot of project management experience
across multiple orgs
there are strategies that go over all
herding cats
Lone wolves – devs
cats are clients – hard to get them to to focus on their webproject
Mama bears – tempted to take on everything about a project, good at stuff but bad a delegating
1. Be agile, even if you’re not Agile
trying to adopt a full agile methodology can make people groan if they have failed at Agile before
if you do implement Agile then
stand ups rigor does not always work
sprinting is sometimes not the best way, for shorter projects esp
Local project owner vs Scrum master, small tram that is hard
Postmortems are super important though
not learning from the project is fatal
always must learn how to improve
job as a PM at a small agency is not to manage projects alone
but to manage the process for the org
2. Meetings
Want to go in guns blazing
this is a bad way to go,
Running meeting for small teams
no need for formality for formality sake
Have an agenda! bullet points is good enough
if everyone knows the map, harder to get lost
time box, make sure you are effective with time
2 45 minute meetings better than 1 90 minute meeting mostly
take things offline
a cliche, but helpful tool
good conversation to have is like 2 devs about an API
designers not needing to
give yourself breathing room to catch up as people beginning and at end of meeting
fostering team moral
little bit of bonding in every meeting
Every meeting needs to be documented and everyone has a to do list
you as PM could take a list of action items
Asana in the meeting is also a good system
assign each one to a team member in the meeting
very clear and effective
very transparent
can note on the task
what if only 1 dev?
all of these things are still true
regular meetings and an agenda is still critical
off-lining in this case is for dedicated time to figure out those things
3. Love and live by, your PM software
basecamp vs asana is better conversation over beers
Notifications are customizable, only on a design
know who is using your tooling and how they use it
teach team to use asana as central source of truth
if no one monitoring and cleaning up asana, it will be unmanageable fast
3 months overdue tasks
is it a priority? How can we make it happen?
relevant files and links
access to what they need to do their jobs
integrate PM tool with time tracking tool
see what can integrate well together
4. Communicate often and well
part of your job sharing new features if they do not know how to use it
make sure they are getting it if it matters
ask new team members lead parts of meetings and give feedback
add new layers of communication competencies
err on the side of being more clear than you need to
not over-communicating – more != better
make sure team is checking asana
5. team culture
can == company culture
make sure they know flexible and limits

Effective Cross-Functional Communication
Catrina Ahlbach
Andrew Olson

The last session I attended was one that left me thinking a good deal about how I deal with miscommunication more so than how to be a better communicator. Don’t get me wrong, good communication is the goal, but dealing with the miscommunication itself only sometimes results in a better process. The piece I had not really thought about too much was this sort of immortally true triad of feasibility, viability and desirability. I think I have been missing one of those legs when I think through how to improve a process. Much to think about and my notes are sparse. Luckily, this, like all the sessions are already online.

Raw Notes:
Communication ground rules
creating an environment for good communications’
1 always assume positive intent
duck or rabbit pic
neither perspective is wrong
don’t introduce judgments into your communications
Engineering view of the world
very precise and a lot of effort
perspective of user is a blind spot
designer view is focused on the people having a good time
communication goes both ways
not just listen to me
the ability to listen is as important as the ability to speak
miscommunication is always a two way street
conflict is not necessarily bad.
it is needed actually
requires balancing 3 points of view
human centered problems
Technology – feasibility
Business – viability
human – Desirability
inquiry lets us shift view to overlap all three
great solutions and outcomes possible
unresolved conflicts create real world problems
imagine you want to order a pizza
or furniture (see slides)
disconnects happen
perceived vs actual disconnect
takes work
illusion of communication
discussion clarification highly functioning team
We can’t always see the other person’s obstacles
man with rock woman with snake (see slides)
Disengagement
Distraction
Distrust
Beware of miscommunication
might hear
good/bad
important
this is right/wrong
they
handed off
there is no time
the best / only way
that’s hard
Why it is bad
many assumptions and unclear
judgmental and opinions
Might say
as I’ve just said..
I know…
–missing, see slides, recording —

My Session:

Bash is magic # No it’s not

The second time I gave this, I was both more nervous and less nervous at the same time. about 50 people in the room made for a good energy and having an hour instead of 45 minutes, like I had at NERDSummit gave me some time for interactive demo and some very informative (for me) Q&A. I learned that I had been thinking about cmd+k wrong, I didn’t understand aliases as well as I cold have and I have been messing up ctl-c and ctl-x for years now. And I loved every moment of learning that live in front of an audience. It makes it very real and apparent that we are all learning still and there is zero embarrassment to learning something. Honestly, the only reason a person would be embarrassed is if they refuse to try to learn a new thing. I can’t wait for the next time I get to give this talk. I know I will learn even more then.

Contributon Day

Instead of Sprinting, cause who wants to run that fast, we had Contribution Day. I have always kinda felt a bit on the edges of this. A little documentation here and there, but mostly just helping with parallel things like camp organizing, work for my job and even other communities. This year, after a bit of a slow start, I got off and running helping Joe Purcell to help get us all ready for Drupal 9, which is right around the corner. Related, if you have not checked to see what modules you use are Drupal 9 ready, check out Matt Glaman’s drupal-check project. It is pretty great.

Wrapping up

I left Chicago a little sore, tired as all heck and emotionally drained, all in the best way imaginable. I have not felt this connected to the Drupal project ever before and I have never felt better about the future of all of Open Source than I did leaving this camp. From the wonderful friends I sang and danced with, to the awesome sessions where empathy and communication were held as the highest form we could aspire towards, I had an amazing time. I will look forward to seeing many of these fine people again at DrupalCon 2019 or when I return to Chicago. Not really sure when the ladder will be, but I hope it is at least for MidCamp 2020

NERDSummit 2019: Driving in the snow and losing an hour to DST

I arrived into Ol’ Beantown just in time to enjoy their world renown rush hour traffic for my I drive over to the little town of Amherst, Massachusetts. Given that I very rarely drive a car or listen to 3 hours of NPR in a sitting, this was not actually all that bad of a situation. There is a mindfulness that attentive driving takes while also freeing up other parts of the brain to engage with sounds and ideas not critical to the success of operating a vehicle. It actually occurred to me that I possibly picked up crochet because I subconsciously missed this mental state that lets me focus on one thing while learn and ponder completely different things. This long travel day was very much rewarded by amazing weekend full of old and new friends as we gathered on the UMass Amherst campus for NERDSummit 2019

Food and Fun

Friday Night

While there was no speaker dinner, a few of us still managed to find some fine local cuisine and enjoy what the area had to offer. We even found a local ‘vintage arcade’ bar named The Quarters. I want to say a very special thank you to two individuals who, for lack of Lyft functioning in the area made sure I didn’t have to do even more driving that night. First, thank you Kevin Thull for picking me up to go get BBQ and thank you Sean Dietrich for driving me and Kevin around so dang much over the next 24 hours as well. This would have been a pretty different experience for me without you two.

Saturday

Coffee, tea, juices, pastries and bananas awaited us as we entered the Integrated Sciences Building. It was actually pretty OK conference coffee.
Lunch was sandwiches, but some folks opted to go to the Student Union to supplement their meals. It is a very nice student union that is heavily promoting the Impossible Burger product line. I can get behind that. At the afternoon break we were provided with yogurt and a granola based toppings mix. The mix was pretty good.

After Party

The official after party started immediately after the last session ended and there was a very fine spread of appetizers with dips from hummus to warmed cheese spreads and dips made from things like crabs or black beans. They even has some adult beverages available for purchase, a practice I will once again go on the record as supporting. Free alcohol invites overindulgence in a way the cash bar system simply does not. Being right after the last session also has the very nice quality of making casual networking more inviting since there is no demand to travel to another another venue or stay out too late. An extra hour or 2 in the venue makes for a long day, but is much easier to balance home and professional lives.

One of my favorite things that I got to do at the after party was play a new game that my new fried Nicolas Scarrci created called “Project Manager”. It is literally a game that teaches the ins and outs of the Agile development process Scrum, with a fun flair and charm. It is still in the prototype phase but based on how much fun I had with it, I can see this taking off.

Some of us wanted to go get a ‘real meal’ and we gathered over at Hangar Pub and Grill of Amherst. Besides filling our bellies and raising a few glasses together, we also got to play even more classic arcade games and shoot some pool.

And later we ascended on a place known for their selection of locally crafted spirits where we enjoyed watching some videos of candlepin bowling and played some actual shuffleboard. All in all, it was a fabulous night of fellowship and comradery with a community I absolutely love.

Sunday

I awoke to a fresh and still falling blanket of snow that would later turn to rain. That part was different, but once at the venue, it was a repeat of the previous day’s catering. I stuck with tea for the day. We had pizza for lunch and unfortunately no vegan or even dairy free pizzas made an appearance, so in the Student Union again some of us found our nourishment. As I was leaving after the keynote, i did see they once again supplied us with yogurt and that granola topping. Sadly, I didn’t get to stick around for more fun out on the town with those fine folks.

Sessions

Opening Remarks

What is Kubernetes, and Why Should I Care?
Geri Jennings

I work for Pantheon and it is not a secret that Pantheon used Kubernetes. While I had a general idea of what that meant, I don’t delve that far down the stack in my job. This talk quickly gave us all in that packed room a primer on why and how container orchestration can be accomplished at scale for production. This is a must see talk for anyone who has ever wondered how to deploy their containers to the cloud but didn’t really understand enough to begin trying.

Raw Notes:
Secrets, but not today
Kubernetes
2016, SaaS company, GCP
Knew some Docker and liked idea
didn’t know how production of that would work
cube-control
KAS
containers: a star is born
docker, 2014 – defined the space
container runtime images
not the only one now
Kube allows you to docker vs VM
architecture is different
VM on a Hypervisor
vs
Docker Engine, containers on top of engine
(Linux)
otherwise it is Docker on a VM
you define an image, a snapshot of the container
run image to get container
you write a Docker file
Thats nice, but how do we get it to production?
Start with a dev that used containers
why wouldn’t prod use containers?
keep everything consistent is the theory
Deploying containers
understand how to run containers
networking so they cant alk to each other
interact with other systems
persistent storage and monitoring
Enter Kubernetes
it is an orchestration system to manage these things for you
what does this look like though?
Docker local to minikube – local Kube
Runs in Docker
Requires 3 secrets
access PostgresQL
installs composer and copies code
installs dependencies
Key Kube concepts
-Pod smallest unit you can deploy
containers in pod = to a microservice
sidecar containers, provide a service like log aggregator tooling
deployed to a namespace
-Volume –
containers can communicate via localhost
you can scale by spinning up more Pods
-Controllers can create and manage the pods
Architecture for a sample app
What about the secrets?
Build into app image – BAD to do
Kube secrets, unencrypted – no encryption by default
install encryption and it is OK
Store in a vault built for Kube (best)
script – check her repo
minikube start
set image
once process is done, docker image in minikube ready to be deployed
kubectl create nameplace
create secret generic
summon – app to inject keys from keyring
writing a manifest – defining the deployment
replicas: 1
pod template defined containers in pod, the config, volumes or mounted secrets,
containers get fed env variables
exposing the app
associate it with a service
NodePort
ip
Node is an instance of a Kube cluster
in practice, most likely expose the service using a cloud provider’s LoadBalancer
minikube dashboard – very handy way to see it
and we are deployed!
examples are fun but what about real world production?
Kube at scale
manage networking between microservices
ingress/egress traffic
service meshes are new thing
system for centralized logging and monitoring of distributed apps
persistent data and security
LOT of options in the ecosystem
maybe too many options?
lot of competing products
we are in the late early adopter phase
chasm of docs and disagreement is wide
not a lot of end user friendly docs or guides
all operations focused
CNCF has a focus to fix this
not enough end user stories
going to see a lot more people using this
YAML, there is so much YAML
sometimes have to use a straight edge
Google August 2018
AEC June 5 2018
Azure June 2018
DigitalOcean December 2018
Very strong community around k8s
Cloud Foundry
OpenShift
kubeless – k8s native serverless framework
Fission – framework for serverless functions
Even VMs on Kube
KubeVirt
Rancher
benefits to containers to remember
easy to build in a repeatable way
run isolated or network
Portable
lightweight
immutable images make quick rollback
consistent
Containers vs Serverless
both are arguably artifact packaging
lot of resources she likes – see her slides
github.com/izgeri/twitterSearchDemo
slides at bit.ly/2SR27Ws

What I learned doing WordPress to Drupal blog migrations
Matt Goodwin

This was the only Drupal specific talk I attended. This talk also introduced me to the world of home aquaponics, the marriage of aquariums and hydroponic systems. I knew that these were an increasingly popular way to do industrial scale sustainable agriculture, but doing it small scale, at home, to grow fresh veggies year round had never occurred to me. I will admit here and now that I distracted myself with an internet search for “home aquaponics” to the detriment of the completeness of my notes below. For sure watch this talk if you need to migrate anything to Drupal but also if you want to see pictures of Matt and his home system.

Raw Notes:
his goldfish
Aquaponics system
latest thing for him is aquaponics
blogging on your own about it is fun
then you get popular
then you get acquired
then they need to integrate your content into their system
this is a real thing
he worked on it
ID source
ID destination
Field mapping
Data manipulation
Test
Identifying the source
Don’t just grab posts, grab it all
ID destination
What is the taxonomy
how is it expecting to store things?
Drupal migration module really helps
Field mapping
made a plan
growing veggies in winter in New Hampshire
export fields
The export from WP is XML
published by default?
understand that the way one does a thing is not the way the other will
got to factor in redirects
the README is actually a good source of data on the WP side
Docs on D8 are not there yet, (maybe we all sprint on that?)
Tips
Selecting posts

KEYNOTE: It’s a Great Time To Be a UX Designer
Jared Spool

I knew of Jared Spool, but had never had the chance to hear him speak. I was literally blown away by this talk. Entertaining and chocked full of amazing information, this talk laid out the skills gap that the world is facing so clearly and with a path forward so clear, I would not be surprised if some people in that audience make career shifts in the coming days. While I am not considering a move myself he articulated some ideas for me that it has changed the way I will talk about those concepts from here on out. If you only watch one recorded keynote this year, this one should be it.

Raw Notes:
Flattery from Kunming, china
little place
Famous for their apple stores
all fake imitation Apple stores
there are 41 apple stores just in that city
all of them are identical
in USA we have them, but it is Microsoft
Nook did same
JCPennies even wanted in on the style look/feel
Beer commercial example
2102 retail performance
average $341 per sq ft
Tiffany and Co per $3017
Apple $6050 per
the thought
didn’t mimic what had been done befoe
new thoughts about service
this is design
rendering of intent
lawsuit
apple Samsung suit
apple for $1B
2 bits of evidence that Samsung had illegally copied apple
lead up of designs on the years before iPhone
then iPhone
then trend was Samsung being more like iPhone
weird bit of evidence
132 page report made by the Samsung QA department
went through all features to the iPhone
the Samsung phone is broken, make it work like an iPhone
intent was clear
on one hand, cost company a billion
other hand is someone read a QA report
Intention
innovation vs innovation
a scale
imitation route is common
Yahoo redesigned the homepage in a new design
AOL clones it
Yahoo was better design, why not?
imitation is cheaper and less risk
innovation is expensive and risky
Imitation does not value design commodity
Innovation design heavily valued, very competitive
Business wins when it is intentionally innovative
basic idea, appropriately innovative
that innovation is where most investment needed
designers are coming up in the world
delving in further
Newspapers did fine until Craigslist
suddenly no more ad revenue or classified $ for newspapers
CL is actually very well designed
even CL is not immune and things chipped away
vacation rentals especially
AirBnB came out
financial services CC reader
Square changed everything
disruptive
Enterprise rent a car disrupted by Zipcar
(Zipcar is actually a great company, love them)
Hertz and Avis have tried this, both failed
then Avis bought Zipcar
that underlies the problem
on scale of imitation or innovation
bigger is not in a place to innovate
payoff is better but risks are real
circus entertainment
Cirque Du Soleil flipped it on its head
wider audience for street performers
dying business when they started a circus
design decision: cut animal acts from the circus
cute animals bring cute kids with cute parents with cute wallets
this reduces a lot of costs, transportation, animal care
increase performance budget
better performers, etc
and since no kids, can raise ticket price by a lot
$120-$200 a seat
on one day Cirque Du Soleil makes more money than all Broadway combined
designer for hair, i <3 NY, this guy
I move things around until they look right – Milton Glasier
About the visual
no longer
now it is about the business that makes sense
Retail rev breakdown
Samsung vs Best Buy
40% price 50% of the price
other 10% distributor
Apple does all of it, they own all parts
for $100 they make $100
invest more in parts and quality
apple does not discount
great business models are intentionally designed
designers to design business models are deeply needed
it is not visual, it is all aspects
Filling in gaps with Intention
would be easy to see him as an apple fan boy
owns many old versions and many new ones
not perfect
return though is actually innovative
customer journey for a defective product
buying
trying
return to store
wait for service
getting resolution
chart this and can see where improvements can be made
innovation does not mean what you think it means
it is not adding new inventions
apple had not been invented by Apple
added value to the experience
Innovation is adding new value
by adding a make appointment set, made a much better story since eliminate wiat for service
that is design innovation
experiences can be mapped, measured, and designed
What do we intend?
No one can make taxes delightful.
intuit
Turbotax tax app that take a pic of your W2
fills in 1040a or ez
40ish% of people file these
submit
all in under 15 minutes
Cancer can not be delightful
but we have made improvements on the treatment of cancer
the MRI re-imagined
small child, this is scary
can’t move at all
they do not want to do this
sedation for 80% of kids is needed
Doug Deitz, designer of machine and watched this happen
he went to fix this
GE Adventure series
it’s designed to be an adventure
Your experience is totally different
you get a pirate suits
also ones for your parents
and the technician has been wearing a pirate suit
plank area
water adventure
whole room designed for the senses, artwork, aromatherapy
smells like pina colada, gets the parents happy and lightens the mood
ride the pirate ship.
flying mermaids only come out if you don’t move
LEDs spin up and the mermaids appear
sedation rate dropped from 80 to 0.01%
that is the power of design
design for the gaps
how to we get experienced designers to do this?
aren’t enough designers
when FB bought INsta $1B
36 other photo apps in the store
even FB had one in there
they didn’t want a phone app
they wanted the 13 designers
companies bought design firms
that process continues
all kind of companies are doing it
need to to survive
21K open job listings for designers in the US
be careful what you ask for though
it is really hard to hire designers
what do they need to look for?
asked teams with great work
there are a bunch of skills
info architecture
copywriting
design process management – iterate
user research practices
interaction design
Info design
visual design
editing and curating
all of those skills hiring managers thought were needed
one more set
ethnography
domain knowledge
business knowledge
Analytics
marketing
technology
ROI
Social
Use Cases – for devs
Agile Methodology
thought they could just synthesize this
re-asked some questions
what separates out the best designers?
then they gave completely new skills
storytelling
critiquing
sketching – rending an idea so people get it quickly
presenting
The rise of the UX generalist
Steven W Margles
hand and wrist doctor
best in world
local to Burlington
he fixed symphony orchestra pianist that had crushed hands
fixed pro tennis elbo
but you can get an appointment
might take 6-8 months
up to his elbows in hands in wrists
all world renown experts specialists
but at the hospital 9 orthopedic surgeons
not specialists
but over at Rumsford hospital
orthopedic surgeon 2 days a week
other days a general doc
deliver a baby and basic ER care
all doctors have to learn the general stuff
then he got to specialize
he still has to take course in all the general things
specialist vs generalist
Compartmentalist
having expertise in only one area
they are hurting their own careers
anyone can become a UX generalist
you can learn all the skills
the UX designer is a unicorn
how to become a unicorn
in 5 steps
1 train yourself
2 practice your new skills
3 deconstructed as many designs as you can
4 seek out feedback (and listen to it)
5 teach others
The Unicorn is design’ most important innovation
it’s a great time to be a EX designer
rendering intent
filling in the pags
generalists over specialists, compartmentalists are least valuable
Unicorns exists and you can become one
uie.com

User-Story Driven Threat Modeling
Robert Hurlbut

I went to this talk thinking I could pick up a few tips around effective user driven stories. While I certainly did get those tips, I also picked up a whole new appreciation for how to think about security and practical process analysis steps I hope to implement consistently moving forward. I had not heard of the 4 fundamental questions of threat modeling before, but I will never not hear them in the back of my mind when thinking about projects.

Raw Notes:
Thinking about processes
he is part o
application security podcast
threat modeling is something you are already doing
but is is a thinking tool
no tool can find everything
it finds what is missed
AWS bucket checking?
Commonly we do this
thinking about security when you lock the door
thinking ahead
A conceptual exercise that aims to intensify flaws in design am modify to fix
threatmodelingbook.com
4 fundamental questions
what are we working on?
What can go wrong?
what are you going to do about it?
Did we do a good job?
his version:
a process for capturing organizing and analyzing security threats, security countermeasures, and priorities by risk
You can start any time, but early on is much better
Threat models can vary and that’s OK
1. diagram/understand your system
DFDm MS SDL
external to internal how is it used
2. identify threats
ask yourself “What can go wrong?”
STRIDE
Spoofing – identity assurance
Tampering – integrity
Repudiation – receipt, proof of payment,
Information Disclosure – confidentiality
Denial of service – availability
Elevation of privilege – least privilege
hard to fix if you get STRIDE wrong from the start
document threats reading:
attack trees – slide deck Bruce Schneier
threat libraries
checklists
mitigation options
leave as is
remove from product
remedy with tech
warn user, moving the issue to the user’s problem
Document and follow up!
MS threat modeling tool
Agile/Devops?
“we don’t have time for that security stuff..”
that is a decision for bad security
attackers use threat modeling
you can really do this in smaller scale and faster
STRIDE still applies
kill chain
how to pull it all together
make it a part of your sprint
“as a I want for ”
abuser/attacker story
as a bad actor, I want to do bad things for bad reasons
as a hacker, I want to read the application logs
as a disgruntled employee, I want to change pricing for some products
Be honest, leave ego at the door, no blaming!
work through your user stories
Modern approaches
incremental threat modeling
@irenemichlin on twitter
privacy getting added to STRIDE
card games, SWASP cornucopia
Elevation of Privilege
any time with any story
Make it fun apply in an agile way
if integrated into tests, got better view of the threats themselves
RRA from Mozilla
just ask a few questions on an API
30 minute process
some really good sources out there on this

Agile Games
Kelly Albrecht

Kelly changed the way I talk about DevOps last year. To paraphrase him, “DevOps is not about tools, it is about communication”. His passion for this subject lead him to create a very interactive workshop-like session where we discussed the issues facing teams attempting an Agile approach and then playing a corresponding game with pennies or post-it notes. There is no recording of this and due to the nature of it, my notes are not worth printing. I will say this was the thing at NERDSummit that gave me the clearest direction to help with my day to day responsibilities and working with my team.

Introduction to AWS Serverless Model
Alfred Nutile

I walked in with a handful of questions about this whole serverless thing. Sure, I love the idea of it, but what could I really do with it? I walked out of the room understanding of what is even possible in a way I didn’t before. Aside from static sites like my beloved Github Pages, I don’t see an immediate need to further down that road at the moment, but I tall you what, next time I need to write an API or S3 connector, I am cloning Alfred’s repo and building it to scale from day one.

Raw Notes:
Cloud formation
AWS
stacks
it is AWS exclusive
Serverless.com
JSON/YML to built stacks
Why serverless/SAM
no servers
simple and minimal to build services
you get the all the backing of AWS
zero downtime deployment
caching
great for batch processing
scaling built in
why not?
While set of variables and issues to deal with
SAM is not secur as Serverless.com
Locked into AWS
Memory limits 3008 M
Runtime limited 15 minutes
Language limitations (Java, Python, Go, NodeJS)
not 100% locally testable
AWS Pricing can be scary
he once accidentally ran up a $3K bill due to deployment error
they were nice about it
you can monitor resources and keep on top of it
pricing for a lambda function is really scalable
Let’s make something
Lambda
Scheduler
API
Simple Table/Dynamo/RDS
Kinesis Firehose
SQS
SNS (or S3 to SNS)
Alexa
50K people and the server is down, you don’t want to deal with that
jumping into Cloud Formations
Example
Adobe analytics
not a good API
Dumped an CSV on S3
lambda ran and processes the file
100K record, every line kicks off another lambda function
not running out of resources
S3 just works
scales on it’s own
step functions
giving this away OSS
simpler example
gateway app help function
3 lines of code loading from a file online and not a DB needed
.yaml
global settings
Runtime: python3.6
AWS has a lot of policies, learning what does what is a mounain of knowledge
makes it hard
Lambda foundation to a lot of this
simple function to process request
break it up into smaller pieces
Lambda: CLass
he likes to write in classes, does not need to be
got to treat code like Lego
template file becomes the routing
template, index or main
becomes the controller
Lambda: Controller
Deployments
yml or json
SAM does processing

My talk

Bash is magic # no it’s not

Last year, I made myself a content deployment and testing tool called PostItNow and did a talk about all the fancy things it could do. I had expected to have a conversation about content and copy being different things as a result. Instead those conversations were mostly about Bash. I realized that a lot of people were stuck in a position of not using the command line and were holding back from diving in for a number of reasons. Underlying all of those reasons was a fear of the unknown. One person actually said “That made it so much clearer, I can’t wait to dive into Bash now.” If there is a better feeling than that, I don’t want to even know about it. I am so grateful I have had the opportunities to share what I have been so fortunate to learn.

Docksal: More Dev, Less Ops
Sean Dietrich

Docksal is a Docker management solution with an eye on getting people developing faster and sharing things quicker. Full disclosure, I am a Lando user myself, but the Docksal team sees the problem set a little differently. Sean himself sees the problem set of helping new users a little differently too. He announced that this would be the retirement of this intro talk at camps and he would soon be kicking off Docksal Office Hours to help onboard new users and drive the conversation forward. Keep an eye on his twitter for details announcement.

Raw Notes:
DevOps
a lot needs to happen on a local machine
how did we get here?
Bare metal was first
local servers
hard to manage multiple versions of software
can’t share
“Works on my machine” issue
VMs
shared config
but monolithic
HUGE disk space and high memory needs
maintenance is hard
now, Containers
smaller image/faster provisioning
modular
maintainable
shareable
portable
scalable
tools and
see pic
install
fine tuning
start to require just Docksal
custom commands
add necessary services
automating as much as possible
one and done (fin init)
< 5 to get started
CLI!!!
fin
fin drush
fin drupal
fin composer
etc
only a piece of a puzzle
but what about port collision?
all internally handled
duping efforts
one time use software installed
1+ hours to onboard other devs
local env can be a nightmare
Docksal Sandboxes
enhanced code reviews
continuous QA
automated VRT/BDD testing
Demos
Resources
Github
docs
blog
drupal slack
gitter – bit.ly/docksal-gitter
Drupal TV
demo time

KEYNOTE: How can we prevent the Orwellian 1984 digital world?
Micky Metts

I am still processing this talk to be honest and I might update this part later. I do want to publish though, so I will write something. This talk was about the underlying societal needs for why FOSS is important than it was about anything specific to FOSS. This unnerved me a bit, but I think for the better. I tend to talk about these amazing tools we use and the collaborations we embark on from a seat of a lot of privilege. I tend to see code as the great equalizer in so many ways, since the machines that execute it couldn’t care less who wrote it, as long it runs. But I rarely stop and think about what that means for people who are different from me. I think I will be listening to this one again.

Raw Notes:
How do we
intrusion into our lives
The corporations have profiles we can not edit
AOL? Those people didn’t get the full internet
Net neutrality, walled garden
worked well for giant companies
fitting into a social group is material possessions
or symbolic power
either rise or fail
herded into one point of entry
single sign on, makes it easy
just log into Google
how does power work?
class of 71 high school
I am son of so and so, I am part of this group
without a sense of self worth easy to be seduced by symbolic power
Merchants of Cool (2001)
https://www.pbs.org/wgbh/pages/frontline/shows/cool/
https://topdocumentaryfilms.com/frontline-merchants-of-cool/
Groups – “Boots” and “Midriffs”
not many people can cope with real life
low socio information
must appear happy when go through tolls
poor people can be tied to bad choices
building blocks or freedom
Personal Power
Solidarity economy
cooperative platforms
free software
personal power can go awry
disenfranchised schools

Wrapping up

On a scale of 1 to 10, I would rank this event as an 11. Now, to be honest, getting to and from the venue is not factored into that score. Especially since it rained on me while I was driving on not well plowed windy roads to get back to Logan International Airport. I have not slid and skidded like that since I lived in Ohio and it reminded me how fortunate I am that I now don’t drive nor deal with snow on a regular basis.

NERDSummit is short for New England Regional Developers Summit. It did used to be a Drupal camp, but in an effort to “get off the island” they have expanded the scope. Based on the conversations I had there, this was an incredibly wise move. I know that without that change to how they thought about the event, I would not have met a couple newbies who were just downright delightful. One was a local who is trying to make it easier to find cool things to do last minute when you are visiting an area and didn’t plan ahead. The other person was someone embarking on a career change, reinventing herself and was there with wide open eager eyes to learn all she could. Getting to share in her journey for the short time I did made me feel even more grateful to all those who helped me go from some sales guy to a guy giving talks about Bash. I hope to keep writing and refining my talks so I can have a good reason to return for the next NERDSummit in 2020!

WordCamp Phoenix 2019: The cold wet desert, the dried sage and fresh rosemary.

I have never seen it rain in Arizona’s Urban Heart. I have also never been cold when outdoors when there. That changed as I landed in a light, but persistent rain that chilled the desert town. Later on the sun did come out, but the chill stuck around. I was warmed throughout most of my stay however due to the radiance of love and joy I felt from the community gathered for the first WordCamp of the year, WordCamp Phoenix 2019

Food and Fun

Thursday

WPVegan

A WordCamp would not feel complete to me anymore if we didn’t try to raise the WPVegan flag high at least once. A year ago I discovered The Counter thanks to Mike Demo because they had the Impossible Burger. Turns out the other vegan patty on the menu was more to my liking and their bar made this place a hit with everyone else, meat eating or not. It was great to meet up with my WP family for a filling meal out on the town before the first day of camp.

Friday

There was Starbucks coffee provided. No tea though. Still, caffeine was delivered and we got going. Snacks for the afternoon came with lunch as a little goodie bag. Lunch itself was a great fry bread taco. Mine was piled with beans and I heaped it high with lettuce and salsas. It was delicious and every dietary need could have been met. Great job team!

Speaker Diner

Unlike most events, this year the organizers held the Speaker/Sponsor/Volunteer/Organizer dinner after the first full day of camp. I actually really liked this approach, given it was a Friday through Saturday camp. Many speakers had a travel schedule that only allowed them to get to camp early on Friday morning, so this dinner day proved to mean a larger get together. Those additional bodies made for great energy. There was a wonderful awarding of the speaker gifts ceremony as well where I felt truly like I was being honored. It was great.

WCKaraoke

We made an honest attempt at singing together after the speaker dinner but the fates conspired against us. The regular Karaoke DJ at the place we went was literally missing. The bartender at Ain’t Nick’s Tavern actually said this was the first such occurrence in the 2 years she had been there. They were actually worried. Finally a replacement DJ did appear but the hour was late and not much singing happened before we all scattered.

Saturday

Coffee was again there, but given my penchant for tea in the morning and lack of it present from catering the day before, I brought my own tea to wake up in the morning. Lunch was again outside and by the same catering team. This time we swapped Asian fare for the Mexican in out fusion fare. I had a wonderful helping of tofu, rise and a really yummy noodle salad.

After Party

Before we went to the after party, several of us gathered for another meal at The Counter. It was amazing to hang out with so many amazing people before going to hang out with even more amazing people later.

The After Party was held at the Galvanize co-working and event space. There were a few areas in the space where folks tended to congregate, a smoking area outside, a small patio, a couple large sets of high top tables and a dance floor. The dance floor came equipped with a dance instructor who taught us all to dance the Bachata. It felt like the night sailed by and before we knew it it was time to head out of the space.

WCKaraoke, take 2

I heard tell that someone, not myself, had put a plan in motion to head back to 414 Pub and Pizza which is one of the most unique karaoke bars I have ever been in. The college crowd and weird mix of everyone else make for an entertaining evening that lasted long into the wee hours. It was a fantastic time all around.

Sunday

Contributor Day!

Sunday morning, some of us got back together at Galvanize for a day of togetherness, community and hacking. There was a slight issue with the coffee plan but some good hot coffee was quickly made available and was pretty good. Reminded me of what we get at the Pantheon office.
We got at least 8 new contributors set up in Slack and on their path to finding the best team for them. From a new contributor hoping to make Gutenberg better to another who thought Support was the best place to start, the eagerness to help out was evident all around. Lunch was pizza, including a pretty tasty vegan option. Sad to say I did not catch the name of the pizza place.

There was a dual event the same day I got to participate in, dotOrganize, but I am going to talk about that later on.

Sessions

Opening Remarks

WordPress Development in a Modern PHP World
Drew Jaynes

Drew is just an awesome person and presenter and that was the initial reason I planned to see this talk. But when I red the description, it hit me that PHP talks I have attended have been few. Searching my backlog of notes with grep yields only one other talk explicitly about the subject I can find, PHP for WordPress by Alena Holligan back at WordCamp Portland 2018, which I thoroughly enjoyed. There is so much talk of JS these days, that it seems a good reminder core is still PHP is in good order. There were a few the issues in the front of the talk, but Drew kept going like a champ and delivered a very fine talk all devs thinking of getting involved in core should very much see.

Raw Notes:
[[tech issues]]
A lot of devs have not updated to modern standards
small modern code users buck the system
8 years after the fact we finally adopted modern more in core
PHP has held back the dev community
he is here to help
guy that wrote the little prince
“As for the future your task is not to perceive it but to create it.”
Dive in head first, break thing locally
do not jam up your users in the process
be careful with that
usage data, find out how users are using versions of PHP to see if you can bump it
larger % than you think is on 5.6 or higher
version controlled files are a must
separate bootstrap folder to not break site when fais happen
graceful fall-backs
Name\spaces prevent collisions
introduces higher level of organization for a project
not really a standard now but more easy to organize now with it
better code segregation and baseline code ownership
My_Plugin\classname
code sample
With great aliasing powers come great responsibility
with Name\space comes aliasing
local to file only or global
Types
help catch avoidable mistakes
defines expectations
5.1 array types
7 added scalar
7.1 intable 7.2 audit
in line documenting what parameters it can accept
‘marker interface’
top level interface that all exceptions implement, anywhere catches this
Closures are a nice to have
anon functions
one way to express simple one time use code
be careful with hooks though
not globally accessible
can’t unhook from callback
in limited cases only, use sparingly
Late static binding
allows parent class to statically access things in subclasses
inheritance in PHP, specific to class being called from
A and B extends A
change self to static and parent class can access
Backend compatibility to look out for
deprecated some old things in new versions

Building Static Sites with WordPress, Gatsby and WPGraphQL
Jason Bahl

Have you heard of GatsbyJS yet? You should have by now. Especially if we are in the future when you are reading this and ReactJS has continued to replace everything on the front end and the static site generated pages reign supreme from their serverless caches. In all seriousness, GraphQL is a spotlight on an issue that is going to be needing addressed sooner or later, the structure of how data and metadate correlate in a WP database. It makes it, at least, much easier to conceptualize those correlations and leverage them in new and experimental ways. With as much coding examples as he had, best to check out the slides and the video for implementation examples.

Raw Notes:
All about that static sites
pre-generated, no required DB lookups, low resource and secure by default
WIth dynamic site,s need to look it up and make a thing
static is way fast
super scary as well
really cheap hosting
Github pages or netlify – sometimes free
GatsbyJS
the React static site generator
feed data into React
WP site as source for Gatsby site
WPGraphQL plugin
makes WP an GraphQL server
WP send with JSON into templates
WP as an application data graph
Post -> properties, categories, image, other category terms
And categories can connect to other posts
GraphQL can pick nodes and trees from the graph
category name
selecting small thing form big graph
GraphQP tool, GUI for it
can get nested
further properties, all posts that are in a category
almost pain English to your computer
collections, pages, etc
children, their children, etc
even query plugins if access
even general settings
helpful errors
so onto Gatsby
code samples
mapping over data
pass into a template as context
Free hosting on netlify example
menu, managed in WP, rendered in Gatsby
navigate the static site, no DB request
live code building demo!
good thing is Gatsby is awesome with errors, informative
static query
Menu depth is very fast and simple to implement
happens at the query level, no need to go to DB
Pros:
Fast, Super secure, cheap, fun dev experience (use same elements in Gutes and Gatsby), all JS, Decoupled from WP
Cons:
Build step (content is not immediately available)
netlify uses web hooks to rebuild on update, 20 second build
Online publishing might suffer if high volume/traffic,
No incremental builds, have to rebuild whole site,
All JS,
Decoupled from WP,

All About AI: Marketing Technologies in the 21st Century
Crystal Taggart

I have seen a number of AI talks about using one aspect or another before. The example of blocking adult content uploads is almost always present in those. But when I really think about it, this was the first holistic talk about AI I have ever attended in person, and certainly the broadest scope of the subject I have ever heard anywhere in a single talk. As we move to faster and faster execution of mundane tasks by AI, the complexity of the tasks grows seemingly in parallel to the speeds. There are a lot of hard issues we have not cracked yet and I left the room with a sense of excitement about the possibilities for this field.

Raw Notes
–came in a bit late–
decision trees
Computer vision
computers see better than we can
AI and Natural Language processing
no great cracking of NPL by AI yet
this is a really hard issue
5 question it can answer
1 – is it A or B
dog or cat?
2 – is it weird – fraud on the account
3 – how much, how many, what will 4th Q sales be?
4 – How is this organized? customer segmentation
5 – What should I do next?
AlphaGo
learned Go by playing itself 1M time
then played humans
beat world champ 4 games to 1
Types of analytics
Descriptive – KPI, OCR
Predictive – Churn prediction
PrescriptiveCustomer service and operations
1/2 of the money I spend on ads are wasted, issue is I don’t know which half- – 1887
Now – Modern marketing, it is 98%
Marketing can have 3% success and be considered good
1100 marketing company in 2007
8000 now
9% of companies support multiple solutions
everything is increasing
top 3 marketing challenges:
Generating traffic
Prove ROI
Securing enough budget
AI powered sales is what we want
Leads – sales – CLV
Leads: Predict campaign ROI
Predict ROI of every asset creating
Sales:
Best customer segments
Probability of closing/Churn
CLV
Personalized up-sells
Personalized Service
NO MORE VANITY METRICS!
measuring what matters
Actual results mean true costs
people think target numbers but real numbers are really alarming after real analysis
“income level by zip code in segmentation”
company size
industry
annual income
relationship
gender
age
income
psychographics
Predicting the future
long term customer value
Competitive Analysis (few are doing this)
Competitive Review
Sentiment analysis
Insights
Who has the time?
Nobody!
abundance of resources
Bots, Mechanical turk, Upwork, Crowd Flower, Fivver
If have more money, segmentation, recommender systems, proactive service, market basket analysis, website article recommender customer sentiment
churn prediction, web scraping, sales bots, chat bots
if you have less money?
X.ai
amazon alexa
pipl – data about any customer for almost no money
ubot_studio – scraping tool
shatfuel
mycroft AI – oss alexa
BuiltWith
OSS too
TagUI
Botpress
ChatterBot
Datascraper – data-miner.io
Case studies:
JP Morgan – disrupting lawyers for better doc management
ASkJuli by Amtrak
American Express – predictive bankruptcy to get money from loans before declared
Netflix – predictive suggestions
AI bad and ugly –
Microsoft Cognitive Services – does not see black people
Tay – AI turned evil
Alexa-KPI app – very bad privacy policy – sells your data from metrics
“what kinds of problems you can solve is lmited to what data you have”
Think differently
Data driven driven vs fiefdom vs ambiguity
90 day digital transformation
Data Warehouse
AI Pipelines

Building Gutenberg Blocks with ACF
Tessa Kriesel

Tessa gave a talk about something near and dear to all our hearts, cute puppy dogs. Well, really, if the internet and tools like Gutenberg and Advanced Custom Fields are not going to result in seeing awesome animals, whats the point? I mean, I follow Cute Emergency for a reason. Along the way, Tessa gave a stellar presentation on the tooling and how the future is not just going to be stuffed in a big ol blob to parse out later, but stored in addressable fields to manipulate for best effect when grabbed by different front ends like React and GatsbyJS are giving us.

Raw Notes:
Gutenberg feels like it frees me
internet issues
slid.io poll
wprig for a theme is recommended
have you tried the ACF 5.8 beta, 96& said no
5.8 beta you can build blocks
ACF definition
free and a pro version of ACF
custom data to WP content
Gutenberg
ACF registered block
once registered available option in block
at root, settings easy
Name
Title
Description
category
Icon
Keywords
Post types
mode -edit or preview
align
render template
render callback
code examples
dog on site
hero block
— a lot of the second 1/2 of talk was example walk through of the UI and I did not capture it well enough to publish —

Over the Shoulder Email Marketing
David Blackmon
Tim Strifler

I end up writing a little email copy from time to time and I have never been to a session about the subject explicitly before. The title made me curious as well. It turns out it was a delightful approach to a 2 personal case study presentation, where Tim and David told how they build businesses off of smart email list management and leverage. I know I am going to focus more on writing value emails as I move forward.

Raw Notes:
Intro
why email marketing
user acquisition
David’s email marketing story
Tim’s email marketing story
value emails vs Sales emails
platform and tools
Goal:
explain their experiences
If you think email is dead, your missing out on the real metrics
the truth? Email marketing is still going strong and is possibly the best possible strategy
Why?
Direct line of communication for audience
you own it, you do not own FB
no one can take it from you
low cost (once list is grown)
Automation and segmenting!
User acquisition and list building
Visitors must be enticed to join your list
freebies
coupons
content upgrades
updates, new content
email series
eBook
Don’t be afraid to give free stuff if you can get en email
easier to market to them later
Content upgrades
Visitors must be entices to join
freebies, coupons, content upgrades, updates, email series, eBook
Your a guest in the subscribers inbox
you must deliver on expectations
List must be nurtured, 1 a month minimum
Full circle market synergy
email list
blog with relevant content, tutorials
Building credibility
SEO
David’s story
1 to 30K subscribers in 3.5 years
free products, “Demo Zone”, child them generator(a form, generate CT, email it to them), subscribe
average 2 emails per week: content, new products, sales/promo
If you have that many subscribers, you only need 10% or even 1% to make $
demo zone taught people by giving full access to locked down multisite users could see settings on via the admin, not element expect
Tim’s email marketing story
0 to 17,000 subscribers in 2.5 years
content upgrades and freebies
3 per month volume
value vs sales emails
can’t just sales emails!
content/tricks
I am not tied to the size of my email list

Take back the day with WP-CLI
Ryan Kanner

Every now and again you go into a talk about a subject you know a little something about with the goal to maybe get a few new pointers. I walked out with a whole new way to think about technical presentations. Leveraging a case study approach with real email examples of requests he has actually had to deal with he shows the nightmare world of no WP-CLI and automated future world that a little WP-CLI can make it. Not only did it give a solid story structure to the talk but it also make the real world use of the tool very tangabile. This is going to become the talk on WordPress.TV I will be referring new users to as soon as it is up.

Raw Notes:
What is wp-cli?
goal is for regular users to use it in a deeper way and use it more often
and if you don’t use it, use it
WP on the command line
talk to WP without the browser
His journey to wp-cli enlightenment
he handled a lot of WP maintenance duties, so he turned to better tools, like WP-CLI to stop being overwhelmed
managing about 100 WP site, he was doing it manually
wp @all core update changed his life
Delete user: Disable Todd’s login
one of the most powerful thing is
Environment aliases
wp-cli.yml
@site:
url
Scenario 2
fast install over many places
is the 5 minute install really 5 minutes?
power of scripting!
anyone can do this
setting constants
wp-cli.yml
core config:
dbuser: root
dbpass: password
dbhost: localhost
never have to remember ever again
Scenario 3: Debug CRON
Cron Job Stuck
without wp-cli- got to look into the DB and cron garbage output
please the client quickly and easily
wp media regenerate # all thumbnails
wp transient delete –expired
wp rewrite flush
wp rewrite list
wo cache flush
Updates sites!
Going back to logging into wp-admin feels like a chore after learning wp plugin update
scenario 5: import data
migrating into WP from legacy system
spreadsheet with tags
Without WP-cli can take hours or days depending how many tags
with scripting, 5 seconds
you can implement custom functionality
6 Sync staging
client messes with staging site
local aliases
wp-cli.local.yml
@prod
ssh: ubuntu@mysite.com:2222
user: ubuntu
path: ../..
@stage
ssh:
user:
path:
Scaffold types
7 taxonomy
lot of hand copy pasting
some plugins maybe
or wp scaffold post-tye –prompt
scaffold themes, plugins, blocks, plugin-tests
really helpful for figuring out blocks
speed round, commands he likes
delete all spam comments
you can compose 2 commands together
make space separated lists inside other commands that accept them
don’t have a user on a new site you inherit, make yourself one
creating many posts for testing
reset all user passwords
wp user reset-password $(wp user list –format=ids)

My Talk

Nobody wants a website. They want results!

This was my planned retirement of this talk. I have been giving it for a while now and I even got to give it at WordCamp US 2018. I learned so much every time I gave it. The greatest joy was being able to play with the format of Q&A a bit by engaging the audience for their views on a variety of subjects. Almost every time I asked “who charges for the Discovery process” I always found a lively conversation to be had. If you have not considered charging for discovery related to a new web project, the general consensus I have found is that successful agencies do it. The end result of a discovery process is an artifact in form of a project plan or at least partial needs mapping, and either is a very valuable piece of information.

Keynote

10 Years of WordPress Phoenix: An Ice Luge and Things Left Unsaid.
Joshua Strebel

The fact that everyone at the camp was talking about this presentation long after the talk ended makes this one of the most ‘effective’ talks I have ever seen in person. It did the thing that I firmly believe in my heart Joshua wanted it to do, make us have a conversation about biases and how we view this space and ourselves. I disagreed with some of what he said, but I did find myself recognizing I have bias too. And anything that helps me live an examined life overall was worth attending and talking about.

Raw Notes:
Night Pagely dies
his backstory
6 years in college
OBU web
Best Party Ever – Event party business
Pagely
Northstack most recent
then Pressnomics
a life chart up and to the right
that is how many entrepreneur paint it
really it is a wild windy journey
secret is lots of trial and error
you have know when to ditch the losers
I told a whir lie to myself over and over until I believed it, and then others around me started believing it too, then it finally came true and it was no longer a lie
Seth Pepper
If you are not your own best cheerleader you will be eaten alive
When Pagely new no competitors
now like 30 or so
all came at them, came at them from all angles
bootstrapped, never take a dime of funding,
will never, then it is about making money not making people happy
certainly good companies take money, they are clouded
how do you tell them apart, do something different
up market
got away from “Best WP for everyone” to “Best for this group.”
Must be better than serving those people
Blue Oceans Strategy
written by Mauborge and Kim
Red oceans bad, blue are good
red oceans are blood of winners and losers and fighting
You must create the blue ocean
seek
sail
win
competition follows
must always seek a new ocean
Northstack is a blue ocean
authority bias
maturity cycle
intro phase
growth
maturity/stable
decline
WP following this
themes
plugins
SaaS/Hosting
are we at peak WP?
who knows
IS Gutes the future?
Where does the money go?
small or large companies
shareholders are bad
invest in people
leaner leader
At Pagely trying to add authority to think and act on best behalf of the company
Ultimately it’s about you
Win 2019
“Don’t hitch your wagon to community without remembering to put food on your table”
back to Pagely being down
it was a single domain on a CC that handled routing
SLA
$10 domain cost them $57K in SLA payout
Mistakes are typically not fatal
they just hurt real bad sometimes
and then he went skiing
Survivorship Bias

Panel: WordCamps In History and Practice

Adam Silver
Cami Kaos
Francesca Marano

Not only was it contributor day on Sunday, but it was the very first ever WordCamp for Organizers / Popup Event, also known as dotOrganize. Thanks to the awesome efforts of Carol Stambaugh and Drew Jaynes for organizing 3 panel discussions throughout the day. I missed the first one on Meetups as I was helping new folks set up for Contributor day. The panel that I did see was flat out entertaining at times and jammed pack with great information for folks who are organizing WordCamps or hope to organize one soon.

Raw Notes:
WordCamps are larger than a meetup celebration of WP
2006 only 1
2010 almost 80
then dive to 50 in 2011
dip due to quality and foundation was started
143 last year
Francesca: Lonely freelancer
found the world that was happening
got involved and found a lot of opportunity and community
Adam Silver
why he did organizing
he was excited about the project and old lead was burned out
said “If no on else does it, I need to.”
Francisca: Italian community is one of the oldest communities
polyglots first translations
at some point everyone woke up
she was at another conference and she had an ‘ah ha’ conversation
opened slack and there was nothing there
conversation was vibrant after that
few Italians wanted local scene
organized stand alone contributor day
applied to WC not knowing it would make her lead organizer
from 0 to 6 WordCamps in 3 years
Q: What was the hardest single point of organization for an organizer?
Adam: venue was WCLAX hardest challenge
Francesca: Speakers is the hardest still
this year got 80 applications
4 were from local community
Got more application from the Netherlands
Q:Going from est to east
Adam: wanted to beat Miami, but it is not a competition
but scale changes things
community is strong in LA, he knew it
out east, stepped into org role asap,
Had been run by same couple people for 10 years
they know all, tribal know how
he wants to make better community
East is not as clean as his experience in West,
Francesca: How does Adam feel about starting a new one?
Adam: Talking about that with Community now
30 minutes from starting a new meetup outside WP one
that is when they gave him Organizer role,
still slow
3 meetups in 18 months
1 WC done, 1 coming up
respect history that is there
Francesca: We didn’t care about History, cause it was bad
without the translation people, WP would not be popular in Italy
starting from scratch really
Old organizer was a gatekeeper
she has a nickname “Jackhammer”
Drew: Tips for breaking into a community?
Adam: got a ticket from a sponsor
he was looking for a job
desperation reeks
meetup in LA was kinda far
time to commute, but issues with that
asked permission to start one in south
immediately said “got for it”
just ask
for Raleigh, with he would have jackhammered it
try not to get too involved in drama
reach out for help cause it exists
Francesca: Didn’t know what it was
she just liked the idea of a group of people really say “just do a thing”
New in a state and city was hard
Cami: Gate keeping is a real issue in the community
2 year rule is there to try and help with this and burnout
if you feel someone is blacking you and you can reach out to Support
any trusted member should be allowed to organize
“trusted” means something unique to each community
bubble up after time with knowing and trust
Francesca: for them since it was new, a lot of new people
a mix of all kinds of people
advertised through local WP install admin
one post in 2008
then got Italian
@karimmarucchi is The original jackhammer
Demanded Italians can write on local language blog
made it happen
Comment: Sometimes best players are your worst team members
when good at something, it is hard to see the people around you who are not
organizing and leading can be hard
Francesca: didn’t want to be face of Italian community
stepped down from lead organizing roles
Siteground helps her be part of larger community
Cami: Not all organizers become mentors
Adam and F are both mentors, what does that mean? why?
Adam:
Because he was asked
mentor for 3 camps last year
all 3 were canceled
everyone is a volunteer
no one is paid to lead a camp or meetup
things change and things happen
Mentoring 4 next
1 for 2020 already
he just wants to give back
he had a ton of questions and were afraid to ask
Francesca:
she thinks in another life she was a mama bear
protecting everyone
everyone that goes through something she went through she wants to help
first experience was challenge and she thinks she overextended asking other people
it is a strong community and they kept at it
did a good WC but wants to help it be better and help others be better

My Panel on dotOrganize

Panel: Sponsoring WordPress Events
Devin Sears
Cami Kaos
Francesca Marano
Me

I was honored to be on a panel at the first ever DotOrganize panel discussion on sponsoring WordCamps during a contributor day. Cami did a great job hosting and I felt we all got equal time and fair questions. This stuff is actually complex to talk about. There is no magic ROI calculator I or any of folks in the room know of to measure how sponsors universally measure effectiveness of events. To sum up my thoughts, the one bit of advice that crept into almost all areas of discussion was “ask sponsors as early as possible if they can help.” Some conferences get less months of planning than others and if you ask early enough in the budget planning cycle, which differs for each company sponsoring, the more likely that organization can plan a budget for it. I am not sure at this time where the recording will live in the long run, so do check the DotOrganize twitter account for updates

Wrapping up

Saving Tim

Of course, I could not complete this account without touching on the “Save Tim” efforts. As everyone learned at the event, this camp helped point out the most pressing issue of our day and age. Finding Tim. From the original post: “Who is he? We don’t know, but he apparently needs saving.” Find out more at the official Save Time With Us website.

“Whew! That was a blur.” That is a line I say to myself a lot after an event and it has never felt truer than for this event. It felt like I was in town for only a few hours, not three jammed packed days and nights. Being the first event of the year, especially after a personal vacation over the holidays, this event helped us regulars to these sorts of events shake the rust off. It was an awesome way to start off the year! I got so much out of it, I will always remember it as very special. As I told one camper, I needed every square inch of that event.

The Phoenix community makes me feel welcome every time I encounter those fine people anywhere in the world. When I actually go to their city, I get overwhelmed by how much love I legitimately feel from them. I honestly and truthfully hope that I find myself back to Phoenix soon. But if nothing else, I know I will be back for WordCamp Phoenix 2020!

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

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

Food and Fun

Wednesday:

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

Thursday

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

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

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

We snuck in a little Karaoke after that as well.

Friday

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

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

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

After Party

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

Saturday

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

WCKaraoke

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

Sessions

Bridging the Design and Development Gap with CSS Algorithms
Lara Schenck

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

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

Moving the Web Forward with WordPress
Morten Rand-Hendriksen

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

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

WordPress from a Drupal Perspective
Chris Teitzel

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

Stamping Your Open Source Passport
Drew Gorton

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

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

Scrum for developers
Jenny Beaumont

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

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

My talk

Nobody wants a website. They want results!

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

State of the Word

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

Wrapping up

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

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

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

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

Food and Fun

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

Community Dinner

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

DrupalKaraoke

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

Saturday

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

After Party

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

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

Sessions

Opening Remarks

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

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

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

Configuration Management: A True Life Story
John Picozzi
Nathan Dentzau

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

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

2018 Keynote
Jeff Geerling

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

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

Embedding a React app in a Drupal 8 site
Chris Wells

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

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

My Sessions

Let’s learn Git. No more excuses!

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

Nobody wants a website. They want results!

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

Wrapping Up

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

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