On a recent Thursday afternoon, Gabor asked if I was going to pick back up on me efforts of checking Drupal 9 module readiness. That got me a mention in the Driesnote last year and to be honest is my favorite claim to fame in any project. I had not thought about reviving it though. I mean people are tracking this stuff I assumed, but independent validation of notions is a really good thing to have. So, I said to myself, “that would be a good idea.”
Gabor, if you don’t know, has been diligently working on getting us all ready for that June 3rd launch date of the next major version of Drupal 9, which has a lot of anticipation around it. It will be the first major release to not require a rebuild for site owners, just an update. I think that is pretty awesome given the technical sophistication that is Drupal at this time in history. He has been the driving contributor for the upgrade_status module development. TL;DR, this module lets you know what to fix in your modules to be D9 ready!
Basically, the idea is to run this checking tool against all the modules that I can install with the command line (more on that later) and spit out consumable reports we can do analysis on.
So, I did what anyone about to embark on a quest for computer science knowledge would do, I did a fresh install of Ubuntu and started setting up my environment to make Drupal work. Why a fresh install? When was the last time you installed a minimal operating system and just pulled down only what you needed from the interwebs, as you need it? So snappy, so clean. If you have not taken Ubuntu 19 out for a spin, well, you are missing out on a great OS experience. Also, doing as much tinkering and sampling as I do of various repos and settings, a fresh Ubuntu install would make it easier to debug, and boy howdy did I need to debug as I went.
Getting Drupal working was super fast and easy because I had the perfect pairing of tools to get me going: Composer and the, completely new and amazing to me, Drupal 8 Quick Start Command . Literally 5 minutes from the time I installed Composer, I had a working copy of Drupal 8.8.5 installed and running. This is a demo setup but you can get to hacking on it immediately. Served my purposes as I ran it more or less nonstop for a few days and it didn’t fall over on its own, though you can push it over with a wrong move or two.
A quick note about Drupal always assuming you want to immediately pop it into production. I get it, this saves a lot of devops hassles to make the options assume you don’t want people messing with things, but we are on a local box explicitly messing with things, so we need to run chmod u+w web/sites/default in order to give the files permission to actually let us Composer install stuff.
One of the very, very recent updates (as in hours before I agreed to do this) Gabor has been working on and what he asked me to investigate was the modification of the Drush command upgrade_status:analyze to the command upgrade_status:checkstyle. It runs the same check, just outputs the results to XML format. So I needed Drush and Composer let me require drush/drush which gets me Drush 10 automagically. If you have not seen the generate feature of it yet, here is a video I did about it in Drush 9, not much has changed.
The script itself is pretty short and simple without all my inline commenting, basically 1) load in a CSV of module names, 2) loop through it, composer require modules one at a time, 3) runupgrade_status:checkstyle and redirect the output into a file with the module name and 4) uninstall the module before beginning the loop again. When I did the ‘check all’ project last time, I used “drupal-check”, a PHPStan based project for static code analysis. I didn’t need a working install, just a code repo. Using a running Drupal site makes things a little stranger.
Before, I was able to leverage Git to just flip between branches as I went, configuration was not part of the mix. Also upgrade_status needs the module to be enabled. Drush lets me do those things easily. git reset --hard should have let me just flush all the code changes, but something interesting happened, and I think it was due in part to Drupal caching, the code stayed put. At least parts of it. I eventually went so far as to composer remove each module, then rm -rf each module folder. Seems like overkill but it worked.
It take approx 45 seconds per cycle, but it worked. 45 seconds x ~6000 modules = 75 hours of script run time to do them all. So naturally I reached out for help to the internet for help scaling the process. Very fortunate for me Arrow a.k.a Aaron Feledy, master of all things Lando and ccjjmartin a.k.a Christopher Martin immediately jumped on board this train.
Aaron built the awesomeness that is the Lando recipe for this setup, which you can find in the repo. Chris dedicated some time and machine resources to make multiple Lando instances run as well as made tweaks and suggestions to everything along the way. This would have taken me a full week of futzing with things on a single, underpowered laptop. Instead I got to hang out with some amazing Drupal folks for a couple days online and produce the final results.
And the results are….not finished running as of the time of this writing. About another 2000 or so modules to check, but soon this will be public. I just wanted to write this up while it was fresh in my brain. I love me some Bash and Drupal. I am so lucky to have found this community. Looking forward to a grand future with Drupal 9.
I always consider The Olde Towne one of the iconic American cities. By this I mean that if I go to Serbia or Iceland and talk about cities in the US, people always know San Francisco, New York, LA and Boston. They have a picture in their heads, and with good reason, of some of the oldest buildings, some of the oldest bars and some of the more famous landmarks in this country. It was quite an honor to go be part of the magic of old bean town as I accepted the invitation to speak at Design4Drupal 2018.
Coffee and snacks and tea were still being set up when I first arrived. But when I finally was able to get some coffee it was actually pretty good for college catering. I think that because there was an open Starbucks in the building they knew they should step up their game. Lunch time rolled around and us special meals folks were treated extremely well. I had a pretty amazing ‘Cobb’ salad with beets and avocado. Even the afternoon snacks had a vegan section what was more than just fruit.
There was no official party or goings on on the first night. This let me catch up with some of my favorite Drupal community members who also didn’t have official other plans. We found a BBQ joint with a reasonable set of veg options and a great mixologist on staff, The Smoke Shop.
Very much a repeat of the previous day. Again huge props to the organizing team who really looked out for us with dietary restrictions. Very notable fact, the catering thought that small whole cakes would be a good decision for some reason as snack. I got a good chuckle out of that.
We gathered at Meadhall in Cambridge for a very fun evening of snacks and beverages and fellowship as a community. No tweets that actually showed the party and the venue in full swing can be found, so here is a sample tweet about the venue.
MaryAnn is the kind of shop owner I hope other shop owners are paying attention and learning from. This talk is a no-nonsense look at very practical aspects of running a business. I really loved her approach of laying out the advice, then explaining how she came be believe this and the data behind it. I highly recommend this one if you are running a business of any kind.
Raw Notes: Her 4th year here goal is to help save you some time and effort and void mistakes she has learned the hard way not a coder, pre-internet marketing marketing communications personal intro and polling audience 1. Begin with the end in mind lawyers are better on the way in than on the way out making sure you get paid for your work and work is not stolen keep things professional she learned from a client she had been working with for years her work was stolen by an advisory board, went to court 2 years another client who had signed a contract only took 2 months to get paid another client wanted to change the contract too much had to say no all had to say Attorney and they backed off even her mom needs to sign a contract if she wanted work 2. Friends can be clients but they are customers first in that case Specific lens of friendship is bad for business Clients can make really good friends though as long as professional lens is there 3. Think long term don’t just take any project that comes along you will regret taking bad fits into your portfolio strapped for cash, will take about anything Client relationship is a 2 way street 4. Brainpower should cost money don’t give free consulting advice your knowledge and time are real assets been doing this 17 years for first 10 years did a lot of unpaid consulting time now has a ‘pick your brain’ paid consulting written report or other deliverable around advice 5. Realize there is strength in numbers invest in financial tools and advisors to grow your business She hired a person to handle finances and accountant much smoother 6. Be a work in progress. Sooner you start documenting and process management the better project manager came in and had no idea how to start all process was in people’s heads, not written down took weeks to document had to define the processes 7. business is business No one is a one person shop we all have to use outside vendors choose those vendors wisely seemed easy to just get friends and ‘down the street’ convenient but not always a fit now she has stable of vendors who are trusted and provide real value referrals must be because of business fit 8. No I in Team working with partners who can keep your relationship secure had a server fail, hosting company known them for year, bad luck run on his part multi day outage 80% of her sites were down headache and really should have been end of business event she was prioritized as a client but still the end clients wanted to migrate hosts but they all still trusted her chose Pantheon cause we care Fiery hoops and made sure the clients were satisfied (Great job Roxanne!) 9. Transparency leads to trust clients depend on you but you depend on them must help each other get better took her a while to be really transparent tough position to be in if you agree to do work you don’t know how to do instead figuring out if can do, otherwise refer them want them to be a happy client so they trust long term for things they are competent 10. Every little thing, going to be alright can’t force them to jump though can be frustrating, you have to just let it go business is not personal and you need to let go of ego
I didn’t go into this talk expecting it to be as technical as it was, but wow I am very glad I went in with an open mind. I left with a much better understanding of what is even possible around owning your own content and how it all fits to make a better overall internet. It is not the responsibility of large corporations to protect your content and privacy, it is yours. Things like OAtuh and ‘rel me’ might seem like technical novelties, but what they represent, if embraced, mean a much freer internet where a content creator decides on when and how their content is used in a more meaningful way than using FB, Twitter, etc, could ever allow. This is also a very entertaining talk in my opinion with some of the better thought through slides I have seen in a while. They don’t work stand alone but amplify his talk when he is going through them.
Raw Notes: indieweb.org Owning your content going forward Ideally Capitalism good bell curve distribution in theory it could be economically good if a level playing field Rich get richer and poor get poorer due to feedback loops Internet explorer wants to see many browsers competing on features dodged a bullet routed around it, like networks hub and spoke airports still use this, old telephone single point of failure ARPANET well connected nodes distributed network still possible for network to work even if one goes away military background survive nuclear attack but really people working on it thought nuclear weapons with hub and spoke reduced the possibility shared with the Russians no top down and nodes can add in as needed no permissions on the WWW to create a new URL or link no planned structure wild crawling mess walled gardens – Compuserve and AOL the web Won! wanted free open but returned to walled gardens like Facebook, Twitter, etc FB is media company in the world but we make all the content for them the better the network the first person who had a fax machine had a completely useless device before FB it was a singular social basically pushed us back to the hub and spoke model hypothetical, an election single point of failure like WP and Drupal are popular and get attacked more temping target, large attack vector Why? Convenience is driving it trade control for this convenience they now control your content the movement tries to balance that indieweb, you should have your own website longevity MySpace link rot is a fact of life comes back to the architecture of the web proposal to hypertext conference in 1991 rejected 2 directional links one directional links but 2 direction isn’t that hard link rel= href rel stands for relationship works on a as well a rel= a rel=me but that does not make 2 direction though right? spec element on profile links kind of 2 directional relme auth piggyback OAuth can sign in to a service using your own website why would you even do this? authentication is the hardest point of an API micropub – incoming post requests you can use anyone else’s interface that conforms to this standard quill ownyourgram ownyourswarm PESOS publishing elsewhere send to own site but POSSE is better Post own send somewhere else using ITTT for ths Webmention another W3C standard brid.gy is a service on these things monitoring responses and can ping you and push to you by authenticating can do comment but also do interesting things with the data facepile plugins available works for Drupal as well but why? why this? Dri.es/tag/open-web should all be different whys but it is about control of our media but this is all about tech but that is not what indieweb is about it is about design principals indieweb.org/principles have to have fun! emoji included your site is your playground the original motto of the World Wide Web was: “let’s share what we know.”
I do a fair amount of thinking about Project Management since I talk to so many people who work on projects. I also see that as an appealing career path to be honest, as it is something that gets things done and in an ideal world, unites folks for the better. Matthew does a pretty good job of reality checking anyone that might be approaching this field lightly. He systematically walked through terms and concepts that PMs of any skill level should be mastering and at least familiar with. The final answer of “how technical” is ultimately “it depends”, as with so many other things in life. However, knowing more and continually learning is certainly a good approach no matter what.
Raw Notes: Long history of CS sales and technical background around sales and marketing bought a home loan automation, learned coding and architecture Dreamweaver, ASP 20 years of this stuff Digital Project Manager success I think in 1’s and 0’s but I speak English Does it even matter Main role is hit deadlines manage a budget resource coordination quality control client satisfaction Answer is yes, it matters carpenter using a hammer vs making a blueprint actual answers, it depends, on quality of the project small sites maybe less important even some medium, depends on what you need to integrate, maybe great contrib modules maybe less to explain maybe more technical support SLA Endurance vs Stress test eCommerce more complex you need to have a better technical understanding and be able to translate it knowing terminology adding content basic HTML and CSS editing Basic understanding of Views intermediate skills paragraphs, pathauto admin toolbar many more know your basic contrib modules Drupal permissions views config commerce features attributes so you can have the conversation with the clients version control for Configuration Management Module configurations more advanced things know git ACESSABILITY IS KEY W3C WCAG 2.0 Perceivable Information and UI Operable User Interface and Navigation Understandable Information & UI Robust content and reliable interpretation Peer code review Cross Browser Testing Performance Testing Security and Penetrative Testing Google Analytics Google Tag Manager Heat Mapping Tools LOT OF STUFF improve your skills Build your own website
Brian is an excellent presenter and this talk is a continuation of an idea I first heard him discuss at Midcamp. Now, I will always caveat that front end stuff always seems a little out of my wheelhouse, as I don’t really touch that side of things in my day to day. However, this adds a bit of magic show element to any of these talks where I just get to be impressed a thing is possible without fully grasping how it does it’s thing. ‘Knobs’, for instance, seems like a completely logical tool anyone would want to use for making fast changes when prototyping or developing but I can’t point to a single thing on my agenda to have a reason to dive into it at the moment. Still, I am very grateful to get to attend these talks and expand my knowledge base around this area. You never know what tomorrow will bring or when I am going to need to need this stuff. It was a very good demo.
Raw Notes: Atomic design approach Atoms -> molecules ->Organisms -> Templates -> Pages build components and prototype them integrate with Drupal in interesting ways test things before you integrate fully can be Twig Examples: Artsy.net on github as well website in github bulk is in React slide shows, galleries, ect reaction is the folder you want Another example Uber React-Vis visual storybook focused on components for visualization JSX add on knobs Adding Storybook to a project npx create-react-app my-app cd my-app npx -P @storybook/cli getstorybook npm run storybook starts a localhost instance site going to be pretty bare bones but that is scaffolding Individual story files config.js file iterates through options and pull in what you want example story: Album Music discovery app Row with an album cover, name, render method to render JSX select album function src/componets/Album.stories.js import React import {storiesOf} import { Album } import { AlbumList } CODE EXAMPLES Album story Addon: Actions Can see a lot of things log the actions and functions with Knobs you can fiddle with things in real time to experiment before committing Lot of demo! List View story Combine all this with Puppeteer to test all the things deploying is straightforward as well build to a .out directory or NPM script and can post that anywhere with static JS bundles Drupal and Pattern Lab? style guide guide, gatsby edition the storefront in the workshop really is a dev tool
I’ll admit it, I didn’t fully read the session description before I got there and thought we were going to be looking at classical architecture, painting and sculpture from all throughout history. Instead we started in 1900 and I quickly got acquainted with the importance of The Bauhaus and Swiss Design and how we can all benefit in our daily choices from embracing simplicity over needless ornate embellishments. I also learned how to quickly apply the Golden Ratio to a layout without a lot of hassle, which I am going to start leveraging as design choices pop up. TL;DR – centering is the lazy way to show you don’t know about design, so stop centering everything and flat is better than drop shadows.
Raw Notes: There is design in everything If you follow best practices looks more professional takes stress away impresses others don’t make your company look bad 10 minute art history Early 1900’s could go back further but this is modern era Emphasis on tech manufacturing process and function style subordinated to purpose Electricity comes around have to design things to use it like fans and such Peter Behars tea kettle unified appearances glass walls was a super big innovation reason behind every component and decision Van de Velde trained as a painter served as an architect, designer, teacher jewelry and other common things furniture first real silverware sets art to industry as well German Association of Craftsmen form determined by function elimination of all ornament elevated functional aesthetic 1918 war ends and design things ramp up in post war 1919 Bauhaus school to this day still think German Engineering is good because of this free to people who qualified, school just for designers building for a soft machine, humans Bauhaus became a philosophy eliminate elements that do not matter form follows function everything is designed make design accessible, avoid overloading and over stylizing Craigslist is EVERYTHING at once, Google is one thing, done well 1933 Nazis killed the Bauhaus 1940’s Swiss Design after exit from Germany, kind of makes sense not specific to Swiss, but international style flair for design forever there though international typographic style this is used by all large corporations now Used Asymmetric layout and GRIDS FOR EVERYTHING! sans-serif Flush left, ragged right preference for photos over illustration Dieter Rams, less is more record player Braun juicer inspired by that juicer, Apples products in the 90s 10 principals list Less is more! don’t give the user more than they ask for focus on needs not distractions fierce reduction of elements United vs American Airlines apps United has a lot of unneeded parts when you first look new flat design is actually just the swiss style shiny is not needed Windows 10 no rounded corners, grid LingsCars.com best site about what not to do with design how to eliminate unneeded objects? Do you really need this in a box (boarders are a sign of weakness) Does this need a drop shadow (most likely no) Does it help to have this in 3D does the gradient convey more information? BWI is actually on the right path but there is a video on their desktop site that takes a lot of space mobile apps are cleaner Using mind maps, helps figure out what is important before design work begins don’t give people sloppy stuff Eye pattern testing showed no real difference between serif and sans-serif on-screen considerations Xheiht 65% of the Cap height strong counters do not use Script or Cursive use a typographic grid Always adhere to type ramp visually 2X the size so people can see the import stuff Rule of thirds Golden ratio Fibonacci sequence based on rabbit research very replicated in nature multiple by 1.62 for a perfect pleasing size rectangle helps to not center everything PhiMatrix can overlay Golden Ratio on your screen over anything and break down proportions as needed, repeatedly Google Materials https://design.google/
I always love a good Driesnote and was a bit curious how this would stack up. A visibly more relaxed Dries, in front of a smaller crowd than DrupalCon brings, really had a conversation with us and introduced several members of the audience to the history of Drupal for the first time. More importantly than our past, it was great to hear an impassioned view of the future and what that can look like. Not too dissimilar from WordPress, the take away for me is embracing JavaScript on the presentation layer is not optional anymore, so it is up to us to make sure our testing frameworks and APIs are up for it. Especially in a world where every new dev is at least learning JS basics, it is going to make adopting Drupal even easier int he future and will let us draw from a much larger pool of devs to grow the community.
Raw Notes: History of JS, Drupal, API-First, JavaScript-driven Drupal admin interface Brief history of JS across the stack JS was invented in 10 days Brendan Eich wrote the first JS version in the beginning everyone thought it was amateurs JS was not cool at first XML asynchronous JS lead to AJAX then frameworks like JQuery, dojo, mootools prototype adopted by Drupal, first CMS to use JQuery put it on the map 2008, Chrome build JS engine V8 10 years ago, they were very future looking 10x performance improvement over internet explorer with V8 2010, twitter made unprecedented move, implemented new API server for everything/everyone Moved the rendering to the user’s browser model is common now, but this was a first over capacity whale showed that this initially did not do well time to first interaction was pretty poor had to download a lot of things in 2012 partial rollback of rendering back to the server AIRBNB made the code very reusable JS word right now, Babel, nightwatch tooling has really evolved History of Drupal message board for his friends registered dorp, means village typo to drop.org, happy accident thought up public name for code, 30 seconds. Thought of Drupal Google and Mobile had no real existence 1 our of 40 sites on the internet use Drupal 14 million visits to drupal.org per year reinvented ourselves many times each morning we are born again, what we do today matters most slow start on D8 after release but getting better 51% increase in D8 adoption last year REST API first initiative Drupal’s REST support is pretty good, rich and mature user logging/reg, media, JSON API and GraphQL pretty robust, moving them into core pretty close maybe in 8.6 more and more companies designing API first Chupachups UK, Warner Music, teach.org many, many others people at sea using Drupal locally and syncing once back at shore integrate with anything including other Drupal sites NewBalance is ideal use of both traditional and decoupled Working on JS-driven Drupal admin interface Drupal’s own UI is still not JS first/forward could be more interactive and better if we do embrace it Drupal needs cutting edge experience Trying to replace a single page, they identified 6 steps 1. stabilize the JSON API module, pretty close 2. Improve our JS testing infrastructure 3. Create designs for the administration UI 4. Allow contrib modules to use React or Twig no big bang swap of whole UI, introduce more dynamic incrementally not everything needs React, but want it when you do 5. Implementing missing web services APIs like permissions, found gaps in coverage Admin areas have some things that are only in that use case 6. Make the React UI extensible and configurable Good news, this benefits EVERY decoupled builds why should we care? used to be you made a site and just left it alone now people live in the frameworks like Drupal, always changing Drupal is no longer the Drupal you used to know it continues to evolve all the time slides at https://dri.es
I was very curious on this talk what a Find It Cambridge even was. Turns out it is a resource that can greatly help any community better organize it’s events and resources. Benjamin is just the nicest guy as well, which never hurts a presentation. For instance he deferred to team members in the room who had worked on this this project with him for various sections, making it seem like their whole team was up there presenting and he was just a player in the larger picture. I have heard too many talks where this would not have happened, even though the team is literally in the room. It encourages me to think about these sort of opportunities to involve others in my sessions. I don’t actually think my notes on this one are that good, as I had a few distractions in this one, so this is a case study I would encourage you to just watch for yourself on youtube thanks to the hard work of Kevin Thull
Raw Notes: must have a budget an ongoing budget if not a large one Research iterate on what someone else has built what another website does issue is they want Google/FB/other expensive commercial site find something similar to what you want to build and use the elements that work well Sommerville pub was there to help them figure out what worked well research showed more info was expected from a .org vs a .gov that is changing in Mass thanks to mass.gov! Resource Portal Interviews Students from the school of public health reached out as part of a project to research with them and provide analysis Testing other sites You need content, you can not design without content Google sheets originally, then another content store was used compare to other sites see how buttons work well there a wireframe allows us to experience design while implementing quickly in dev Best 7 letters when talking to a designer or Developer HTML CSS discontinuous Improvement have to break and improve things Go where your users are use IE if they still use it at your user’s facilities visualize everything visual maps Lessons learned from user testing there were many not including 141 programs that forgot to check themselves as All Ages water play parks seasonality or weather dependent results more use cases curated lists of things
Going to be very honest here. I originally went to see this because I wanted to support Jim giving the last session of the camp. I always love his talks but going in I had a fear my mind would wander and my notes would be pretty spotty. However, this is actually a really interesting area, even though front end. Jim’s presentation skills are second to none and his raw passion about this subject matter is infectious. At it’s core this is a talk about DRY and how to make everything reusable. This is a great lesson for anyone, not just front end folks.
Raw Notes: Why? Different widths for different content elements better typography wanting images structured content ability to add semantic markup easy to administer slide things around Bootstrap framework – HTML and JS pre-configured powers about 25% of the web as a front end mobile first and responsive Create grid markup and readable documentation standardization helps on-boarding is easier Customizable completely mixins for adding existing styles to semantic html best practices for small/lo budget projects get 80% there when you start Open Source – MIT license If already using Paragraphs how many times have you repeated yourself but a litttttle bit differently install this modules and start exploring right ow Strategy – create a module to give you want you need create base templates and CSS that could be included with any Bootstrap include harness the power of Entity Reference Revisions fields to neat Paragraphs Have global width and color options Inspiration – Les and David Needham’s great presentation using Paragraphs they came out with idea of paragraphs as content paragraphs and layout paragraphs and ponies Global settings Every paragraph should gave widths and backgrounds list/text widths tiny/narrow/medium/wide/full background colors empty classes follow the standards for bootstrap conventions Content bundles layout bundles image includes a link field blank embed JS or connect to mailchimp, Pardot, Eloqua, etc. Drupal Blocks – render them in line with the other paragraphs not everything works though copy and extend for custom blocks Views paragraph bundles, reference field, lets yo put a view into a paragraph, even with an argument Columns up to 6 pieces of content distributes equally two uneven columns 1/4s and 1/3s 3 uneven columns, it gets messy but possibilities are wide column wrapper another layer carousel for those that like them images and text, just no other carousel inside a carousel slide interval speed settings Accordion collapsible Modal – 4 fields – title, body, footer Tabs like the accordion tabs and accordions in a tab 2 Submodules contact and webform Contact form let’s you reference the content form entity add new or use existing contact form Webform, same thing but for Webform module using Block element modifier markup BEM Markup – div.paragraph modifiers Twig – width example Drupal asset libraries to apply styles theme has hierarchy to the modules module libraries folder custom blocks add fields dropping in setting default make your own content fields manage display Working globally mostly config and a couple templates packaged up in a module thought was ‘how can this be reusable?’ does not want to rebuild again and again create a module structure Drupal console has a command that magically does this add templates and CSS and JS configure in the .libraries file export the config Just delete the UUIDs Rename field_ to your own machine to avoid future collisions if needed, add function to override template in .module Bootstrap Pages module article content type and an author and a landing page meta tags and schema.org, optimized images, responsive, precofigured URLS taxonomy views use frameworks to save time and be more productive this is his attempt to do this also can use this approach for any other framework make it reusable
I got to talk at MIT! This is pretty exciting to me. I not only got to deliver 2 talks at this camp, which is cool into itself, but I also got to give two related talks that are part of a larger set of topics, which is the sales/project process. With ‘Nobody Wants a Website’ I focus on the qualification process and uncovering KPIs or at least what is measurable early. I got to follow that up a day later with ‘Discovery, discovery, discovery, discovery!’ and dig into what I think of as the most important part of the whole process. It was a really great feeling to give this ‘cycle’ of talks and I am guessing this is how Matthew Barney feels whenever they show all of Cremaster Cycle at once.
— MaryAnn | 108degrees (@108degreesMktg) June 28, 2018
Sprints Day:
I always love a contribution day. The community coming together to make the project happen and evolve the state of things. I was very happy to get a chance to wrap my head around the Tour module, specifically the notion of leveraging routes and attributes. This is one of the more overlooked aspects of Core in my opinion and I look forward to being able to better get a grip on how to contribute back to the project moving ahead
I always will like Boston for the history, for the warm people if it is warm outside and for the pretty awesome Drupal community based out there. I am actually going to be headed back that way in the near future for another event. I am already looking forward to next year when I might again get a chance to speak at MIT in the shadow of the offices for the W3C, Stallman and Tim Berners-Lee at Design4Drupal 2019!
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.
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
— Charles Leverington (@c_leverington) June 1, 2018
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.
— Charles Leverington (@c_leverington) June 1, 2018
Saturday
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.
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
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? No 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? Politics definitions from the crowd slow messy intersection of change manipulative 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
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.
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 demo 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 related: https://www.drupal.org/contributor-tasks/create-tour
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 purpose 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
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 retros 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
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 collaboration parties speaking 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 Composer 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 JavaScript? 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
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.
Drupal?!?! What have I gotten myself into? Fear! 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
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 Why? 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 examples 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 drupal.org/node/2930857 Some remaining issues You can help needs new code, needs reviews, etc demo time in config, website archive tab
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 Cons 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 headlesscms.org that’s weird off the reservation – Arc publishing a pagebuilder Superdesk publisher lightweight source renderer Goldilocks benefits for devs 100%JS Declarative Editorial controls Built to work with reverse proxies Standardized workflows
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!
Way back in 2014 I started working for Pantheon and at first it was just another gig, working in Open Source and selling a platform. Then I got sent to work the booth at this event in Austin, TX called DrupalCon. It was there that I met the users of the platform, the developers, face to face. It was there that I finally understood what it meant to be part of the Drupal community. Drupal events will always hold this extra special place in my heart which is way I was so darn excited to get to go to the SuperBowl of Drupal, DrupalCon 2018
This was the 2nd time in a year, and in my life, I had been to Music City USA. While a little more familiar, there was a ton left to explore and so much I have not yet gotten to do. I think the fact that the city was not as mysterious made this trip seem to fly by extra quick. From the time I land until I flew out felt like a few hours, not a few days. Lot to cover, so let’s rock it!
I landed and was immediately invited out for a night of good fun with the Drupal community. There were a lot of folks that rolled into town early to take advantage of the night life and sights of Nashville and it was like a whole ‘evening of hugs’ where we couldn’t walk too far without getting a hug from someone you had not seen in a while.
Coffee and tea and some high carb breakfast options were on hand as we started the day of training and Partner Day. Not terribly coffee but not great either. I opted for tea for the rest of the event after that first cup.
Lunch on day one had a very solid vegan option: tofu steaks, quinoa stuffed peppers and some pickled veggies on the side. Can’t find a picture of lunch options on Twitter, so here is
There was the Opening Reception for the sponsor area/main floor for the event with grits and other options. Since there was cheese in everything save the mushrooms, I found some crackers to munch on and a little fruit, but otherwise saved room for a the food at our Pantheon Team Dinner a little later that evening.
Monday night found me at the Pantheon team dinner, which happened at Pinewood Social, a super hip bowling alley/mixologist bar. I put a short hold on my ‘vodka+soda only’ approach and indulged in some good Tennessee whiskey. I carried this over from our team dinner to the official unofficial Drupal Bar Crawl, alo known as the DrupalCrawl. This year we crawled into HQ Beercade Nashville and many of us did not crawl anywhere else, given you could play most of the games for free, including one of the greatest games ever sponsored by a beer, Tapper which you can play here
This was the first full day of the conference and for me it started really early and I brought my own coffee. There was a coffee option but I didn’t see it til later in the day.
I had my hopes up for lunch and unfortunately the option for the catered line was not quite as stellar as the previous day. Though not too bad, cold quinoa salad had my protein needs covered and there was as much fruit as I could eat. The veggie sandwich was just OK.
Tuesday evening found me at the Pantheon Parter Dinner. We gathered at the Country Music Hall Of Fame for a great evening of celebration, a few speeches and some quality meals. It was awesome to hear so many experiences and points of view being shared. There are few things that inspire as much confidence in the community than agency leaders sharing what is working and what they are working. This ‘collabratition’ approach is pretty unique to the FOSS world and it is part of what makes it so great.
Can’t find a tweet for this, so here are some of my favorite Drupal people instead:
Tuesday night ended with some amazing singing by the community at a couple different places. First was the official Mediacurrent after party with much singing. I didn’t go, but thought it deserved a mention
Then a good number of us went first to Ms. Kelli’s, but there was another convention that had already settled in there. But thanks to the quick thinking and hard work by the amazing Stephanie El-Hajj we found ourselves in a much better spot without any competition from any other conferences at Wild Beaver.
Can not find a tweet with a pic, so here is another group enjoying another Karaoke bar in Nashville:
After a long night of singing and rejoicing with the community the next morning was a little rough, so thank goodness for that conference coffee!
Lunch was a serious step up from the previous day with green beans and potatoes along with more quinoa salad. Very full at the end of the meal.
One of the things that stood out was the cards on the tables that gave people talking subjects. I sat at the PHP table be happenstance and had a really great conversation about deployment pipelines and automated testing. There were a lot of topics
I didn’t have a session accepted at DrupalCon this year, but I did get the chance to co-present part of David Needham’s awesome training. I want to take a second to tell everyone reading this to stop for a few minutes and go read Martin Fowler’s definitive paper on Continuous Integration/Continuous Delivery. So much of our modern work as website professionals come from thought leaders like this. It is amazing to stand on the shoulders of such giants and participating in discussions like this. Also, getting to lay down knowledge with the likes of Drush maintainer and all around genius Greg Anderson is intimidating and inspiring all at once!
OK, I will admit it. This is my favorite part of the actual conference. My real favorite part is hanging with the community but as far as planned things officially on the schedule, nothing beats the Prenote. Lead by the one and only JAM who is one of the most recognizable mustaches in all of Drupaldom. Every year he and the rest of the amazing community team go out of their way to wake us up and have some good clean fun before Dries gets up and takes a more serious tone. I do hope you can go next year and see it yourself.
There was a lot said in this year’s keynote delivered by our project lead Dries Buytaert. With an introduction that was second to none by my colleague and team lead Steve Persch, the tone was set to get serious and address some big picture things that affect our entire space.
Rather than try to summarize the talk, I encourage you to go watch it. Below are tweets I thought captured the spirit of the event well.
There are several new features in Drupal 8.5 and more to come. Drag-and-drop layout and page building and better out-of-the-box experience are on the horizon #driesnote#Drupal#DrupalCon@DrupalConNA
Very cool images describing #Drupal 7 getting off the island by adopting #Composer so it could play with the rest of #PHP community. It would be great playing a video game to get Drupal off the island like this. Great Castaway reference @Dries – #DriesNote#DrupalConpic.twitter.com/CsoGcQ0qxS
Unfortunately, other than the Prenote and Dreisnote, I only got to go to 2 sessions with the way my schedule worked out. Fortunately I get to go to more sessions per year than the vast majority of people. Also fortunately all the other talks are recorded and available on the DrupalCon site
I will admit, I misread the topic description and thought this was going to be a talk about client KPIs, which is something that is of great interest to me currently. Instead I got an amazing overview of what an agency COO actually cares about, Which in and of itself revealed more about KPIs than I anticipated. This is also one of those talks that stands out as unique to the FOSS world. Literally a COO standing up and saying ‘this is how we do things where I work’ and providing spreadsheets to show how. Dummy data obviously, but if you are a freelancer or small agency and want to know how to get to the next level, her spreadsheets are freely available to clone and leverage. I left feeling amazing about this whole space and our future together.
Raw Notes:
Don’t Trust your gut,
Chief operating officer at BlueSpark
Metrics of her,
number of hours spent with her life
Context makes data meaningful
Lot of spreadsheets in the talk
https://bit.ly/2qjlDOZ
Billable hours,
got to understand where you are spending your time before you can optimize them for billable time
Adapted the billable hours matrix for annual revue per role planning
rev, profit, margin at various utilization rates
Booked Capacity vs Capacity comparison with Monthly and Annual sales targets
Under contract was a runway pipeline
MEGASHEET
https://bit.ly/2qoxJXl
gives actuals and updated a lot
things shift, availability. extention of contratact, act of god, etc
sheet needs to be as fresh as possible
values of accounts
timelines and budgets for all current accounts
remaining budgets
time left
Will my current config of team be able to complete the work they have lined up
capacity
how did the team perform
how is the
Let’s back up to the Billable Hours template
rate and expenses
lists out whole team individuals, roles and such
number of hours per week
realistic utilization planning is the goal
Monthly
potenial revenue per role is the thing she cares about a lot
helps understand when and who to hire
expenses are import to track as well
want to end up at 98% of realistic target
ie 34 hours not 40 a week,
80% utilization losing money
MegaSheet
All project projections
timeline, start date and end date for each phase
Weeks to complete,
Contract
fill in rates and hours for each phase
rate x hours = contract value
time logged, from Jira, manually pulled in
then pulled into actuals tab
Weekly velocity to complete, the number of hour s and weeks and how many hours per week need logge to stay on track
Color coding will help yo a great deal at seeing things at a glance
easy to get overwhelmed but this is needed to project revenue
things will deviate, so you must adjust as you go
assigned some of the work to ‘unknown’
Unknown Frontend and Unkown Backend
makes planning more flexible
color coding red not booked enough, green capacity,
blue under water, overbooked
sometimes 4 to 5 week differentials with how days fall can be tricky
eventually all comes down to hours though
lets you shift projects as needed
don’t try to adjust in your head
important to see big picture as you plan each individual part
Of all the talks about privilege I have attended, none felt more poignant or a straight up punch to the face than this one. The stories they shared shook me and made me feel sad and angry and really wanting the world to be better than it is. I even found myself squirm as they completely debunked the idea of ‘seeing past race/gender/ect’ being ‘colorblind’, which I will admit here and now I have said before. That does not work in a world where no one else is ‘colorblind’ and only blinds you to the intolerance going on around you.
It gave me a lot to think about and some straightforward examples of how to be a better ally all around. Very grateful for Farah’s and Ashraf’s courage in speaking up and helping us all get better as a community and as people.
Raw notes:
Privilege
Lacking access
real story, got arrested for speeding
that cop became an ally but every cop after had same initial reaction
bad
this affected his life later as had to admit he got arrested
We all have biases
blindly trusting our intuition in social interactions is naive
think before you speak, reassess your initial reactions!
Keep your bias to yourself
Unconscious gender bias
people assumed she knew less than she did when she started out
took her until a job change to get out of that rut
women tend to be assigned tasks that are less impressive
contributes to women being overlooked for promotions
long term impact on their career paths
consider adopting self-selection task assignment
trak, support and encourage female employees to work complex tasks
don’t assign women empathy-based tasks by default
She was accused of being too social to be a real developer
accuser had ‘feelings’ for her
she was new, didn’t have tools to handle the situation
but ‘luckily’ got sick and when came back he was gone
They walked her to her car every day
turns out the accuser had fallen apart mentally and was a threat after that
she stayed around for too long
BAH was a great move for her, a lot of women in tech and improved herself a lot
wording really matters
women they have spoken with are just as interested in pursuing a programming career
Female students are typically top performers
how to extent privilege?
-encounrage and reassure them –
give them homework to see if right for them before class starts
let them see if right for them, don’t penalize them for not wanting to keep going
encourage they will fit if they want it
strongly endorse them to key decision makers using Truthful information
Want to help grow Drupal?
we put a ton of thought into patches for Drupal
Put that much effort into helping your female colleagues
really lay it out clearly, it might feel like overkill but it is necessary
employers make a lot of decisions in the wrong direction with female employees
Older people also have this Bias
assuming they can’t learn new tech
her dad is an accountant, even though he was performing well, they pushed him to retire based on this bias
assuming they don’t want to learn
assume they will just be slower pace
people are not crediting all the experience that is brought ot the table
forgetting most technical problems have been solved before
Racial bias
black person early in career usually has to prove their personality doesn;t fit a preconceived notion
to be seriously considered for tech, black grads must be well spoken, charming,
others can get away with being quiet
‘but I don’t see color’
thats a start but it is not enough
the objectivity ship has sailed
too many others see color for neutrality to work
underprivileged people have faced barriers all their lives
evaluating a person’s fit for tech truly objectively would be to give them experiences, exposure and support before evaluating them
You can’t truly test aptitude with a programming test
posted his grads group picture on FB, got terrible racist hateful comments
people that do see color create a really crappy environment
There’s more
Family life – assumptions that people with use their family as an excuse to work from home or leave early
disabilities
assumptions that people with visible disabilities are less able to perform
single employees are assue to be available 24/7 because they don’t have things going on and they have ‘no one to look after’
Whose job is it to fix this?
nothing is too small – small things can make a big impact
track, support and encourage individuals from underrepresented backgrounds
reach beyond your inner circle
participate in free training events such as GTD, hour of code, etc
Encourage your employer to set up paid internships
AT THE LEAST: RAISE AWENESS! thereby extending privilege
ripple effect can go far – a single top developer can impact Drupal significantly
@webdevdeja
what does better look like?
Documentation initiative
package contrib Composer dependencies in a .zip file (like core does) (think, bad internet connections)
auto-populate tailored documentation
resulting in centralized docs
D8Academy got involved
people who never heard of Drupal dl and install and contribute
Barrier free sprint
step by step instructions very easy to follow for novice
Drupal only benefits from inclusion
It was with very mixed emotions I left early to go to a very joyous occasion, a wedding. While I was super looking forward to see a best friend from college ‘tie the knot’, I was sad to leave all the fun and excitement of my Drupal community. I was super fortunate to get to attend and be there for what I got to be there for, but it flew by. It was an absolutely a pleasure and an honor to be there and can not wait until 2019, when Drupalcon goes to Seattle!
I told the lady at Dunkin Donuts that an extra large coffee might be too ambitious for me and she responded “Ma’am I don’t see you as a quitter” and I’m feeling lifted up #drupalcon
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.
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.
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.
Lunch
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.
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.
I officially have a case of the Red Hot Blues. Garden on Eatin’ needs a Twitter so I can shout them out appropriately. 🤗🤤 #bestchipseverpic.twitter.com/bOSBW1wzrt
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.
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
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?
Responsive
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
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
whitehouse.gov is something we brag about for opensource
many, many government agencies and divisions and universities using it
sfgov.org, many agencies within the cities and counties
central department of technologies does point to open source
UC system using starter kit all OSS, Drupal
DATA
government open data
data.gov
datasf.org
standford open data: SNAP, Opendata, EarthWorks, Open Policing
Socrata
seedme.org
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
Slides: http://exy.gy/egRl
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.
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,
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.
— Alyssa Briggs Hislop (@alyssa_briggs) April 8, 2018
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 https://raw.githubusercontent.com/mcdwayne/PublicDocs/master/NotesITookAtCampsAndBlogDrafts/StanfordDrupalCamp2018-blog-draft.txt | sed -n ‘1!p’ | terminus wp mcdwaynedotcom.live — 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.
Chicago has a special place in my heart. It is the ‘Mecca’ of improv theater. It is the heart of the Midwest, where I originate. But I thin I feel a special connection to the community there since it is where I gave my first ever talk back in 2016 at MidCamp and became a camp organizer for MidCamp 2017. I was happy to come back to the DePaul University campus for MidCamp 2018
This year I again stepped up and co-organized, taking on more responsibility, agreeing to help Avi with social media posting and emails. We scheduled an awful lot of these and it was a lot of work, but I learned a great deal along the way around social media automation, so personally it was well worth it. Also, the camp was a success! We gathered together to keep making Drupal happen! Lot to talk about so let’s get it moving!
Thursday morning was load in for the event and trainings. We had some conference coffee and someone brought donuts. There was a lot to do, but we got people people set up, into their classes and we had an informal sprint day with about 10 people in the room.
Lunch was actually quite great, but no pictures exist that I can find. Instead of a catered boxed lunch or sad buffet line, we got $10 vouchers to use in the DePaul Student Center’s Cafeteria system, which had plenty of options for all. I had the best ‘hot and spicy tofu’ on top of a hearty salad and still came in well under budget. So good.
Opening Social
After a very full first day we had the chance to gather, right down the street at McGee’s Tavern. It was awesome to see my Drupal family gather for a drink and some food. Thanks to New Belgium for sponsoring with some free beer. I am not a big beer fan but their Juicy Haze is actually quite tasty and refreshing. It was a great social to officially kick off camp.
There is a line in “The Coffee Song” about ‘No tea or tomato juice, You’ll see no potato juice’ This was true of this camp. Though we did imbibe some fermented potato juice at some of the after events. Coffee and water were all that were served, but I was A-OK with that. Coffee is the fuel we turn into Drupal after all.
Lunch was again a $10 voucher for the cafeteria and again I feasted on tofu and salad. Others made different but just as valid choices.
This breakfast burrito for lunch was a life choice. A terrible life choice. Look at how small my hand is. #midcamppic.twitter.com/OsrJBGMsd0
Friday night brought with it amazing tacos from a local food truck (Name to be filled in later when I remember it or someone comments on it) and board games! I got to play a modified version of Zombie Dice which eliminated the red dice, as we could not find them. This does not make for a good game. I also played Dixit for the first time. Very interesting rule set and just fantastic illustrations. I think anyone would have a good time just looking at the cards and not worrying about the gameplay. If you ever find a copy of this again, spend some time just looking at it. Totally worth it.
We traveled a few blocks in the cold at the end of Saturday to Derby Bar & Grill which had hummus and pretzels and mustard galore as well as alternatives for those who don’t want all plant based. Again the awesome New Belgium was there for the free beer and Platform.sh stepped up to sponsor this too. All in all, a great night.
A large percentage of us, lead by the amazing J.D. Flynn marched a few blocks to Shoes Pub to sing some DrupalKaraoke together. It was an amazing time and great way to end the camp celebrations. I witnessed while I was there the finest group rendition of Piano Man I have every seen in my life. The entire place for a few minutes was one voice, arm in arm. It was a perfect moment.
Quick note: Due to scheduling issues, I am not doing a round of recaps on these sessions, just pushing raw notes. I do plan to revisit this in the future and recap each section. Thanks for the patience for now.
Raw Notes:
Tells us his rules, what to expect
Talk on Diversity
Last year a lot of people felt they were under attack
the community is suffering
trying to bridge divide
Used to hate Palantir
had bad feelings about thembut learned
1 Don’t ever ever judge someone presenting at a Drupal event
2 Drop your weapons
he was a boxer and football player, weaponized himself and throught of things in zero sum
your tools, twitter and facebook
inflict pain on others if used that way
powerful, so important to be aware of your own weapons
In a focus group at DrupalCon
someone felt it was not inclusive
he thought he was not welcome there
thought he was ostracized for conservative beliefs,
could be number of responses
3 We are all simultaneously victim and perpetrator
this is fundamentally part of the human condition
we should be more conscientious of ourselves and surroundings
Diversity creates value
lot of research into this, diverse teams perform better
87% of the time diverse teams make better decisions
diverse companies make more money and have better user satisfaction rates
better at recruiting talent
OK, but how are we doing and how did we get here?
How diverse is Drupal?
not very
Participants at DrupalCon
18% Female, 52% male, 30% other/unshared
SPeakers
21% female, 33% diverse (on teh big 8 social IDs)
Tech overall,
30% women
Drupal is a bit worse in these areas
overwhelmingly the tech industry is white and male
lot of stats on that
Blind Spots coming on the horizon for the tech giants
hegemony is bad but systemic of old system
Deepening wedge of dispossession
Customer Distrust
clients demand more diversity
So what is going on here?
Capability Issue vs Systemic Issue
people get up tight about these issues
if capability issue is false, which he believes, then systematic is heart of issue
He interviews a lot of people, especially right out of school
sees kids that are super good, across all lines, good people are good
Super Smart
Really nerdy
socially awkward
(asks us to stand if that described us in our younger days)
over half room stands up
raise hand if still true
almost all raise hand
these are our people
Barriers
Pipeline
Selection Bias
Mentorship/Role Models
stop and think how we each got into the spac
Lauren’s Law
(Lauren is a young engineer at Palantir)
I fell backwards into Drupal
didn’t have a CS degree
liked web stuff
that described most of room as well (we stood up again)
Career Risk Taking Prereqs
desire, interest, capability
a place tot learn/eperiment
mentorship
validation
community
a place to ‘land’
safety
4 Safety Nets
shows video of missing a trapeze move
falls into net
Safe place to land, he was upset
but the net was there to make sure he was OK and could try again
Minority populations and Risk taking
Dispossession opportunity and ris taking
First one to X syndrome – got to stay on a path to make people proud
performing with no net
high school -> College
and then something happens
financial aid lost, family crisis, hae to leave school to find a job
bounce job to job
if lucky then find a way to learn a skill
How do we put Open back in Opwn Source
5 Make it a safe space
be visible
Proactive inclusivity means continual calibration. “How did that sound to you?”
So what is next?
Atlassian survey
over half wanted to learn more about their colleagues backgrounds
5 accountability challenges
Raw Notes:
At Higher Ed conference talked to person who didn’t know where to start
she talked he through it and thought others would benefit
Sales is like dating. Need tof ind the right partner
need to be excited about it
Stages of dating
If you don’t get a call back, she is sad
prevent that
Do you even need an RFP?
Avoid it if you can, talk to people instead
but if you have to, don’t be a bad date
10 things she hates about the process
Asking for copies
on a flash drive or (eww) CD
physical paper copies
spreadsheets with hundreds of boxes to fill
notary
wet signatures
objections in the proposal stage
no outline of goals
uploading a DB
40+ RFPs…
nightmare scenario
Phrases that mean nothing
like state of the art
best solution
Cutting Edge – not the same for everyone
dig into these adjectives
“Integrations”
Specific to region (“nothing in Northern Ireland”)
banning slavery funded businesses…holdever from very long time ever
Worst Date Ever story (sprocurement)
27 pages long
scope was only 1/2 page
zero info on goals
many questions
6 attachments and a flash drive
scope was very vague
Very!
26 pages on how to submit the RFP!!!!
214 questions were asked
Quotes ranged from $35K to $235K
they STILL have not picked a vendor after 2.5 years
So let’s build an RFP
1 BE SPECIFIC ABOUT YOUR GOALS!
avoid all generalities
BAD: I want more traffic
Good: We want more traffic on these pages because…(specific reasons).
2 be specific around constraints
key dates to hit
external forces
brand and ID guidelines
vacations
3. Please tell us your budget
for real, tell us!
seriously!, she means it
at least give a range
if you don’t have a number in mind, ask “Do you think it would be between X and Y?”
That will get some reaction
4 Tell us your exclusions
What is def not in scope
specify URLs
Who is in charge of content creation
Who is in charge of hosting
5 Give details about integrations
Bad: Integrate with LDAP
Good: integreate with Active Directory with LDAP to do x and for y reason
6 List external resources
by role
by skill
Are they interested in working in tandem with us?
7 outline the status of your content
Have you audited content?
Anything being archives?
help them nail down the specifics early
8 send it to the right people
in early days she looked at RFP database
she picked one
went through a ton of work
they went through 100 submissions took months for them to respond
avoid RFPs that are open call
random submissions are bad
9 Give time to respond
at least 10 business days
more like 3-4 weeks is better
10 allow for Q&A
most of the time this is present
can be via an organized conference call or ad-hoc
Send all answers to all vendors regardless of who asked
11 Don’t ask for spec work
we don’t work for free
work without a strategy is no good
see nospec.com
12 Streamline the paperwork
be mindfull of time
reduce formatting or paperwork requirements
keep it simple
13 Give a decisions matrix
how will we be judged?
what is weighted heaviest
geography? cost? clarity? etc.
14 realize you are buying a process, not a product
look for related experience
look ro effective problem solving
Responsive design example, no one every built one in 2011, we learned how
no one asked for one
KEEP IT SHORT
you can really do it in 3-5 pages
Lastly: Feedback please…call us back
cover page photo strategy
Raw Notes:
Defining conflict
can be positive or negative
benefits
cross pollination of ideas
can help people find creative solutions
can help clear the air around team members
something people are not saying- tension
sometimes just need to get it out in the open
ultimately if conflict is handled well, can build trust and improve relationships
confilce does not mean you can not engage in an respectful way
Consequenses of negative conflict
When conflict is out of self interest can derail the organization
can damage relationships and end up with toxicity
Unmet needs often lead o neg conflict
don’t feel heard
Feel contributions are not values
interests are not being represented
feel hurt by something someone did
One will prevail over the other
you end up feeling left out and conflict
How? does this happen?
Technical disagreements turn to personal attacks
frustrations with the amount of time it takes to review patches/project applications
people lashing out in issue queues
During the D8 release, saw a lot of conflict
many people declines in contributions
lost moral
has a real impact on diversity
Only 3% of OSS contributors are women
in drupal it is 6%
still terrible!
we literally have no idea how many people of color we have in the project
Code of conduct can help
it is not enough by itself and does not remove issues
just way to understand rules
a COC is worthless if there are no structures to suppport if ther are no structures to support it or mechanisms to enforce it
Enter the Community Working Group
help resolve conflicts between community members
Uphold the drupal COC
Recognize community leadership
Provide conflict resolution resources and guidance
whatever we can to help improve the overall health of the community
no funding, no direct Drupal Association connections other than Dries
Dries mandated they should exist
lot of conversations around what governance means in the community
blog post on D.O with bullet points
session at DrupalCon about the specifics is coming
values and principals need to be true from the top
things get stuck as these things are complex
Ultimately we need to take responsibility for our words and actions
compassion and forgiveness are intertwined
This talk is amazing! If you have ever wondered “What is this OOP all about?” then stop wondering and go watch this talk!
Raw Notes:
Write a modular reusable and flexible codbase that is easily extended
Pokemon Journey
pick pikachu
electirc,
attack: thunderbolt
These are like classes, which are blueprints
properties
data points
methods
class-specific functions
creating a Pokemon Class
class Pokemon{
public $name;
public $type;
public function __construct($name, $tyep)
{
$this->name = $name;
$this->type = $type;
}
}
$pikachu = new Pokemon(‘Pi
$pickachu->attack;
Wild pokemon appears
how do we know the difference
Oddish
grass
Poison Fire
Inheritance is about sharing
parent class
child classes
overriding methods or properties
tree analogy with parnet class as trunk
Extending the Pokemon Class
class ElectricPokemon
class Picachu extends ElectircPokemon
Inheritance in Drupal
interface WidgetInterface extends WidgetBaseInterface
Gym Battle!
need to think about comparing and contrasting trengths for strategy
Pik
water (str)
Ground (wkn)
Getting data from our Pokemon
PHP magic methods: __get() and __set()
Getters and Setters in the child classes:
class RouteMatch implements RouteMatchInterface {
Using a Pokemon Ojbect
interfaces are like contracts
all methods are public
class ElectircPokemon implements PokemonInterface
Creating a Pokemon Evolution Trait
$nextEveloution = $this->evolutionsstate;
You win your first badge!
one looks like the Drupal Drop 🙂
functionlities on badges will change
plugins are like functional lego blocks
many types of plugins
different behaviors | common interface
Pokemon | plugins
abstract class PokeBadgePluginBase extends PluginBase
class DrupalBadge extends PokeBadgePluginBase {
To be the very best!
tournaments
needs stats of wins and losses
services are like swappable operations
-same function | swappable code
-global available
creating a PokeDataInterface
call the pokemon service
new Pokemon
$pokeDataHelper = \Drupal::service(‘pokemon.pokedataservice’)
$data = $pokeDataHelper->
Services in Drupal are swappable
email.validator good example
when possible, inject your services
Pokemon Dependency Injection
you need to lead it and a container to load it into
if you are in a custom block, do you have a constructor? It tells you if you need to write the service into the interface
bit.ly/oop-midcamp-2018
Raw Notes:
Defined: Salty – to be upset or bitter, often used to express feeling left out or frustration when things don’t go your way
Augmented teams are when 2 or more existing teams come together as one for a project
cultivating healthy teams going agile are other topics she talks about
Drupal has many companies with distributed teams like Amazee, which makes things a bit early
when do you augement?
Internal dev team?
Are you looking to hire?
Are you just looking for one project consulting?
Let’s talk about teams
scrum master, PO/PM, Devs
technical design review vs functional review
if you are in a run well kitchen, they don’t talk, works as a fine tuned machine
what you want your team to be like
when you bring in new parts of your team, they bring unique things
maybe using comments differently or chat differently
team dynamics can change
Each person can change team and the team needs to adapt to each streength,
if done wrong fights and such
we all start making assumptions
normal project they just lead and lay down how it works
with this they realized that would not work
added a single point of contact, made sense to them
problem is that they interpreted that request differently and assigned wrong person to this task
who’s driving, import to know
differnt than who is in charge
notes, repo, lot of organization logistic works
was not clear in their case who this was, too many people made too many suggestions
lot of time building RACI
Everything can not be a priority
if all are, none are
also different paths present to how to get to end result
like blindfolding carpenters
without the communication of this it ended up being very peicemeal
let’s check in!
during this time they had a lot fo spreadsheets
but also learning React at same time
realized they were doing too much and incorrectly
So we paused the project
got everyone in the same room
where it happens
turns out their side had never worked together as a team before
missing team dynamic
this got everyone on the bus
they enforced that building a website is NOT like building a house
once rescoped as a larger picture they got on track
building a website is like a road trip
only so much gas, so much money and so much time
start here, end there, but know there are a lot of options and directoins you can take
back to who’s driving
visionaries should be informed, but they were not being translated and communicated
Where are we NOT going
have to suss out what is out of scope for this project, make it to new project
want to see heads nodding
after every point asking “nodding head, we agree, we don’t agree? this is your chance”
changes calls because people realize they can’t just go back and add on later
getting into specifics
what the thing will be and what will be in it
planning is a group activity
Get everyone to know where they are
fail fast, fail often
when you get to the end, it is like a three legged race,
win the race with good teamwork
Raw Notes:
was listening to a podcast
they had a spreadsheet with a lot of data
At the time decoupled was very stressed
he wanted to learn
the flavors
coupled – all Drupal all the time
progressively decoupled, Drupal still JS sprinked in
Fully Decoupled: JS framework communicating with an API to get data from Drupal
He went Fully Decoupled
limited editorial needs
wanted to go all-in and learn React
Options:
Reservoir
Contenta
Drupal8
Reservoir is the back end to your front end, maybe the easiest but simple
Contenta, better access to vocabularies, comments, media
a more Drupal oke approach to extending
D8: You can roll your own
he used reservoir
migrating the data
please hydrate, it is important
google sheet -> drupal8
creaed custom migrate module
pulls data directly from Google Sheets Plus JSON
if you publish file->publish to web .check. republish on update
real tme access to a public URL data
migrate, more like Mi-great!
I always see room for improvement, but I got a great reaction from this talk and it turned into a group conversation as I was hoping. Thanks for all that came out!
I am so happy to be part of the community that makes Drupal. Even though I have no pull requests for core or any other badges, helping others contribute has been amazing! Special thanks to the Drud team for leading the new contributor session. All in all about 40 people came out to sprint and make Drupal better.
Lot of very awesome plant based options for meals and the wondrous Chicago area Drupal community made this trip amazing. I came back tired and glad ot get back some of my mental space, as I am sure the other organizers did as well. If you are reading this far and are all like “I want to help organize a camp” then I say Do It! It is very rewarding and you learn a lot in the process.
MidCamp will always have a special place in my heart and I can’t wait for next year!
#MidCamp 2018 is in the books, and we couldn't have done it without all of you. Thanks to our trainers, trainees, volunteers, organizers, sprinters, venue hosts, sponsors, speakers, and of course, attendees for making this year's camp a success! https://t.co/002lsDZS55pic.twitter.com/8sjn2p09RG
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.
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
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!
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
init
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
REFS
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
Commits
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
DEMO TIME
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
fetching
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
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
basics
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
quicker
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
DEMO
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
tmux
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
shortcuts
demo
at the start of what we can do with vim
vim config that helps you do things like debug easier
:w
:q
Fugitive – vim plugin
seatags
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
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
fluidity
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
intersectionality
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
awareness
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
content
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!
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
print_r()
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
XHProf
Tidewater
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
multitail
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
recreate
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
watchdog
drupal::logger
etc
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
name=author
ends up with
All english
all dead
all white guys
copyright
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
hierarchy
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
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.
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.
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.
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!
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.
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 design4drupal.org site)
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 mass.gov! 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.'”
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.
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.
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.
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.
This is THE BIG SHOW for Pantheon! The biggest event for Drupal every year. This was the 4th one I have attended in the US, 5th overall. My first DrupalCon was in Austin, TX in 2014. It literally changed my life. Before that event Pantheon was just a really awesome job in the valley, for sure my favorite so far. But from day one of that event a few years back I realized that Drupal was way more than a pile of code. It was a real community.
Austin was also where it first hit me what the heck Free Open Source Software was really all about. Free as in speech, not as in beer. Free as in society, as in enthusiastic voluntary community. Walking away from this year’s event, I had been reminded of that point and feel an urgency of renewed purpose for making this whole free and open internet thing work. More on that later.
Monday:
My week at DrupalCon started with the Community Summit. This is meant for the folks who have organized community events like DrupalCamps, Meetups or anything else community focused. I arrived fairly late in the day, due to a few travel hiccups. The day was already in full swing and I raced to catch up, which was not too hard since everyone was eager to help me get on the same page. I was very grateful to be included in the conversation and feel I saw some real progress in the team I joined. It was awesome to work with my fellow MidCamp organizer Avi Schwab and organizer of DrupalNorthAiden Foster to further the cause of making Drupal Community happen. I highly encourage you to go participate locally and do what you can to keep things growing.
Directly after the community summit ended, the conference floor opened up to attendees to meet and greet the sponsors. This is when we got to roll out this year’s version of Booth Demo Magic. This is one of my favorite things about working at Pantheon. It is part magic show, part TED talk and part “Mother of all Demos”. This is where we unveil the amazing work we have done and get people fired up about the future of the state of the art.
This year was the best year in in my attending. Watching the demo is the only way to get a Pantheon shirt, which is screen printed in front of you on demand and in previous years, this was the main reason a lot of people who already knew us watched the presentation. This year, dropping the names of tech we were going to show how we integrate with caused such a huge stir that I think we might have had the same turnout even if we didn’t have the best shirt of the convention. As people passed and I said “Do you want to see CircleCI with automated testing setup from a single CLI command” heads snapped our direction, eyebrows raised up and people turned around to go find a place to sit in front of our screens. It was amazing. Really set the tone for the rest of the con.
Monday night dinner:
Every year Pantheon sends a large number of us Pantheors to DrupalCon and many of these folks work remotely. DrupalCon gives us a rare chance to sit down as a group and have a good meal. We were not disappointed by the friendly staff and quality of food from Roy’s Hawaiian Fusion. Very tasty and I found out there is a ‘secret vegetarian’ menu they do not advertise but which has some pretty OK offerings. If you go, ask for it.
#Drupalcrawl
No Drupal event of this size would be complete without a good old fashioned bar crawl and I left the Pantheon team dinner to join the unofficial official #Drupalcrawl as it pulled into the last scheduled stop, Tír na nÓg Irish Bar & Grill. It was so great to see so many of my friends from all over the world in one spot to raise a glass to Drupal. Special shout out to the crawl organizer Jason Mickela. He is one of the nicest people ever and the smoothness, inclusiveness and togetherness of this event re-enforced that notion. If you are looking for a low stress thing to do with your local Drupal (or any other) community, suggest a pub crawl and let the bars do the heavy lifting.
Tuesday
Coffee before a keynote was mandatory and I dug into my snack bag for breakfast, which is mostly almonds and a few other goodies to keep me going on the road. Coffee was abundant and OK for a trade show.
Lunch on the other hand was absolutely amazing. I went with the special meals option and was rewarded with fresh and delicious food that looked way better than what was on the buffet lines. I had a delicately crafted mushroom ravioli and pretty great veggies on the side. The care and attention to folks with dietary restrictions was pretty epic and I applaud the Baltimore Convention Center catering team. Well done!
Tuesday Partner Dinner:
Working primarily with agencies here at Pantheon over the last 3 years I have had the extreme pleasure of getting to be part of the Partner Dinner at DrupalCon, an annual tradition to say thanks to the fine folks at our partner agencies that leverage our product for their livelihoods. It is such an honor to get to sit and talk with these folks and hear the stories of how their lives have been impacted by the tech we work on.
The food was pretty OK. For the second time that day I went with a mushroom ravioli and a very lovely bowl of berries for dessert. Not to knock this place but the lunch was, by comparison, on par with the quality of this upper scale private dining venue. I ate my fill and I think they nailed portion sizes, which was great because I didn’t need to be in a food coma to make it to the next stop:
DrupalCon Karaoke!
If you have been reading this blog, you already know how much I love karaoke. The music, the drinks, the togetherness and most importantly the act of publicly displaying the love for a song. We were in real luck in Baltimore as the Tin Roof had live band karaoke! A four piece band backed up singers, giving them the choice of hundreds of songs. They even claimed to know many more than were in the songbook but they listed out the most popular for us all.
There were about 100 Drupal folks gathered together and we didn’t all get the chance to take the stage, but we all had a chance to cheer and sing along. The band was even so gracious as to extend their time. Being a particularly dark and rainy night in Baltimore, we got the vibe that without the love of the con-goers they would have wrapped it up early and called it a loss. Thanks to the good Drupal community believing enough we made it one of their best nights ever we were repeatedly told. Karaoke is an amazing way to bring folks together. Make sure you are singing with your community!
Again, the lunch options for special diets were pretty good, though I had the bar set extremely high the previous day, so I wasn’t as bowled over. I had a poblano stuffed pepper with daiya and I think cashew based filling. That part was awesome. The rest of the meal was chips and run of the mill guac. Living in California I will admit I am completely spoiled on fresh super high quality avocados, so most pre-packaged guacamole is belh at best. Desert was a cookie, which I did not try. Coffee was pretty OK too.Wednesday night brought the largest of the out of venue events: The Lullabot/Pantheon party!
Every year this party gets a little bigger and wilder. This year was the biggest yet and was a real hands on experience. The party took place at the Maryland Science Center! We were surrounded by dinosaurs, interactive exhibits and all sorts of fun and drinks. Really an amazing time and so many good memories made. The photo booth was hopping from open until they kicked us out at the end.
The un-official after party:
All I will say about this is vegan liquid nitrogen ice cream, Chaz Chumley on DJ duty, Andrew Mallis and his crew to the rescue on supplies and community making a crazy night awesome! That’s about all I care to say. Other than that, you really just had to be there. After all…what we do is secret.
Thursday
The morning started with much, much coffee and the best keynote of DrupalCon! Lunch was a pretty solid veggie wrap, chips, cookie and salad. Of the 3 days, this was the most standard convention fare of the week on the special diets menu. Nothing to complain about but nothing so outstanding as that ravioli on day one.
For dinner there was a large contingent of folks I like going to get some crab, which Maryland is pretty famous for. I accompanied them to get a drink but looked elsewhere for food. I was certainly glad I did for a couple reasons.
First, it was the best greens I have ever eaten at this pretty awesome vegan soul food joint called The Land of Kush. Even if you are not down with the plant based food path, seriously go check this place out. Pretty epic food at ridiculously low prices given the portions.
The other reason I was glad to have split off was the walk back. Yes I walked across Baltimore and I think I hit every best neighborhood in the whole city on that walk. Baltimore is only known by many folks because of The Wire. This show focuses exclusively on crime in “America’s Finest City” What they leave off is there are parts where it feels like the nicest parts of Manhattan or DC. From the Washington Monument to Power Plant Live, I followed a path filled with quiet parts, statuary, interesting and very old architecture. I felt very safe the whole time and recommend this walk if you ever get the chance to be in this east coast gem of a town.
Trivia Night!
My official end of DrupalCon was once again this fun filled evening of trivia and fun with us answering some interesting and at times frustrating questions at the Baltimore Soundstage. It was great to work with my old friend Jeremy Rasmussen and some new friends to have a good time and a few laughs. It was an ideal way to cap off the event and I left exhausted but very happy.
Since I was there to hustle at the Booth Demo Magic I didn’t get a chance to see many sessions. I did see a few though and really wish I had been able to see more. The Prenote!
Every year JAM is the Master of Ceremonies for this lighthearted spectacle, designed to get us awake and ready for the Driesnote and the rest of the day. This year there was a bit of a somber, slow start. As you might know there was some controversy in the Drupal community over the last few months and JAM addressed this at the start. It came as a plea for healing and h provided a few links with resources he thinks will help guide us to be a better community overall.
With the tone now set to a bit darker than expected, we saw a colorful cast of costumed characters emerge on stage and the real prenote fun turned on. We met a green haired DrupalCon newbie named “B. Ginner” who was shown the ropes by a whacky bunch of community folks through song and dance. The biggest lesson is that at DrupalCon, “you can’t go two steps without a hug”. In fact this is officially part of the PHP coding standard, PSRB8.
If I had not already sensed it, this was the signal that DrupalCon was going to be good this year. Really good.
Dreisnote:
Here are my unfiltered notes:
“Sorry I hurt you, It hurts to see you hurting. Q&A best time to talk about that”
Focus on software
Drupal 8.3
15,000 sites per month launch with D8
Ambitious
YMCA not just a website, interconnectivity between systems is powerful
Drupal has evolved, from project for hobby to something as a powerful to power things
“enterprise” is misleading, non-profits and libraries are not really enterprises
Ambitous digital experience
ecosystem is ambitious as well.
“I was right” city of SF story
Lot of modules to port, please do that
1 million D7 sites need to be migrated
6 month release cycles are important
Depricated APIs will still be supported
D9 will Be d8 without the deprecated pieces
Going to make upgrade path simple and lot of time to update code as D8 evolves
8->9 should be as easy as 8.2->8.3
7-8 might be the last hard upgrade
Core team has added 4 people, with hundreds of hours of contrib
Previews of what is coming
impressive editorial process changes
autorespond-bot is on git hub (based on obama admin whitehouse work)
The first non-note talk I got to see was “Project Management The Musical!” by the amazing duo of Allison Manley and Joe Allen Black. This was to be the final performance as they were retiring the session. I had been there over a year before in Midcamp when they had premiered it and was eagerly looking forward to see the last show in the run. It knocked my socks off and for only the second time in any session I have attended, I was part of a standing ovation. The other time was the opening show they did.
Rather than explain a musical to you, it is best to just go check it out here!
This one caught my eye as it was on the community stage and featured one of Drupal’s more colorful characters, the awesome mustachioed JAM, from the prenote. He was presenting with an unexpected guest, Mattias from Typo3 community. If you are not familiar with their PHP CMS project, you should take a look. They use some of the same PHP libraries and there is a lot to learn from it, much like we can learn from WordPress or Joomla.
What they spoke about shook me to my core and was a personal wake up call. I make my living off of the open source world and that world is under attack. They explained that although free and open source software seemingly has won the battle for acceptance in the enterprise world, that fight is far from over. While we have enjoyed a golden era of FOSS acceptance as the seemingly default ‘right’ approach, the large proprietary software makers have not gone away or even shrank. They are using their size and vaults to lobby for position harder than ever. They duo shared a few stories that have left me concerned in ways I had not thought about before.
First:
There is a set of laws on the books, but not yet enacted in places like France that say ‘a CMS must have a creator maintained SLA’. Yes, that means all CMS must have a creator to deliver SLA for their software to be considered for government contract. Who would be eligible in Drupal or WordPress? They also discussed the Canadian government’s recent RFP that was written to exclude open source on similar grounds. This is a troubling trend.
They also shared Joomla’s story of temporarily losing tax status for their event governing organization. This would have been disastrous had the other open source communities not banded together to help define German tax law. How close did we come to a slippery slope there? Too close to comfort for me.
The good news here is that it is not too late. We still have an upper hand as we have a whole community to act, which is more valuable than any pile of cash. We just need to work together to continually make the slice of the (web technology) pie bigger for all of us. Let’s compete against the non-CMS market and the proprietary stacks. There is enough room for all open source to win online!
She started off with a dance party! I felt way more energized after that for sure!
I went to this talk because I am very interested in project and team management subjects. The more I learn it seems the technology, though sophisticated, is not the hardest part of a project to manage. It comes down to how you work with the other people involved. Disengaged employees are not good employees. Satisfied employees are OK, but not going to go above and beyond and ever do more than told. Solid though and not too hard to engage though. Engaged employees are thrilled to be there and feel personal stake in the effort. You want as many of these folks on a team.
Openness is the key to achieving this. Share everything. Trust your team.
It is important to remember that communication is different for different people. For example introverts find group exercises and discussions distressing, and extroverts might not do well with just online exchanges. Read books to help understand other’s perspective and definitely listen when given advice. Engage your teams.
The Q & A was very good with some real advice and tricky situations discussed. I was very glad to be there and this is a talk you do not want to miss!
Drupal 8 is built on Symfony, which is a collection of 35 independent libraries. Drupal uses less than half of them! That means that there’s a ton of other good stuff that you can bring into your project to solve common problems…as long as you know how, and what those components do!
That is the session description from the website. I couldn’t describe it better. Go look at his slides This was the best technical talk I saw during the whole con.
Another technical talk, and the last non-note session I caught. I have no need for such tools in my current role, but I strive to understand the deploy process and affiliated tools better all the time, since it helps me relate to the developers I am helping use my platform. Our presenter delivered a lot of humor and fun cartoons along the way while discussing a very serious issue and delving into multiple github repos. I felt very grateful at the end that I don’t have to hand build such a system nor maintain it. Very informative talk.
The last session I had the opportunity to see was the day three Keynote delivered by New York Times contributor and author Zeynep Tufekci.
Here is the short version. We are barreling towards Huxley’s dystopia, not Orwell’s. We are giving so much of our data away to folks who, admittedly are maybe not currently going to abuse it. But what about their successors? What about 2 generations out? These are tough questions. There are a lot of good things happening, but the potential for abuse is astounding. Make sure you check this out, if for nothing else than her story of a bus driver commandeering a bus for an earthquake relief process.
This talk really reiterated for me that the Free Open Source Software fight is more important now than ever before.
"We need to broaden who gets to be a technologist" @zeynep#DrupalCon
I left Baltimore early in the morning for WordCamp Chicago. It was an exhausting week and I left feeling a little sore, but in amazing spirits about the future of Drupal and with a renewed sense of purpose toward FOSS. This was the best DrupalCon in so many ways. Go visit this city, it is a real American gem.
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.
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.
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.
Lunch is at 12:30 on the 1st floor. Look out for special diet options at the end of either table. pic.twitter.com/aDCgWPdKK0
At the end of the packed day capped by the lightning talks, we started Game Night, sponsored by Palantir.net. 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 platform.sh 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.
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.
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 Drupalize.me: 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.
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!
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.
IoT problems: when someone says “did you press the button” and you don’t realize it’s the record button, not the IoT one #MidCamppic.twitter.com/zuiPRUYc7Q
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.
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.
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: https://www.midcamp.org/organizers. 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!