My WordCamp Miami 2017 Experience, Part 2

Part 2 of 2.

Paul at the Sucuri boothI will mention briefly that I sat in a couple of sessions over the course of the weekend where presenters gave bad advice, security-wise.  I didn’t say anything at the time because I didn’t want to be “that guy” who interrupts and contradicts a speaker.  I don’t particularly like it when I’m presenting and not every speaker is confident enough to handle an interruption. Just remember that nothing from the client is safe, nothing from the client-side can be relied upon.  If you didn’t generate it in your code, the data is tainted and you need to treat it as untrusted.  If you have to use the data, verify the data is what you expect it to be and escape it before you send it back to the user.  PLEASE.

Welcome to WordCamp MiamiAs I mentioned in part 1, Fernando was kind enough to swing by and pick up Shilpa and myself for day 2 of WordCamp.  While Shilpa headed into the conference area to get set up and prepped for her presentation, I volunteered to help Fernando get that morning’s breakfast all set up.  Of course, this also meant I had an early jump on the coffee.  😀 After grabbing a couple of cups, I went in to the vendor area to make sure Victor and Sal had survived the various events from the night before.  After visiting for a few minutes, I went back over to the main venue to make sure I had a good spot for Shilpa’s presentation, Lessons From Marketing Disasters.

Email Marketing Rookie MistakesMarketing isn’t what I do on a daily basis, so normally I wouldn’t have attended this track at all, but I wanted to be there as moral support for Shilpa, and as I suspected, it was a fantastic presentation.  She did a great job of going through the trials and tribulations they faced at her company; the assumptions they made and how they were incorrect, the actions they took on those incorrect assumptions and the outcomes that came from it.  She then explained how they adjusted course using data and smart decisions based on industry best-practices.  I sincerely wish that some key people on my campus would have seen this presentation.  She covered using surveys, exit pop-ups, A/B testing, funneling and iterative changes to both the process and the site.  I would definitely suggest checking out the slidedeck as well as the recorded session (starts at roughly 00:27:00).

Nizar Khalife IglesiasFrom there I jumped back over to the Learning Javascript Deeply track which was what I had been looking forward to diving into. First session I attended was Nizar Khalife IglesiasCallbacks, I Promise to Explain.  While I can’t say I learned anything new, Nizar did a splendid job explaining callbacks in a way complete novices should be able to understand.  It is most definitely obvious that he teaches these concepts.  In fact, I might have to steal some of his slides if I ever find myself needing to teach javascript. OF course, I’d have to swap out his pizza examples with coffee. If you are new to javascript, or have ever wondered what callbacks are, how they work, WHY javascript uses callbacks, or need clarification on why javascript is asynchronous and what that means, definitely check out his slides and the recorded session (starts at 1:31:00).

Michael Dyer presentingInterestingly, the next speaker never arrived.  I have no idea what happened.  I was bummed too because I really was interested in learning more about the Angular Ecosystem.  However, the next speaker, Michael Dyer, was available and agreed to start early. For me, this turned out to be a blessing in disguise as Intro to GraphQL for REST developers ended up being one of my, if not THE, favorite session.  In a nutshell, GraphQL is a query language for APIs. Instead of having to perform multiple API calls to gather all the data on the page, you can query GraphQL (running on the server) for exactly what you need even if it spans multiple endpoints in the API.

Mind blown
Mind. BLOWN!
Val's Son, a little Sucuri Ninja
Val’s son Matthew who I had the pleasure of meeting. Has nothing to do with this post, but look at how cute he is!

But Wait! It gets even better! By adding resolvers you can query across APIs! Have a faculty member who writes posts (one API), but you want to include the classes they teach (second API) and some biographical information from their faculty180 profile (third profile)? You could get it all, and only what you need, with one call! My mind was racing with all of the possibilities and use-cases.  Interestingly, everyone else in the audience seemed to be struggling with why you would use GraphQL at all.  I was stunned that they weren’t able to see the potential. Instead of wasting processing time and expensive calls to the API, and receiving data pieces you don’t need, you can make one call to the API and let the server handle gathering everything for you and receive only what you need.

I grabbed Michael after the presentation and discussed it with him some more.  Turns out, Michael is an incredibly smart guy as well as really nice.  He was more than happy to dig into it more with me and show me some of the other stuff it can do. He even showed me how easy it is to set up a resolver.  We ended up having lunch together to discuss it further, as well as reminisce about the good old days of the internet back in the nineties.

Before the afternoon session, I headed back over to the Sucuri booth, and that is when I fell head over heels in love.Victor and Sal introduced me to Cuban espresso.

Seriously, this is the best coffee I have ever tasted.  I was hooked.  And I was wired. I all set for the afternoon sessions.

I really wanted to see the afternoon sessions in the Learning Javascript Deeply track, but I had volunteered to be the room MC in the User Track.  Users Track definitely isn’t normally a track that I would be drawn to, but ended up having some really interesting sessions.  First up was Dr. Nancy Richmond  (she teaches classes on Social Media at FIU) on Does Social Media Make You Happy? Answer?  Yes and No. You’ll have to watch her session to find out why, but one thing she mentioned is that people are happy when taking selfies.  And she made us take some.

Turns out we’re even happier when we take selfies with other people so she instructed us to take a selfie with some other people.  I didn’t know anyone else in the room, so I had to grab some random people for my group selfie.

Sorry random people for not getting your names so I could tag you, and for the horrible picture. I blame the Cuban coffee! 😉

She briefly covered disclosing too much information about yourself online.  I wish I had had the opportunity to discuss OSINT with her and how social media is a huge tool in gathering intelligence on a target.

I’m not sure why I have my arms raised

After that was Rachel Lucas (from WPBICO) to discuss Zero to Zen and Naomi Bush (from gravity+ Pro) on How We Built a Custom WordPress Site and No Custom Code. I’ll mention quickly that after seeing Naomi’s presentation I get why people like gravity forms, but I just can’t get over their less-than-ideal history with security issues and that they make it too easy for people to collect data they really shouldn’t be collecting.   When you collect data, you take on the responsibility of protecting that data.  You become the steward of that data.  And people far too often collect everything just in case, when they don’t really need to.  Rule of thumb: you can’t leak it if you don’t have it.  😉

Last up was Adam Soucie to discuss Getting Back Up Again – Developing with Mental Illness (starts at 00:03).  Just go watch it.  Seriously.  Incredibly moving. As someone who has also struggled with mental illness since my teenage years, I applaud his courage to get up and discuss his struggles in front of an audience and for bringing attention to those who suffer.

Last everyone headed back over to the main convention area where we did 80’s and WordCamp trivia and giveaways.

And just like that, WordCamp Miami 2017 was over.  People said their goodbyes, hugs were given, and Fernando gave me a ride to the airport.  I had an amazing time. I didn’t meet a single person I didn’t like, and I hope I made some connections that last much longer than the short time we were together.

Thanks again to Victor and Sal from Sucuri for letting me hang out with them. And the cuban espresso! I sincerely hope we get a chance to hang out again in the future.

Victor, Sal and myself hanging at the Sucuri booth