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.

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

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

Food and Fun

Speaker Dinner

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

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

Saturday

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

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

After Party

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

WPVegan

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

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

Sunday

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

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

Sessions

Keynote

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

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

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

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

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

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

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

User Experience and Branding for WordPress sites
Jennifer McKnight

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

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

With Great Power Comes Great Responsibility
Chris Teitzel

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

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

My talk

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

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

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

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

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

Clone Yourself Through Automation
Jocelyn Mozak

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

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

Wrapping Up

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

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

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

Food and Fun

Seeing some sights

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

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

Speaker Dinner

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

Saturday

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

Lunch

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

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

After Party

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

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

Sessions

PHP for WordPress
Alena Holligan

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

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

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

My talk

Let’s learn Git. No more excuses.

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

Columbia Lightning Talks

Not one, but three talks back to back!

How to clean up the WordPress Database
David Greenwald

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

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

Gutenberg and WordCamp.org’s Shortcodes
Corey McKrill

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

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

Holy Blockamole: Tips On Learning Block Development
Andrew Taylor

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

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

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

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

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

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

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

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

Special surprise guest Q&A with Matt Mullenweg

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

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

Wrapping Up

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

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

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

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

Food and Fun

Wednesday

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

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

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

Thursday

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

After Party

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

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

DrupalCrawl

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

DrupalKaraoke

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

Friday

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

After Party

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

After After Party

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

Saturday

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

Lunch related tweet:

After

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

Sessions

Thursday DevOps Summit

How Do I Host Hundreds of Drupal Sites?

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

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

Friday

TALK NERDY TO ME: TRANSLATING TECHNICAL JARGON INTO PLAIN SPEAK FOR THE REST OF US
LEIGH ANDERSON

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

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

GATSBY AND THE JAMSTACK: AN INTRODUCTION FOR THE DRUPAL/LAMP MINDED
NICK LEWIS

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

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

DESIGN FOR NON-DESIGNERS
ROXY KORANDA

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

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

BUILDING WEBSITES WITH REACT & GATSBY
Kyle Mathews

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

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

WHY DOCUMENTATION MATTERS (EVEN WHEN IT SHOULDN’T)
MICHAEL NIELSON

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

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

PIVOTING IN A PROJECT: STRATEGIES FOR ADJUSTING TO SCOPE CHANGES
BRIAN MANNING
KELLY DASSING

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

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

HOT DOG/NOT HOT DOG: ARTIFICIAL INTELLIGENCE WITH DRUPAL
Rob Loach

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

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

GITLAB HAS COME TO DRUPAL.ORG
Michael Hess

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

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

My session

LET’S LEARN GIT. NO MORE EXCUSES.

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

Wrapping up

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

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

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

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

Food and Fun

Speaker Dinner

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

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

Accidental Karaoke

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

Saturday

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

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

WPVegan

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

WCKaraoke

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

Sunday

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

An unexpected parade

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

Afternoon Networking

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

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

Sessions

Opening Remarks

Saturday

Making Security Make Sense to Clients
Adam Warner

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

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

The Medium is the Message 2.0
Daniel Schiavone

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

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

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

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

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

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

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

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

<

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

Keynote

Living Life Like an Iceberg or a Ship
Cory Miller

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

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

Sunday

My Session

Learning Markdown: 20 minutes that will change your life

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

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

What can higher ed teach us?
Curtiss Grymala

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

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

Corralling client content
Lynne D’Autrechy

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

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

Wrapping Up

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

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

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

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

Food and Fun

Speaker Dinner

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

Game time

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

After Party

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

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

Friday game time

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

Saturday night

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

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

Sessions

Opening Remarks

Friday Keynote

Learning @ Work
Tiffany Farriss

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

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

My Session

Let’s learn Git. No more excuses.

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

A Drupaler’s Guide To Marketing
Drew Gorton

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

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

Demystifying Diversity and Inclusion
AmyJune Hineline
Lisa McCray

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

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

Saturday Keynote

How to Fall in Love with Drupal Again
Matt Westgate

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

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

Making Search Work
michael.smith@vml.com

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

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

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

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

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

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

Why contributing to the community is important for your companies health
david.belich

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

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

Docker Based Battle Royale!
Wilbur Ince

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

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

Contribution Day

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

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

Wrapping Up

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

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

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

Food and Fun

Speaker Dinner

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

Saturday

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

WPVegan

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

After Party

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

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

Sunday

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

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

Sessions

My session

Let’s learn Git. No more excuses.

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

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

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

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

The Dating Game: Understanding Price Anchoring
Nathan Allotey

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

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

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

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

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

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

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

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

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

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

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

How To Give A WordPress Presentation
Jansen Henschel

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

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

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

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

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

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

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

Wrapping Up

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