BADCamp 2019: Coming home to the Drupal community

There is only one camp I take BART to and it has taken place in Berzerkeley the last few years. The trip is about an hour door to door from my place in Union Square, but it is very rare that you will find me in the Athens of the West, but it is the first place in Northern California what gave me a place to sleep when I was moving from LA oh so many years ago. It gave me a lot of warm feelings that felt very familiar in not only geography but also in spirit of homecoming in the Drupal community since I had been spending a lot of time in the WordPress space recently. I was overwhelmed by the feeling of welcomeness and family I felt as I attended BADCamp 2019

Food and Fun


Wednesday morning was met with conference coffee which I would give a 5 out of 10 points for trying. Tea selection was really first rate though. Lunch time gave me my first of many excuses to go to arguably the best vegan deli in the world, The Butcher’s Son. Their plant based bacon is making my mouth water even as I write this days later. In fact, I ate there almost every day of the event. If I don’t mention lunch again, you can assume that is where I ate. Dinner time rolled around and some of us found our way to the plant based fast food establishment Veggie Grill which is always a bit greasy.


This has become an awesome staple of this event and DrupalCon. Organized by the really great Jason Mickela, this event invites everyone from the community out for a drink. I realize that is not everyone’s thing, but for those of us who participate it is a great night of lifting glasses and cheers. We started at Pacific Standard Tap Room, but things got really going when we hit the weird little club bar/BBQ joint Spats which just happened to have Karaoke that night. We sang and sang and sang.


I didn’t make it over to Berkeley until dinner time. I got there in time for DevOps After Dark by DDEV at Tupper and Reed. This is a place with super fancy, Alice in Wonderland inspired cocktails. I also made it the party over at Beta Lounge, where some of us had appetizers for dinner.


From Beta Lounge a small party of us found our way to Nick’s Lounge a 7 day a week Karaoke dive. Really just some of the best people in the Berkeley and Oakland area come here for a round of drinks and singing together. It is a wonderful cross section of what good people in the bay sound like.


The first day of sessions brought more coffee and tea. Once again I jumped at the chance to return to The Butcher’s Son for lunch. I also went back there for dinner. Friday night brought the official BADCamp Party. We danced and danced. There was an after event for sure but no proof it happened.


More coffee and more tea. Lunchtime took me to The Flying Falafel with it’s vegan fare and just super tasty fries. I took off before the end of day and slept through dinner plans. I did make it back for a few songs of Karaoke at Nicks for a final cap on the camp.


BADCamp has 2 days of summits and trainings and 2 days of regular sessions. The summits are industry specific conversations and workshops focused on helping non-profits and higher ed better adopt technology. I was just thrilled this year to be able to participate in the Non-Profit Summit as a panel moderator and general room volunteer. So many organizations turned up and participated. The main focus seemed to be how to think about adopting platforms and how to organize your processes for best success as an organization. I really liked the discussions I heard.

It was a really great day and many props need to be given to the head organizer this year Valerie Neumark Mickela who just worked so hard to make a smooth and meaningful event. Props to the other organizers, volunteers and panelists as well.


You Gonna Build a Process for That Process?
Anthony Horn

I love a methodical talk that unveils the ‘secret’ of proper process improvement. Namely, there is no magic formula aside from standardize and fine tune as you go. This was more a case study on how to get the process improvement mechanisms correct than a how to, although they shared openly all their templates they leverage for streamlining how they work with clients and ensure success. I missed the very first part, but luckily this and all other sessions are already online at the BADCamp Youtube channel

Raw Notes:
–15 minutes late–
Slide deck per meeting
ready mad
ready to go
more listening less talking
What are your project goals slide
Process builds logically
personas, user stories, anatomy of an issue
Trains the client to be the product owner
idea from 4Kitchens
some clients really into it
people wrote a lot of meaningless user stories
now has examples of actionable ones
no transitions or animations
ppt, pdf, key versions all with no issue
hosted in Box
Wireframes templates and libraries in Lucid Charts
with little work, model wireframe very quickly
UCLA example work they did
Duplicating success
UX Process (user experience)
hard to find things, firehose analytics consulting
looking forward want to have a UX process
old template didn’t fit the need
Reasons – popularly requested service
have provided bits and pieces in the past
team expertise
looking to repeat success
New Hurdles to creating UX
Missing expertises
No clear model for UX Process in higher ed
who going first?
one time or subscription
How much lifting will this take?
Another Process: Research Projects
Faculty are different than other groups
different tech needs
iterative, doing research, so not sure what they want
new ideas from the research emerges
Start with some knowledge, start there
iterate over and over again
just like Agile, LEAN, 6Sigma, all over the place
same thing
They are sharing the Client Engagement Process Materials
please take off UCDavid logos if you want to reuse it

The State of Drupal 9
Amber Himes Matz

The state of the D9 is good! I am not sure why this message has not gotten out better. At the end of a very great presentation, specifically given to assuage fears that people have about Drupal 9 coming out, there was still an audience member who could not comprehend that he should not wait for the Drupal 9 release to migrate from Drupal 7. Given that this is the first time a major release should not break backwards compatibility I get the disbelief in general, but the proof of deprecations by examining the code and the track record of on time releases to date with D8 make it strange people are still apprehensive. More education is needed apparently and this talk is a great place to start.

Raw Notes:
content production manager
Innovation in Drupal
Drupal 8 brought in 3 concepts
1 Semantic Versioning
allows to release feature updates in minor releases with backwards compatability
2 Scheduled Releases
minor releases every six months make versions predictable. New features introduced at a regular pace
3 experimental module
When features need more time and feedback to be finalized.
Backwards compatability is still supported
experimental: media library, workspaces
stable: demo
experimental media library
Stable, layout builder, JSON API
Third Party Optional Twig 2 support
So goals of 9
Update 3rd party dependencies
clean up the code
Symfony, jQuery, CKEditor, Twig 1
these need updated/removed
Symfony 3 end of life is 2021
year prior release
June 3 2020 is planned D9 release date
Drupal 8.9.0 is planned to be released same time as 8.9
2 minor releases a year are planned for D9
how long with D9 go forward
estimated EOL for D9 is
end of 2023
based on with CKEditor supported and Symfony 4 or 5 EOL
The Making of D9
Major versions were brand new code bases in the past
caused headaches and was expensive
Deprication process
backwards compatible APIs are included and slowly removed over time
new solution, old to be removed marked for deprecation
new code is in the code base, but old code there for backwards compatibility
same is true in Symfony 3
D9 is dropping the deprecated code and just new solution
D9 is 8.9 without deprecated code
Modules with no deprecations will all still work
D9 built in D8 step-by-step
same process planned for D9 too
Preparing for D9
Keep Drupal core and contrib projects up to date
code examples
PHPStorm already suggests and strikethrough deprecations
project overview
export project or subset of projects
issues are either warnings or errors
warnings are for ones that can’t be fixed, or identified
errors can be fixed now tools
enable static analysis with PHPstan
Project owners, update your plans on your page
Sprints are a great way to get work done
D8.8 is the last version to deprecate for D9
gives you a 6 month window to get up to date
should I create 9.x-1.x-dev branch?
NO, don’t do it
composer projects allows more granular control
compatibility with more than one major version
Already correct for everything past 8.3
issue with Contributes modules be compatible?
most deprecations are easy fixes
midcampers already opened issues based on reporting then
I got named dropped 🙂
not a tool for Twig template deprecation but see node 3054924
People should not expect new features for 9.0
just stable and non-event upgrade
Big deal is that it is not a big deal
D7 support got support expended to November 2021
contractual vendor support, until at least 2024
worked well for D6 support, til 2022 in fact
3 major versions at once for a year and a half
Upgrade to 8 NOW if you are not there
Contrib custom and Content
not trivial, once on D8 no migration again needed
Skipping D8 does not bring benefits
Waiting for 9 just shrinks the window for you with no benefit
Recap: Drupal innovated 2 times a year
D9 is built in D8
Keep up with D8 and you are ready for D9
D7 has no reason to wait to D9

Best Practices for Securing Your Site

I like going to security talks as I never feel I can know enough about this evolving subject. I also picked this talk since it was given by a speaker I did not know, who worked at Google. This talk was a little more beginner than I anticipated and a little more sales-y for using Search Console than I would have cared for otherwise, but some good nuggets in there for sure. There was a moment of group chuckle as she discouraged people from using software that could not auto-update. Still, I had not thought of using a mix of the first letters of the words ina passphrase mixe with numbers to make shorter but still random and secure passwords before. Some of my 30+ character passwords are going to shorten a little bit next reset.

Raw Notes:
Trust and safety team at Google in SF
1 ID hackers attacks n Websites
2 Recovering hacked sites
3 best practices
was text results at first
now it is much more media rich
+32% increase in hacked sites in last few years

  • Gibberish hack
  • Japanese keyword hack
    auto creates new pages with Japanese text
    Hacker add themselves as a property owner on Search Console
  • cloaked keyword hack
    On user side, pay attention to phishing or malware warnings
    safe browsing to push these warnings on Chrome
    Addressing the hack
    nohacked guide
    build a support team
    quarantine your site
    use search console
    access damage
    ID the vulnerability
    clean and maintain the site
    You become a potential target based on technical issues
    no HTTPS, out of date
    Safer Login
    Safer Website
    Safer Connection
    request a review on search console
    Passwords, Strong unique passwords
    updating passwords regularly
    Don’t use common, easy to find out things for you
    only you would know phrases
    passwhrae key
    Ih2d1ca3b – OK password
    2 step verification
    something you know and something you have
    Google Authenticator
    Safer Login Security Check-up
    Safer Website
    Outdated software is like an open shoelace
    might not be a problem but mught trip everything up
    keep updates software
    Enable automatic updates if possible
    “iffy if software doesn’t allow it.” (??? Does she know what Drupal is?)
    Postcard vs letter in sealed envelope
    new tech requires HTTPS
    progressive web apps
    push notifications
    ranking signal in google
    will serve HTTPS first
    Let’s Encrypt
    search console
    61% of webmaster who had been hacked could not be reached
    84% of those reached has successfully cleaned up the hack
    users and permissions
    manual actions
    security issues

Better Project Management Through Board Games

I have seen several talks in the last bit if my life that reference board games with project management. I even wrote a blog post about one of my favorites I have seen. This talk was less theory and more ‘if you want to learn X play Y game together.’ If there were a more practical approach to how to teach people some of these skills, I have not encountered it. Really amazing job from David and John and it exposed me to a number of games I have not heard of before. I look forward to playing all of them sooner than later.

Raw Notes:
Project management games
Write clear requirements
a game where the thing you build in the middle gets changed per teun with the cards
5 different colors 1 – 5 in them, you can’t see your own cards
Close Feedback loops
Make sure changes along the way can be addressed
timelines and things not being static
an open ended game, 5 minutes up to 5 hours
draw one card, play one card
cards change rules all the time
goal to win game changes too with cards
Captain Sonar
Like battleships with teams
PLan and prioritize
thinking through risk mitigation
Ticket to Ride
you are the railroad mogul
building track and connecting destination
game about spells in seasons, plot out a curriculum at wizard school
Concept: The Iron Triangle
Competing constraints on a prject
magic unicorn lives in the middle
Lords of Xidit
be not the worst at the most category as leader
Between 2 cities
one card on each side of you
take lowest score of the two cities you built
Making the project succeed,
not being a people pleaser and promising everything to everyone
Buy the Rights
Movie pitching game
gotta sell it
Dragon’s Gold
Negotiation of how to split the treasure
poor at negotation there is no way to win
The Networks
juggling act running a TV network
balancing all
Power Grid
Extending your grid out to other cities
power plants and expand at rate balanced with customers
resource management
Look ahead
staying on track
make sure things are trending in the right direction
Race for the Galaxy
like a deck building game
common pile of cards
all cards are beneficial
paying playing a card by throwing away other cards
round broken up into phases
if no one choses the phase, in secret, that phase gets skipped
City building game
look ahead to see how others are building their city
all selecting from common pool of available building
Concept: Be Flexible
things will not always go according to plan
tiling game, building a city
matching patterns on tiles
The Quiet Year
light RPG
Collaborative map making and storytelling game
flipping over a card and drama happens
Concept: Don’t Panic
Things change
people will follow your lead
might be planning to do one thing
someone might steal resources or blow you up
Mechs vs. Minions
fighting on maps
set out actions you going to take
set it down and see what happens
programmable action games
Common Traits
Do some research
don’t ‘discover together’ with the team as a PM
Clear objective
trying to get points vs building railway tracks between cities
more detail
why do we care?
Delegate where you can
cooperative vs competitive games
Forbidden Islands
The Entire PM Experience
What is the ultimate goal?
Winning isn’t everyone
Les Lim
How to Enjoy Board Games
Objective of a game is to bring people together
to solve puzzles
to immerse yourself in the theme
and to be excited to play again
Success of a PM is not on time or on budget
it is successful if they want to work with you again
Finite and Infinite games

Start Using the Emerging Layout Builder Ecosystem
André Angelantoni

I, historically, am not really a front end person. A layout of black and white text in a single column looks good enough to me for the most part. But I get it, people want ways to layout content that looks better than that. Enter the Layout Builder, a Core module now that not everyone is as excited about as they could be from what I hear. This was less of a how to and more of a talk exposing what is possible and the current state of the tooling. If I was going to be building content out I would be digging into this more. As of now, I am just glad to know the conversation for layouts is ongoing.

Raw Notes:
lot of modules to be released
quality initiative
Intro to layout Builder (LB)
Key modules
Patches to watch
souped up panalizer
You can create rigid layours thatt content editors can’t change or layouts that —
Video example
8.7 site
not individualized, new layouts apply to all of that type of node
by default shows blocks available inside Drupal
that is how you edit the layout for all page types
use it by creating content
Allow checkbox, layout tab appears
change per node
once you make content like that, can’t turn off Layout Builder
can but have to revert back to default layout, then tun it off
example site
some have more than 40 components on a page
easy to hurt performance when adding that many components
Key Modules
this is the future
Layout builder Asymmetric translation
If you want translation of layout, need this module, going into core just not there yet
Layout Library
make a library of layouts for content editors
Layout Builder Kit
base component based
common logic for components
custom block – price example
extra fields to blocks, much more flexible now
custom blocks get their own areas
Layout Builder Modal
adding drag and drop
lots of space instead of just scrunched up side
Layout Builder Restrictions
restrict blocks throughout the site to stop rogue editors
Layer builder Styles
Dynamic Layouts
Entity Browser Block
allows you to select ny entity Drupal has and place it on a page
Mini Layout
Unsaved issues
CohesionDX just got bought by acquia
Glazed Builder – superthemes
Layout Builder, if more people start contributing
Translation needs that other module
Node revision table might blow up
Under the hood, Anatomy of a component
where is everything stored?
storing multiple revisions of the same page?
not very useful
be clear on decisions when going through it
Location of Component
serialized string
row for every section
Component Configuration
Stored int he layout_builder_layout field
or us the FieldAPI
Block or Component in D8 interchangeable terms
each option gets own field
MOre you share fields between components, you create rats nest of interdependencies
Also, as an entity
Entity API+Field API
Configuration vs Field API vs Entity API
see slides
one insert per entry
Layout Builder Gap Analysis

Anonymous Personalization Without Leaving Drupal

I kinda think that most personalization is creepy, but I see the value of it in some cases. Especially if it is just data, like a geolocation or IP range which I don’t mind you having for most things I look up, I can appreciate automatic language swapping and regional special offerings. Contextual Conditions seems like the least creepy way to offer a catered experience without collecting and using data in disturbing ways. I also love the idea of an easier and free way to du A/B testing. There is a lot of promise to this tooling and this is for sure something to keep an eye on as it evolves from the alpha it lives in now.

Raw Notes:
Personalization helps people use the site
find what they need
Dynamic Content Recommendation
Individualized Tokenization – “hi MIKE, welcome from YOURLACATION’
Contextual Conditions – this is the focus of today
taking what we know about the user and curating the experience for them
Umami example
local storage
browser properties
device properties
visitor actions – what did they do
third party
and many more
Smart Content
at it’s core, an API and toolset for providing and provide reactions
it is not however an access control module
still need authenticated users to have access control
Smart COntent Block, Browser, all in smart_content module
View Mode, Segments and more to come
demo of module in action
bit of a widget system as well
reactions are what are shown in this condition
Check cookies
default variation to show is possible
not a blank space filling void
demo demo demo
how it works
Page is rendered with a placeholder for each Smart Content segment
JS to pass associated data
additional libraries also attached
Decision.js searched page for placeholder
if statements in JS
merged common things in conditional handler
look it up once from queue approach
back to decision agent then process
can cache the returned values
Use cases?
Targeting segments
Content based on Scoring
per device/os content
gated resources
new vs returning user
time of day content
A/B testing
Location based
Real world example
IP based, suggest content based on what they think that segment wants to see
project is in alpha, about to become Beta
hit some issues around storage
working through some issues
then 2.x into the future
because we can do better
2 year process so far
overusing plugin system
fewer APIs, tighter
make decision s and decide
reactions can depend on decisions without living within them
Further decouple storage from behavior
improve UX

Integrations Roundup: How to plug existing products and services into your site

After a lot of up front warning this was going to be a high level overview and not a ‘how to’ for these integrations they got started. Meg and Jason delivered a wonderful, and well paced, discussion on how to think about using third party integration tooling off the shelf, versus when to roll your own or find lighter weight alternatives. They were right after lunch in a small, dark, warm room and did a great job of keeping our attention in the sleepy afternoon. Really great information for any site builders out there who have client demands for more functionality.

Raw Notes:
High level overview of what is possible
when to and when not too
Pros and Cons
Pros: Decrease technical debt
increase security
quickly deply complex features
use a solution the site users alread kow
create data one, use it everywhere
Specific knowledge of external system
reliance on 3rd party security
can slow dev for simple features
changes in TOS can bite you in the A$$
How to pick the right integrations for your site:
ID your needs
Try not to jump on any bandwagons
leave room for future growth
keep 3rd party requirements in mind
Degrees of integration
Never lose sight of what you;re ultiplately trying to accomplish
importance of customizations
avoid the new hotness
might not be popular next year
consider community support over sexy code
leaving room for future growth
some integrations have a cost of API issue
down the line what might you want to do?
right for you in 3-5 years?
Third Party Requirements
review the format of the data being stored and how it is exported
Avoid adding elements with disprportonate page load times
embeds, iframes, and or scripts
ensure your data is with a trusted source
make sure it is not getting sold, exploited, etc
loading other people’s scripts may not be good scripts
ultimately comes down to custom work, no matter who you pay for code
API usage
Degree f integration
API takes a lot of client-side code )Hardest)
JS Library
Link to external site
Why would you even want to do this?
if looking at site and want to increase functionality but have limited budget
single out specific things to look closer at
Donations, shopping carts, CRM, Analytics
Payment Gateways
square/Paypal,/Amazon Pay – D8 module, yes module, hard to use though
not in active dev
Stripe, D module in alpha, no being developed
Social Sharing
no integration is an option as well
email sevice provider
transactional email service provider’
Heavy Hitters Swiss Army Knife
Don’t paint yourself into a corner
all your eggs are in one basket
It’s dangerous to go alone
Work with people that know what you do
experts an bring new ideas and solutions to the table
‘development and programming’ mean a specific thing for Non-profit
standing on the shoulders of giants

My Talks

I was fortunate to give two talks this time around. My new talk Follow that data! Letting your users tell you what works. and one of my favorite talks I have ever given Making A Tour: Leveraging The Tour Module For A Better User Experience

For the first one, I gotta admit, I learned a lot in my research but I felt the talk itself, especially in this alpha release, was a little scattered. I realized half way through I had written 2 talks in all reality and didn’t really do either one of them proper service by combining them. The old saying is true though, you never really know what a talk is saying until you give it. I can fine tune from here, but this is likely the last time I will submit this particular title.

The Tour module talk on the other hand is one I am extremely proud of and one I wrote an article about earlier this year. It is always well received and some people always have the same ‘mind blown’ reaction when they realize it is in core, and has been since the 8.0 release. If I can help one dev or site builder explain one less thing in person for the 100th time, it will all have been worth it.

Wrapping Up

The thing I can’t really capture completely accurately in this post and in my notes in general is the sense of community I felt here. I know I say that a lot, but this time it really did feel like a homecoming. I am not trying to diminish the lovely and wonderful people in WordPress or elsewhere, but as far as tech communities go, Drupal is very special. No, it is not a utopia and there are some major hurdles we need to overcome, especially around diversity, but it does revolve around the central codebase that is technically great and captures the best sense of what open source code can be I believe.

As I wind down this part of my life as a traveling tech evangelist going to so many dang events all over the place, I am so, so glad my last Drupal event of the year was in the back yard of the town I have called home for a decade and a half. So close but so far across the bay at any given time I never visit there too often. I hope to visit next year, even if I have to travel quite a bit further for BADCamp 2020.

Texas Camp 2018: The blazing heat of Austin and learning much about Drupal core

I occasionally get on an airplane and am freezing thanks to the AC being cranked all the way up. This was the case when flying to the lone star state and was immediately met with 104 degree heat when they opened the doors on the ground. To be honest, this is not my favorite kind of weather, but at least I would be indoors for the most part, since I was there for Texas Camp 2018.

This was the second time I have ever been to City of the Violet Crown or Texas at all for that matter. The first time had literally changed my life. It was my first Drupal event I had ever attended, DrupalCon 2014. It was the event where I went from just another sales guy in a another tech job I thought was interesting to full blown community member and Drupal enthusiast. It would be hard to understate the importance of this for my life and there is zero doubt I would not be writing this now, nor would I be even living this well, if it were not for that trip. Tamping down crazy expectations of something that life changing, I went in like I do every camp. What I got out of it was again some of the most memorable moments I have had in this space yet.

Food and Fun


Speaker dinner

After a long, full day of training the speaker, sponsors, organizers and volunteers all got together for some Texas BBQ over at Stiles Switch. It was awesome to see everyone. The team made me feel very welcome with the food, by brining in some vegan quesadillas that really hit the spot along with some awesome veggies we all could share. Other folks with dietary restrictions also commented on how inclusive this event was. Not even going to mention it on the other things below, there were vegan options every singe time we were together, just as I think it should be.


No coffee to be found. I almost cried and went a walking around to try to find some. The only coffee place I could find opened at 10:00am. I don’t know what Texas thinks coffee is for exactly or when they think it should be consumed, but this was literally a first for me and was not too pleasant a surprise. However there were breakfast tacos. No lunch was provided so I ended up eating the really awesome and tasty breakfast tacos all day long

There was a Friday night after party as well. We gathered over at 4th Tap Brewing, another co-op, to play some board games and try their pretty terrific brews. I am normally not a beer drinker, but if you are in the area, drop in and see of they still have the Highland Scoundrel, a 10% ABV malty Scotch-style ale, made with peated malt smoked in-house. Best beer I have ever tried.


More breakfast tacos! No coffee, which lead to sleepiness on my end and might have ended disastrously if not for the heroics of David Needham who brought me iced coffee.
We again were on our own for lunch and instead of just grabbing the free option, I ventured around the block to Wich ‘Wich which has pretty awesome selection of subs, wraps and salads. It was great to get to hang out with my Drupal folks over a meal.
The after party was a hoot, taking place not too far away from the venue at The Local Post where we had more drink tickets than we knew what to do with and a terrific spread of food. Afterwards, we found a pretty awesome karaoke spot over at Common Interest and sang and sang and sang until they threw us all out at closing! At the karaoke, we got to see something that was a first for me, a trumpet player playing along with some of the singers and doing the best version of ‘Georgia On My Mind’ I think I have ever heard.


Training Day

Training: Visual Regression Testing with BackstopJS

I was super pumped to be able to co-present/assist with this training. I had done so at LoopConf and it was awesome. Being able to do it here again was also good, though this time I had my own agenda. I used the time to really wrap my head around some of the internals and how I could better use them for my workflow that I build Postitnow around. Here is a video of my then current results

Friday Keynote

Keynote: Breaking the Binary: The Politics of Code and Inclusivity in Technology
Nikki Stevens

Inclusion is one of the things we like to pay lip service to a lot I think. When Nikki showed some examples though of us getting it wrong, it was like a gut punch. I love a good gut punch, it makes me uncomfortable but motivates me at the same time. Like when I think about Accessibility, I always get that same feeling of ‘I am not doing enough’ which drives me to always make alt text at least now. Now I am inspired to always consider ‘am I being tolerant or am I being inclusive with this decision’. They are both important but they are very, very different ideas. I am glad to be on this journey of FOSS with so many people from so many backgrounds. This is and excellent talk to put us in the right direction, but it is up to each and every one of us to move down this path and make tomorrow better, and more inclusive, for everyone.

Great intro from Michael Schmid
Are things the way they are now, the way they have to be?
binary does not change for instance
code does not change
but we used to have balanced ternary system
nothing is inevitable or unchangeable
can we image a different future?
definitions from the crowd
intersection of change
power is exchanged
tech work is political
algorithm to tell who on skid row on who gets a house
it affects real things
internet exists in the real world
internet is just tubes filled with cats
we forget that this is computers made with stuff from mines
in a system, we are all connected
do small choices matter? yes
vim vs emacs
trello vs jira
vagrant vs lando
all the choices matter
the foundation for inclusion is the ability to imagine new futures
no one knows how tech works in general populations
does you ‘user’ exist
average pilot issue
Open demographics began last year
gender: male/female/other
open-demographics on github
gender form to many more options
small choice, huge difference
distributed credit shatters illusions of meritocracy by showing all the labor involved
supported by charts that show 86% male in the space
reinforcing illusions in the system
What’s the business case?
Diverse companies do better and make more money
changing ideas about women
why are we still here?
what is the business case for not changing our hiring practices
data show this is import to change
what systems are we supporting with our corporate and
why are black women so
things designed for white faces/skin
not taking things like gender diversity in stats
tech is important and impacts the world

My talk

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

I really had a great time presenting this. Had a pretty full house and people gave me good feedback. The more I think this stuff is common knowledge the more I am always surprised people say they have not encountered some of this stuff before. I am about to retire this one I think, going to replace it with the best parts of a couple other talks about process and give a polished ‘Follow the Process to Success’ kind of a talk, but no time line on that. Thanks to you if you came out to it or listened online.

Getting closer to your customer: Using Drupal in the last mile
Kelly Albrecht

I honestly went to this talk with the thoughts of a) I think Kelly is an awesome presenter and b) What does he mean by last mile here? I was right on the money with the first assumption, Kelly knocked it out of the park and this was a great presentation. I was honestly surprised by the second part, having my expectations completely subverted and walking away literally pumped about a part of Drupal Core I did no know even existed. I spend a lot of time talking the ‘hows’ around DevOps. Automating and such, which is at the heart of the tech side of ‘What is DevOps?’. I don’t spend almost any time thinking about or discussing the ‘Why is DevOps?’.

Why we are thinking this way and how to implement
How close are you to your customers now?
easy to push customers away if you see them as interruptions
lot of misconceptions of what DevOps is
people think about it terms of servers and machine
DevOps came from the developer and the operations folks not communicating
shortening the feedback loop and adding value to chain
customer benefits
break down the wall of confusion
automation helps
feedback though is critical
narrow version of this topic and that is ok, we talk about it a lot
want to automate to noops (no ops)
this is short sighted
Whole point is delivering something of value to the customer
think about getting everyone in loop to customer as communicative as possible
Dev, Test, Engineers to get to mind set
build,CI,Deploy,Operate,feedback,plan,build loop
manager / maker schedule
feedback comes in as tickets
that is what the devs thought
needs to think wider with it
apply flow and automation ot customer feedback as well
which new thing is more important than the other new thing
what’s new, what is, how is it?, what’s next
people lose faith based on how they misunderstand a product
WP as a community thinks about the end customer a lot more than Drupal generally does
What if we modified the Drupal login experience
Tour is in D8 core, not being promoted but very valuable
?tour trigger tour trick pop-up
end user feedback at the end of a tour
get feedback quiz
if people feel their feedback would be heard, they give it
We need everyone’s perspective to make our product as intuative as possible
keep experimentations simple and cheap,
iterate to get closer to you

a11y — ARIA Rules: To Use Or Not To Use
Susan LaRonde
Charles Leverington

ACCESSABILITY FTW! You know it as well as I do, this is everyone’s responsibility. As if to underscore this and literally have the universe put a face to the issue, when we went out to Karaoke on Saturday, a group of visually impaired folks were having a party and ripping the stage up with how great they were! I had an ah-ha moment of imaging any of them trying to use this site, or anything else I have touched. These awesome people should have the best experience possible. It is a real blessing that Drupal (and WP for that matter) make accessibility automatically OK and it does not take much to get 100% of the way there from our end as content makers and site builders. Don’t delay, make your site accessible today!

Speaker notes are available on the slides from link
examples of ARIA accessible approved code are freely examples
add functionality where semantic HTML does not
classes and how they relate
HTTML DOM tree JS Accessibility tree Assistive technology user
right click inspect, look at JS events, look for accessibility tree
only exists since 2012
most roles are automatically made in HTML5, leveraging semantic HTML
roll = navigation
no aria is better than bad ARIA
do not overwrite existing accessibility semantics
do not change the native semantics unless you have to
ARIA uses KISS principal
lot of code examples in this talk that ironically I had to strain to see from even my third row seat
third rule of ARIA, always make sure keyboard controls are usable
NVDA – NVAccess, free and open source

The traffic fallacy
Sean Eddings

I work on a team that is in the midsts of trying to adopt a more Agile methodology for working on projects that fall outside recurring events. Every time I see a talk about this stuff, I feel it puts me a much better place to even communicate ideas on how to apply SCRUM or Kanban with others. This talk started with a ‘where is he going with this’ moment. Then he got there and I don’t think I can think about tickets in the same way ever again. If you are struggling with tickets and your whole team being too darn busy to get anything done, this this is the talk for you and a way of thinking that will help optimize everything about functional deliverables.

lives in NYC
traffic is bad and many places are too
but thinking while stuck in traffic
not a ton of thought given to solving
he researched and Houston to Katyland TX
41 minutes to go 28 miles on average
right now, hour and 20 minutes
in 2004 nonprofit said 25million hours wasted
delay would double by 2025
about $503,620,000 lost opportunity per year
engineers, extra lanes means more capacity
Texas spent $2.8 billion to widen the Katy Freeway
average time increased from 41 min to 64 minutes
55% increase
the amount of freeway increased the number of cars increased, ratio remained the same and actually worsened
50 lane freeway in hong kong
freeway engineers have the best intentions
Need a vehicle and progress limit
Manhattan is experiment with congestion pricing
no go on this idea now
Stockholm, Sweden, bunch of islands
set up experiment, costs a $1 to enter central city
when people saw the data after 6 months
travel time decreased by 50%
emissions dropped by 14-18% in inner city
what about our industry
Backlogs are like this, things taking forever never get done
think, more people, get done faster
looked at task list and too many things assigned to single contributors
Value was taking too long to get to the customer, and everyone was too busy
looked at they way they managed processes
realized they had a command and control model
traditional management says 100% utilization of people was the key
but if everyone is busy, delivering value with predictability is not impossible
changed to prioritized delivering work to the customer as quickly as possible
goal: put our good ideas into action quickly
1. Visualize our process
2. limit our work in progress
3. improve as a team
1. visualized
moved away from tech, went to boards and paper
high level visibility for team
bottlenecks easier to see, respect or change
makes hidden work apparent
2. limit work in progress
how many things can you really work on?
excessive WIP heightens distractions
marked WIP limits on board
there is no right WIP limit for everyone
a lower WIP is generally better
a too high WP leaves work idle
too low leaves people ide
WIP limits are not rules
take a list of work, prioritize it based on biz value
that is your backlog
work top to bottom
right now thinking of tasks and breaking them in different ways so something is completed
task that needs approval example,
deliverable is the thing to be evaluated but that is a new card once feedback is given
conversation the team has on who does what
always keep things in motion though to get to value delivered
flow efficiency is the sum of value adding activities in relation to the throughput time
Flow Efficiency = Value Adding Activities/throughput time
Works because devs do not put things in To Do
selected for dev is a parking lot
ready to deploy is a staging area
what stayed the same?
Multi-functional team
dedicated team
queue hygiene
daily stand ups
what changed
optimizing for getting a single work unit through the process as quickly as possible
ea members attached to work
team members pull work
that takes a lot of autonomy
Good to Great teams:
set the stage
gather data
generate insights
decide what to do
clone the retro
What did we learn?
Start with what we have
prioritize our work
visualize our process
limit WIP
Retros are how team improves
goal is to deliver value faster to customer
Agile and Lean, are all about experimentation and learning. Enjoy the trip

Saturday Keynote

Keynote: The Future of Drupal
Michael Schmid

I can not overstate how good this one was. Whatever you are doing when you read this, stop and go watch this talk! My summary is OK for my purposes but it loses Michael’s impassioned tone and the pure excitement he expresses about how we are being adopted as a community philosophy and software by governments around the globe. I went in thinking ‘oh great, another talk on how we are not growing and maybe some hand waving around some stats’ and I left going ‘oh yeah, I forgot that Drupal is the best expression of FOSS Internet CMS anyone has made yet. We are doing some great stuff and we can keep making it great!’ Some version of this should be the keynote at DrupalCon Seattle.

We need to talk Drupal
You taught us a lot Drupal
growing companies
You have changed lives
but you also changed a lot
Drupal 8 is not the old Drupal
Upgrading from D7->D8 is really hard
Modules work differently
OOP everywhere, you have to understand deeply
so many new things to learn
and already Drupal 9 is in discussion
Adoption is slowed down and it is scary
same is true for DrupalCon attendees
no DCon Europe
You also created physical and mental pain
Drupal Confessions
didn’t do his due diligence and found out too late
He is sorry for what happened
it is gone now, but caused a lot of pain he sees now
Had to learn composer and the CLI
so complex now
and now need to learn JavaScript
and it is very different too
and now the Security Issues
so many hours
is Drupal over?
is that our tomorrow?
NO! it is not over
Who is Drupal?
If we blame Drupal, we are blaming ourselves
we are all in there together
The others are not sleeping
Drupal is already powering the web
we have a lead
over a million sites
5% of top Million websites are Drupal
181 governments use Drupal for sites
So many governments decided to use this code we make
Want to buy a car, you are likely using Drupal sites
Lush – Drupal commerce, but because of our code
NBC, Pfizer, etc
Drupal is used more and more by bog and important websites
is more market share really better?
D.O Data Usage is voluntary
many people disable the ping back to Drupal
Now we have a road map!
we have a plan for next
an upgrade path
D9 Upgrade path, as easy as 8.0 to 8,1
will be smooth process
Camps are happening and getting more and more important
Camps are less intimidating than Cons
Camps are closer to the people
and much more affordable
only works if businesses sponsor
It is hard since ‘what do I get back’
small $ back, sure
but you are making Drupal better and possible
and send employees to participate and bring community closer
should be sharing that knowledge internally
lunch and learn it, share what you loved
employees: ask to go to camps
All the major frameworks using Symfony framework
Drupal started that
added complexity, but makes us all stronger
why embracing and using other tools
We have always done it, like jquery
Less overall work
brings us closer to the rest of the PHP world
easier to hire engineers
We need package managers
there is no other way
everybody uses it
everyone has always used package managers
like driving a car
it seems impossible at first
Secure is much more transparent
Drupal Security is completely volunteers
Same processes like Linux, Google, Apple, etc
hosting companies have you covered
Most popular tools, tops the list
TensonFlow, React
Stanford intro CS is in JS
Decoupled frameworks
this is how most large sites work now
API first is key
MOre dev, design, UX capabilities
So Drupal, forefront of decoupling
Full support for JSON-API and GraphQL
Contenta CMS
Angular, Elm, Ember, React, Vue
still a hard problem, but this is getting easier
So Dear Drupal
Lets build the future
Accept and embrace change from all of us
we always making it better
but that takes investment from us all
and if we believe

Hmm, I Didn’t know that Module Existed!
Fito Kahn

I started out in 2013 on Drupal 7 and have never really put it away, though I do much more WordPress stuff in my personal dev experimentation. I thought I would go to this beginner talk to learn a little about what Drupal 8 modules were all about, especially after learning about tour being in core earlier in the day. I took incomplete notes because I kept opening tabs for the modules Fito introduced me to and was just like ‘wow, I didn’t know about this one’ with almost every feature. With a goal of introducing the site builder to how to make very customized sites without cracking open the code even once, he made the case very well that through configuration of the modules alone, D8 can do just about anything out o the box or with a couple easily installed components. Again, this list is incomplete, but good thing there are also resources like this.

What have I gotten myself into?
Some people on first site right now
Overwhelming at first
but there is hope
there are so many modules
and the Joy of D8 being awesome
History of D8 75 core modules in D8
not as many contrib modules needed
30 core in D7
important dates
3982 D8 modules in 2018
8641 D7 Modules
Experimental Models as well
many in core are turned off, just need activated,
Modules that will make life better
– Admin Toolbar/Tool Bar Extra
– Coffee and Coffee Extras – search in admin that is easy to use
– Pathauto – makes URLs with tokens easy
– SEO Checklist 0
– Content Moseration/Workflows – in core!
– multilingual support, content translation in Core – 4 modules
– Webform – you can design your own
– Simple Sitemap – lighter than XML sitemap
– Slick/Slick Extras – one of many solutions for slideshows/carousel
can be touch to configure
– Focal Point – crop API
– Honeypot – defer spam bots from completing forms, not as intrusive as captcha
– Autoban (Automatic IP ban) using watchdog table
– Scheduler
– Paragraphs – editors control flow of content – replaces bidy field with content types you can mix and match
– Views Reference – field conjunction with paragraphs, adds more flexibility
– Panels/Panelizer/Display suite – create drag and drop layouts for customize looks of site
Let’s remember this is all to avoid actually touching code
this is all just install and config, very different than hand changing views
– settings tray – core. Customizer for Drupal
– Bricks
– String overrides
– Statistics – in core – can slow down the site but valuable info
– Module filter
– Alexa – yeas integrate Alexa with a D8 site

Archiving and Visual Regression Using Drupal 8
David Stinemetze

David was so impassioned about this idea, I just had to see this in action! Going in I was not 100% sure what to expect from this. The idea, as he had described it to me, seemed logical but I wasn’t sure about how it did it nor did I really get an idea of why you would even do this. Leaving the session, I was blown away by the quality of what they are building and sharing with the community. Leveraging the beautiful solution of BackstopJS, we get a solid path for backups, archiving and automatic testing that I had not thought of before. It is well worth watching just for David’s enthusiasm.

Old parts of site don’t change
testing anyway
add on a wayback machine element
Module overview
Web Page Archive module snap local or remote, triggered periodically, compare snapsops based on URL or XML sitemaps
Snapshops can be captured on any site
not just current instance, not just drupal, not just sites you own
Requirements, D8
Learn D8, Ease of use for non-tech users
Drupal 8 plugin ecosystem makes it easy to support additional use cases
give back to the Drupal community
Capture Utilities
Drupal plugins responsible for performing captures
uses annotation based discovery
configurable per instance
Captures screenshots of URLs
uses Headless chrome and puppetier
can also capture raw HTML
Skeleton Capture, prototyping tool
Web Page Test Capture Utility
Captures web performance test results
just capturing it now
other proposed use cases
Configuration Archive Capture
Rendered DOM capture
Google Analytics Capture
Security Scan Utility
can configure easily with dropdowns
don’t want to manually capture each page, use site map
capture stores things, storage can be an issue
Current Project Sessions – yesterday Spot the Difference tool
Visual Regression is all about the things human eyes easily overlook
slider compare
compare screenshots Heatmap
bright red to highlight differences
Release plan
Some remaining issues
You can help
needs new code, needs reviews, etc
demo time
in config, website archive tab

Goldilocks Decoupled: What the Future Holds for Decoupled Publishing
Mike Minecki

I hear decoupled being talked about a lot and I am certainly one who has seen it as not only a better way to think about building for multiple end user system. Mike reminded us all that this is not a panacea for all our issues and there are a lot of disadvantages for decoupled systems if the team is too small, the use case requires a lot of the CMS solved services or other things that a REST API can not do well yet. Even though this was towards the end of the camp, the conversation that flowed from the end of the presentation was lively and I didn’t capture that effectively. If this sparks an interest, go listen to the conversation from the recording.

This is not a demo or a show and tell
why Devs love Decoupled
Hard choices
are you doing stand alone or hub
chart for this out there
simplifies the ideas of it
if there are other apps basically
heart of the chart is layout and display management
modules, toolbar notifications, caching and performance
end up with choices
coupled, progressive, fully decoupled
more JS –>
Why do Devs love it?
bad reasons
new and shiny, Drupal is hard, performance, Dogfood API
Why good
good reasons
Shared templates and language
building frontend in JS is really fast and rather easy
Static site generators are really performance
separation of concerns
a lot more to a website than static markup and content
Content routing and complexity for instance
Decoupled pitfalls
Snowflakes – every front end unique
can’t install stuff (like twitter cards or sitemap.xml)
caching and routing – static site generators don’t work for bigger sites
Progressive Decoupled – the middle way
Redheaded stepchild of the monoloth and JS framworks
need deep understanding of both to build new stuff
DX is only great if 2 teams
Tons of Content APIs
0 ways to render them without a dev
44 decoupled backend listed on
that’s weird
off the reservation – Arc publishing
a pagebuilder
Superdesk publisher
lightweight source renderer
benefits for devs
Editorial controls
Built to work with reverse proxies
Standardized workflows

Wrapping Up

It was an intense few days for me. Some personal stuff happened, like it often does, that distracted me a bit. Very fortunately for me I was far from alone and had my Pantheor and Drupaler family members there to help me get back on track. This event also re-sparked an honest curiosity about what this D8 thing can even do. Time to get exploring now for sure. I know I will be digging into a few things more deeply and don’t be surprised if you hear me talking about tour sometime very soon at a DrupalCamp, as a BOF if nothing else. Also, I didn’t have the chance to see it live, but for sure check out the session about Drupal’s Layout Builder that I am pretty keen on as well. So many good ideas, hard to fit it all in one blog post.
I do hope I get to go back to Austin again in the future, but man I sue hope it is not nearly as hot when I got back. If nothing else, I hope to return for a future Texas Drupal Camp!

Stanford DrupalCamp: The first time I have ever seen it rain in Palo Alto and a shorter camp than usual

I was super excited to be able to once again go to a camp close enough to SF that I didn’t have to take an airplane. Not to say I don’t love flying and SFO and all, but there is a niceness to being able to get in a car and when I exit to be where I am going. This is especially true when going somewhere as beautiful as the Stanford campus. FOr the second half of this event, weather was perfect as you could hope for, but day one had a little rain come our way. But even though it was a tad grey outside, it was bright, dry and warm inside as the Stanford and area Drupal community came together for a day and a half of sessions and conversations at Stanford Drupal Camp 2018.

Food and Fun

Since this event started in the afternoon on Friday, there was no morning coffee or lunch provided. Fortunately for me, the camp takes place at the fully stocked and staffed College of Law, so getting some caffeine and some grub was pretty simple. I didn’t even have to go outside. Soon after we started, catering set up some coffee for us and it was OK. I’ll rate it as pretty standard conference coffee.

Happy Hour

The camp organizers tried something new this year and rather than a single afterparty on the second day, they had a smaller happy hour each evening immediately following the last session of each day. We had chips and salsas and wine and beer and other goodies. But the real joy of this was having a chance to say goodbye to folks and have those hallway conversations that you were unable to have while sessions were rolling along. The other very nice thing is it was very welcoming to everyone to just swing through on their way out, even if they could only just stop by for a minute or two. No one had to have too long of a night or had to move their car to participate. We even had a little background music pumping, not too loud, but definitely gave the room atmosphere.

Day 2

We, the sponsors and catering folks, arrived early on Saturday morning to find that facilities had failed to get the building unlocked. While it was fun to hang out outside on a beautiful morning, it did make us a bit rushed to grab our coffee and, for those who partook, pastries that were offered before the first session of the day kicked off. I opted for green tea.


While a free event, we were still given a free lunch. Pretty typical sandwich fare for a camp with chips and apples to round it out, plus the leftover pastries. I opted to take a quick stroll around campus to soak up the beautiful day and recover from giving back to back sessions in the morning. I ended up getting a nice little bowl of tofu and eggplant over in the main student center. I also got to sit outside for a little bit when I returned and before the afternoon sessions kicked back up.

Happy Hour Day 2

See Happy Hour above.

Unfortunately no tweets of this event exist that I can find. So, here is a tweet about the awesome chips I discovered as a result of this event, Garden Of Eatin’s Red Hot Blues. For sure buying these if I see them on a shelf.


Opening Remarks:

This is the 9th year of this event. They explained the logic of the event was to have a Friday and Saturday camp so Stanford workers could more easily attend day one and the general community could more easily attend day two. The sessions schedule reflected this with more of a focus on Stanford specific content opening day.

Keynote: Stanford Off-Campus Learning Opportunities (SOLO)
Pauline Larmaraud

One of the challenges that most universities face, as well as large scale enterprises with many autonomous parts, is reinvention of the wheel by each division or department. In fact, one of the main reasons Stanford DrupalCamp exists in the first place is to give the Drupal users and excuse to talk to one another and learn what other departments are doing. It does not need to be this way though. If you build a better system and evangelize it correctly in the ecosystem, then you can unite everyone and empower them with better tools. While I was not sure what this talk would be about when I first sat down, I was very grateful to hear a case study of exactly such a new and more useful system being built and spread throughout the Stanford organization. It was proof positive that we can collaborate and use free and open source software to make our world better.

Raw Notes:
Off Campus study is good,
study abroad is very healthy and helps do things you can’t do on campus
each department though was working alone
Siloed from other design and reinventing the wheel every year
listened to stakeholders, really listened
what they really needed was an application management system
These groups that do off campus are not connected to a central system
each independent
had to build trust and buy in and backlog
user needs first
delivered early and often as they could
they were happy right off and on a good path
opened up more and gave more feedback
Partnership between Stanford OIA + Aten
was an agile process
They are agile, not in the buzzword sense
Agile is a communication framework
to get in alignment is the goal
the 4 values
1. individuals and interactions over processes and tools
2. working software over comprehensive docs
3. client collaboration over negotiation
4. responding to change
Really though
1. Talk to each other
2. Don’t just plan it, build it!
3. Work with one another
4. Be ready to pivot
get to a product ASAP and get it in front of users
Agile sprint ceremonies: planning, standup, review, retrospective
they used to do internal retrospective, with this process is the first time they did customer facing
Agile because they worked on it, found what worked for them
the platform they built:
browsing opportunities was key goal
immediately find what they are looking for
Drupal makes it easy to define a content type
CTA up and to the right makes it easy to find and draw more people to apply
Applying for opportunities
had to have a review and approval process
pull in other student info, like records and GPA, etc
MAIS data
made checklists page
Steps change often
people can give feedback on each step
Results, 2,200 applications in year one
they think it is better than last year, but that data is not available
increased engagement,
over 30 units using this for in country and international opportunites
even more collaboration

If it Ain’t Broke: How to tell if your website needs a full rebuild or a focused fix

I will always admit that I don’t work at an agency nor am I a professional site developer. However, I end up getting asked a lot by people outside the space questions about their website as if I did have such a role. This session armed me with a great approach to helping those people who ask ‘how should I fix my website?’ It is hard to know if a site needs some tweaks or if it is time for a whole hog rewrite. now, with a handfull of questions I feel I can better steer people, at a high level, toward an appropriate answer.

Raw Notes:
Only 3 main points
You have to have a website
Your website has other costs than time and money
Opportunity costs
switching costs
reality: tech moves very fast
apple watch example
What does that mean?
mobile optimized
fast load times
mobile fundamentally different than the desktop
Google loves good content laid out well
when is it a good time for a focused fix vs rebuild
they offer help at Kanopi to plot best path forward
POP Quiz!
Do you clearly understand your audience and their decision making journey
1, 2 ,3, 4?
How hard is there to make decisions in your org?
Any pressing events, deadlines that require this refreshed site?
so you currently have capacity for a rebuild (funds, staff time, opportunity costs?
how old is your website technology?
Is your site responsive?
Add up the score
Low: rebuild
Mid range: need more data
High: focused fix time
Reality – smart strategy & strong technical foundation leads to optimal website health
Swoop and Poop – done all the work, then Sr. Team member is not involved, but comes in and poops on the whole process, then leave.
need to have SMART goals
website should help achieve your mission
helps get stakeholders on the same page
How optimal is your user experience?
Do your homework!
analytics, heat maps, surveys, interviews, user testing
take the time to do it right
Also need to have a need for speed

resist: Open Source, Open Data, and the Government
Jordon Koplowicz

If you know me at all, you wil know that I love and belive in information being free and moving fast. I think free and open source software is a major component of this and it is why I do what I do for a living. This talk was the perfect marriage of new data sets to explore and play with and fundamentals about why this is important stuff. Highly recommend going through his slides for all the links.

Raw Notes:
Vital Signs project at Stanford
12 different agencies
bay area metro
taking all the data an presenting as visualization
was easy to convence them to be open
Open Source Government
been done for a long time, but adoption never been better is something we brag about for opensource
many, many government agencies and divisions and universities using it, many agencies within the cities and counties
central department of technologies does point to open source
UC system using starter kit all OSS, Drupal
government open data
standford open data: SNAP, Opendata, EarthWorks, Open Policing
How does this help resist?
open data means the truth is still out there
we can still make our own conclusions empower citizens
give people the power to play with data
OSS: we are stronger together
also contributing back
whitehouse petition platform
18f: US Web Design standards on github
Vital Signs: Tableau Public module
SF using drupal themes DAHLIA and SFCOIT
What do I do now
1 Use OSS – larger user base helps
2 Contribute back – share a fork
revolves arouns how you are giving people permission to use your IP
3 Use open data – be vocal about it. Only way to communicate is to let people know you are using it. Very rewarding to the people workng on this
4 Publish your data – publish or perish is still a problem but there are solutions

My Sessions

Stanford selected 3 of my talks this year.

1 So you want to speak at a camp? Yes please!

I gotta admit, when the time came to start this talk there were only 2 people in the room, which reminded me of The Evaporators song Half Empty Halls. More people showed up but we all had a sit down conversation and I was very pleased with how it went overall. Both those people who were there at the start said they knew they were for sure going to be giving a talk moving ahead. Made me feel really good.

2 Let’s Learn Git. No Excuses!

While I didn’t get extra time for it, I tried my best to teach Git as a workshop instead of ust a talk. There is a LOT to Git and impossible to cover it all. Feedback was great and helpful this time and I know one person at least got a better understanding of the basic ideas. I think Git boils down to forward in time, backwards in time, parallel universes and conversations before a merge. Even one person walking away with a better grasp,

3 Nobody Wants A Website. They Want Results!

I really, really enjoy giving this talk. My favorite part is the Q&A, which I have converted into a group conversation section. So much learning and great examples from the crowd, including one person who had their intake form mechanized to help people qualify themselves before any human needed to get involved from her company. So many good points made by the attendees, I was proud to be part of the discussion.

Wrapping Up

Stanford is the birthplace of so much innovation. The very first host to host connection ever between machines was between UCLA and Stanford. The first autonomous vehicles were proposed here. Stanford gave us the Augmentation Research Center which gave us the Mother of All Demos.
While it might not be the first Stanford DrupalCamp, it was an awesome one. I can’t wait for next year’s event!

Quick final note about this post:
As of today I am using a new content deployment process leveraging CLI and my Dev and Test environments on Pantheon. If you are interested in how I am doing this, for this post the command I ran was:

curl | sed -n ‘1!p’ | terminus wp — post create –post_author=1 –post_title=’Stanford DrupalCamp: The first time I have ever seen it rain in Palo Alto and a shorter camp than usual’ –post_name=’StanfordDrupalCamp2018′ –count=1 –post_status=publish –

Still early version, hope to have this automated from a push to github auto rebuilds the content and in future hope to build some testing for content and then make all this work with Gutenberg. Currently I am relying on markdown editor, which is a tad out of date, but early testing is promising for Gutenberg, not ready for showing my work there yet.

NEDCamp 2017: Driving in the New England rain and my last talk of 2017

The direct flight from SFO to BOS is about 5 hours and 30 minutes long. I arrived at dusk in the light rain and got to experience the horror show that is Boston traffic at rush hour. I rarely drive, but I felt very safe in these treacherous conditions because we are never going that fast, 15-20 MPS the whole way. I was very glad to make it to my destination, which was the quaint and confusingly laid out Worcester, MA (local pronunciation: WUUSS-tə), specifically to the campus of College of the Holy Cross for New England Drupal Camp 2017, better known as NEDCamp

I had gotten there a day early so I would not miss the speaker/community dinner and glad I had the chance to cruise around and see the town. I got a very pleasant surprise, finding a vegan Jamaican spot for lunch, Belmont Vegetarian. I got to work from a funky coffee shop right across from city hall and even got to go inside Salisbury Mansion which is nicer than the pics make it seem. They were just putting up decorations for the holiday season and if I lived in the area I would surely go back to see it in all its glory. I rarely take side trips or spend any time outside of my normal conference duties on these trips, so this was very nice. New England is great and all, but it was getting a little too cold for me.

Food and Fun

Friday night dinner

Instead of a speaker/sponsor dinner that was invite only, the Drupal community kicked things off with am open to camp goer who registered at Lock 50. This was a very lovely thing to do, with the trade off being everyone paid for their own meals. It was a joy to eat a pretty amazing gourmet meal with the Drupal community. Getting to connect over some nice drinks and fine food is one of the absolute best parts of any camp.


Almost all camps supply coffee and all should. But not every camp provides a full continental breakfast spread. Thinking back on it, MidCamp was the last time I saw a breakfast banquet quite this good. You can’t learn on an empty stomach, and given I had a set up time before my hotel started serving, this was one of my favorite aspects to this camp. It was all great, but raisin cinnamon bagels are amazing.


The staff of Holy Cross is pretty great about dietary restrictions. The lead catering person helped each of us figure out what was what. It was pretty great. There were build it yourself sandwiches, with many bread options for the gluten free, salad, chips and a huge veggie and pickle platter. For those looking for alternatives to that there was humus, tabouli and pita triangles. A true feast but I didn’t really have a lot of room for it since I overdid it at breakfast a bit. Definitely a good problem to have. Stuffed, we were all thankful that there was copious amounts of coffee to keep us going all afternoon.

After Party

The after party kicked off after the last session and we all got a drink ticket to start and a lovely cheese and bread platter. Servers came around with all sorts of goodies including these mushroom stuffed mushrooms that I think I am going to try and make myself. Just breadcrumbs, mushrooms and a lot of garlic mashed up and spooned into mushroom caps and baked. It was great to talk to so many folks about the day and how things had gone with the camp.
We only had the place for about an hour, so we scattered but some of us made plans for dinner. We found this pretty great BBQ joint with OK veg options that was pretty close to a Karaoke bar. They have some of the friendliest staff in the whole North East at Smokestack Urban BBQ. It was a real treat to hang out with the community and get to know each other a little better as people. We are all in this together trying our best, breaking bread is an important thing we all do and reminded us how we are more similar than different.


Then we sang. It was so much fun, as our party was literally the only patrons for the first hour we were there. Then the crowd came in and we got to show Worcester locals how FOSS does it! I only wish I had video of the 8 minute 25 second version of “Paradise by the Dashboard Lights” by a couple of our community which remain nameless in this post.


I was very excited to be at this camp because with my life and focus in other areas, Drupal is still pretty amazing and something I want to learn more about. Some amazing speakers on this year’s lineup, I had a hard time picking which ones I wanted to hit. By the end of the day my brain was mush from info overload so these notes get a little sloppier along the way. So much great info though, and you can see any of these sessions yourself thanks to the tireless efforts of Kevin Thull who records all the sessions, and the New England Drupal community’s youtube channel

Opening Remarks:

My Session

I got to admit, I went into this with a touch of sadness, this is my last speaking engagement of 2017 and as of the time of this writing I hae nothing lined up for 2018, which is the norm for speaker since most camps are just opening up for submissions for the spring around now.
I was very grateful to have a good number of people in my room, it made me feel pretty great. The Q&A was fun as well and I am so glad that this got to be the way I will remember my last talk of the year!

Can’t we all just git along?
Erik Peterson

Having written a talk and workshop on git, I am very curious to see how other people approach it. Erik approaches it from the terminal up. Literally a step by step of what the heck git is doing under the covers. I lost track of taking notes a few times because I moved over to my terminal to try some of this out, like git hash-object which I have not run across before. This is a must watch video for anyone that ever wondered how that black box of magic that we call git works!

Raw Notes:
Not a ‘how to’
not things you will have to do
help understand what git is doing and what it is trying to do
how to fix things when they break
logic behind it
Tim Berglund’s “git from the bits up” is where he got the idea
setting up git
git config –global
file that manages config
initialize a repo
that is all you need to do
what did that actually do?
that is meat of talk
What git tries to track
Objects and Refs
Blob – data of the files
Trees – pathing for a blob and other trees
Commits – tree, parent, comments
Tags – named commit
Heads/Branches – line of commits you can add to
Working directory – the actual files on your disk
Repository – history of all the changes
.git directory in the Working Directory
Each commit has an identifier hash
commits play one after the other
commit messages should be robust
People expect a master branch
Starting with Raw Build
Creating directory structure
hash-objects command
moving object into index
git update-add
mkdir .git
mkdir .gitobjects
mkdir -p .git/refs/heads
refs/heads/master > .git/HEAD
git hash-object
most OS hate large folders
objects in file 10K OK, 10M not ok
git generates huge number of files
everything is stored as objects in git
hashes breaks off first characters and makes new folders out of them
Directory + file is the hash
Still no commit, but no file
exists as a file somewhere, but not checked out
does not know what it is or anything about it
add it to the index
git updateindex -add –cacheinfo 100644 hasidentifier spiral.txt
git write-tree
git cat-file -c hash
git cat-file -p hash
git commit-tree hash
git cat-file -p
adding spiral file
Point of all this
a commit is just a pointer to trees
trees just paths to objects
objects just files in git folder
Git cleanup looks for objects that are not in trees, kill those
head branch detached when not pointed at branch, pointed at specific commit
don’t want to be on a commit, be on a branch with that commit
checkout rewrites your working directory
Rebase and Reset
branching – you can just commit your whole life through
moving to new branch lets other people work on your repo and keep working on your idea
like you didn’t do the work if you want to toss it
objects are still there, branch is gone though
rep log to see changes and bring branch back
merging is getting branches back together
real trees rarely do this
remembers the paths and both branches
then can get rid of branch
rebase is different
a git mere is also a rebase
that is a fast forward merge
rebase moves the base of your branch to a different parent
changing what it is based off of
makes it look like one branch
whole history you are testing against
vs git pull
pull does a lot
fetch just gets all work done from the remote branch
but nothing else, lets you control what to rebase against
git push me, pull you
git reset soft
moves head pointer wherever, leaves working directory alone
tree (brew install tree)
git branch –contains hash
little history commit

The command-line doesn’t have to be a black box
Jim Fisk

As you might have guessed, even if this is the only post of mine you have read, that I love eating and I love the command line. I was super excited to be able to see Jim lay out some of the tools he is using and how we can leverage them. I walked away with tig installed and man, it is such a nice little tool to more cleanly read git. Honestly think I am going to show this off in future git talks. Lot of great information and Jim is a heck of a nice guy, if you don’t already have a local Docker solution up and running, check out his project Vesl as it seems pretty good, though it is early days. Make sure to check out his slides, as they used some old school telehack figlet 3-d font made with Jim’s CLIdeshow tool.

Raw Notes:
he found himself doing a lot of things with tools
found himself going more and more to command line
wrote this talk to help show others how he found success with it
We will over Docker
Vesl, tmux, vim, and others
how to navigate find where you are, move things, and edit files
basically anything you can do through gui you can do through command line
Navigational thing
pwd – print working directory
ls – list files
see . and ..
. is folder you are in
.. one level up
cd – nav around the file system
Docker, container service isolated environments that can souse your dependencies and run different version of software in a consistent way. based on your project requirements
just type ‘docker’ see list of commands
all based on a common image you can download and connect containers
‘docker ps’ to see what is running
he created a project that made config easier
called Vesl (on dockerhub)
bas script, complex docker commands and make them easier to run
bloated container that out of the box, ready to go faster though
Vesl loads things behind the scenes from blueprints
vesl start container
Fish is shell on top of your commands
fish shell goes ghosting, efficiently run things, autocomplete
predictive text autocomplete, even if not same start of word, related terms
terminal multiplexer
have multiple shells within shells
why need terminal shells in shells?
ssh 2x and edit in one
tmux bar gets added to bottom
vim – can configure
at the start of what we can do with vim
vim config that helps you do things like debug easier
Fugitive – vim plugin
tig – better git history git backwards
history of changes and commit messages
see diffs on file by clicking on commit
tree view
look through actual files at that point
edit the old fie without pulling in memory
mysql cli


Inclusion and Diversity in the Ever-growing Global Digital Marketplace.
Aimee Degnan

Aimee is a pretty amazing person and speaker. She is one of the first people I remember meeting in the Drupal world and and was super glad to hear her keynote. This was not a lighthearted soft skills talk nor was it a technical session nor was it a business discussion. It was a heartfelt and honest discussion about recognizing our own experiences and recognizing the experiences and situations of others. It reminded me of the talk Andrew Norcross gave at LoopConf earlier in the year, where it was a real gut punch, at least to me. I do my best to be inclusive and use my privilege for the greater good, but there is so much to be done. I intend to improve and hope I can inspire someone else to have that same intent as I go forward. I could not capture a lot of the info from the slides, so make sure you watch the video.

Raw Notes:
How do we identify yourself
project manager
dev, site builder
her into slide and her tech history
do tech
Women owned business 20+ years experience
but who are you really?
race, class, education, sexuality, ability, age, gender, ethnicity, culture, language
lot of the audience looks male
but not sure how we identify inside
get more data
then this is where ask questions and listen what we say
that is diversity
being composed of different elements
this is for people, the true range of differences
the meaning of diversity os not the stat of being different, it is noticing and listing and respecting the differences in others
inner/outer wheel
inner are some things can’t control, like ago, national origin
outside are things you can change, appearance, work experience, Education, Family, Political
Different is scary
sometimes hard to find connection points
we like to be around people like us as humans
people find comparisons
you can tell if someone is safe if they are familiar
perceived confidence
but different can be empowering
different brings new ideas, new needs, brings change
society comes with lot of societal baggage
Privilege exists, we must acknowledge it
dominant, most influential
Oppressed, subservience and hardship, especially by the unjust exercise of authoritysomeone ho feels depressed
if don’t speak the language you could have a temporary oppression
trait 1 + trait 2 = total identity
most people have many more than 2
instead of Rosie the riveter being a white woman
3 woman of color, one in hijab
inclusion example of intersectionality
she had hesitations on putting this together
admitting how she is oppressed and privileged
being a tech business leader is how she is afraid of being judged
will she say too many feminist or radical things
hole built for a circle, other shapes are told by circle “just be yourself and get out”
need to be aware not just of ourself but other people and the situation
cycles of oppression and privileged
in order for a disadvantaged group to get better situation have to take on traits of dominant oppressive class
inflammation – pain cycle – tht you can fix with Advil, not privilege
have to have systemic change to fix
Inclusion – being part of a group or structure
integration says stay in your circle, but no effort to include
inclusion must be cultivated
but be careful not to have assimilation
inclusion is including people as they are, changing the system around the people’s neds
assimilation says change to fit in
homogeneity vs heterogeneity
made of same parts vs different parts
equality vs equity
fence in the way, looking at the problem different
addressing systematic issues
Digital divide
digital privilege
gap has improved over time
worse things happening content censorship and denial of access
across the board, internet is helping with inclusion
Drupal is 4.8% of the internet
Digital innovations, like Google translate
translation programs only getting better
why does this matter
where did Drupal start? and by who?
so many languages covered in the Drupal project
Your behavior and actions matter
be an ally
sometimes you don’t know the right thing to do
you can ask what the other person needs and help them, it is OK
be aware communication is beyond language
talk about change vs living change
Empathetic actions
be nice to each other
sounds easy, but not really
change is a process, takes time
is ongoing
must have an intent to improve
Yes we can!

Opening the Black Box: Becoming a Better Developer Through Debugging
Dustin Younse

I recently saw a shirt that said ” ‘;’ hide and seek champion since 1958″ Debugging and I have a long history that goes back to my college days. I remember printing out hundreds of pages of C and C++ code, which I wrote using the Pico editor, on green and white lined paper with the little perforated sides you tore off and then sitting down with a red marker and working through, by hand, where the issues might be. It still gives me nightmares. Thank goodness a LOT has changed since then.
I don’t debug a lot of code these days but it is coming up more and more as I evolve and learn more. The live demo part showed exactly how to use Chrome’s built in dev tools to debug JS. It was fortuitous timing that I could see this talk just as I entered the precarious world of JS and performance tuning. Great job and I learned some things.

Raw Notes:
Examples of errors taking down things
funny tweets
Nothing but text
CSS, Aggregated byt not cached
JS blocked in the browser
File permissions
differences between debugging and troubleshooting
5 minutes vs 5 hours
fixed vs understand why it happened and corrected that
What is the black box?
no CS degree or background, self taught web skills
everyone wanted a website, he would do it for beer money
above average google abilities
late nights staring at error codes
Mental model of Drupal a black cube
thing that did stuff
changed mental model to “Maniac Magee”
kids book
can untangle knots
largest knot in the world, he studies it, unties it with simple pushing and pulling
bootstrap process is complex
got harder in D8
let’s look at some new tools
When all you have is a hammer…
need better tools
“text editors” – notepad, nano
vs text editors – notepad++, Sublime
vs IDEs – more specialized – phpstorm, eclipse, komodo
how we set up Dev environment
FTP development – cowboy coding and ftp
no version control, this is bad
Local Dev – MAMP/Native LAMP
can work offline
xdebug possible
Local Dev Next Gen
Kalabox/Lando – Pantheon and Acquia prehooked
behave like the server you will be hosted on
more performance profiling
blackfire – newrelic but local
XDebug: step through debugging
hitting pause on code execution
inspect the state of the stack
modify values live
hairy problematic issue story
something is broken!
the ever dangerous live demo
example with chrome debugging tool for JS
modifying as goes walking through step by step, break points
looking at things as they are running
found off by one error
what is broken?
is something not showing up?
new content -is it published?
Log files
learn how to find your log files before you need your log files
linux/mac utility to easily view logs with more options than tail
tail multiple files at once
where is it broken?
custom module
template.php/.theme file
theme template?
since we don’t hack core or contrib modules
Change one thing at a time
git is your friend
save progress
make rabbit holes manageable
git bisect id your friend
lets you isolate changes between commits
must have multiple commits on branches and master
start in the middle
imagine a 45 step teddy bear factory
Git diff is our friend
remove your debug statements
ensure you only changes as much as you needed to change
git blame
git annotate
find out who wrote the offending code
not a witch hunt
a chance to find context
you can go ask ‘person’ and might be more info you needed to know
or time specific
debugging techniques
walk away, seriously
talk to a coworker (pair program)
talk to a rubber duck
write ti down by hand, show your work
make the future easier

Did you say taxonomy or content type?
Benji Fisher

I debated leaving this one in here. Due to some other duties I was late to this talk and my brain was starting to go numb on me, so these notes are not the clearest. Benji delivered a great session with all sorts of poetry and dead poet references. After the keynote he even called himself out for only using 3 dead white guys as his poet examples. The crowd was happy to help him out as Emily Dickinson and Maya Angelou (who does have a few public domain poems actually). It was a great community moment. It was also a reminder that Drupal is not always intuitive as the demo went a little weird at one point, but we got to the end with a much better understanding of content type vs taxonomy and how you can leverage both with Drupal!

Raw Notes:
developing vocabulary
builds a Drupal site
manage fields manage forms
ends up with
All english
all dead
all white guys
Emily Dickinson is a solid choice
page for William Blake
taxonomy for Blake
how you are going to edit the content type
same here
content type
poet info the same in both
What difference does it make
Drupal for free
revisions, created, timestamps, bulk operations
Drupal also gives taxonomy
drag and drop ordering
list of associated content (nodes)
Demo of admin, (reminded me of what Drupal dev looks like)
Revisions to taxonomy terms, module for that
created and changed timestamps
author info
bulk operations
drag and drop ordering
list of associated content
Admin experience
will you provide custom navigation

Wrapping Up

I will admit, I have not spent as much time in the Drupal community as I have in the WordPress community this year. I felt a little guilty about this when I first showed up. But pretty quickly I remembered that these are really my people, FOSS loving and community driven individuals and just the nicest folks in the world. I hope there are more events for me to go to next year. The community needs to expand, not contract. We should all embrace Drupal for what it can do and make the worked a better place. It took going to this show to remind me of that. Until next year for NEDCamp 2018, thanks NEDCamp and the whole wonderful Drupal family.

Design4Drupal: Seeing Richard Stallman’s office and the Freedom Trail in Boston

There was a certain magic in the air at Design4Drupal. I am not sure if it was because it was set in MIT Stata Center, which was designed by Frank Gehry, or if it was that you could see the inside window of Richard Stallman’s office (though I didn’t get to see Sir Tim Berners-Lee’s office), or if it was because the father of Responsive Design, Ethan Marcotte was the featured keynote speaker on the second day.  Maybe it was a combination of that and being in summer in Boston on the Freedom Trail with awesome folks from the Drupal community.  Anyway you look at it, this was a great event.

Food and Fun

I was fortunate enough to get into town the Thursday evening before the event and meet up with some awesome Drupal folks for drinks at the oldest tavern in the USA and some awesome dinner right beside the statue of Paul Revere on the Freedom Trail.

Lunch Day 1

We had wraps.  I had the black bean and salad.  There were cookies and muffins from breakfast left.  Unfortunately I can find no pics of this.

Dinner Day 1

There was no formal plan for dinner on Friday night, with the official after party scheduled for Saturday.  We were left to our own devices and a group of us wandered to one of the fine breweries in the area, Cambridge Brewing Company.  This happening spot just off the MIT campus had great service and a really good selection.  I had the lentil burger and shared some Shishito peppers.  I was delighted that for some people at the table eating these Japanese delights was a first.

Drupal Karaoke

If you find yourself in Cambridge, do yourself a favor and go to Courtside for Karaoke on the weekend.  The fun loving DJ made this a night to remember.  He danced along to and sang back-up for a lot of songs in between his DJ duties.  I was very impressed with the quality of performance from my Drupal community members!

Lunch Day 2

The wraps were replaced with Jerked chicken and awesome spicy vegan patties with greens and sweet potato mash.  Again, photographic evidence does not exist as far as I can find.  It was delicious.

After party

I unfortunately missed the after party.  I got on a plane to come back to my beloved San Francisco instead.  From all accounts it was a pretty good time, though this is only pic I can find.

The Sessions

Opening Remarks

Using Data to Build the New

Kyle Magida and Connor McKay

This was a really great insight into how the Commonwealth is using Drupal 8 and machine learning to better serve the people.  At the heart of their success there is a story about the management of metadata from the User Journey.  This project serves 42 major agencies, 150 other agencies, plus all the other commissions and offices.  This adds up to 100s of authors, 15 content types and only 4 design team members to keep a handle on it all.  Drupal is at the heart of this approach.  Being open source, it helps them avoid procurement, which allows them to move faster and freer.  This is a really great case study on the consumable API for metadata and relationships.  Check out the recording (to be added to the session page on the site)

Making data-driven and constituent centric

Brian Hirsch

This was almost a continuation of the first session, but went into a lot more detail on the nature of the project and how it came about.  Basically, they had come to a point of too many pages to go manually refresh, over a million individual pages on!  They needed a strategy to go after the high value targets first.  They decided to start at the top, applying the 80/20 rule.  The research shocked everyone once they started down that path, 10% of content serves 89% of page requests.  The user journeys aligned with 20 different ‘clusters’ of government services.  This helped steer them into a clear path where they have now updated the most used pages to be compliant for serving people with disabilities.  It really comes down to unstructured data vs structured data.  He said “The page metaphor is evaporating. The idea of title and body is useless and outmoded, We needed to think in terms of ‘chunks of data.'”

Keynote Day 1 – Agile Design

Kelly Albrecht
Kelly started off his talk with a very surprising (to me) fact: Over half of CIOs consider Agile strategy discredited. His central point is that we are mostly misunderstanding what Agile is really all about.

Agility is adaptability to a change in the situation. Think Spiderman.  “Your agility is measured by the speed and effectiveness of your response.” This is completely reliant on a central set of values.
Values: Commitment, Focus, Openness, Respect, Courage.  Issues arise when there is a violation of one of these values. Very few of us are not doing the best we can. Very few of us are intentionally doing poorly.
Iterations provide an optimized awareness into a larger effort
getting into a shippable implement- make the best version of this you can
breaking larger things into workable pieces. Planning reduces stress
Agility is bringing good thinking to action quickly. Agile does not tell us not to have a plan, but to always be planning.

My sessions

I was very honored to be able to give 2 talks at this camp.  First up was a new talk I developed around the discovery process for sales and project planning with references to Motorhead. Everything Louder Than Everything Else!: Navigating stakeholder needs through better discovery

I also got the chance to share my love of storytelling with Every project is a story: Applying storytelling to your client interactions

How to Make Friends & Influence Strategy

Breann Kopcza

5 things to know:
Know your audience
Share a purpose
Get involved
Own a communication role
Keep your POV simple


Debugging, Profiling, & Rocking Out with Browser-Based Developer Tools!

Mike Herchel

It was wholly appropriate that we were at MIT, the birthplace of the term ‘drinking from a firehose‘ to see this talk.  I did my best to keep up with him but after he showed me you can turn on from the document.designMode flag, I was distracted.  Here are the parts that I did write down.
Cmd + Shift + C = devtools open (no more right mouseclicks needed)
H key toggles visibility via the hidden property when you have highlighted an element in Chrome dev tools.
in the console insert: document.designMode = ‘on’; (mind blown).
chrome://chrome-urls/ (works in airplane mode), flags-> experimental canvas dev tools
requires restart and then turn on under settings in dev tools

This does not to this talk justice.  This is a weeks worth of tools and tips in this talk. Seriously go check it out once posted on the session page.

Keynote – Responsive Design: Beyond Our Devices

Ethan Marcotte

It was a real pleasure to see one of the thought leaders of design, the man who coined the phrase Responsive Design.  He started off by asking “Where is this all going?  Where do we go past Desktop design?”
As we are moving from page to patterns, it matters a little less what the answer is.  He said “I thought I would redesign patters, instead they redesigned me.” Since going down this path has lead him to a single driving question that keeps him up at night, “What if someone doesn’t browse the web like I do?” This is the most import question in his process.
A well crafted responsive design is device agnostic – a good guiding design principal.  He feels we are in a golden age of automation tooling for style guides creation.  He talked about tools like Pattern Platform Labs and Fractal.  He ended by telling us all to go and read a work that has really inspired him:
The Language of Modular Design by  Alla Kholmatova

We are not preparing for more desktop browsers, though their numbers are not shrinking.  Instead we must learn to expand our understanding of the smart phone and realize that there are a billion new users coming online soon. They are in developing countries, young and on a 2G connections.


Wrapping up

Boston is an interesting city with a lot of history.  I dig the vibe as it reminds me of the bay area in a lot of ways.  I am looking forward to going back next month for WordCamp although that will not be in the same building where the Web standards that we leverage are written.  I am still a bit in awe that I got to participate in this camp and deliver 2 talks in those sacred halls of learning.



MidCamp: Chicago and my first time camp organizing

Chicago holds a special place in my heart for a few reasons. It is improv Mecca and I have lost a few friends to her stages over the years and continue to do so. It is also the home of Rock n Roll McDonalds, my favorite Wesley Willis song. And now it is home of the first DrupalCamp I ever helped organize, MidCamp 2017 at DePaul University Lincoln PARK campus.

This 4 day long event offered a full day of training on Thursday, two full days of sessions and a Sunday sprint day. I had volunteered to organize the last part. Having not ever done this before, I entered this trip with a bit of unusually nervous energy. Very fortunately for me the rest of the organizers made me feel very safe and supported and once again my MidCamp experience was awesome.

The Food And The Fun!

Thursday was trainings, but as with all Drupal events, there was room to Sprint as well. We had some simple box lunches with meat and cheese on wheat bread wrapped in plastic wrap. It has actually been a while since I had such a sandwich and it brought back memories of high school cafeteria lunches and vending machines at the factory I used to work at. Not unpleasant but a tad pedestrian given that the sprint room was in the student center and the air was thick with many varied food service options that ranged from BBQ pork sliders to teriyaki chicken bowls, soup bars to deli counter, sushi to pizza.

A small store with many types of food options, both hot and cold
DePaul’s Student Center Food Options

At the end of the Thursday Training/Sprint day, I was honored to attend the Speaker/Sponsor dinner held at The Red Lion Pub. This delightful English pub offered very charming decor with many books and WWII era posters on very high shelves and dark wood paneling to give it a homey study feel. The bar had my favorite vodka, a locally crafted one. This one was made from the same potatoes they used in the kitchen to make the french fries, Chipperbec. And speaking of the kitchen, there was a delightful assortment of food options, from fish and chips, to a vegan thai curry. Everything was top notch.
The food was only topped by the camaraderie I felt seeing many of my Drupal friends in person for the first time in many months. I left feeling stuffed and feeling really ready for the busy days still ahead.

Tired as I was, I still made time to go see an improv show that night over at The Annoyance. If I am envious of my Chicago friends for anything, it is their proximity to this theater. Given the nature of my talk, I thought it wholly appropriate to do some field research in the improv motherland.The Annoyance THeater sign, it is orange neon.

Friday morning brought the standard coffee, muffins, fruits, yogurt breakfast selections that are the common fare at so many conventions. I drank liberally from the coffee spigot. A brick morning pace had us at lunch before we knew it. Awesome wraps with many, many options for special/restricted diets. At every catered meal at the venue there was a cookie option for dessert. I am very proud to say that I resisted these at every turn.

At the end of the packed day capped by the lightning talks, we started Game Night, sponsored by They even hired the Döner Men food truck to bring us some of the best döner I can remember having. It was hard to not go back for a second serving. I played a few rounds of Zombie Dice and before there was a movement to go to HopCat, a local diner themed bar with 140 beers on tap.

HopCat is where I met Malort. Take a second and go look at “Malort face“. That is exactly how it tastes and it is a Chicago staple liquor. Coming from the city that drinks 35% of the Fernet consumed in the USA, I totally get having a terrible tasting but worth it for the memorable experience drink. I am glad I drank it, but I do not plan to repeat the feat. HopCat also served up a dish they call Crack Fries. These are just seasoned french fries served with a white cheese dipping sauce. I have no idea what was on the, but I could not stop eating them.

Luckily I was able to tear myself away with a small group to go find karaoke a few blocks away at Harrigan’s.   As most people who know me know, I love karaoke and I am especially in love with small dive bar karaoke. This place was dead as we arrived around 10, but by midnight you could not move around at all it was so crowded. One thing that made this place really stand out was the DJ took pics and posted them on their FB wall in near real time. Really had a blast singing with my fellow Drupal family.

Saturday brought more muffins, fruit, coffee and even hardboiled eggs. This was also the day that one of the organizers brought us donuts. While I successfully avoided all cookies on this trip, I did befall to the temptation of these locally baked delights. The sugar rush made the morning speed by extra quick and crash landed me at the nacho bar for lunch. Many nacho chips, mystery meat scoops and jalapeños later I was sated and ready to give my session.

Saturday night was the afterparty at one of the loudest bars I have ever entered. The ‘March Madness’ and the population of the venue assured that the roar was deafening in the main room. Luckily we had a back room reserved for us at far more reasonable volumes. Again I found a ‘semi local’ vodka, Prairie, which is made in the midwest over in Minnesota. Delightful stuff.  I had expected the food to be sports bar quality greasy bites and some of it for sure was, but there was very well executed teriyaki chicken and the best crab cakes I maybe have ever eaten. I was actually extremely glad that I left when I did, not only because the party’s tab had closed and the party was moving on to a karaoke place, but really because I could not stop myself from constantly returning for ‘just one more’ of those crab cakes.

Shoe’s Pub is where the party found itself next and this place was just great. Cheap drinks, many locals and students, and a pair of bullet style mics. The whole evening it was far more common to see duos or even small groups sing than solo performers. This gave the karaoke an extra special ‘we are all doing this together’ kind of vibe.

By midnight, karaoke was overflowing, too crowded to even breathe comfortably, so a motion was made to go see some legendary Chicago blues over at Kingston Mines. Once we arrived we realized that the line would not permit us to enter any time soon, so we went across the street to the slightly less famous but equally as entertaining BLUES bar. It was a night to remember for sure! It was also a great way to officially end the party for MidCamp, leaving only the Sunday Sprint to check off the list.

Thursday Sprints:

As I mentioned, Thursday was the main training day but it also gave room for folks to Sprint.  There was no formal plan or focus for the day, which gave rise to many people working on their own projects and getting help and feedback from their peers.  It was also time for the Organizers to finish many last minute tasks and get set up.  This was a great warm up to the camp days that followed.

Sunday Sprints:

This was not just the first time I organized a Drupal Sprint, this was also the first time I ever attended a formal one. I have attended contributor days on the WP side of the world and I have hacked at many a thing on Drupal, but this was my first real, on the books, official involvement with a Sprint. I loved it! I will at least be volunteering at future Sprint days as often as I can moving ahead.

Huge shout out to the folks who did the real heavy lifting of the day, the Sprint Leads!

First up, by coworker and friend David Needham, lead the first time sprinters on a ‘how to sprint’ session. This session introduced folks to how tickets worked, how to set up their local environments, and the many varied ways they might be able to contribute to the project.

We focused on three main areas for this sprint. Core, Drupal Commerce and Documentation:

The core team was lead by Adam Bergstein, who is not just a nice guy but also a security and best practice expert. I can’t name many other people I would have wanted leading that effort.

Drupal Commerce is a passion of Matt Glaman and it really showed, as he was the first to arrive at sprint day. If you want to contribute to Drupal Commerce, you can find the well organized queue here.

We had the dynamic duo from Joe Shindelar and Blake Hall focused on Documentation. This is such a crucial part of the project and one that is entirely accessible to all skill levels, making it very welcoming in general. While I tend to think of this as the ‘go to’ for new contributors, and some new folks for sure focused their energies here, we had newbies at all the tables. It gave me a great sense of hope for the future of the project seeing these new faces make their first contribution and leaving with so much done.

The Sessions

Emma talked about her story of going from feeling like an outsider to being a project lead in a very short stretch of time. Besides focusing on the ‘why it is important’ message that is critical to communicate to new and seasoned folks alike, she also focused on how one can contribute. There are so many ways beyond just writing PHP code to make Drupal move forward. You can write docs, you can volunteer your time, you can team new people things you learned along the way and too many others to list here. Fortunately, thanks to some speedy internet access and the dedication of Kevin Thull you can see her slides and hear this keynote yourself here!

Sessions I saw:

I was very fortunate to have had several members of the Pantheon team with me at MidCamp so I was able to go to many sessions. If you want to see any of these at home, they are all online and available now on the individual MidCamp schedule pages.

I was immediately drawn to this session not for the Project Management or the Yoga, but because it was applying the lessons from one of the speakers’ passions to their tech related work.  This is something I have tried to do with several of my talks.  It turns out that both yoga and project management both use the concept of flows and there are some direct comparisons you can draw.  Agile methodology is analogous Bikram, where Waterfall is more akin to Ashtanga.  Ideas like ‘sticking to the plan’ and ‘internal communication being critical’ are mirrors of ‘practice the poses’ and ‘listen to your body’.  There was even a participatory section where we all learned some poses and stretched out.  I felt more limber and very encouraged about the idea of mapping divergent skills overall.

I was very fortunate to see several of my fellow Pantheors give talks at the camp. The first up was my manager Drew Gorton talking about the very reasons I like working with him. There are many ways to manage a team but it always boils down to some key factors like ‘putting the right person in the right seat.” You can have the most brilliant people on your team but unless they are doing something they feel passionate about and filling a needed function on ‘the bus’ then no one is going to be happy. He also stressed the importance of communication and need for connection beyond what is just on the page of a report data. He fielded some interesting questions as well and I am very glad I attended. Check this one out for sure.



This was a very fun talk that not only gave a history and ‘how to’ of Mr. Ivy Leadbetter Lee’s priority management strategy, but also how our presenter transformed his life with this method in very short order. The very quick version is “write down the 6 most import things you need to do every day and do them. If any are left at the end of a day, simply move those to the top of tomorrow’s list.” This sounds really simple, and it is, but it is a very powerful tool to get done what needs to get done and feel a sense of success just from marking things off every day. David repeatedly made the point that this always felt amazing to do.
The real take away for me was actually another famous name’s process, Jerry Seinfeld. He was once asked how to be a successful comedian and he answered “write good jokes everyday”. On the surface this sounds like a disingenuous answer, but what he meant was, appy the craft every day and track what you did on a calendar. After a few days there will be a ‘chain’ formed of all the times you did the thing. The funny thing about human beings and these chains, is we do not like to break them once we forge them. I know I will be using this to mark off how I spend some of my time going ahead.

Doug started out this entertaining yet extremely technical talk by explaining that in fact Config Management is not a panacea for all conceivable ways to distribute Db config around the world.  It is for moving config from a dev or stage environment towards a live environment.  This is something I have a good deal of opinion around given where I work.  It is absolutely nor for packaging up config to move between entire projects.  I found it fascinating to hear the reasons why there has been so much love/hate of the Features module and Config Management in general.  Part of this is the gray area that is Content vs Configuration.  Not something I had really thought a lot about before.  My favorite moment came from the Q&A when an audience member lamented that, to him, “features is a hellish solution to a nightmarish problem” but that this talk helped him sort out how to make better use of the concept.


Saturday morning sessions kicked off with one of the more fun full length talks of the whole camp, my teammate Steve’s talk about the internet of things.  For this talk he rigged up his great-grandfather’s 150 year old telegraph key (a work of art unto itself) to oranges as a power supply to light up an LED connected to the internet.  While there was a lot of fun and silliness to some of his examples, the core message was actually really powerful, which was “Connect your interests to your workflow” and “Follow the fear”.
The first point is really to start thinking about the tools we use as a part of a larger ecosystem of hooks we can string together to automate all the things.  And by the second point he really was encouraging us to go learn the tech that might intimidate us and trying to do it an a playful way with ‘toys’, maybe silly or childish projects that teach the skills with less pressure.  On that topic he talked about the need for joke modules, which are really meant to show off what a particular hook can do rather than filling production need.  Drupal 7’s Bad Judgment module was the prime example of this.  I am going to be looking into this module moving ahead, as well as all the available webhooks I have in the tools I already use.  If you listen to this recording you will even the infamous FauxAlGore give an intro to the subject.

No one likes having difficult conversations but it is an unavoidable part of life. How to have these conversations is something we also tend to avoid, which I never really thought about until I saw this talk. I have no idea how this topic has not been more widely discussed at camps but can foresee this becoming a much more popular talking point in the future.
The basics are that when people find themselves in uncomfortable discussions they tend to react towards internalizing which results in silence or externalizing, which leads toward violence. You want to stay balanced right in between those extremes in a place of healthy dialogue. This requires some meta conversation sometimes and recognizing that everyone needs to feel safe. If you are in a critical conversation and notice that the other party has shifted to one of these ends, it is OK to ask why and revisit the points that pushed them there in order to find resolution and move ahead.
My favorite part was Chris asking the room if we remembered when we were kids and figured out that adults are not mature? All kids have this moment and it serves to remind us that we should be treating people as people. After all you would not ever say to a toddler ‘they are unfit to lead and are bad people due to their work habits’ but we all too often think things like that of our peers. It is important to turn victims into actors and villains into humans to have constructive dialogue.


This was the final talk from a teammate that I got to see. This was a fantastic and very entertaining talk about some basic skills everyone should develop to be more productive.  These were all tips and tricks Tessa learned first hand from being a busy mother and developer and community organizer and many other hats.  The ideas ranged from the importance of journaling to keep yourself focused, on track and motivated on the big picture to the importance of self care and meditation.  Sprinkled in between these meatier subject she sprinkled some great and humorous one liners as Pro Mom Tips.  My favorites where: “Never EVER leave a Sharpie unattended”, “Your keys are always in the other pocket”, and something I can’t use yet in my life, “If you need some alone time, tell your small child to go dress themselves, which we all know is a joke.”

The final session of the camp was more of a group discussion than a lecture on the subject of free speech and free software. Tim reminded us that in fact “Free Software is not the same as Open Source”. That there is a core value to this that goes far beyond the development methodology of sharing the code itself. That there is a responsibility to the freedoms this is build from. It was a great group discussion with topics floating from DRM, desktop linux being a good solution these days and bid data privacy concerns. While energy was overall low due to the timing of the talk and the energy we had already exhausted from the two full days, this was still a very lively discussion with so many great take aways. I know for me, moving ahead, I will be saying I work in Free Software a lot more often.

My Session:

This was the 6th time I have had the opportunity to deliver this session. Each time I do I learn a little more and I find new ways to improve upon it. I hope to have the chance to do this a few more times before I retire the talk. The one thing that stands out the most to me is the extreme shyness and introverted-ness of some of the participants. I give some pretty clear trigger warnings and repeated reassurances that it is OK to sit out the exercises or even leave the room without any judgement if they feel uncomfortable. I absolutely and thoroughly applaud the efforts of these folks who stayed and gave it their all. I left feeling inspired by their courage to try something that outgoing in front of their professional peers.
Afterwards I even learned that in one case former teammates that had a terrible working relationship ended up learning they actually had a lot of things in common as a result of my talk. While it is too late to fix the issues they had as a team in the past this gave them new hope that if they worked together again they would be able to find a common chord and better collaborate. This might be my favorite thing I have ever helped anyone do with improv.

Lightning talks:

Friday ended with everyone regathering in the main hall for a round of Lightning Talks. These are ~5 minute talks on any subject of interest from the speaker. These are not done with a lot of prep time, as the speakers signed up on a sheet that went up 15 minutes before we started the talks. I had the extreme honor of going first and delivered a stripped down version of my “Every Project Is A Story” talk I had given at SANDCamp (link to it). Other talks included “How to convert your sodastream canister to be refillable”, “The time I took my mom to Drupal Northern Lights and she learned what “Drupala” is” and my personal favorite, Jim Birch’s “Theremin” history and demo. This last one will live forever as a giphy, which you can download here.

I almost put this up in the Food and Fun session since it was an absolutely outstanding time, but in the end this really does fall under sessions. If you are organizing a camp and reading this, please consider a lightning talk session at the end of one of the days or over lunch. It was such a great way to connect and get some extra learning out of an event!

Last, on a personal and community note I came into camp with a nervousness stemming from more than just my nervousness as an organizer. If you are reading this then you likely are aware of the Drupal drama going on. If you spend any time on subreddits then it would be easy to think that the wheels were coming off and we were taking sides.  I was more than relieved, I was overjoyed, that when I did see my fellow Drupal folks all together there was the same sense of togetherness and camaraderie that I have come to expect.  Even the subject of the drama showed up and I was proud to interact with him as if there was not anything going on at all.  Put everything in perspective for me and I am feeling much better about the state of D8 and the world.

Also, I could not have been successful as a camp organizer without the seasoned experts on the Organizing team!  Huge love to this wonderful amazing group of people.  Take a moment to go look and see the faces of this tremendous team: While we all did a lot for this camp, a very special shout out to the Camp Lead who kept this ship running and made sure we organized, Mr. Jim Birch!

MidCamp was a blast and there were so many good times. I encourage you to go challenge yourself to learn more, better organize your priorities and become better communicators. I know I will. I can’t wait until next year!

Stanford DrupalCamp: Down on the farm

A very bright weekend greeted us at Stanford DrupalCamp.  After a really rainy winter with crazy weather that seemed to follow me to SANDCamp and Drupal Northern Lights, it was really awesome to have clear skies and the warm spring weather of Palo Alto.  I was very excited to be able to attend a camp close to home and to be joined by a couple colleagues who I do not normally get to travel with.

Unlike most camps and conferences I attend, most of the attendees at the camp worked for the same employer.  Stanford.  It seemed that many of the folks attending were there to learn about what other parts of their university were doing. And that makes sense given the size of the university and how many departments utilize Drupal in some way.   It gave this camp a very special feeling of purpose to have so many colleagues who rarely work directly together come under one banner for a weekend.

It also focused the discussion on internally promoting Drupal as the right solution for many of their needs.  This is an interesting problem set and one I have thought about a lot since I first attended WPCampus last year.  It was remarkable how the different departments and organizations sounded like the web development agencies I have worked with. Similar in goals and processes but with some additional problem variables on top.  While the challenges are great, I think the folks working in these institutions are doing great work and helping keep information moving fast and free.  I left with high hopes for the future of Drupal and its use in higher education.

The Food and the Fun:

A lack of planning on my part Friday left me without lunch as my team was setting up for the camp.  Very fortunately, the campus food court system was in full swing and I was able to buy some wonderful vegetarian stew to tide me over.  The conference coffee was pretty OK and they had a great tea selection.

5:00pm Friday found us outside The Treehouse for some fun, nachos, fries, wine and beer paid for by the awesome sponsors of the camp.  Many good times were had. Having talks the next day to prepare for and some other plans, all too soon we had to take off our homes.

Saturday started out with an amazingly awesome Lyft ride.

The sessions were great and the weather was unbelievably nice out.  It felt like summer had come to the peninsula.  We had standard fare camp lunch with sandwiches, apples, chips and cookies with our coffees and teas.  What make it awesome was sitting outside in the warm air on the quiet campus.

Saturday evening had us return one again to the quite nice Treehouse courtyard for some more food and fun.  All too soon we parted ways but not before some great times.

The Sessions:


It was a real treat to hear Dr Ronald Vogl talk about how and why LegalTech is or is not disrupting the legal industry.  I will admit, at first I was rather apprehensive about this talk.  While an interesting abstract, I was not sure how this would lead into our camp.  After all, the keynote is often what sets the tone for the general conversations at these get together. My hesitations were unfounded though, as I listened to his presentation.  On top of being a brilliant speaker, Dr. Vogl held our attention by laying out the realities of how technology is impacting one of the oldest professions on earth.

I had not really thought about it in the terms of automation of processes, but this is what technology based solutions like LegalZoom and RocketLawyer are essentially doing.  Making the dreary monotony of paralegal work the stuff robots can do easily.  The questions though become; how far up can we automate?  What does this mean for the current aging lawyers practicing who are seeing the market ‘disrupted’ vs the student or new attorney  who have had these as realities in the market since they began. Clearly someone who understand the technical side and the people side, our presenter was able to leave us thinking that technology is only going to keep evolving and thought must be given to how we choose to encourage how it evolves.

I am only going to talk about 3 other sessions for this post, but everything I saw or participated in was great.  Including talks by 2 of my colleagues, Greg and Peter.

How To Make a Snowflake with a Cookie Cutter: Innovative Site Building on Stanford Sites was a session on how the Office of International Affairs went from a hosted solution that had many barriers to make any changes to an internally managed Drupal installation that they could edit at will.  It was not an easy road but one that empowered their department to do more faster using an agile method.  The quote that really stuck with me though was “All good CMS implementations serve a content strategy”.  I think you can even remove the work good here, since at the end of the day we are just manipulating strings of content, that all CMS have a content strategy, intentionally managed or not.

The impact and power of this talk was magnified by the audience being made up of other Stanford staff who were learning how their colleagues in the OIA  took control of their own destiny, the risks that can bring and the big picture view of how this impacted their mission.  Really inspiring stuff.

Case Study: Big Data Visualizations with Carto & Highcharts was a talk from Jordon Koplowicz I really thought would be on how mapping data functions and flows.  It for sure covered aspects of that but it really was a fascinating story of how a company went from one technology for mapping to another and the challenges that brought.  While conceptually it was just taking data from one JSON file to another and crunching some numbers, that number crunching proved to be a serious challenge.  His slides highlight that there are some things that PHP and NginX do well and some things that do not.

More important than the technical specs was the journey he went through as a new developer on this project.  He also addressed the very real issue that sometimes a new technology gets forced onto a project for one reason or another. This lead to a line that got an audible chuckle from the crowd: “I hate this for 2 reasons.”  First that it was yet another layer of technical complexity and second it meant another developer was to be added into the mix who was an expert on the new tech.  He discussed how he dealt with those complexities and his enthusiasm about the problem itself was downright inspiring. He set a great example for every developer.

Website Musts: How to Define Everything That Your Website Needs to Do

This talk started with the question “How do we know when a project is done?”. Much like my talk about Discovery, the intent of Anne Stefanyk’s session was to give project managers and other client facing folks the tools to better manage expectations.  One of my big take aways is that the key to any successful engagement is clear scope and transparency of process.

Anne’s process relies on the the User Story and how they leverage these to great effect at Kanopi Studios and for projects like BADCamp.  The power of the user story is that they can tell you what the end looks like before you start.  She highlighted that while these user stories can be generated rapidly they should also come with early user testing and data gathering to drive their application.


My Sessions:

I gave two talks at this camp and I am very grateful to have had the opportunity.

My first talk was a new one I had prepared especially for this camp.  Discovery, discovery, discovery, discovery! The most import part of successful projects.  Originally I had proposed to have this be “the most import part of a sale.”  My background is in sales and I understand that topic pretty well.  After a conversation with the camp organizers who suggested generalizing this up to be more project focused rather than just sales, I did a good deal of research, modified the talk and learned a few things along the way.  I am very happy with the way this turned into a group discussion and sharing by the end of the session.  Truly great when we can learn from each other.

My other talk of the day was We Are All Making This Up: Improv Lessons For Developers.  This makes the 4th time I have delivered this session and I am really honing it in.  I am very much looking forward to giving this again at MidCamp 2017!  Being the last slot on the last day my attendance was about a third of the Discovery talk right after lunch, but the enthusiasm of the smaller crowd and the interactiveness of the example exercises made this the perfect sized audience.

Stanford is unlike almost any other camp I have been to.  It was the best weather of any camp I had attended in 2017 so far.  The people cold not have been nicer and the good times were had by all!

DrupalCamp Northern Lights: The time I went to Iceland and it snowed a lot.

I trudged though 51cm (20.07 inches) of snowfall to make it to Sunday sessions of Iceland’s first ever DrupalCamp Northern Lights  (#DCNLights).  I had to walk down the middle of the not yet plowed Reykjavik streets, still dark at 8:00am, beside cars covered in the most snowfall in a single night since 1937.  I was the first to the venue and was glad for that fact. It gave me time to dry my socks in the restroom without witnesses.  Baddy, our organizer, soon arrived. She said we were going to plan Z and if that failed we should not worry since the Icelandic alphabet has 3 additional letters than English, Þ, Æ, and Ö.

51cm of snow on cars in Reykjavik
51cm of snow on cars in Reykjavik

Hold on.  Let’s back up a few steps.

I was really excited to have my talk “We are making all of this up: Improv lessons for the developer” accepted to this camp.  This was out of the normal regions where I had been focusing on session submissions and I was pleasantly surprised I was accepted, especially after seeing the caliber of the other speakers on the schedule.  I am very grateful to my company for giving me the chance to attend and develop myself.  I have been to Iceland once before so, this was not intended to be a sightseeing vacation, but instead a chance to learn what the European Drupal world has been up to.  What transpired truly transcended either of these goals making #DCNLights a unique experience which I can only really described as a real adventure!

Iceland is an 8 hour ride from my home in San Francisco and an 8 hour time difference.  Taking off Thursday at noon PST put me on the ground Friday at 4:00am UTC.  Keflavík airport is approximately 50 minutes from Reykjavik and all the needed transportation to the awesome Galaxy Pod Hostel meant I got to bed at about 5:45am.
I was greeted with the worst weather Iceland has seen all year.  This caused havoc with the initial, and most subsequent, plans.  Fortunately the Icelandic way is to have backup plans to backup plans. This spirit of rolling with the punches really made this event amazing.

The Food and the Fun:

Plan A had consisted of all the speakers and attendees who could arrive on Friday to go on a Golden Circle tour, paid for by the largest organization to use Drupal in Iceland, Landsvirkjun, the national power company.  We were even going to tour their completely sustainable renewable energy plant that leverages Iceland’s geothermal properties.  We were to end the day with a reception thrown by the mayor of Reykjavik.  However, due to the storm, this plan was scrapped by the time I was on the airplane, since the tour bus would not be able to navigate the icy roads.

Plan B was to go for a city walking tour in the morning, maybe some ice skating donated by the city rink and finally the the mayors reception.  The rain and wind destroyed this plan as well by the time I woke up at 9:30am.  Honestly I was a bit grateful to get a few more hours of sleep.

Plan C was to just meet for Ice Skating and then to the mayors.  I valiantly attempted the 1km walk from my hostel to the rink but the sidewalks were a mess of ice and slush and the sleet was being whipped by the wind into my eyes, so I opted to get some work done and just go meet the mayor later. A few Drupalers did make it out and it looked like they had a stellar time.

23 people dressed for ice skating. half of them are sitting down

I met up with the crew who were pre-partying for the mayor at American Bar.  That’s right, I flew 4,199 miles to eat ribs at a place that is specializing in my country’s cuisine.  It was awesome to see familiar faces in this land of ice and snow so far from my home.  I was greeted as an old friend by all the Drupalers, even ones I didn’t yet know.

Red haired man with large glasses. named halldor audar svansson
Halldór Auðar Svansson

Plan D kicked in when we showed up to the mayors office and found that he was not able to attend due to other responsibilities.  Instead he sent us a member of the Pirate Party, city council member Halldór Auðar Svansson, who gave one of the best speeches I have ever heard from outside of our community on the importance of open source.  To paraphrase: “Drupal is free as in beer, which is something Icelanders like. It is good to be wise with the people’s resources.  But it is also free in another way that Icelanders also feel strongly about, transparency and commitment to community’.  We were given very nice beer and wine and hor d’oeuvres reflecting the local culinary pallet.

group of drupal developers around a large table, it is a selfie pic

Plan D also had a reserved room awaiting us in a bar atop a hotel where I learned many after parties have been thrown by the national opera and symphony, which are only a few blocks away.  Aside from a helicopter ride I can’t imagine a better perspective on seeing the city lit up in the cold northern dark.

Night view of the Reykjavik skyline
Reykjavik at night

The final piece of Plan D was the wonderful surprise that all the Saturday sessions had been reorganized and we were still going on the sightseeing trip, minus the power plant tour since they do not give those on the weekend.  Capping the first night was a local rock band at a coffee shop and a late night hot dog with fried onions and brown mustard.  If there is a better way to serve a hot dog I have not encountered it.

Saturday brought a snow flurry that started as I walked from my hostel to the venue, about 3km away.  It ended when I was a block from the University of Iceland’s Oddi School of Business and I was completely white from head to toe with snow.  I was not the only one.  Even with the slipperiness of the sidewalks and the windy route that google maps suggested I arrived just in time for the opening remarks.

Lunch was served at the RÚV (Icelandic National Broadcast Service) cafeteria. It was a traditional preserved whitefish lunch.  The Drupal Viking told us all that this exact menu was a staple on a Saturday for his entire life. More reliable than the sun coming up.  We were very well fed and then got a quick tour and heard an awesome presentation (detailed below in Sessions).

7 people around a table with trays of food, iceland skyline in background

We then boarded 2 very large tour buses and away we went to see the continental divide, which is the original location of their parliament, Althing. An Icelandic flag marks where the Speaker of the Law would have to stand to deliver the rule to the people a millennia ago.

It snowed on us the entire time we were off the bus but immediately cleared to a beautiful day as we continued on towards the geysers.  We stopped for about an hour at some of the most beautiful waterfalls I have ever seen, Gullfoss.

Gullfoss waterfall, large powerful river guching waterfall over cliff

See some awesome drone footage from Spillebeen Mathieu here:

The next stop was the original Icelandic Geysir. This is the original one where we get the word geyser from.  Geothermal hot springs contain a large amount of sulfur.  This means that all the hot water in the country, including these 95deg (Celsius) and hotter pools and eruptions smelled like rotten eggs, tinting the landscape a yellowish brown.  Still it was an amazing natural phenomenon to behold.

a geyser erupting

As the sun set we found our way to a place that specializes in artificial light, an organic green house tomato farm, Friðheimar.  Iceland offers some of the world’s cheapest energy and they were putting it to good use at Friðheimar.  One ton of tomato per day are produced in this facility that is in constant sunlight using hydroponics and imported bumblebees.

The meal was a fresh tomato soup and if all tomato soup tasted like that I would be eating a lot more of it.  It was served with very hearty breads and coffee or tea.  I capped my meal off with some tomato ice cream with tomato based toppings. We were scheduled to stay for a much longer time to enjoy the facility and the adjacent horse farm, but again the snow had started and the drivers where concerned with road conditions.

Drupal devs eating together in front of hanging tomato plants in a greenhouse

Arriving back in the city very late at night made me decide to call it a night and I walked home with the largest snowflakes I maybe have ever seen floating down.

Sunday morning I awoke to the record snows and a city infrastructure overwhelmed with the historic accumulation. Having travelled as far as I had and connecting so strongly with my peers, I was determined to make it to the event.  Most of the way I was able to walk in the middle of the street in the tire tracks left from the few cars that did manage to stay mobile overnight.  The snow ceased as I walked but I kicked up a lot of drift in my trouncing though knee high snow on the not yet shovelled paths of the university campus.  It was incredible to be alone with so much snow and the rising sun.

a trail through 51cm high snow, I am standing on the steps of a building looking to the north
My path through the snow

Plan D had to be abandoned since the unexpected blizzard made it impossible for most attendees to make it on time.  There were a few other plans was told had been attempted and failed so far, so we went with Plan Z.  A newly jostled schedule allowed the coffee people some extra time to arrive, a late start time and slightly shorter sessions with no breaks between.  It allowed us to get it all packed in.  Fortunately, lunch was served by the university cafeteria and the buildings are all connected by underground tunnels.  We didn’t even have to put our coats back on to comfortably stroll to lunch. We had Lasagne, salad and what I assume were vegetable protein potato nuggets.  Whatever they where, they were delicious with the sweet chili sauce they served.  Baddy even played some wonderful accompaniment.

Baddy Breidert playing piano
A musical lunch experience

Plan Z also included another surprise, an expedition was planned for that night to go to try and see the northern lights.  Again paid for by the conference and free to attend by us all.  Unfortunately nature did not cooperate with us and we had to return to town and say our goodbyes without having experienced the Aurora Borealis, but the joy of being together and seeing the vividly clear stars in the freezing night sky made the trip worth every second.

overexposed picture of the night sky with hundreds and hundreds of stars visible

By happenstance the returning bus route drove directly in front of my hostel and I wasn’t able to say goodbye to everyone in the commotion of departing.  It sure was nice not having to walk further in the snow on uneven icy ground as I had done previous nights.

The Sessions

The changing plans meant that day one only had 5 total sessions to make room for the tour. Baddy and Hilmar (perhaps better known as DrupalViking), our 2 camp organizers, kicked things off with a slide showing all the different countries who were represented.  This immediately set this camp apart from almost any other event I have ever attended aside from maybe DrupalCon Barcelona.  We celebrated our diversity right from the start and it carried through until the last goodbyes.

23 countries listed on a screen

The Keynote:

Johanna Bergmann from Amazee gave us a very good insight into how she came into the Drupal space.  Not from a development perspective but, like me, from a business one.  Her revelation that these agency owners openly shared their trade secrets went against everything she had thought was necessary to maintain a competitive advantage.  She soon discovered that this was a real ‘cooperative advantage’ in this community of people that were building the very tool they were basing their businesses on.  She said the thing that made this community work was our string ethics, guided by our code of conduct.  I have never heard this point articulated better and it really set the tone for the rest of our time together in sessions and in hallway conversations.

Johanna Bergmann delivering a talk in front of a whiteboard

The theme of cooperation really shone though the next session I saw. Allison Manley delivered a brilliant talk on the kickoff meeting with a client.  Clear and easy to follow, she laid out the steps they take at Palantir to set expectations and deliver projects. She really focused on how to communicate clearly with multiple stakeholders to be able to get the best results on what are sometimes very complex matters.  Some solid takeaways for all folks working on client facing teams.

Alison Manley in front of a screen that says Manage Expectations

The third session was delivered by Helgi Páll Þórisson, the lead developer at RÚV who had implemented Drupal 6, which had replaced a proprietary and outdated CMS.  Rather than just laying out the technical specs of what they had done the presentation really highlighted the journey the team had taken to get to success.  We all shared their pain as he recounted that on the initial launch day, with the VP of the network standing behind DrupalViking, they had to try and restart Apache servers and inadvertently taking down everything.  But they persisted. And now are one of the largest companies in Iceland to use Drupal.  It was a real treat at a DrupalCamp to hear these types of stories from an internal development perspective as opposed to an agency delivery one.

A man giving a talk in front of old televisions

Day 2 had too many awesome talks to write about them all.  The augmented schedule and some  actually prevented me from seeing everything I wanted to see but what I saw was awesome.  In the interest of content length I am only going to write about 4

Mike Miles‘ talk ‘Inclusive Design: Thinking beyond accessibility’ was a great way to start day 2.  The biggest take away was that ‘if you design for average, you design for no one.’  He told the story of the air force having a failing jet program due to user issues and not being able to sort out why.  It wasn’t until engineers focused on the extreme size difference between the tallest pilots and the shortest ones that they came up with adjustable seats and the user issues were greatly reduced.  By focusing on the limitations and designing for that, we can expect to have better results for everyone.  One of my favorite links he shared was the BBC’s standards to make their content more accessible:

Mike standing in front of a whiteboard witht he title of the talk on the screen

Janne Koponen brilliant talk ‘Holistic development and operations environment’ was less about operations and more about ‘The Wunder Process’ was uplifting and invigorating.  Starting with the concept of ‘the whole is greater than the sum of it’s parts’ thinking, Wunder believes that small process improvements, no matter how marginal, add up to large improvements.  They mirrors Toyota’s continual process improvement mechanisms.  He said Toyota gets about a million process improvement suggestions from employees per year and nearly 90% are implemented.  The results are a much more efficient overall machine.  Focus on the parts of the process and you will get the larger goals you are working towards.

Janne Koponen in front of a whiteboard

My session went over well and I am very proud to say it was the most international crowd to which I have ever spoken.  10 people in the room represented 6 different nationalities and all sorts of backgrounds.  Some of my humor fell a little flat I think due to language and poplar culture limitations across borders.  It was a good reminder to me that not everyone has seen as much American television as I have.  The crowd went along with my requests to actually do some improv exercises at the end.  There was a interesting twist that almost no one participating natively spoke the same language though their English was impeccable.  Still, we managed to end up with many smiles and new techniques to break the ice for teams and to engage with clients in a fun yet meaningful way.

Wes Ruvalcaba talk ‘Virtual Reality on the Web – Introduction and How’ brought us into the world of VR and showed me for the first time, the possibilities of WebVR.  While I was nominally familiar with the concept of virtual reality over the internet it wasn’t until this talk that the development side of that work came into focus.  He showed us his code for some pretty interesting demos of VR using A-FRAME a Mozilla project with some very straightforward notation.  Next time the conversation of ‘what do we do as a CMS after websites’ comes up, I will have some very handy facts to cite.

Wes behind his computer

Jim Birch ended the planned sessions on Sunday with Holistic SEO and Drupal, which is about a day and a half long workshop’s worth of SEO tips and tricks delivered in just over 35 minutes.  A literal blur of information was delivered and as you can see from his slides, dozens of links were shared that each needs its own exploration and study.  Holistic SEO is not something I spend too much of my time thinking on, but I walked away with some realizations and some next steps to improve my own small projects.

Jim in front of a whiteboard and a screen with his talk title

Baddy and DrupalViking wrapped up the day and we celebrated making this camp happen.  They said when they first planned this, in their minds maybe 30 people would attend.  In the end 95 people from 25 different countries assembled and bonded over the worst snow in many years, the freezing cold and our renewed sense of purpose that we are in fact creating something bigger than the sum of the parts.  Namely Drupal.
Currently there is no plan to have a DrupalCamp Northern Lights 2018.  It is a good thing that #DCNLights 2017 was enough fun for multiple years!

All the attendees on the stairs at Ruv


SANDCamp 2017: It rained, there were many doughnuts, and a good time was had by all

My second trip of 2017 was my first Drupal event of the year and my first speaking sessions of the year for San Diego for SANDCamp.  Held in the very beautiful Marina Village right on the water, we had a pretty amazing backdrop for 3 days of learning and sharing.
SANDCamp Logo: Drupal on the Beach

boats in a marina blue sky some clouds

Thursday was training days and I didn’t get to go to those. Pantheon was having a function with about 100 of us in the SF office at once.  The company is about 45% distributed so this was a very big deal for us all.  I stayed with my co-workers for as long as I could, but got to San Diego in time to set up our booth and be ready to go Friday morning.

Pantheon booth set up at SANDCamp


Friday morning brought with it many breakfast choices.  There were awesome doughnuts from my fellow sponsors Sagetree Solutions and Achieve Internet.  SANDCamp provided warm bagel sandwiches and plenty of regular bagels with accoutrements.  Coffee came by way of San Diego’s own award winning Dark Horse Coffee Roasters.   Some of the best cold brew iced coffee I have ever had.
Dark Horse Coffee logo, horse in a suit and tie.
Lunch was the standard fare box lunch sandwich, chips, cookies and fruit with some pizzas ordered to cover any gaps.  SANDCamp stands out to me not for the food itself but the fact we all sat together in one room and the Keynotes were delivered for us while we ate our lunch.  More on those amazing sessions later.

crowd of people at sand camp eating lunch, picture taken from balcony looking down

Friday evening we had catered food truck tacos and nachos served with plenty of local beers and wines.  Many awesome conversations and it was pretty convenient to just go from the last session of the day straight to hanging out and pouring a drink. This was super nice because it was pouring rain outside with some very fierce winds pounding down on us. Many locals and the news told me this was the worst storm in many years. Staying dry and eating tacos was pretty awesome.

A bottle of Alpine Beer, Duet in front of a computer displaying page

Breakfast and lunch on Saturday copied the previous day but the after party most certainly did not.  We were hosted at the pretty hip and hopping Wonderland Ocean Pub.   The place was very lively, as we were not the only people who wanted to party after their weekend event. A large Rugby tournament was happening simultaneous to SANDCamp and we shared the bar.  While it make it noisy and a tad crowded, we got reasonable service and many awesome drink tokens.  When I come back to San Diego I am for sure returning here to get more of the coconut calamari. It was a fantastic way to cap a great event.

group of Drupal people drinking beer and waving at camera



Unfortunately, due to time constraints I was not able to see as many of the talks as I would have liked.  But the ones I did see were great!  Here is my wrap up of the ones that stood out from the ones I saw.

Two years of Backdrop CMS
Jen Lampton and Nate Haug gave a couple talks but I was only able to attend one, their two year retrospective of BackDrop CMS.  I have heard a variation of this talk before, but as more of a general ‘Why Backdrop’ discussion, which had inspired me to experiment with this Open Source fork of Drupal.  It is exciting to see how far the project has come and I was surprised by the number of contributors they reported.  I also learned that contributing has some very nice benefits, they would be happy to tell you more.  Very well done and the fact that Jen and Nate are two of the nicest people in the world made this a good time.

Jen and Nate from Backdrop giving a presentation to a room full of people

Know Thyself or Perish
Robert Manigold’s session really had two key takeaways from me.  I learned a very sharp and succinct reply to the reaction ‘that seems expensive.  That reply is “Expensive to who?”.  I have not heard this before but I will be using this moving forward. It immediately changes the conversation from one about a price point to one of worldview and if this product is even the right fit for them.  The other major take away is the claim that only four (4) pricing strategies make a profit: Luxury, Premium, Low Cost and Ultra Low Cost. Robert explained that everything in between will self select out and end up with friction with mismatched customers in the process.  This seems like a bold statement to me, but the further I think about it the more correct this seems.  When confronted with ‘there needs to be a price in between’ I am going to start exploring which bucket the client really wants to be in and how we can help accommodate that to make everyone happier.

Robert standing in front of a screen that says Self Examination

Man vs. Machine: Successful Client/Vendor Communications
I am guessing you have heard he phrase ‘signal to noise’ ratio a number of times in your life.  I know I have. But I have never before seen this represented in such a clear and straightforward fashion that on this single diagram from James Smith:

diagram showing cycle of communication and various points where noise can interfere with transmission and receiving infoThere are so many places where communication can get disrupted or poorly transmitted it is almost absurd we communicate as well as we do.  This talk was fantastic in revealing that not only must we strive for clearer expression of our ideas but we must also follow through to confirm that delivery, and maybe more importantly, comprehension has occurred. The Q&A had many insights from the crowd and was one of my favorite exampled of how we can learn from each other at these sessions.

James Smith standing in front of a screen that says Man vs Machine


I had the extreme honor of having 3 of my talks accepted at SANDCamp.  Two were talks I have previously given: ‘We Are All Making This Up: Improv Lessons For Developers‘ and ‘Pricing Strategy and Tactics For Agencies‘. One though, was created and delivered just for SANDCamp: ‘Every project is a story: Applying storytelling to your client interactions
I gave the Storytelling talk first and to a full room which really helped the energy of my talk.  There is a tremendous power to leveraging The Story Spine, defined by Kenn Adams, to translate any client or other request into a cohesive narrative. We think in stories and being able to help other people realize their thoughts in a more articulate and prescribed fashion is key to meeting their needs with great results.  You can find my slides here I was really grateful for the feedback and there is a bit of tuning and tweaking to do but based on the reception here I really look forward to given this talk again.

Me in front of a slide that shows the story spine applied to a story arc graph
Special thanks to @that1dood

The pricing talk (slides here) is the one that is specifically targeted to the  exact audience of freelancers and new agencies that are just starting to grow.  Having established business owners in the room and some non-business side folks led to some interesting discussions.  My biggest take away on this talk was I need to tighten it up to leave more room for discussion.  Coming right after a keynote that sparked a lively discussion on the identity and marketing of Drupal, there was a palpable sense of conversation in the Q&A where we were really learning from each other.
My improv talk is my most accepted talk by various camps yet and the one were I feel I have the least imposter syndrome.  I have been doing improv for 7 years now, over twice as long as I have been in the Drupal or WordPress communities.  I had a smaller but highly engaged group that went right along with the exercises and gave some very positive feedback.  You can find the slides, previous video and a whole blog series I wrote about it from here.  I learned a few things myself and will be incorporating a few more ‘applied’ games when I next deliver this (which will be in Iceland)

While it was pretty rad to give three talks, they were all scheduled for Saturday.  I can safely say that giving multiple talks in a single day is exhausting and might have affected quality of delivery by the end.  I think if I face this situation again in the future I will ask for some additional spacing between talks.   Still very grateful to have the opportunity to contribute to the conversations.


There were two keynotes at SANDCamp.  As I mentioned before these were delivered while all the attendees ate lunch in the same place, at the same time.  This created a super connected feeling among the attendees, sharing the larger discussions that spawned from these topics.
Friday Todd Ross Nienkerk, CEO and co-founder of Four Kitchens talked about the Future of the CMS.  I felt he gave a pretty good summary of why we need to think in decoupled architectures for better client experience.  I have heard multiple talks about this subject from a wide range of speaker but the thoughtfulness of Todd’s comments and slides really made this sink in for a few of the folks I spoke with.  Making this even more remarkable was Todd stepped up literally at the last minute to do this talk as a replacement for Darin Andersen, who’s fight was cancelled due to the unusual weather conditions.  I am sure his talk would have been awesome as well, but Todd’s was outstanding.

Todd from four kitchens in front of a screen that says the future of the CMS

Saturday we got to hear our regularly scheduled speaker Tom McCracken from LevelTen give the highlights and insights he garnered from the great 2016 LevelTen Roadshow.  His slides and comments reminded me much of my own journeys around this country and all the great communities I have had the pleasure of participating in.  Tom shared his observations that indeed there is much to learn from other communities such as WordPress; a sentiment shared by a growing number of thought leaders, echoed by the likes of Josh Koenig just a week prior at LoopConf.
The Q&A session of Tom’s talk turned into lively discussion on the future of Drupal itself.  There are very few moments I can point to where a group that large was fully engaged in such an open, honest and thoughtful discussion.  This topic was on everyone’s tongue for the rest of the day and well into the awesome party.  There are no easy answers to what we need to do as an industry next, but if we can keep sharing our experiences and thoughts in such a civilized discourse, I for one think that the future looks fairly bright.

Tom in front of a screen, too much backlight to see what is on the screen


Aside from arriving for The-Storm-Of-The-Century-So-Far I also just happened to be in San Diego for the San Diego Improv Festival.  Dozens of my awesome improvisor friends from all over the country were in town doing that art form I love so much.  I had the extreme pleasure of getting to hang out with my people from Michigan, Utah, San Francisco, LA, Riverside and of course SD’s Finest City Improv.  I unfortunately didn’t get to see an actual improv show though since it was completely sold out, but with all the bits (which is all improvisors do) it felt like I was just part of one massive show.  This was the 4th time in my life my work travel just so happened to coincide with an improv festival, joining Sarasota, LA and Minneapolis.  It makes all the travel that much better since it feels like I have family all over the place.

Me and 2 other improvisors in front of a sign for San Diego Improv Festival


SANDCamp was a blast and I am very glad I got to visit San Diego.  I am pretty sure it is an awesome city, but I didn’t get to go see too much of it this time around thanks to the rain and my time limitations.  What I did get to see was pretty awesome.    I feel very fortunate to have seen the sessions I did and got to be part of the larger conversation that really solidified around Saturday’s keynote.  The future of Drupal is not set in stone but we pretty much all agreed that this community and what we have accomplished so far is pretty special and awesome.