One of my favorite conferences in the world is Devoxx Belgium. First of all, it tends to have one of the most enthusiastic audiences I've ever seen. Secondly, its organizers are super awesome and challenge you to give great talks. Third, it was the first conference I ever took my Trish to. In 2011, I took her a second time and proposed to her in Paris afterward.
This year, I traveled to Devoxx Belgium for the first time without Trish. It was stressful because I didn't prepare well beforehand. However, it was also gratifying because I was able to make everything work, even it all happened at the last minute. Furthermore, I did the majority of my talks with good friends, which is always a pleasant experience.
The purpose of this blog post is to document my experience this year, so I can look back and say WTF was I thinking?!
I left Denver on Monday (November 6) afternoon and flew to Brussels, Belgium. My flight landed in Brussels at 9 am and Josh and my (three hour) talk was at 1:30 pm. I made it in time, but it was one of the first times we didn’t have a lot of time to prepare face-to-face beforehand. I learned that getting t-shirts printed in the US to save $500 is a good idea, but having to take two suitcases to carry them all is a bad idea.
We did our usual talk and I used Okta's new Angular SDK
instead of the Sign-In Widget to showcase authentication. Even
though the crucial step I needed was contained in my notes, I failed. One simple line to add an
I missed it!
I think I followed up well with a tweet that showed how to fix it. But who knows how many people use Twitter. One things for sure, people tweet more at Devoxx Belgium than any other conference I’ve ever been too! In fact, the #Devoxx hashtag got hijacked by some porn sites and their tweets started showing up on the Twitter wall. ??
I tweeted about what I forgot to do after our talk.
Thanks to everyone who attended @starbuxman and my session on Cloud Native PWAs at @Devoxx!— Matt Raible (@mraible) November 8, 2017
Source code: https://t.co/6deOtoHeeg
FWIW, I figured out why my @okta demo failed. I forgot to add the AuthInterceptor as a provider. Doh! #Devoxx pic.twitter.com/HxdYp6CetZ
Josh and my talk was published on YouTube the very next day, which is awesome.
Tuesday night was the speaker’s reception, so I attended that and turned in around 10 pm. I worked on my next presentation (Angular vs. React) for a few hours after getting back to my hotel.
On Wednesday, I worked all day with my co-speaker (Deepu, co-lead of JHipster) on our Angular vs. React presentation. We worked for eight hours at the conference venue that day and parted ways around 6 pm.
On Wednesday night, I attended a dinner with Ray Tsang (Google Cloud Advocate). We were invited (along with Josh) to a dinner with JDriven. Josh couldn’t make it, but Ray and I attended and had a great time. I got home at 10 pm that night and worked on my next day’s presentation until 3 am.
Thursday, I worked with Deepu for a couple hours to polish and practice our presentation and we delivered it that afternoon. We also advertised the t-shirts we brought.
There were lots of tweets about our talk, but I think this from Daniel Bryant with our recommendations for Angular vs React was one of my favorites.
Our session went well, even thought it wasn’t super technical, and it was published to YouTube.
We had the JHipster BOF late that night (during the conference movie) and only had three people show up. With five committers there, we still had a great time, and it was fun to give Julien the Duke’s Choice Award trophy since he started the project.
Duke might've had a little too much to drink during our BOF. :D
I thought our ratings (~4.2) for the two sessions were “good enough” to call the conference a success. Thanks to the conference organizers for delivering such an awesome experience once again.
I spent the weekend in Bruges and had a lovely time staying at an Airbnb and visiting some local breweries.
On Saturday night, I worked for several hours on the Ionic module for JHipster that I needed for my talk at Devoxx Morocco. That’s where the (self-inflicted) drama began. Here’s the timeline of events that I documented in my presentation after my talk:
- After Devoxx Belgium, tried to finish Ionic module over the weekend.
- Late night of hacking, couldn’t figure out why what worked last week didn’t work this week.
- Discovered Ionic “super” starter was upgraded to Angular 5 in the last week.
- Realized I needed to version the starter or write my own.
- Tried to make OAuth work, because Okta.
- Sunday evening (my talk was on Wednesday morning): refactored everything into an Ionic starter.
- Monday: finished starter, couldn’t get it to work in iOS emulator because CORS.
- Found bugs about CORS doesn’t work over http. Spent hours trying to make it work over https. Couldn’t get a local certificate to be trusted, couldn’t deploy a JHipster app to the cloud (b/c of slow wifi). Even tried cloud-to-cloud, but ran into frontend-maven-plugin on Linux issues.
- Monday afternoon: discovered real issue was that emulator runs on port 8080. Changed JHipster/Spring Boot’s port to 9000, and it worked!
- Tuesday: delivered talk on Cloud Native PWAs with Josh Long. (https://twitter.com/mraible/status/930477708022337536)
- Tuesday after dinner: started working on entity generator for Ionic.
- Wednesday 4am: Got it working!
- Wednesday 8-11:25am: wrote presentation.
- Wednesday 11:30am: delivered talk, showed demo that worked!!
I published the slides from "Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster" to Speaker Deck.
I also made a 5 minute video, because I recorded a lot of my development experience along the way.
Phew! It was an exhausting couple of weeks. I learned something I already knew - you should have your presentation finished before you leave for the conference, especially when traveling overseas!
Nevertheless, I had a great time. At Devoxx Belgium, it was announced that Josh and I both won Devoxx Champion awards. This award is given to speakers that attend all the Devoxx conferences in a year. Unfortunately, they never told either of us that we got it, so we missed it in the keynote. Luckily, it was recorded.
At Devoxx Morocco, they notified me five minutes before the keynote that “I should come” and that they had a surprise for me. I was in the midst of my last-minute scramble to get code working and write my presentation, but I went anyway. I’m glad I did because it was a very cool opening keynote and I was honored to receive a Devoxx Champion award.
I made sure to get my picture with Josh, and his girlfriend Tammie, after lunch.
There are two new Okta open source projects as part of my efforts, but they’ll require some polishing before they’re ready for general consumption. I hope to do that before the end of the year, but the end of January is probably more realistic. Below are links to their repos on GitHub:
For more photos from these events, see my album on Flickr. Devoxx Belgium posted their photos to a Devoxx2017 album, as well as albums for each day: day 1, day 2, day 3, day 4, and day 5. Devoxx Morocco posted all of their photos in three separate albums: day 1, day 2, and day 3.
I want to thank the organizers from Devoxx Belgium and Devoxx Morocco for accepting my talks and allow me to fulfill one of my goals for the year: becoming a Devoxx Champion. In 2018, I plan to slow down a bit and speak more in the US, concentrating on Java User Groups.