Red Rocks and Great Talks at dev2next

Donald Raab
13 min readOct 6, 2024

--

A wonderful new tech conference organized by Dr. Venkat Subramaniam

A Conference and Travel Blog

Attending a tech conference with the backdrop of the Colorado Rockies was too much for me to pass by this year. I’ve been writing a book about Eclipse Collections for the past nine months. I had planned on not speaking at any tech conferences this year, so I wouldn’t have to divert time from writing to prepare slide decks and travelling. Best-laid plans.

Plan is nothing. Planning is everything.

My long time friend Vladimir Zakharov asked me early in 2024 if I wanted to submit a talk with him to dev2next. The dev2next conference was the brain child and hard work of Dr. Venkat Subramaniam and several other folks, and was being held near Denver, Colorado at the end of September 2024. I thought about it for a little bit and said yes. At the time I said yes, I had also planned on attending JCrete 2024. JCrete didn’t require any slide preparation in advance. I did wind up hosting a session at this amazing Unconference about walking the long road of open source. You can read about my JCrete adventures in my blog linked below.

Thankfully, our talk proposal was accepted, and we began preparing for the talk. Duke and Duchess on Nails made a splash appearance at dev2next as well. I wrote about the latest nail art my wife brought to a tech conference a few days before dev2next started.

This blog has a mixture of travel experiences and conference experiences. I hope you will enjoy both!

Day 1

The first day of the conference was workshops. I decided not to attend any of the workshops and instead take the morning to explore some of the recommended places to visit on the conference web site that were reasonably close by. We went to the Red Rocks Park and Amphitheater and the Garden of the Gods, which is in Colorado Springs.

Red Rocks Park and Amphitheater

The Red Rocks Park took a little over a half hour to get to. We didn’t spend too much time here but got some great pictures. We wanted to go to the Garden of the Gods as well and make it back in time for the Conference Dinner and Kickoff.

View between the red rocks
The amphitheater, which was hosting a concert later in the evening

Garden of the Gods

The Garden of the Gods is a free park in Colorado Springs. This was about an hour south of where the conference was held, but was totally worth the drive. Next year, the conference will be held in Colorado Springs, so this site becomes a very convenient place for folks to visit and spend time. It is an extraordinarily beautiful natural rock garden. I’m sharing a small number of pictures that I took so as to give a feel for some of what you can see in the garden, without spoiling the surprise of some of the amazing things I haven’t shared.

The entrance to the garden
A towering wall of rock at the first parking stop in the park
Rocks worn away and chiseled by time
Some foliage and cool red rock formations in the background

Conference Dinner and Kickoff (Monday)

The start of the conference kicked off with a dinner at 6pm on Monday evening. I got to meet up with some of my friends before the dinner.

Me, Mala Gupta, and José Paumard

We got to hear that the dev2next conference would be held again next year, only this time at Colorado Springs. This will be convenient for anyone wanting to hike through the Garden of the Gods, which I can now highly recommend.

Day 2 (Tuesday)

I ran into Mark Heckler right before our talk, and got a nice selfie with him. This reminded me of a selfie we took a year earlier in an airport lounge in Newark airport when we were both headed to Devoxx Belgium in 2023. I am wearing an Eclipse Collections t-shirt with the top ten reasons to use Eclipse Collections listed on the back. My wife made this t-shirt for me right before the pandemic. The top ten list will show up just a little further on in this blog.

Me, Mark Heckler, my wife

Data Frames in Java Talk with Vladimir Zakharov

I had the distinct pleasure of giving a talk with my great friend Vladimir Zakharov. I told the story during our talk that this was the second time I was giving a public talk with Vlad. The first time we gave a talk together was in 2010 at GIDS in Bengaluru. It was an honor to give a talk with Vlad about an open source library he created and is the maintainer for. It was even more special as I got to explain how Vlad’s library used the open source library I created and am a maintainer for.

Vlad and I delivered our talk on Data Frames in Java in the 10:45am spot. It was nice going early in the week, so we could just relax and attend other sessions we wanted to see. Our talk had a decent attendance and a bunch of great questions throughout the 75 minute talk. We filled up all 75 minutes with some high quality content.

Our talk on Data Frames

If you missed the conference and our talk, or just want to recall what we covered, you can find the slides and code in GitHub here. If you want to read a great blog comparing the performance and footprint of Data Frame libraries in different languages when competing in the One Billion Row Challenge (1BRC), then check out this amazing blog from Vlad.

Here’s a teaser slide with the 8 of 10 top features that dataframe-ec uses from Eclipse Collections. Note: the “ec” in dataframe-ec stands for Eclipse Collections.

A great story of an open source dependency with extensive reuse

The dataframe-ec library uses features from all the lines with green check marks.

void main()

I attended the talk from my former colleagues and fellow Java Champions, Rodrigo Graciano and Chandra Guntur. This talk covered Java features from Java 9 through to Java 23. Rodrigo and Chandra live coded refactoring a Java 8 application to leverage the new Java features. The talk was standing room only. Chocolates were given out to anyone who asked a good question. Lots of chocolates were given out. This was a very engaging and enjoyable talk.

Java Champions — Rodrigo Graciano and Chandra Guntur

After the “void main()” talk, I got a selfie with Chandra. Every day is a great day when I get to catch up with Chandra.

Speaker Dinner

The speaker dinner was held at Top Golf. I am not a golfer, but have been to driving ranges like Top Golf before. I never played the golf video games before but we had fun doing this as a group. Somehow I managed to hit the balls well enough to wind up on top of the scoreboard at the end of the night. My structure and form was terrible, but like software development, what matters is delivery.

We had a mini celebration with some ice cream at Top Golf for Venkat and his fellow organizers to thank them for putting together their first tech conference. Congrats, Venkat!

Day 3 (Wednesday)

My wife had never been to Colorado before. It had been about 27 years since I was last in Boulder Colorado for C++ training, when I worked for IBM Global Services. I decided to take some time in Wednesday morning to go to see some foliage and mountains not too far from Denver.

I asked Matt Raible for some recommendations close by and one of them was Golden Gate Canyon State Park. It took us about an hour to drive there, and we got to get up to an elevation of 9,300 feet. By Wednesday, the effects of the elevation change had started to settle for both myself and my wife, so we felt comfortable enough to go a little higher up. The views were beautiful.

Front side of Golden Gate Canyon State Park

When we first drove up the mountain, we completely missed the visitor center. We saw the visitor center after driving up and back down.

Trout pond at the visitor center, with some very well fed trout

We bought the $10 park pass at the visitor center, and drove back up to Panorama Point which we didn’t know about when we first drove up.

Sign at Panorama Point
View out the left side of Panorama Point
View with legend out of the center of Panorama Point
Zoom in to one of the prominent mountain ranges seen from Panorama Point

We made it back in time for me to take in a couple sessions in the afternoon.

Data Oriented Programming talk with José Paumard

I always enjoy seeing José speak. I also enjoy taking time at conferences to issue and respond to Jet Lag Driven Development (JLDD) challenges with José. We have a challenge from dev2next that we will share the results of soon hopefully.

José giving his talk on Sealed Types, Record, and Pattern Matching

The most important takeaway from José’s talk for me was what I am calling “Visitor Inversion Programming.” Using Pattern Matching for Switch, we can remove the cyclic dependency that the Visitor Pattern introduces in a static language like Java. The dependency moves to the Visitor, and knowledge of the Visitor can be removed from the classes that are Visited.

Application Integration Patterns: When to use what?

My former colleague, fellow Java Champion, and fellow Eclipse Collections Project Lead, gave a talk on Integration Patterns. Can you guess his name? That’s right, Nikhil Nanivadekar.

Nikhil Nanivadekar talking about Integration Patterns

I always enjoy seeing Nikhil speak, and this talk had a lot of useful and fun information, including some tips on baking bread.

Day 4 (Thursday)

On the last day of the conference I attended several great talks.

Spring Cloud Gateway MVC and Virtual Threads w/ Spencer Gibb

I was very excited to meet Spencer Gibb in person, so I attended his talk in the early morning. It was neat to see how easy it is to switch Spring to use Virtual Threads with a simple change in a YAML file.

I got to have a nice long chat with Spencer later in the evening sitting outside of the hotel by a raging fire pit. It’s always nice when you get to meet a person you have been connected to for a while on social media. This was a wonderful way to end the conference days before heading home on Friday.

“Code Review, you said?” with Dr. Venkat Subramaniam

Attending a conference organized by the one and only Dr. Venkat Subramaniam would not have been complete if I did not attend a session with Venkat. This session on code reviews was simply awesome. I’m including a couple of pictures which meant a lot to me.

No, I write terrible code!

I write terrible code too. I love getting code review feedback so I can learn and improve.

The art of submitting small changes to a code base

If you contribute to an open source project, I recommend submitting small pull requests. I frequently tell folks the chance of getting any feedback and a successful merge of a large (e.g. 50+ file) code review is really small. Volunteers don’t have the time to review large PRs on even an infrequent basis. Occasionally, there is no other option but to do a large code review. I recently reviewed a 400+ file PR from another committer that was generated by Open Rewrite. The rewrite of the code took 15 minutes using the Open Rewrite tool. The code review took me 2.5 hours to review, non-stop. I was not reviewing for quality. I was scanning for matching import statements. Simple scanning to make sure nothing else snuck in to the pull request. There is no easy way to make a change like this, which was one of a many part change to upgrade from JUnit 4 to JUnit 5. I should probably write a blog about the experience. Even better, I should ask the developer and committer who worked on it to write a blog.

Butcher Java’s Virtual Threads like a pro! with Piotr Przybyl

After meeting Piotr just a couple months ago at JCrete, I decided it would be great to see him give a talk. The talk was informative and very entertaining. I would highly recommend seeing Piotr give a talk if you have the chance.

The lab coat set the stage for this talk perfectly

Project Amber: A Deep Dive With The Features with Neha Sardana

Project Amber got great coverage in this conference, and I attended all three talks that covered Project Amber at the conference. Neha gave a great summary of the features included with supporting code examples.

Reading code with Marit van Dijk

This was the last conference timeslot of the conference. Somehow I managed not to take any pictures at this talk by Marit. Meeting Marit in person finally at the conference was already amazing. Marit introduced the concept of information chunking and the practicality of 7+-2 being more like 2–6 items a person can recall in short term memory.

Marit only had 60 minutes for this talk, and really could have used 75. Marit was not rushing the finish her content, but I feel like she had much more to say on the topic that everyone would have benefitted from. This was my favorite session at the conference. The best thing I can do is share this link to a blog and video from Marit titled “Reading Code like a Pro”

After Marit finished her talk, I brought up the newest (and rather old) feature that I learned in IntelliJ recently that can help developers read YOUR code. I mentioned that I had two recent blogs that explained one way to use the feature. The feature is Custom Code Folding Regions which I had learned a few weeks earlier from a social media conversation with Tagir Valeev. I didn’t know it at the time but literally a day later when I was leaving Denver to return home, I would see my two blogs mentioned in the Java Annotated Monthly from JetBrains.

My summary of dev2next

This conference had the feel of an unconference, with the organization of a full blown conference. The speaker and topic lineup was great, and the venue checked all the boxes of being convenient, beautiful, and amazing weather. The whole week was sunny and warm. The food options locally were amazing, even at the hotel. I would love to return next year and visit the Rocky Mountain National Park, which we did not have time to visit this trip. End of September is a great time to have a conference in Colorado.

The best part of conferences for me is the networking and “hallway track”. I got to see a lot of folks I know from the Java Community, I got to meet some folks I’ve known for a while for the first time, and I got to meet some brand new folks

The one downside of the conference is that you need to get used to the elevation and dryness of the air. Stay hydrated is the frequent recommendation. I found that carrying around chapstick was helpful once my lips started getting dry. If you like drinking coffee like me, make sure you make up for any water lost by drinking more water.

My wife and I planned on both going to dev2next this year, and the plan worked out. My wife spent five hours at a nail salon getting four duke/duchess characters painted on her fingers on each hand, along with an Eclipse Collections iteration logo on each thumb. I wrote more about them in the “Nailed it, again” blog. Here’s a picture of us with my wife’s nails as we were leaving Denver airport.

My wife and I with Duke/Duchess on Nails at Denver Airport

A huge thank you to dev2next, Dr. Venkat Subramaniam, all the organizers, speakers, and attendees for making this a truly amazing conference experience! 🙏

If you can take the time and can afford to go next year, I would definitely recommend attending dev2next 2025.

Thanks for reading!

I am the creator of and committer for the Eclipse Collections OSS project, which is managed at the Eclipse Foundation. Eclipse Collections is open for contributions. I am writing a book this year about Eclipse Collections. Stay tuned!

--

--

Donald Raab

Java Champion. Creator of the Eclipse Collections OSS Java library (https://github.com/eclipse/eclipse-collections). Inspired by Smalltalk. Opinions are my own.