WordCamp Minneapolis 2019: Seeing Friends In The North And A Good Time At The State Fair

The last time I visited Mini Apple was way back in 2018 for Twin Cities Drupal. I am a fan of this town for their progressive politics, growing vegan foodie culture and efficient public transportation. It is on my short list of places to possibly move one day. I landed at MSP early and got to see some old friends before I attended the reason I was really there, WordCamp Minneapolis 2019.

Food and Fun

Thursday

Speaker Dinner

Though there was a day of training this year, which I was not part of, the event officially stated for my on Thursday evening, at the traditional Speak/Sponsor/Organizer/Volunteer dinner. It was great to see so many folks I know and to meet some new folks as well. We gathered at the The Trading Floor at Fueled Collective, which is in the old Grain Exchange. The Trading Floor is where, at one point, they actually bought and sold grain futures in Minneapolis, which is the seat of all things agricultural for the whole region. A beautiful building turned into a giant and bright co-working and event space. A few of us ended up at Tracey’s Saloon for a nightcap before getting ready for a busy next day at camp.

Friday

Coffee, tea and water awaited us there at the McNamara Alumni Center, the host venu. Coffee was good enough in my opinion, so I stuck with that for the duration. Lunch was upon us before we realized it and the vegan option, which was very filling included salad and a quinua dish. I will never complain about quinua if I can get enough of it, which some catering struggles with for some reason. This was serve yourself so I was pretty happy. Afternoon snack was a build your own granola bar, which was OK.

WPVegan

Being so close to one of my favorite vegan/vegetarian places, Hard Times Cafe I of course had to make an attempt to rally the WPVegans. There were a lot of cometing distractions and only a small but hearty bunch of us did succeed at getting some of the best vegan seitan in existence! We also played some Foodtown Throwdown, my current favorite game.

Some of us ended the night at Otter’s Saloon to attempt some karaoke, but sadly, we arrived too late to sing.

Satruday

Saturday was a repeat of day one’s coffee and water service, but this time I had a bit of breakfast at the local vegan friendly craft cafe Simpls. Go support this place if you are in the area. The vegan breakfast sandwich was so good I am going to be craving it and trying to replicate it back home.

After Party

Lunch was provided as part of the after party, since it was a half day of sessions. We gathered over at Loring Pasta Bar & Restaurant for some craft drinks and a pasta lunch. Vegan options again were available, which were anchored with a pretty hearty and tasty spaghetti dish. The space itself is massive and has a claim to fame that Bob Dylan used to live there when he was a student in what is now their ‘Red Room.’ It was great to have so much space to mix and mingle and reflect on all we learned at the event.

Also, while not officially part of the camp I got to join a couple WordPress colleagues for a good time at the Minnesota State Fair later in the evening. It awesome to be part of the opening weekend and I even got to see Herman’s Hermits perform. Definitely worth the visit!

Sessions

Opening Remarks

The Developer’s Spectrum – From Junior to Lead
Jeff Holland

Sometimes things that seem obvious are hard to define, like what does water taste like? Or what do you mean by Senior Develover vs Architect? Thankfully Jeff gave us a low down from his vantage point as someone with a lot of experience on a large team at USA Today. I found it pretty helpful to be able to put myself on the scale of somewhere between Junior and Mid Level based on what he shared, and depending on what we are talking about. If you are on a growing development team, or are just curious about it, this might help you navigate as well.

Who is on the team
The Junior
right out of bootcamp
very mallaeable
you can teach them ‘your way’
they are quick learners who work extra hard
spending hours outside of work hours to learn more
pair well with senior devs
experiences are somethign they look forward to
very risk averse
have to draw them out and comfortable with ‘I don’t know’
Process change is difficult
first time using Git, or Jira, or communication tools
lot of questions about ‘how you do things’
They identify with their code
they take it personally
need to help them to feel seperate from their code
stay blunt but explain things in code reviews, not much criticism
“Here is how you can do it”
and tell them don’t identify with your code
The Junior is fresh out of school or changing careers
Ambitious, ready to talk about new ideas
Solved something – have some sense of accomplishments
Apt to make mistakes
On;y address one solution to a problem
have to peer review with them
Unaware of edge cases, debug errors and not know what to test for
over confident quickly once they start seeing patterns
Errors lead to imposter syndrome
How do they get better?

  • They need to code
  • Study and Read, but they need to read code to see how others are doing things
  • Pair program
  • meetups – meeting others makes you feel less isolated
    How to scale?
    Improve your skills
    Learn new languages
    Learn to context switch
    Mid Level – The workhorse of your team
    Very competent in their domain
    industry, languages, problem sets, etc
    Reliable output of work
    Predictable
    Shiney new ting syndrome
    Reliable
    Consistant
    Overconfident
    Over reliance on their favorite tool
    Focus on a piece of the puzzle (tunnel vision)
    How Midlevel grows
  • Try new things
  • Mentor
  • Take on Challenges
  • Speak or Write!
    Mid level Scale?
    Personal to team level
    The Senior!
    Able to take on new things
    Architecture over implementation
    future thinking
    mentor
    They are patient
    helpful
    wise
    knowledge know things
    wisdom, know when to apply that knowledge
    focused
    intuitive
    always discussion, don’t huddle them together
    shortcomings
    The old way works fine
    can over engineer for business needs
    Strategize
    Streamline
    The Lead and the Architect
    the roles at the top
    Lead manages dev work and communicatio with other teams
    Hels build team member’s skills
    insulates and advocates for the team
    keep people out of meetings
    make wins visible outside of the team
    insulate team from problems
    Lead spends less time in code
    The architect manages the infrastructure
    Need to juggle the industry trends with org needs
    has to do it without working with all teams

My Talk

Bash is magic # No it’s not

I love this subject. There is no higher compliment to me than to have someone come up after a talk and say “You made Bash fun and a lot less scary.” Though one of me other favorite bits of feedback was from someone who uses the command line everyday saying they learned something new as well. Learning together is the heart of open source and I am so happy I get to share that learning experience with the community.

Automating Site Creation
Dan Flies

My notes for this are short because you should just go check out the code itself. I was introduced to Dan at the speaker dinner and I could tell immediately we had the same genreal passion for tech nerdery, which I mean as the highest compliment. People of our ilk like to tinker and find new, elegant ways to solve issues in general. His support of my talk, which was delivered right before his, was also encouraging to hear, as some of what he spoke about assumed oyu had a general understanding of Bash and how WP-CLI commands work. He is managing a lot of scale and watching a devops master explain the tips he has learned about error checking and speeding up the build process was just pure gold. If you are managing more than a handful of sites, this talk and his code might just change your life!

Like Bash there are good reasons to use it
scale
need scripting
code at github.com/danflies/wptoolsdanflies/wptools
Using PHP to run WPClI
Bash scripts got messy quickly
but all WP-CLI run in exec()
scandir
wp theme install, doing it locally
2> DEV NULL
installing plugins like he does themes.
if theme is alreeady active check
using exit codes from is-active
activate and check if activated , then active plugin list
ARRAY_FILTER_USE_BOTH
Default_settings
array[name => value]
key example in repo
adding pages managing widgets managing menus

Alternative datastores – When CPT, Taxonomies, Options and Object Meta aren’t enough
Gary Kovar

Ever since I saw {Felix Arntz’s talk at WordCamp Portland](https://www.mcdwayne.com/2018/11/05/wordcamp-portland-2018/) last year about the WordPress database structure, I have been more interested in talks about the subject. Most of the them are of the nature about how to work around the limitations inherent in the Post and related fields structures. I can foresee this being a future overhaul for WordPress, where we set out to fix the structure and make it much more tuned to getting individual Gutenberg blocks in and out of individual fields in the DB. For the time being, using alternative data stores when you can seems to be the prevailing path many are focusing on.

WP Storage
WP Stores Datain MySQL
WP has strongly Defined Models
Posts
Taxonomies/Terms
Users
Comments
Options
one table per data type
SP does not do it that way
gets ugly quick
MySQL oversimplified
custom tables/views
list with the rest of tour WP Data
no extra config from host
allow you to store your data the way you intend to use it
Elastisearch
Great for search
Super Fast Responsive ime
External Service
Eventually Consistent
can miss things in shards
Redic/Memcached
Lightning fast
May not be persistant
key value pair
Geolocation
requirements
Location CPT with lat/lng Field
Ability
query slow
make a custom table
change where it looks up certain things
Geolocation – elastisearch
GetPoint
lat/long
Task Runner
Requirements
make the site run faster
danger
Tsk runner redis
Add a key/value for each task
taskname plus uuid
multisite stuff
Requirement
I want to post something to 1 site in Mltisite and how it on Other Sites

Keynote: Collaboration and Communication: Success in Community and Business
Cami Kaos

Cami is someone I consider an inspiration. Her no nonsense attitude toward pretty much everything I have ever dealt with her on is downright refreshing. AS a speaker she is witty and always has fantastic slides. As someone who is now working from home, as that is my office these days, I really appreciate her advice on work/life balance and just all the general tips she gave in this keynote. For sure a great one to check out if you are working from home as part of a distributed team.

Edd of a long day keynote
not 100% serious, going to tell jokes to entertain herself
Distributed work
found herself in a scary situation
been out of the workforce for a while and was getting a divorce
made a name as a mommy blogger and podcaster
didn’t want to disrupt being full time mom
wasn’t sure what skills to mark
customer management and retention
built on WP
co-working space in an accelerator for startups, next dae at pub with good wifi
other main contrib. in Denver
boss was out most of the time
she became a distributed employee
part of a movement
different kind of workforce
being normalized
WP is what she does and with tech makes sense to work form anywhere
Distributed school as well
distributed work has beed around for a while actually, with mail and telephone
distributed 201
strength and weaknesses of a DW
a bunch of her co-works and friends from working from home slide
working for a distributed team on a distributed project
the good
no brick and mortar
more convenient for employees
good for opening up to larger set of the best people
underrepresented groups and diversity are enabled by
very few people like to commute
removes the late for work part of the equation
additional me time or time for family
What about work life balance
more relaxed schedule
but have to be mindful, it is work to maintain work/life balance
The bad
most frequently
how do you know they are working if they are not at their desks all day
Communication is the way
call center productivity 13% increase when could work from home
increase was due to reduction of sick days.
Distributed or disturbed
time zones are a real thing
not a happy thing to work with
no great answer, just kinda sucks
The Ugly!
Not bathing for days
take care yourself
happy hour zoom
get a coworking desk
dedicated work space
alternate login on your computer
if you know you need social activity, schedule it
Going to gt coffee shop
morning ritual
if he has to relocate he does it once in the day
limit context switching
Culture!
brick and mortar learn to work together
Distributed teams need to be built with intent
loss of sense of belonging is core of feeling isolated
mission statement that means something to you and building community to reflect it
Tools
IRC
78% of people she surveyed miss it
know how to have a workaround
Slack, WP, Google Docs and Zoom
In her survey other peple brought up
zendesk, helpscout
githb, basecamp, trello, telegram, twitter, instagram, FB, Mastodon, Asana, Calednly
email
All communication tools
social is important to follow along to other people’s lives
Distributed companies do well
Stakeholders, clear vision of company
Also compensation
benefits, insurance, money, retirements
hopefully find something you care about working on
Resources are self explanatory
working with a communication
easier in company than a project
when there is a meeting, P2
slack small conversation
digital breadcrumbs to get where you need
include everyone in the project, makes it more accessible in many ways
welcoming place
Passion Project
Teamwork
Better together, what can they learn from one another, projects and companies
Great ideas come from anywhere
next million $ idea
passion
communication is key!

Code Organization and Optimization for Blazingly Fast Rest Applications
Pete Klein

I ran into Pete the day before his talk and the very idea of accessing data for specific use cases intrigued me. Ultimately, the CMS is just a fancy GUI to model and access a database, so changing how you access that data in a progressive, timesaving per cycle way makes a lot of sense. I really appreciated how straightforward he was with the limitations of this approach and how it is not a one size fits all situation, which is a trap many less experienced devs fall into as they chase the new shiny thing. If you are optimizing front end search or any anonymous content, Short Init is definitely worth exploring as a code pattern.

fast queries vs the RestAPI
Primer on the WP DB structure
guide on easy benchmarking
primer on $wpdb an MySQL in operator
OOP
what talk is not
Universally applicable
A step by step walkthrogh of Rest
user authentication
have anything to do with WP caching
Not a lecture, as questions
code examples setup
VSCode
PHP Intellephense
Composer
ACF
An Example:
Travel Review App
Destination custom post type
feadured content
editor content
region taxonomy
Our Rating – post metadata
hotel link – post meta
Reviews Post Type
WP DB structure, been the same since 4.4.2
terms have term meta
our endpoint
— see slides, moved fast —
2 ways to implement
REST API
Short Init
measure speed
Apache Bench built in to mac
ab -n 100
science of waiting
nngroup.com/articles/response-times-3-important-limits
update: 6 seconds before you lose all attention these days
navite = 343ms
short init = 58ms
quick comparison: default WP
register_rest_route()
Data access WP_Query
get_post
get_the_terms
get_the_posts
look at functional code
-code-
now the short init way
endpoints are stand alone files, not theme or plugin code
skips all the authentication and such
files start with
define DOING_AJAX
define SHORTINIT
Require_once ../wp-load.php
All data access is done through $wpdb
ID’s as array indicies are used to return results
no WP_Query
no WP_Usr object
can’t be used for complex querys
good for frequently hit, unauthenticated queries that need to be fast
Search
Featured Content
User Profiles
Anything on a homepage or first page of an app
Code Examples again
Collections
INtro
techopedia.com/definitoin/25317/collection
it’s a bucket
that holds data
has methods to fetch and access that data
just making it clean and reusable

Who Needs Themes When You have Blocksets
Wil Ranney

Having sidestepped actually using the current WordPress code editor, thanks to Markdown and WP-CLI, I have realized recently I am not up to speed with some of the current thinking about the direction blocks are generally headed. This talk gave a pretty compelling argument that we should be thinking about block collections as a different path to the same outcome Themes gives us today. It feels we are in an in between time, where blocks are not quite understood enough by the masses and are being imagined differently by the advanced camps. It will be interesting to watch the story of the editor unfold over the next few releases.

Used to use Divi
Conversation at WCUS 2017
Divi is a theme, not a plugin
how would they use Gutes
layout packs
Limits of themes: static sections
headers
each theme in WP treats this differently
4 different design systems
working on replacing widgets with blocks, but why stop there?
another limit: proprietary code
Another issue: Global Settings
customizer a good step, but aspect ratio change is hard
Most things we use themes for can be reduced to blocks and blocksets
group of blocks arranged in a way and stored together
reusable blocks
not in the main WP menu yet
export these blocksets as JSON
“Pages are wrapped inside themes, where blocks operate inside pages”
rarely do you see theme settings for single page
Page level theming is what we want
projects always get stuck on content
we don’t need a block repo, we need a blockset repo
New, better blocks
Gutes Blokcs – ultimate addons for Gutes
Stackable – gutes blocks
Page Builder Gute Blocks – coblocks
Kadence Blocks – Gutes page builder toolkit
Blocks Lab
Premium Blocks for Gutenberg
Gutes Bloks and Template Library by Otter
ACF Global blocks
Give some time to help make it better
One more case for blocksets and not just blocks
Wix, Weebly, Squarespace all have blocks
Like Divi a few dozen blocks and layouts
can’t compete with the community to make it happen

Gamify task management. Take your turn, strategize, and WIN!
Justin Foell

I kinda really love board games and I have been pretty focused in my other writings about process management and better workflows. So, to see a talk that I would actually like to give at some point was both validating and just downright inspiring. The term ‘gamification’ threw me off a bit but thinking about how games have rules and patterns that are identical to project management principles feels exactly right. I need to get my hands on that Kandan the board gameand that Project Management board game I discovered at NERDSummit this year.

Linux on his personal machine!
Gamify Taks Management for the win!
tasks and tickets, he uses them interchangeably
hates Candyland/Shoots And Ladders
all chance
let’s talk about strategy games
Jeremy Ward Board Game enthusiast and stickler for details
complex games
some could be considered punishable
Before we start, what is the goal
we have to cooperate and communicate
Pandemic game example
Can openly trade cards
good analogy
Victory points!
feature launch or a theme redesign
product launch
full site launch
make sure the goals are clear
also we have to know the roles
Project Manager (dealer)
Production Team (Devs and Designers)
The Client (the Driver)
project manager does board setup
this is not your out to say “that is the PM job”
everyone needs to know setup and rules
game example – complex
know what the standard information is
when managing tasks, flags, statusus, labels
a meaningful view of what is going on
Can we reduce complexity?
Setup is a big part of gaming
Epics/Milestones/Sprints/Features
simple terms
an example in Jira
so customizable, can be cumbersome very quickly
if set up simply, it is one of the best solutions out there
Jura, Milestones are Epics
Theme Redesign
Customize Content
Backlog – adding tasks
potentially a long list of stuff
clever way of hiding the stuff you are not working on at the moment
try to hide the mountain of work below the fold
agile development – we will go through terms
Agaile sprints, just set amount of time, wek or 2 or a month
resonable amount of tasks completed in that time
typical gameplay on outside of the box, helps with planning
setup time not counted in there
take the tasks we want to and add to sprint
you get to set the rules of this game
might not hve sprints if just reactively doing tickets
kanban – timeboard
To Do
In Progress
Done
invented by auto industry to make sure supply/demand was efficient and manage workforce
Pro tip, game called Kanban
once set up, default screen you see
addint another status with the + button
winemaking game with seasons
planting, growing, harvesting, vinting
phase moving from one place to another
just got to be aware of what is going to make this cumbersome
Take your turn
Order or flow of ticket as it moves from person to person
have to spell out which people and which roles will be doing wich actions
software example

  1. Client requests a feature
  2. Project manager enters ticker into Backlog
  3. Dev provides an estimate
  4. Client approves budget
  5. PM assigns dev based on workload(prints/ToDo)
  6. Dev does work (in progress)
  7. Lead dev revies work
  8. Client reviews the work and it gets deployed
  9. PM completes it
    Castle Panic game example
    Draw Cards (pick a task)
    Play Cards (do the work)
    Move the monsters (Hand it off)
    moving the tokens are fun
    Trello does this too
    jira owns Trello now
    Remember post-move actions
    last step should be reassigning it to the next person
    Do necessary documentation, tell people what you did
    links, screenshots
    Add/Remove label or a flag, etc
    Reassign it to the next person in line
    Who’s turn is it?
    Sometimes there is a lull cause people are masterminding a plan to win
    not asking who’s turn it is is bad
    asking it is right thing to do when in doubt
    it is important to know when it is your turn and what todo on your turn
    My CLient Refuses to use our Task Management System
    Coach them on the rules
    Remind them that it’s their project
    play the game for them (when they go to the bathroom), play fair and good
    Celebrate the wins
    Review tasks at the end of a milestone, let each dev or designer show off work
    Talk about what went well and what coule be improved (adjust the rules)
    Provide a peer-to-peer reward system
    peer to peer feedback better than top down
    Take our turn, Strategize and WIN!

Wrapping Up

I rarely have to say anything negative about a hotel experience but I need to get this pne off my chest. The Moxy Downtown Minneapolis was a terrible experience for me. Thursday night going into Friday the fire alarm went off at 1:30am and due to an alarm malfunction they could not turn it off on the floor I was on. I had to change rooms at 3:00am. My new room had very thin walls and for the next 2 nights I had some noisy neighbors. This all added up to the least sleep I have gotten on a roadtrip in recent memory. It might be a hip, kitschy vibe but my stay there was the opposite of why I want to stay at a hotel.

Other than the lack of sleep this was a fun trip. It was great to see everyone and I walked away not just learning some new cool stuff, but I also walked away excited other folks are as into process management and project management optimization as I have been recently. As my life changes and I am recognizing my frequenting of so many WordCamps might be winding down, it makes me appreciate every second I spend out on the road to support the community even more. I have no idea when or if I will every return to Minneapolis, but I look forward to that day. Maybe it will even be for WordCamp Minneapolis 2020.

While not part of the camp, this got published while I was there:

WordCamp Minneapolis: Hashtag confusion and so many familiar faces

WordCamp Minneapolis: Hashtag confusion and so many familiar faces

I make no secret that Minneapolis is one of my favorite cities in the world. In fact, other than my beloved San Francisco, it is the only place that even comes close to feeling like home anymore. This could be from the simple midwestern pleasantness, or the left leaning co-op believing local esthetics replete with vegan options and bike lanes all around, or the fact that I know so many people here. Likely it is a mixture of all those factors and more. It made it very enjoyable to return to the larger of the twin cities for WordCamp Minneapolis.

Food and Fun

TCDrupal

One of the amazing synchronicities I have experienced recently, the fact that the Twin Cities Drupal Happy Hour was taking place the first full evening I was in town. It was an absolute treat to reconnect with some of my Drupal family, many of whom I had not seen since Chicago or Baltimore. I was especially glad to see Tim Erickson, who is the direct inspiration for my ‘improv for developers’ talk and I was super glad to tell him my experiences delivering it in Paris. Really could not have done it without his input and support. I rarely drink beer but had a really solid american stout at Wild Mind Ales. It was an ideal way to pre-game for the rest of my weekend!

Speaker Dinner:

I left my Drupal kinfolk to go hang out with the #WPLife family at the Speaker/ Sponsor dinner to officially kick off WordCamp. We gathered at the Modern Tribe office which just so happens to share a patio with Norseman Distillery. Norseman provided us with some pretty amazing punches and made their entire amazing spirit menu available for purchase. I found their local grain based vodka mighty smooth, smoother than Tito’s though not nearly as available at your local market. I was even interviewed by podcaster and fellow speaker Rebekah Smith. Made a few new friends and got to play giant Jenga with some old friends while munching on some pretty good BBQ rice and beans. Chicken, pork, cornbread and mayo based slaw was also served. Sorry to say I didn’t write down where it was from. If I find out I will update this post. We didn’t stay out too late as Friday morning was starting early and this is a very busy camp, so we said our goodnights before it went too late.

Day 1:

Friday morning brought some pretty good conference coffee and tea with a selection of granola/snack bars. I was very glad to get some caffeine before the floor opened to the attendees, as there were a lot of them and it was an exceptionally busy morning at the booth.
Lunch was a taco buffet from Taco Cat and the line stretched out for a mile it seemed. At first I was very nervous I was going to go hungry and need to find food elsewhere. I was more than relieved when the lines died down rather quickly and there was a lot of food left. I ate way too many chips and amazing salsas and grilled veggie tacos. There was enough left over that we had surplus to pick at all afternoon, with all hot foods kept at proper temp with sterno.

Coffee Social

Day one concluded with a coffee social what had us playing board games and relaxing on a cloudy Minneapolis evening. There were donuts that spelled out WordCamp Minneapolis St. Paul. There was also crazy good cold brew coffee and infused teas from Quixotic Coffee. Given that day 2 of the event was going to be extra long and capped with an after party, the organizers made the very wise decision to have an earlier and more mellow event on the first day of the camp.

It turns out that the camp took place a block from one of the more veg friendly restaurants in the twin cities, Hard Times Cafe a really, divey place with no meat, no booze but sells tobacco. If you are in the area, check it out and get the THT (Tempeh, lettuce and tomato). The coffee is pretty awesome as well.

Day 2:

Day two started out with even more coffee and granola bars, but we also had left over donuts for extra energy!
Lunch was again tacos, but this time from Qdoba. The quality was on par with the previous day as were the leftovers. Missing was the mile long line as they catering folks set up early and we had at it as quick as sessions let out. Great job by the organizing team. It is rare I have been better supplied with sustenance at a WordCamp.

After Party

We were hosted at the the offices of Rocket55 for our after party. We had a very good selection of local beers and some yummy boxed wines to wash down falaffel and kabob wraps. Dessert was cinnamon pita strips with a frosting dipping sauce and chocolate syrup. I would never think to put cinnamon and sugar on pita before but ya know what, it works. I watched a valiant Super Mario Brothers attempt and played chutes and ladders, a game that teaches kids the random unfairness of the universe and takes much longer than it should for the most part.

WCKaraoke:

One of my favorite places in the world is Otter’s Saloon and we went there on a very too crowded but oh so fun night to sing together some WCKaraoke. I am always amazed by the talent and heart of our community. #WPLife is pretty sweet and put the icing on the cake of this camp.

Sessions

Day 1 Panel: Staying Sane In Tech

Rob Walling, Cory Miller, Ed Finkler, Sherry Walling

This camp took an interesting approach to Keynotes and had opening panels each day, focused on a couple different topics. The first day dealt with mental health. I only got to see about the first 20 minutes of this as I had a few other duties to attend, but what I saw was awesome. We need more open discussions about mental health and the real challenges we face in this industry. The more we can discuss this the better off and less isolated we will all be. Cory Miller once again shared his Iceberg method, which I first saw back at Raleigh, and I heard many folks talk about that throughout the rest of the event. Thanks to all our panelists for helping the community have this conversation.

WP-CLI – Save Time by Managing WordPress from the Command Line
Shawn Hooper

Oh boy I was excited to finally see this presentation live and to see the modern up to date version. Shawn is a crazy good presenter and I found every moment riveting. If you are a camp organizer reading this, invite this man to drop knowledge on your camp.

Minds BLOWN in the front row. One person had such a meaningful ‘ah-ha’ moment he actually shouted about it, to his embarrassment. But we were all feeling the same way with him in our awe of this tool, so it was a good shared experience.
Here are some of the things I learned in this ever evolving session and things I will for sure be incorporating in my talk:
explaination of the paramaters (what I have been calling flags) notation meanings
wp core verify-checksums (Check if core is hacked)
wp plugin search “any string” (searched the repo for keywords)
wp cap list (shows full list of capabilities list for a role)
wp cap role add/remove
wp cache flush
Do this demo in this order to blow more minds:
1 db export backup.sql
2 db site delete : show site gone
3 db import backup.sql
WOW
search-replace “Hello world” 🙂 🙂 🙂 (better deo than broken site IMHO)
Serialized arrays? Simple; it skips them, does not look.
search-replace “hello” “goodbye” –export=changed.sql – only changed in the exported DB
wp server (runs the dang WP included built-in php server!)
wp doctor (woah, didn’t know this was a thing, fixes some basic stuff reliably)
wp any-ipsum generate-posts

Cowboy Coding – Best Practices
Gary Kovar

I went into this session just to see what the heck he was going to saw and because Gary completely committed to the bit by wearing a cowboy hat the entire camp. You might know that working where I work I have a very strong bias against ‘just doing it on live’ and I had a fear that this would be a talk about not needing Dev or Test servers. I was quickly relieved when he explained that you really should not be doing this but there are times when you just can not avoid it. When you do hit these rare exceptions, you really have to go very slow and make sure on that site there is never going to be a reason to straight up cowboy code ever again. In fact, you could make the argument that if you are just going to direct change code or config on a live site it takes a lot of extra work and know how to do it right. Such as you must learn bash and learn it deeply to be abel to command line in. You must learn Vim, since you are likely going to be dropped into it on any random linux server. You must know tools like the wp-cli to be effective and make site wide changes. You have to know JS for doing any work on a modern website without blowing it up. I left feeling like every developer on earth should watch this walk. If you can avoid it, avoid it, otherwise go slow and get that site in version control ASAP.

Day 2 Panel: The Importance of Open Source

Aaron D. Campbell, Karim Marucchi, Lynn Winter, Mike Demo, Rian M. Kinney

Going to be honest here, I didn’t see this. But the conversations that spilled out of it were pretty great and on a subject that matters a lot to me, not just professionally. If we don’t actively keep the conversation going on the challenges and benefits of FOSS, there is a danger of it receding. Really though, I am only including this panel here so I can show the following tweet in context:

Configuration Management: WordPress Configuration in Code
Tessa Kriesel

Basically, stop overwriting your dang DB when pushing things to production. This used to be the only way to leverage a dev or stage server in a professional workflow, but the state of the art has advanced in the last few years. The best practice is to version control your configuration by moving DB config into code and pushing it forward. WP-CFM is a pretty solid plugin that does this for your WordPress sites. Don’t keep overwriting the DB, push the config via code FTW!

Lightning Talks

I absolutely love lightning talks. I was delighted to learnt hat there were multiple lightning talk tracks at this event giving me a chance to see almost double the normal number of talks. On a certain level, yes there is very limited time for these, 15 minutes total per talk, including Q&A. This gives the presenters a laser focus though and they get to their central point immediately. As you will see here, sometimes this does not equate to less overal material covered, just a faster delivery, which is awesome if you like drinking from a firehose.

Is your data dirty?

Jenna Totz

Not dirty as in adult X-rated. Dirty as in causes ecological damage. It is super important to consider carbon footprint! Every tweet you send gives off .02 grams of carbon. Each email produces 4 grams. Every search generates 8 grams into the atmosphere. I never really thought about each online action I take having that kind of direct impact and it was a bit startling. Especially since I use Google to find almost every page I land on, even if I know the URL. I will be reconsidering how I use search moving ahead.
There are several organizations that focus on helping people understand their carbon footprint from online use, such as the Green Web Foundation and tools like Ecograder.com from Mightybytes. Efficiency of web use directly is better energy policy.

Surviving a Crisis of Confidence
Nathan Ingram

Please take a minute to answer these 10 questions:
1. Are you ever worried people may find out you’re not really as capable as they think you are?
2. Do you sometimes feel pressure to know the answer to any professional question someone might ask you?
3. Is it hard for you to accept compliments about your work or accomplishments?
4. Do you secretly compare your abilities to those around you and feel like they’re better than you?
5. Do you ever feel like the reason things went well is because you were just in the right place at the right time or knew the right people?
6. Do you ever think that if you can do it, anybody can?
7. Do you agonize over even the smallest flaws in your work?
8. Do you become defensive when you are given constructive criticism because it makes you feel inept?
9. When you have success, do you privately feel like you’ve fooled them again?
10. Do you ever feel like you really have no clue what you’re doing and you’re afraid people will find out?

If you answered yes to any 3, there is a good chance that you are experiencing Imposter Syndrome. This is very real.
He used a very interesting escalator analogy.
We focus on the people ahead of us, forget there are poeple behind us
“Here is a secret, the people ahead of you have the SAME CRISIS of confidence that you have.”
We compare reality to other’s personas, especially at live events. Everyone puts your best foot forward at events, so don’t think ayone has issues.
Tips on how to escape it:
Remember: Nobody knows everything!
You know things that others do not and vice versa.
1. Be realistic
2. Be perceptive, everyone is good at something
3. Be Helpful We are all in this together! Reach out to those around you on the escalator. Become a prson who is good to know. helping others builds confidence. be humble!
https://nathaningram.com/wcmsp for all the slides and the full length presentation

Becoming a Community Builder: A WordPress Story
Raquel Landefeld

Sometimes you meet people in the community and it seems like they have been there forever. That they are in a position that you could never be in because you started too late and are not one of the ‘first movers’. I know I have felt that way many times in both the WP and Drupal spaces. I am very glad to have sessions like this one where Raquel discusses her path from ‘just someone’s wife’ to being the thought leader and community builder she is today. The short version is ‘be nice to everyone’ and ‘be sincere’ with what you are trying to do. This is a great one to show anyone new to the community.

So, You Want To Sell Online?
Zach Stepek

You have to make some big decisions to sell things online. Like what to sell. This is a deceptively hard decision. It boils down to why you are selling it: Passion or Profit? Not mutually exclusive, but mostly it is an either/or proposition for most people.
Once you have that sorted you need to find customers. Traditional marketing used to work, but now need more personal touch. Email marketing has slight bit of personal touch, but not enough. SEO is good overall but not a full marketing strategy, got to stand out. Pay Per Click used to be the gold mine, not now. Video is very powerful and getting cheaper to produce all the time. You want a Branded experience. Make sure your brand voice is evident in everything.

Embracing Page Builders
Tyler Golberg

Tyler made a really good case for page builders in the right situations. Yes, page speed might suffer and that is a serious drawback, but the convenience and time to delivery is the reason many poeple embrace them. Some people let their ego get in the way, meaning they feel it is cheating to use tools like Beaver Builder or the like. Sometimes these tools break and when it does, you are stuck in a world of short code hell. There are other considerable risks and less ability to customize specifics. But a slightly less tuned interface, if it is faster, is an OK trade off for him. I can’t say I disagree for a certain type of site.

Starting your first online business
AJ Morris

Tells the story of Liberty Jane Fashions
There is the version of their history on their site but the version that Aj tells is far more personal. It started as just a way for a mom to connect meaningfully with her daughter who had recently discovered the American Girl dolls. Her mother had shared a love of sewing with her and this was a meaningful for multiple generations, giving this a very emotional bond. At some point the clothing was noticed by other moms and a business was born. Every decision made after the first one to sell that first outfit was driven by the same passion to drive meaningful connections between mothers and daughters. The details of how it scaled were interesting but the underlying truth is you must be personally and passionately connected to your business if you have any hope of thriving.

What I learned raising 2 Million Dollars for Politicians–and How it Applies to the WordPress Community
Lindsey Miller

She started with the advice her first manager told her: “Preachers, pubs and politicians always pay up front!” Seems very sound advice to me. The rest of the talk was her sharing her experiences as a very successful fundraiser at a national level, based in Washington DC. It all comes down to personal connections. You must cultivate a genuine interest in people. Remember their names and details about their lives. Everyone loves this kind of acknowledgement. Ask questions and actually listen to their answers. You are trying to create connections. Only after you have made a real connection can you realistically make your case, asking them to do something, like give you money for a cause or invest in your business. Very solid advice that seems common sense, but was very well articulated.

My Session

Let’s learn Git. No more excuses
Man, I was hecka nervous about this. I read so many dang tutorials and docs in prep for this that at one point I lost perspective on how to structure it. Eventually I landed on going from first principals, meaning going forward with commits, backwards, then branching and ending up with working with repositories on machines that are not yours. I hesitate to use the term ‘remote’ after this talk because in fact everything is local to git. This is one of the harder concepts to a beginner and one of the things that makes Github/Git confusion so pronounced.
Here are the commands I covered:
git init
git status
git add
git commit
git log
git diff
git checkout
git revert
git reset
git branch
git merge
git remote
git push
git pull
git clone

Feel free to copy my slides for your own use.

I learned a TON doing this talk and am very grateful for all the feedback. I ended up going too fast a few times and after all my prep work to make all the demos animated gifs, I forgot to explain what people where seeing, instead explaining the theory behind the command while people where reading the slide. This failed. I now know better and next time will be way smoother.

Contributor day:
Well, there was one. But I felt rather ill, so I bailed right after it started. :/
Still:

Wrapping up

One of the best parts of this camp was seeing a ton of crossover from the Drupal community at this event. From the organizers who for sure are firmly footed in both communities, to the ‘first time attendees’ who I have known from Drupal for longer than I have been in WP space, it was delightful to see the family of PHP CMS coming together. Made for an extra special time.

I always feel at home in Minneapolis and this time confirmed that it really is my people. Midwest is the best, though the left coast is the most coast! I am not ready to move away from my SF any time soon, but glad there is somewhere that would not feel foreign if that day should come.
Super big thanks to Drew Adam and Tessa for making me feel extra at home in the the Pantheon Minneapolis offices while I was there.