Stir Trek: 2023 Edition
Stir Trek didn't disappoint again. In today's post, I review this year's awesome conference in Columbus, Ohio
If you missed a session, the Stir Trek 2023 videos are now on YouTube.com.
Every year, I look forward to two events: Codemash and Stir Trek.
Mainly because it's a reunion of friends and peers I usually don't get to see over the year. Even some co-workers.
When you register for Stir Trek, a week before the conference, you'll receive a box with Stir Trek goodies like your lanyard and badge, apparel (usually a T-Shirt), stickers, and postcards with vital information.
I was starting to sweat three days before the conference as I didn't receive my box yet. Luckily, the next day I received the box (Phew!)
The conference always takes place at the AMC Easton 30 Theater in the Easton Town Center Shopping Mall.
When I arrived, I saw some familiar faces before taking the escalator to the main area (Carey!).
Breakfast was a Tim Horton's feast of donuts, fruit, and coffee (never met a donut I didn't like). I got there around 8:00-ish and mingled with some old friends (David E., Ed C., and Sam B.!) before our first session at 8:30a.
8:30a - Ditch the Media Queries: Modern CSS Replacements for Better Responsive Code
Using Media Queries is what I was brought up on and, as Kathryn said during her talk, it's a hard habit to break. She explained the modern way of designing a responsive website from "The Big Picture" down to "Even the smallest things" as a responsive experience.
First, she mentioned the "Big Picture" where she focused on CSS Grid and Flexbox as the primary layout mechanisms.
I love how she broke down when to use CSS Grid as opposed to Flexbox and the examples of CSS Grid and Flexbox websites for testing your Flexbox abilities. She is so right about Flexbox Froggy. I've spent soooo much time on that learning how to do Flexbox properly. It's a great game and learning tool at the same time.
Next was "The Middle Man" examining media queries and container queries and container units.
Then, she reviewed math functions in "Fully Functional" to make formulas easier to use in CSS. DID NOT know about clamp() function. I would recommend looking into it. It looks like a handy function for CSS layouts.
"All the Small Things" focused on how to use responsive units instead of fixed units. I didn't realize there were so many new unit types.
Finally, her "Exceptions" section described where media queries were still important like dark mode, displaying and hiding elements, and print formats.
While I knew CSS, her session was definitely informative and refreshed my knowledge of CSS. I liked her presentation and the humor throughout the talk.
9:45a - Rethinking Architecture: A Look at Macroservices
Chris Gardner / @freestylecoder
Mr. Gardner gave everyone a great history lesson on how microservices came about, and various times, he always asked how easy it was to build, test, maintain, and deploy.
His talk was more interactive than any session I went to throughout the day and he definitely made it entertaining.
Chris did mention the honeymoon with microservices was over and was trying to find a happy medium. The difference between the monolith and microservices he calls macroservices.
I really enjoyed his interactions with his audience and he took every comment in great stride.
11:00a - Migrate Your Legacy ASP.NET Projects to ASP.NET Core Incrementally with YARP
Jonathan's session reviewed a particular project he worked on where he was converting a legacy ASP.NET WebForms project into an ASP.NET Core smaller version (not just microservices) using the strangler fig pattern and the YARP.
I've always heard it called just the strangler pattern, but I've heard of the YARP before. YARP stands for Yet Another Reverse Proxy.
He explained how the YARP routing worked and provided a demo showing how to use it.
His session provided new insight as to how converting legacy applications is a process and not a "silver-bullet" product or refactoring. It will take a while, but the application will continue to work until all pieces of the legacy application is converted over to ASP.NET Core.
Once lunch was available, I grabbed my roast beef sandwich, brownie, and pretzels with water and had to find a place to crack open the laptop to write some emails.
I was already at Kat's session so I took it easy from running around.
1:00p - A Deep Dive into Caching with Service Workers
Kat mentioned a number of sites using service workers and how important they are for a great user experience.
Kat broke down her session into three sections: what is the lifecycle and how to update the cache, how to precache files, and various caching strategies. Each one of her sections was followed with a small demo.
If you're familiar with Progressive Web Apps (PWAs), service workers are absolutely necessary to fetch resources for your application. There's no getting around it.
Her session on caching strategies is what caught my attention and I plan on testing some service workers on some smaller project websites.
VERY informative session and would recommend checking out her slidedeck!
2:15p - Optimizing Application Performance
Since I'm always looking for better ways to boost application performance, this session grabbed my attention right away.
One of the first things Jason asked was "what does application performance mean?" One person responded "speed to the user" which was the right answer.
I believe it's more of "[perceived] speed to the user" and he confirmed my statement with mentioning "at least put a spinner somewhere showing there's progress."
Jason broke his sessions into the following concepts: Performance, Optimizations, and Database Query Optimizations.
In his performance section, he focused on application design, user interface requirements, and caching methods.
In the optimizations, focus on multithreading and use hashsets. Always hashsets!
Of course, the database query optimizations focused on database operations like indexes and analyzing execution plans.
One thing he mentioned that hit a little too close to home is avoid creating functions and using them in queries. I'm working with a client right now where that's the case. Sooo...yeah, it does slow down your queries.
Maybe it was me and possibly my age (no comment), but his slidedeck had everything near the top and didn't use the entire page for his content. That may be me, but I did like the session since that's my wheelhouse.
3:30p - Ignoring Null and Five Other Horrible Things Most Developers do
I HAD to go to a fellow co-worker's session.
All of his recommendations are solid and things I've seen throughout my career as well. For example, his recommendation on misusing exceptions is a common code pattern I've seen where try..catch statements have an empty catch section.
As he went through all of these programming sins, I felt these were common problems developers who are just starting out don't think about too often.
I do like Martin Fowler's Null Object pattern where an object consists of a Null representation of a object (i.e. Book.NoBook). If you want to follow up on this concept further, I would recommend the book Refactoring to Patterns. Extremely awesome book.
The session felt like solid tips and techniques for developers based on career experience.
Great session, Mike.
5:30p - Movie (Guardians of the Galaxy: Volume 3)
Since it was a Marvel movie and I'm a comic book junkie, it was everything I expected.
While I know it just came out, I won't spoil anything, but it was a great ending to a fantastic series.
Overall, I felt this was a great conference again. It was great to see everyone and I couldn't believe there were 1,478 attendees.
I did have one problem with the audio. There was a delayed echo on the live sessions. I understand the live version was broadcasting, but there was a half-second delay echo. It was tolerable and I got used to it after the third session. Now I seem to have a stutter (kidding!) ;-)
Next year, Captain America: New World Order will be released for Stir Trek 2024. I'll definitely be looking forward to the Stir Trek Captain America Shield Pin.
Did you enjoy the conference this year? What was missing? Or was it perfect? Post your comments below and let's discuss.