CFCamp 2019 Recap
Sixteen hours in planes. Twenty-two hours of overall travel. And a 14-hour nap. I’m now back in Sacramento and somewhat right-side up after CFCamp 2019, the quintessential CFML / ColdFusion conference for Europe!
As always, CFCamp is well worth the long flight it takes to get there - 13 hours in the air for me. :) This was the tenth anniversary of CFCamp, and the conference continues to grow, getting the largest attendance level yet! Like last year, CFCamp was at the Airport Marriott Hotel and we had all the same perks as before — good food, great venue, everything in 1 central location, with a variety of restaurants and other amenities only a short walk away.
CFCamp is also usually my one chance a year to see several European friends in person and catch up via something other than a Slack channel. That alone is worth the flight and jetlag. :)
Better diversity and inclusion
In an attempt to make the event more welcoming to everyone, and get better diversity among the speakers, CFCamp used a completely anonymous process for speaker selection this year. It worked! Last year the event was all us white guys. I have no idea what the speaker selection process used to look like, but the 2019 speaker list included roughly 20% women speakers! It’s not the 50/50 split I’m sure they’d like to see, but going from zero to 20% is a good improvement! Semi-related, there were pronoun stickers at the registration booth for our name badges. In a world where so much bias and harassment can cause problems, I’m glad to see CFCamp making a solid effort to promote the message that everyone is included and welcome at this conference!
Additionally, the speakers were informed there would be no “Q&A” at the end of our talks, and instead there would be “office hours” where attendees could ask us questions 1-on-1. Admittedly this was a surprise to me and seemed like a strange idea. I had a nice chat with Kai Koenig about the decision and learned a few things. Apparently it’s a pretty common format for conferences in other parts of the world (he sees it at events in Asia very regularly). Doing “office hours” is a more comfortable format for people new to speaking in front of crowds - there is no risk of replying “I don’t know” in front of a group. Plus (and I think this was the bigger issue), sometimes there is “that one person in the crowd” that wants to ask a super obscure question about a minor detail of the talk — “what happens when you do XYZ technique on a Tuesday at 5pm with this particular set of libraries installed?” We all know the type; they’re not really trying to ask a question, they’re trying to 1-up the speaker and make them feel inferior. Office hours after the talk basically eliminates this; since there is no crowd, there is no ego stroke to such questions, and nobody ever shows up to ask them. Works for me! Once I gave a talk about using GitHub and had a guy like this in the crowd. If it was irritating for me (a straight white male who’s given dozens of lectures, and checks pretty much every box there is on the privilege checklist), I can only imagine how irritating it can be for others. So, that’s yet another improvement CFCamp made this year - nice job!
And there were dogs! We had 2 super friendly conference dogs hanging out with us, enjoying the sessions, and saying hi whenever they had the chance. Coincidentally (I think?) several sessions included dogs in their slides and presentation materials. This was great fun! More dogs and dog-related presentations please! :)
This is Shika The Conference Dog (tm). :)
Better location for the booths, wider selection than last year. The usual players (Fusion Reactor, Adobe, etc) but also some new faces - Tuxedo Computers and DistroKid being my personal favorites.
Day 1 Highlights
Kicking things off on Thursday were Gert and Micha with the Lucee keynote, showing us what’s coming in Lucee 5.4 and 6. There are some great new language features planned, and the project is moving in great directions. You can read my notes from the session for more info.
The Flutter talk (presented by Miguel Beltran and Lara Martín) was a great first look into the language and how it works. I’ve seen a couple smaller demos of Flutter before, this was probably my favorite of them thus far. Flutter is super interesting; I may have to use it for an upcoming project.
I caught Alex Skinner’s talk on “Preside In The Wild” and I’m still wrapping my head around Preside and how it all works. It’d been a long time since I’ve looked at Preside, it was still (mostly?) a CMS back then. Between Alex’s talk and Seb’s API preso on Sunday, I think I’m finally starting to see the light. Will block off time to experiment with Preside soon to see what’s what.
My talk on “Testing My Non-ColdBox Site With TestBox” seemed to go okay, though I want to redo some of the demos now, and add a few more examples. Throughout the 2 days at the conference, I picked up several new ideas for the presentation that I’d like to incorporate into the slides.
I think the audience got some value from the talk, but the “office hours instead of questions” thing makes it harder to tell for sure. I use the “did any hands go up for questions?” barometer to gauge the audience and with this format, no such info is available. (Though as stated above, I’m all for the reasons they did it this way.) Luckily I ran into a couple people at the bar Thursday night that were in my session and got some good feedback there.
Rob Dudley’s talk “A Comedy of Errors ... in Web App Security” was exactly what I needed after my session. It was fun, it was engaging, but not super intense, nor did it require a ton of focus. Rob told stories of several famous security exploits that have happened to large companies, how they happened, and through in a bunch of humour along the way. Go see Rob speak whenever you get the chance; even if the topic isn’t exactly your cup of tea (or if you think it will be too technical for you), I guarantee you’ll get some value out of the session — even if it’s just laughing for an hour. Also, lock down your servers! Anyone can get hacked!
Maciej Treder presented “Asynchronous and synchronous code. There and back again.” — and this might have been my favorite session of the entire conference. Maciej had a variety of easy to follow code demos that started out with older techniques for doing Ajax requests, then gradually refactored them over the course of the session. Each demo made improvements on the last, he discussed pros and cons of each, until we finally arrived at a demo of async/await. Anyone still struggling with learning async / await (or even Promises), I’d recommend checking out this presentation — it’s very well done!
Thursday’s sessions ended with “Distributing Teams: No Kid-ing!” courtesy of Gert Franz and Mark Drew. This was mostly a high level look at how the DistroKid team is managed and how the company has grown, all around their using Lucee as the core of the entire business. I'm bias for a number of reasons (in short, I love what DistroKid does, on a variety of levels) but it was really exciting to see the insides of a successful indie business, all based on Lucee.
The CODEMASTERS Party
Thursday night wrapped up with the CODEMASTERS party. This mostly consisted of the quiz show in which myself and Charlie Arehart got clobbered by the likes of Matt Gifford and Guust Nieuwenhuis in a trivia game. Said trivia was hosted by Rob Dudley and Mark Drew. It was a very similar setup to last year’s party of the same ilk. Next year Charlie and I will totally beat Matt and Guust! Or maybe I’ll just hang in the back of the room eating snacks like I did in 2018 - that seems the safer plan. ;)
(Who took this pic? I lost track of who sent it to me and I'd like to give them proper credit.)
(Rob and Mark recording a podcast shortly after the CodeMasters event.)
Day 2 Highlights
Day 2 started off with Adobe’s keynote. This was similar to the info delivered at the ColdFusion Summit in Las Vegas a few weeks ago, except this time it was presented by Elishia. Frankly, I think Adobe get the most mileage out of their keynotes when Rakshith or Elishia are the ones doing the talking — they’re the 2 most engaging speakers among the Adobe ColdFusion team. That said, CFCamp is such a developer-centric conference, and the current Adobe keynote info is very high level and directed at the business and marketing teams moreso than coders. I’d like to see more of Rakshith’s “What’s new in ColdFusion” info added to the keynote, I think that would help tremendously.
Seb Duggan gave a great demo of how to use Preside to build APIs quickly. And there were dogs in his talk! The demo app included an API with info about various foster dogs. If you’d told me years ago that I could build Dog APIs in 5 minutes, I might have switched everything to Preside right then! :) Added bonuses from Seb’s talk: a reminder about Adam Tuttle’s great book on REST APIs and a mention of “API’s You Won’t Hate”, a website I wasn’t familiar with before.
“End to End Testing of ColdFusion Applications using Test Cafe” was a good preso from Francisco Mancardi that got my curiosity piqued about Test Cafe. The preso didn’t include much in terms of looking at code or demos of the application, it focused more on workflow and high level usage. However everyone walking out of the room got a card good for a 1 year subscription to Test Cafe. Yet another thing I need to block off time for!
Kai Koenig gave a talk about moving to Linux as his main development environment. Kai’s talk included a ton of info about the history of Linux, and how it got to where it is present day. I’m equal parts intrigued and reluctant to move all development to Linux at the moment, however if nothing else, I have some other servers in the office that could probably stand updating to a new copy of Unbuntu. Maybe we can start there and see what challenges arise. (As much as I like my current MacBook Pro, the products and decisions coming from Apple lately leave me less convinced that I’ll be happy with a new machine whenever this one dies. *knocks on wood* )
Brad Wood gave a talk on Design Patters in which he discussed several common patterns and gave small code samples of what implementing them looks like. As a bonus, Brad also included some “anti pattern” info which was also useful. Though of course, my favorite part of his talk was the fact that the code demos referenced dogs! Yay for more dogs at CFCamp! Intentional or not, this theme was adding to my conference experience. :)
The last session I attended was “Comparing Monitoring Solutions for CF and Lucee” with Charlie Arehart. This might have been my favorite preso of Charlie’s in recent memory. It was good to see what is already available with the tools provided by a default install of ACF or Lucee; often I forget about those things and just to straight for Fusion Reactor. (But not every client always has that installed.)
Overall the conference seems like a big success! If there were any issues, I didn’t notice. There’s talk of moving the 2020 conference to summer time but I don’t think there’s been an official decision yet.
Friday night I ended up at dinner in the hotel restaurant with several other attendees. We talked about plans for next year, and traded stories about (what else) our dogs back home.
The only notes I took were from the Lucee keynote. The sessions were all recorded, I’m sure those will be made available soon enough.
Thanks again to Michael, Kai, and the rest of the CFCamp team! It’s so great to see not only this but the other ColdFusion conferences all growing each year. Here’s to more growth in the future!
See you next year!