JavaZone; a great start to the fall season

A few weeks ago I was fortunate to be at JavaZone for the fourth year in a row. JavaZone is one of my favorite conferences; a large crowd, excellent speakers and very well organised. It is a great kick-off to the Fall/Autumn conference season!

On Tuesday, I travelled to Oslo. In the evening it was time for the speaker tour, where the JavaZone crew showed us around the venue, and answered any questions speakers might have. Next it was time for the speaker dinner, a great opportunity to meet fellow speakers. I had dinner with Adele Carpenter, Piotr Przybył, Iulia Feroli, met up with James Ward, Brian Vermeer, Andres Almiray and others.

Andres Almiray, Brian Vermeer, Marit van Dijk and James Ward at the JavaZone 2026 speaker dinner

Day 1

On wednesday I got up early to make it on time to see my colleague Wout Werkman speak:

Async is the New `goto`- Rethinking Structured Concurrency – Wout Werkman

Wout talked to us about Structured Concurrency, using a custom plugin he created to visualise the call tree in IntelliJ IDEA. He also did a shoutout to the talk “Learning modern Java the playful way” by Piotr and myself, which was very nice. 

We also managed to get a picture of all JetBrains colleagues present at JavaZone.

JetBrains’ Marit van Dijk, Wout Werkman, Nikita Skvortsov and Frederik Pietzko at JavaZone

Later in the day I ran into Gerrit Grunwald, and gave him a private demo of some IntelliJ IDEA features: the relatively new Command Completion, but also classic features like Search Everywhere and how to create your own Live Templates.

Personal live demo of IntelliJ IDEA features for Gerrit Grunwald by Marit van Dijk

At the end of the day, I went to see Piotr speak about how Elasticsearch is already using Vector API; an interesting explanation of this JEP and a concrete example of what it offers. He also made a reference to us speaking together, so it was nice to start and end the day being called out from the stage in the same room.

 SIMD for Java- how Elasticsearch already benefits from the Panama Vector API – Piotr Przybył

Day 2

On Thursday morning, it was time for Andres Almiray and myself to speak. When the front row has people like Gunnar Morling and Rafael Winterhalter, that is slightly intimidating… Gunnar was kind enough to tell us he actually learned something new from our talk. (Thank you!)

Marit van Dijk and Andres Almiray speaking at Javazone 2026 (Picture by Ard Jongsma)

Also present were my colleagues Nikita Skvortsov & Wout Werkman. Nikita is the team lead for build tools support in IntelliJ IDEA, who build some of the nice things I get to talk about. Our talk gave him some ideas for things that could be improved even further (stay tuned!).

Getting more out of Maven – Marit van Dijk and Andres Almiray

Piotr took the opportunity to take a selfie with his memes, leading to this Piotr-ception.

Piotr got memed!

Later, I went to see some excellent talks by friends. First, Adele Carpenter is an amazing speaker and I love her take on Java:

10 Things I Hate About Java – Adele Carpenter

Next, Iulia Feroli is a very inspiring presence in the physical AI space. If you enjoy watching her and her robots, you should go subscribe to her channel Back to Engineering.

How I built my own intelligent Robot Arm from Scratch – Iulia Feroli

Aside from attending some talks, I managed to catch up with lots of people in the hallway track.

Finally, it was time to say goodbye to JavaZone. Hopefully, I will be able to come back next year!

Iulia Feroli, Marit van Dijk, Adele Carpenter and Piotr Przybył saying goodbye to JavaZone (Picture by Piotr Przybył)

Links

You can find the JavaZone videos on vimeo.

And you can find the photos for JavaZone 2026 here.

JCrete; the hottest unconference on the planet!

Last month I had the honor of attending JCrete; “the hottest unconference on the planet!” I had heard many great things, and it certainly lived up to its reputation.

Unconference

JCrete is an unconference; the attendees create the program. Every day starts with a “marketplace”, where anyone can suggest a session. At JCrete, attendees then vote on the proposals and the most popular ones are scheduled in the available time slots and spaces. A session can be a presentation, but more often are discussions where people can share their thoughts and experience, and help others. It is much more interactive than a regular conference. Think of it as one big hallway track!

Marketplace at JCrete (Picture by Sven Woltmann)

Sessions

There were lots of interesting sessions on Java, AI, and other topics. You can find notes on some of the sessions here, but you really have to experience it for yourself.

Java: Virtual Threads and Scoped Values

Some of my favorite sessions were the ones by José Paumard on Virtual Threads and Scoped Values. In this smaller setting, there was room for lots of discussions and sharing. At some point, I even managed to give José some tips for IntelliJ IDEA which he immediately applied. Did you know you can use the live templates iop and ior for IO.println() and IO.readln()?

Live templates for IO.println() and IO.readln()

Impromptu presentation

Several people in the session asked for more tips, and there happened to be some time left at the end of the session. The only available laptop was José’s machine: a Windows machine with a french keyboard! This was certainly an interesting challenge in doing my demo. With the help of José , I managed to show a few tips…

Marit van Dijk behind a lecturn at the  Orthodox Academy of Crete. The screen behind her is showing IntelliJ IDEA.
Impromptu presentation (Picture by Anita Przybył)

IntelliJ IDEA Tips & Tricks

This prompted me to suggest a session on IntelliJ IDEA Tips & Tricks for the next day. Here I managed to show all attendees something about IntelliJ IDEA they didn’t know yet, even my colleague Anton Arhipov (who has been using IntelliJ IDEA for much longer than I have).

When I told Pasha Finkelshteyn about this later, he asked me what it was because surely it would be something he didn’t know either. It turned out to be something he had been looking for recently!

The tip in question? You might know that you can use F2 to navigate to the next problem in a file (or Shift +F2 to go to the previous problem). By default, this cycles through problems by severity; errors first, warnings next, etc. To change this, hover over the Inspection Widget at the top right of the editor, click More (the three dots), click ‘Next Error’ Action (F2) Goes Through and select All Problems

IntelliJ IDEA – Change the order for Next Error action via the Inspection Widget

Alternatively, you can use Search Everywhere (press Shift twice) to look for the setting The ‘Next Error’ action goes through in Settings | Editor | Code Editing and select All Problems there.

IntelliJ IDEA – Change the order for Next Error action in Settings | Editor | Code Editing

Code reading

Eleftherios Chrysochoidis suggest a session on code reading; a topic dear to my heart. Lots of interesting things were shared by the people in that session including Thaddeus Müller-Sarnowski, Ina Bumstein, Jakub Łątkiewicz, Lenny Primak, Marharyta Nedzelska. Of course I also shared links to some of my materials on this topic.

Other activities

JCrete is held on the beautiful island of Crete, which means lots of sun and the opportunity to visit lots of beaches. Fortunately, I also had the opportunity to join a trip to the botanical gardens with Gunnar Morling and his family; the gardens were beautiful, and shade and breeze were very welcome.

At the botanical garden with Michal Niczyporuk, Gunnar Morling and his family.

We also has the opportunity to visit an olive grove. Unfortunately, I was not able to buy any olive oil as I had only hand luggage.

We often ended up at Mylos near the beach in the (late) afternoon.

Michael Minella, Arno Koehler, Estelle Landry, Michal Niczyporuk, Ana-Maria Mihalceanu, myself and Andres Almiray at Mylos.
Ana-Maria Mihalceanu and I at Mylos.

And in the evening there was time to enjoy delicious Greek food.

Me, Ana-Maria Mihalceanu, Grzegorz Piwowarek, Paulina Słąba, Andrzej Grzesik, Ewa Karaszkiewicz, Michal Niczyporuk, Anita Przybył and Piotr Przybył at dinner.

Thanks

After an amazing week, it was time to say goodbye. But not before getting the mandatory selfie with Heinz.

Selfie with Heinz Kabutz

Many thanks to Heinz Kabutz, the disorganisers Ixchel Ruiz, Andres Almiray, Dmytro Vyazelenko and others for an unforgettable week! I hope to be back in the future…

Group picture

Devoxx PL: Talks, booth, and wonderful people.

The last conference of the “Spring” 2026 season for me was Devoxx Poland. This was my third time speaking at this conference, and my second trip to Kraków this year.

This year I again had the honor of delivering two talks: Getting more out of Maven (without Andres Almiray this time) and Reading Code.

Polish JUG Meetup

The evening before the conference I went to a Polish JUG meetup, to meet up with friends Adrian Nowak, Ida and others. Adrian gave me a GeeCON shirt and sticker. It was also nice to see ex-colleague Pasha Finkelstein, who was speaking at the meetup.

Day 1

Since I was giving two talks, I spent some time preparing for them. Especially as I would be giving the Maven talk by myself this time, as Andres unfortunately was not able to make it. And also it had been a while since I last gave my Reading Code talk.

During the day, I did go meet my colleagues at the booth; conferences are always a good place to see and meet colleagues. JetBrains has offices all over Europe (including Poland) and several other countries.

JetBrains booth with Jarek Dąbrowski, Marcin Aman, Emilia Obiała, Katerina Trendafilova, Piotr Tomiak and myself (Picture by Nel Gwiazdowska)

At the end of the day, I went to see an new talk From compose.yaml to Testcontainers: testing Kibana with one line of Java by Piotr Przybył.

After that, it was time for the meet and greet; a great opportunity to talk to other speakers and attendees.

Day 2

On day 2, it was time for the first one of my talks: Getting more out of Maven in the main hall.

Based on the positive feedback I received, I would say the the talk went very well as a solo talk.

And even though Andres was not there in person, here was there in spirit.

A picture of Andres Almiray featuring in the slides.

Later in the morning it was time for Reading Code. When I first submitted this talk to Devoxx Poland two years ago, a friend on the Program Committee sent me a nice message about how much they liked the abstract. Unfortunately, it was not selected that time (but another talk was). So it was nice to be able to finally deliver this talk here.

Before the talk (Picture by Nel Gwiazdowska)

Thanks to my colleague Ernest Mołczan for coming to my talk.

Ernest Mołczan sitting in the front row. Marit van Dijk is speaking in the background. (Picture by Nel Gwiazdowska)

With both of my talks done, I had time to see some talks in the afternoon.

First, it was time to see Refactoring to Modernize Java Applications by Venkat Subramaniam. If you have ever seen Venkat speak, you know it is always well worth your time.

Piotr Przybył, Venkat Subramaniam and myself (Picture by Piotr Przybył)

Next, I went to see another talk by Piotr Prybył, SIMD for Java: how Elasticsearch already benefits from the Panama Vector API. During his talk he reused a demo from our talk Learning modern Java the playful way, but with way more in depth information about Vector API and how Elastic uses it.

With Anita Przybył at Piotr’s talk (Picture by Dimitris Doutsiopoulos)

After that I joined the talk IntelliJ Super Productivity in 45 Minutes by Heinz Kabutz. It is always interesting to see how other people use IntelliJ IDEA, what features they prefer and how they customize it.

Piotr Przybył, Heinz Kabutz and myself (Picture by Piotr Przybył)

Speaker dinner

In the evening it was time for the speaker dinner. It was a nice walk to get there, in the company of Anita Przybył and Katarzyna Leszczyńska-Bohdan. The dinner itself was great, with some delicious pierogi and other food. And of course great company.

With Anita Przybył at the speaker dinner (Picture by Dimitris Doutsiopoulos)

Day 3

On day 3 I attended a talk by Simone de Gijt. I love her talks; the topics are very interesting and her stage presence is great. Imagine my surprise when she mentioned me in her talk!

At the end of the conference I also managed to catch a talk about Dark Patterns by Sergès Goma. We had been at the same conference before, but had not yet properly met, so we finally got to fix that.

After the talks, a few of us had some conversations in the hallway.

Sergès Goma, Venkat Subramaniam, Marit van Dijk, Simon Maple, Balkrishna Rawool and Simone de Gijt.

In the end, being part of the community and meeting people in real life are the highlights of any conference.

Going home

After the conference, Simone and I took the bus back to the airport. We spent some time in the lounge, running into other speakers like Abdel Sghiouar, Simon Maple and Simon Brown.

Overall, Devoxx Poland was a great conference to close out the “spring” season; I hope to be back next year!

JetBrains booth with Jarek Dąbrowski, Ernest Mołczan, Emilia Obiała, myself, Piotr Tomiak, Katerina Trendafilova and Marcin Aman (Picture by Dimitris Doutsiopoulos)

Pictures

You can find the official pictures by Dimitris Doutsiopoulos here:

More Java conferences: jPrime & JSpring back to back

June started off with not one, but two Java conferences: jPrime in Sofia, Bulgaria, and JSpring in Utrecht, the Netherlands.

When travelling to jPrime from Amsterdam, I already ran into two fellow Dutch speakers Hinse ter Schuur and Willem Jan Glerum at Schiphol airport. We were all on the same flight.

LinkedIn post by Marit van Dijk with the text: "On my way to jPrime Already ran into other speakers Hinse ter Schuur and Willem Jan Glerum" and a picture of a suitcase and backpack with IntelliJ IDEA labels on them at Schiphol.
Travelling to jPrime

Arriving in Sofia

Upon arrival in Sofia, we met up with Piotr Przybył in the arrivals hall, as he had landed just before us. We then proceeded to arrivals to meet up with Ivan St. Ivanov, one of the jPrime organisers, who drove us to our hotel.

At the hotel, Piotr and I had some lunch before preparing for our talk (as it had been a few weeks since we last presented it at GeeCON).

jPrime speaker dinner

We then walked to the speaker dinner where we met up with Mitya, other organisers and several other speakers including François Martin, Johannes Bechberger, Arnaud Jean. Also present was my colleague Andrei Kogun, who was attending the conference. It is always nice to see him in person, as we work together a lot but he is located in a different country.

Speaking at jPrime

Our talk Learning modern Java the playful way was scheduled right after the opening. It was really nice to speak in the big room in front of about 800 people (probably our largest audience for this talk so far!).

Marit van Dijk and Piotr Przybył posing for a picture on stage at jPrime. Both are wearing a labcoat.
Marit and Piotr at jPrime

Our talk was well received. Thanks to everyone who came up afterwards to talk to us! Meeting people is one of my favorite parts of conferences.

Social media post by Thanos Stratikopoulos: "Great start in #jPrime2026, features a playful way of learning modern #Java by Piotr Przybyl and Marit van Dijk (with links to their Bluesky accounts)
Great start to jPrime

Unfortunately, we didn’t get to stay long and we had to head to the airport not long after our talk.

Social media post by Piotr Przybył with the text: "It was sadly a short visit, but the crowd at @jPrimeConf has been lovely as always! I hope you've learned something useful about modern Java and also had some fun with us 🥼🥼" including a picture of Piotr Przybył and Marit van Dijk both wearing labcoats in front of a packed room
Thank you jPrime

You can catch the recording of our talk here:

You can also find pictures for day 1 and day 2.

Thanks to the jPrime team for having us and taking such good care of speakers!

On to the next one!

From Sofia, I travelled back to the Netherlands, to speak at JSpring the next day. While I had planned to go to the speaker dinner that evening, it was too tempting to go straight home as I live close to the airport.

Speaking at JSpring

JSpring is one of my local conferences, organised by NLJUG. This was my third time speaking there, and I have attended several years prior to that. The lineup this year was stellar as always!

Since the conference was in a cinema, they had posters advertising the speakers. It was slightly intimidating to see my face up there, but also very nice…

Speaker posters for JSpring speakers: Sven Peters, Baruch Sadogursky, Marit van DIjk, Nicolai Parlog, Ana Maria Mihalceany, Elena van Engelen, Bruno Souza, Felienne Hermans, Lucia Conde-Moreno, Josh Long & James Ward, Piet van Dongen, Holly Cummins
Speaker posters at JSpring

The conference was opened (as always) by Brian Vermeer and Bert Jan Schrijver, followed by the opening keynote by Sven Peters.

Bert Jan Schrijver and Brian Vermeer half hiding behind a JSpring banner.
Bert Jan Schrijver and Brian Vermeer at JSpring

This year, I really enjoyed the keynote by Felienne Hermans:

The following keynote by Baruch Sadogursky was also very nice.

My session Be more productive with IntelliJ IDEA was in the afternoon, so I had plenty of time to prepare. Even though the outline of this session is always similar, I like to include the latest features like command completion and upcoming features like logpoints (which is included in IntelliJ IDEA 2026.2). 

You can watch the session here:

You can find the full playlist for JSpring 2026 on YouTube.

As always, the best part of the conference was meeting people; both the other speakers and the people from the Duch Java community.

Marit van Dijk, Marianne Hoornenborg, Felienne Hermans and Ana-Maria Mihalceanu at JSpring.
With Marianne Hoornenborg, Felienne Hermans and Ana-Maria Mihalceanu at JSpring.
Marit van Dijk, Daniel Garnier-Moiroux and James Ward at JSpring.
With Daniel Garnier-Moiroux and James Ward at JSpring.

Thanks again NLJUG for organising and I hope to be back for many years to come!

JNation: Java is hot, people are cool

This year I had the opportunity to speak at JNation for the first time. It was a great conference; great speakers, nice people and a very responsive audience!

Getting there

JNation is held in Coimbra, Portugal. It takes some time to get there, but it is well worth it. The conference arranges for shuttles from Porto and Lisbon to Coimbra; I opted for Porto as it was a shorter flight and drive. At the Porto airport, I ran into Simon Schrottner, who I had met at Devoxx Morocco last year. It turned out we were on the same shuttle bus. We also picked up Martijn Verburg and his cousin Bella from the train station on our way to Coimbra. We had some interesting conversations on the way, which we continued over lunch once we made it to the hotel. While we were there, several other speakers also arrived.

Speaker dinner

The conference organised a speaker dinner the evening before. Andres Almiray, Patrick Baumgartner, Simon and I decided to walk there. This was a bit of an adventure, as the hotel we were staying at was next to a highway which we had to cross…

The speaker dinner is a good opportunity to see the other speakers. Fortunately, my colleague Anton Arhipov was also speaking; it is always nice to see him. And I ran into Sam Aaron, who I hadn’t seen in a while. To top it off, I had the opportunity to hang out with my friend Ewa.

Josh Long told me that he had some feedback on IntelliJ IDEA, and from my side I wanted to show him some new features we had been working on. After we got back from the dinner, we spent some time in the hotel lobby hunched over a laptop.

Conference day

The conference started with some live coded music by Sam Aaron, the creator of Sonic Pi.

The conference was officially opened by Roberto Cortez and team, followed by a keynote by Martijn. After that I had a little time to prepare for my talk, like finding the room where I would be speaking…

Speaking about IntelliJ IDEA

My talk was Be more productive with IntelliJ IDEA, where I live demo features in IntelliJ IDEA. Some features have been there for ages, but I also like to include new features that were added recently, like command completion, and even features that we are still working on for the upcoming release, like logpoints. The room was full, with some people even standing in the back, and the audience was lovely!

You can watch the other talks from JNation 2026 on YouTube.

The hallway track, with extra snacks

After my talk, I had some time to explore the venue some more and talk to people. Some of my friends were staffing a booth with their company, so I went to find them. Also, I spent some time in the speaker room, which was nice and cool. This is a good place to get some work done, or talk to other speakers. Walking around the venue is also a good way to meet people, and get feedback either on our products or my talk, or hear what people are working on.

There were plenty of food and snacks, including some delicious pastéis de nata as well as ice cream, which was very welcome in the hot weather! To get some of the snacks, you needed tokens which you could get by speaking to sponsors at the booths. (Thanks Michał for some extra tokens.)

Livestream with Josh Long

Josh had invited me to come on his podcast, Coffee + Software. We had a lovely on-air conversation, which was also joined by our friend Daniel Garnier-Moiroux in the chat.

Interview with Andres Almiray

Andres Almiray was at JNation not as a speaker, but as an interviewer. He set up interviews with the speakers in the courtyard of the venue. Among other things, we spoke about some IntelliJ IDEA features, including the upcoming logpoints feature as an entry point to the debugger. Logpoints allow you to add logging to your application running in debug more, without having to change the code and redeploy your application. This will make it easier to start your investigation when debugging issues. It is built on top of the debugger, so you can expand your investigation with additional debugger features as needed.

You can watch the other interviews on the JNation YouTube channel.

After party and another dinner

The conference ended with an after party, with more music by Sam, and drinks with friends in the sun. From the party, we walked to a restaurant for another dinner arranged by the organisers. The food here was great, as was the company. This time I managed to get some pictures with Sam.

Marit van Dijk wearing a black IntelliJ IDEA t-shirt and and Sam Aaron wearing a dark blue JNation t-shirt. Marit is sticking out her tongue and Sam has his thumb up.
Marit van Dijk and Sam Aaron at JNation

Conclusion

Even though it is a little hard to get to, I really enjoyed the conference. The lineup was great, the organisers take good care of the speakers, and I would highly recommend speaking at or attending this conference in the future!

Thanks Roberto Cortez, Bruno Baptista and all of the organisers and volunteers for a great event!

Marit van Dijk wearing a black IntelliJ IDEA t-shirt and sunglasses, standing in front of a huge red JNation banner.
At JNation

GeeCON 2026: Kraków and the Java community

Just over a month ago, I had the pleasure of speaking at GeeCON 2026 in Kraków, Poland. GeeCON is one of my favourite Java conferences, and this year they invited me to join the Program Committee this year along with Marcin Grzejszczak.

Arriving in Kraków

Conferences are a great opportunity to see friends who live abroad. Since Kuba Marchwicki would land in Kraków shortly after me, we agreed to meet up at the airport. He had suggested I should have had a “Welcome to GeeCON” sign ready for him, and fortunately I was able to improvise one on the spot. 

After checking into our respective hotels, we went for lunch at a ramen place which was delicious! Over the meal we had a very interesting conversation about how Kuba manages his “interns”, as he calls his AI agents. It’s interesting to hear how different people are managing their software development process these days.

Conference Day 1

Opening and keynote

The conference was opened by Adam Dudczak, followed by the opening keynote, How To Be a Rockstar Developer by Dylan Beattie, who delivered the entire keynote barefoot. As he described on his blog, a taxi had run over his foot on the way to the venue, and he was not able to put on his boots… Despite the injury, it was an excellent keynote, and he even managed to get the Polish audience to sing along at one point. 

Meeting people

One of the best things about conferences is meeting people. It was nice to finally meet Marcin Grzejszczak in person; I wasn’t sure we had actually met face to face before, despite working together on the programme committee. I also got to meet Tom Akehurst, the creator of WireMock! It was also lovely to see former colleague Ida again, as well as many others… Conversations and connections are what make in person conferences so valuable.

Talks and panels

Generally I prioritize the hallway track over attending talks. One talk I managed to attend was Concurrency Testing on the JVM by Adam Warski. He covered Lincheck and Fray; two tools that instrument bytecode to give you more confidence in your concurrent code. It was really interesting, and I shared with my colleagues who work on Lincheck that he mentioned their tool, which they appreciated!

In the afternoon, I had the honour of moderating the Java panel, where I got to ask Johannes Bechberger, Steve Poole, Piotr Przybył and Gerrit Grunwald what excites them most about Java in 2026. It was a great discussion, and well received.

Unfortunately, the panel was at the same time as Arjen Poutsma‘s talk Teaching an Old Pet Clinic New Tricks: Introducing Agents into Existing Applications. Arjen is a Spring legend (and a fellow Dutchie), so it was wonderful to see him at GeeCON, even if I had to miss his talk. I’ll have to catch up with the recording!

Speaker dinner

In the evening, Piotr and I met up beforehand and walked into town together before joining Kuba for the speaker dinner. We met a bunch of other speakers including Emanuel, one of Marcin’s mentees. It turned out Dylan was not done yet with his back luck; he managed to break some wine glasses at dinner… Other than that it was a wonderful evening with great food, excellent company and interesting conversations. 

Conference Day 2

On day 2 it was time for our talk, Learning modern Java the playful way. This talk is one of my favorites. We usually try to localize it a little for the country where we are presenting. When speaking in Poland, we have a few extra Polish things that Piotr likes to add (see if you can spot them!). Even though I had updated my Polish progress bar, I realised midway during the talk that I had installed it on a different version of IntelliJ IDEA, so it failed to make an appearance this time… 🤦‍♀️

This time, I managed to catch François Martin‘s talk 82 Bugs I Collected in a Year You Won’t Believe Made It to Production, which I liked a lot. I always appreciate good stories about software bugs, and was very amused to hear that François had been collecting them for a while. In fact, I think I might need to do the same…  🤔

When talking to François afterwards, he mentioned he would have loved to join a panel. He suggested that next time we ask speakers before the conference who would be interested to join a panel on a specific topic. Since it turned out that we were short a panelist for the upcoming panel on AI coding, François was able to join that session.

Dinners, discussions and a silly idea

The GeeCON crew take good care of the speakers, so there was another dinner on the second day. This was another chance to hang out with folks, like Adrian, Adam, Łukasz, Rustam, Alex, and others. Based on Dylan’s keynote, Kuba and I had a silly idea; over dinner, several people ended up giving us some excellent input for this topic. (No spoilers yet, as I’m not sure how far we will take this idea…) 

Exploring Kraków

Over the weekend, I had some time to explore in and around the beautiful city of Kraków. 

On Saturday, Spencer Gibb, Tom Akehurst, Jonathan Vila and I booked a guided excursion to the Wieliczka Salt Mine. While waiting for the bus to salt mine at the bus station, we saw a Kevlin Henney on the screen. Which was extra funny considering François’ talk about bugs, so I made sure to send him a picture.

The salt mine was a very impressive place to visit. My favorite were the chandeliers made entirely out of salt crystals. It did involve quite a bit of walking, so we were pretty tired by the end. 

Spencer Gibb, Tom Akehurst, Jonathan Vila, Marit van Dijk and Spencer Gibb at Wieliczka Salt Mine.

For dinner that evening, Spencer and I had pierogi at a restaurant recommended by both a friend of mine and his hotel, which was an excellent tip. 🥟

Pierogi

On Sunday, I visited Wawel Castle and had more pierogi for lunch, before heading home.

Thank you!

Many thanks to Adam Dudczak, Adrian Nowak and the whole team of organisers, volunteers, sponsors, speakers and attendees for putting on another wonderful edition of GeeCON. And a special thank you to Adam and Adrian for having me on the Programme Committee; it was a privilege. It was great to see friends old and new, and I’m already looking forward to the next one!

In the mean time, have a look at the videos and photos from this year.

Updating a vibe-coded plugin: The Polish progress bar

Polish progress bar

Last year, I vibecoded a plugin as a joke for a talk at Devoxx Poland. We have also used the same progress bar at other conferences in Poland since…

As we were speaking in Poland again at GeeCON, I wanted to reinstall the plugin. 

Unfortunately it turns out that the original project no longer builds. This might be because the version of Gradle it uses is too old (7.x instead of the current v9), because of changes in the IntelliJ platform, or both.

Fortunately, I could ask my colleague Jakub Chrzanowski for help.

Restart from scratch

As it turns out, it was easier to start a project from scratch with the help of a new template.

There are currently 2 ways ways to start a new project:

  • From the Plugin generator website
  • From inside the IDE – This option is available if you have the Plugin Devkit installed in your IDE and will have the same result as creating a project from the website, as they share the same generator.
New project: polishprogressbar

Since I figured it might be easier to start from scratch, I had created a new project using the Plugin generator website. To update the project, we copied the `src` folder from the old project to the new project.

Building and running

The template project comes with several run configurations that you can use to build and verify your project: 

  • Run Plugin will run the plugin, opening a sandbox IDE where you can try your plugin.
  • Run Verifications which will run verifications on the previous, current and upcoming versions of our IDEs (currently: 2025.3, 2026.1 and 2026.2)
  • Run tests will run any tests. (I am ashamed to say this project has none. In my defense, this is a simple plugin and the correct behaviour can be easily verified by running it in the sandbox IDE).   
Run Configurations for plugins

Code cleanup

Jakub also helped me with cleaning up some code. In addition, I did some cleanup myself, partially based on results from the verifications. Restarting the project was a good opportunity to make it a little nicer, and actually care about the code quality a little. 

Installing the plugin

After building the plugin, I installed it on my IDE.

Polish progress bar in action

The plugin is not published to the JetBrains MarketPlace, as I am not sure another progress bar is really needed. You can find the code here.  If you want to build and install it yourself, you can find the instructions in the README.

Thanks to Jakub Chrzanowski for his help with the plugin and this blogpost. ❤️

Devoxx UK 2026: Talks, panel, booth and people!

Last week I had the pleasure of attending Devoxx UK for the third time! It was a great two days.

Arriving in London

Immediately upon arrival I ran into Dimitris Doutsiopoulos at the hotel. Great start to the conference!

After checking in, I first had to do some work. Next I went to find Piotr Przybył to return some equipment he had left behind at Voxxed Days Bucharest the week before. We then headed to the speaker dinner together; and ran into Baruch Sadogursky before we even made it out of the hotel.

Speaker dinner

Speaker dinners are always a great chance to catch up with familiar faces and meet new people. From some of the organisers (Mark Hazell, Kim Fletcher, Sam Hepburn and others) to other speakers like Ana-Maria Mihalceanu, Brian Vermeer, Alexander Chatzizacharias, Ixchel Ruiz, Matthias Haeussler, Maarten Mulders and many, many more! Just like last year, it was impossible to get from A to B without running into more people to greet. There simply wasn’t enough time to talk to everyone. Instead, I ended up having a really great conversation with Thomas Wuerthinger.

Opening session

The conference kicked off with live music(!) and a welcome by Mark Hazell and Kim Fletcher. Mark had announced earlier that this will be his last time organising Devoxx UK, and he will be missed.

My talk: Be more productive with IntelliJ IDEA

Fortunately, my talk was scheduled in the morning of day 1. It’s nice to get it out of the way, and this gave me the opportunity to invite people to stop by our booth during the conference.

The talk Be more productive with IntelliJ IDEA is never the same, as I try to incorporate new features. For starters, I’ve updated my demo to show more Command Completion (“dot dot”), which is a new(ish) feature that unlocks any commands relevant to your context in the editor. New this time was a sneak preview of Logpoint, a feature that gives you the option to add “logging” to your application without changing the code or redeploying your application. This feature will be added to the upcoming IntelliJ IDEA 2026.2 release, but you can already try it in the EAP, which you can download using the JetBrains Toolbox App. 

It was nice to have an (almost) full room, despite my talk not being about AI. In fact, I warned the audience there would be “handcrafted, artisanal code” and very little AI. But they seemed ok with that… Several people, including colleagues(!!) told me they learned some new things. To be honest, I don’t think there’s anyone inside JetBrains who knows all the features.

Unfortunately, I don’t think the talk was recorded. If you’d like to see a previous recording of the talk, you can find them on the talk page.

Booth

This year, we had a JetBrains booth at Devoxx UK. This is a great opportunity for us to speak to our users as well as people working on libraries and frameworks in the ecosystem. It’s also a good opportunity for people to stop by with questions and feedback.

My colleague Andrei Kogun told me that several people stopped by our booth during the conference to ask about the new Logpoint feature that I showed in my talk!

An added bonus for me is that I get to see some of my colleagues in person.

Spring Documentary premiere and panel

In the evening of day 1, there was a premiere of theSpring documentary: 

Following the screening, there was a panel with several of the cast members who were at Devoxx UK: Josh Long, David Syer, Steve Poole and myself. The panel was moderated by Daniel Garnier-Moiroux. It was interesting to discuss some of the history of Spring.

After the panel, we went for a quick dinner with friends Andrzej Grzesik, his wife Ewa, Piotr Przybył, Marek Machnik and several others. 

Dinner

Talks 

This year, I did not attend many talks, as I was busy talking to people at the booth and in the hallway. One talk I didn’t want to miss was Piotr‘s talk Butcher Virtual Threads like a pro! as I always like sseing him speak. It was certainly different to be in the audience for a change, instead of on stage together. Although there was a little audience participation 😉

I did also manage to attend The Structured Concurrency API in JDK 26: Scoped and Joiners by José Paumard, which was very interesting. You can find the slides here.

Hallway track

Of course, the best track of any conference is the hallway track. Unexpectedly, I ran into my colleague Sonya Kondirova from the Java Build Tools team (we have worked together on new features for Maven and Gradle) which was a nice surprise. 

Also, I got to spend some time with Estelle Landry (probably more at Devoxx UK, than in our lightning trip to Devoxx France recently). 

Finally, I managed to sit down with Holly Cummins to give her some tailored pointers for presenting with IntelliJ IDEA (at her request). It’s fun to share tips and tricks, and I hope they will come in handy!

Again there was not enough time to talk to everyone as much as I would have liked. But there is always the next one!

Hallway track

Heading home

Unfortunately I had to leave in the afternoon of day 2 to catch my flight, which meant I missed some of the last talks and the party. Maybe next year… 🤞

Thank you!

Many thanks to the organisers , volunteers and sponsors for putting on such a great event. Thanks to all the speakers and attendees; it was great to see and meet you! Hope to see you at the next one 😉

Links

Photos by Dimitris Doutsiopoulos 🫶

Voxxed Days Bucharest: The end of an era

Almost two weeks ago, I had the pleasure of speaking at Voxxed Days Bucharest 2026. This was my third Voxxed Days Romania event; I’ve spoken at Voxxed Days Bucharest before in 2024, and in 2022 I gave two talks at Voxxed Days Cluj-Napoca, including stepping in as the closing keynote speaker to replace Tom Cools who unfortunately couldn’t make it.

Travelling

On the plane from Schiphol to Bucharest, I immediately ran into fellow Dutch speakers Alexander Chatzizacharias and Sander Hoogendoorn. It turned out that Sander and I were both staying near the new venue so we took an Uber together from the airport. Ana-Maria Mihalceanu had very helpfully shared instructions with the speakers on how to best get to our hotels. 

Speaker dinner

Since the speaker dinner was near the old venue, Sander and I ended up walking across Bucharest for about an hour, partially through a park.

The speaker dinner was a nice place to catch up with fellow speakers. Some I has seen only the week before at different conferences. The food was a wonderful display of Romanian hospitality, as always. 

Conference day

The conference was opened by organisers Andra Ghibuțiu and Alex Proca. Andra revealed that this was sadly the last edition of Voxxed Days Romania. It was an honor to be part of this event. Fortunately, Andra and Alex will continue to organise different events in Romania.

Sander gave one of the keynotes on the conference day, which unfortunately I did not get to enjoy as I had to go and prepare for our talk, which was scheduled right after. It was nice that he mentioned me, and also used something in his keynote that we had talked about the evening before on our way to the speaker dinner. 🙂

Piotr and I once again took the stage with Learning modern Java the playful way, after three conferences in four days the week before!

You can watch it here:

As always, it was a joy to give this talk, and the audience was wonderful! Thank you for your lovely feedback.

The slot right after ours belonged to George Patrașcu. Our talks were scheduled back to back, which meant a hasty change over between speakers, mics and laptops. In the confusion, Piotr left the dongle for his clicker behind on stage. We only found out after he had already left. Fortunately we were both speaking at Devoxx UK the following week, so I could return it to him there.

The hallway track

One of the things I love most about conferences is seeing friends and meeting new people. At Voxxed Days Bucharest I got to catch up with some familiar faces, like Abdel Sghiouar, Ana-Maria Mihalceanu, Brian Vermeer and Loïc Magnette. I also got to meet new speakers like George Patrașcu, and talk with other attendees. This is a good way to hear what people are working on, and get feedback on how we can help them better.

And of course, some of the best conversations happened in the hallway track in between sessions.

Leaving for Munich

Unfortunately I couldn’t stay until the end of the event, as I had to travel to Munich where I had to record a video the next day.

Thank you!

Many thanks to Andra, Alex and the whole team of organisers and volunteers for making Voxxed Days Bucharest 2026 such a lovely event. And of course, thanks to all the sponsors and attendees who made it possible. It was a privilege to be part of this final edition, and I wish Andra and Alex all the best with their future endeavours.

Links

Three conferences in four days: JCON, Devoxx France and Devoxx Greece

Two weeks ago I had an extremely busy week: speaking at three conferences in three different countries in four days — JCON (Cologne, Germany), Devoxx France (Paris) and Devoxx Greece (Athens). We had the opportunity to give our talk “Learning modern Java the playful way” three times! It was well worth it, as I got to see so many people and our talk was well received everywhere.

JCON Europe

On Monday, I took the train to Cologne.

Social media post by Marit van Dijk with the text "On my way to JCON". The post contains a picture of a green suitcase with a luggage label containing the IntelliJ IDEA icon and the text "Luggage tagged. Code secured. JetBrains IDEs", and a black North Face backpack containing a red label with the text "Unlocking productivity", a tag of the IntelliJ IDEA logo, and a tag with Duke, the Java mascot.
On my way to JCON

Java Luminaries Summit

In the afternoon, there was a Java Luminaries Summit @ JCON Europe, where folks active in the Java community discuss topics relevant to the language and ecosystem. This includes Java Champions, JUG leaders, speakers and other active members from the community, like Sharat Chander, Ana-Maria Mihalceanu, Andres Almiray, Brian Vermeer, Cay Horstmann, Kevin Wittek, Kevin Dubois and many more. Unfortunately, I wasn’t able to attend the whole summit, as I had some work to do first.

After the summit, there was a pizza session, which was a great opportunity to socialize with other speakers, like Tim te Beek and Rick Ossendrijver, and community members. Also, I got to see my colleague Marcin Mycek and introduce him to some people.

JCON conference day 1

On Tuesday morning, we first prepared our session. Even though we have done this talk before, we always update it to the latest Java version and make small tweaks to continuously improve it.

For lunch, I met with Annelore Egger, François Martin and two of his colleagues.

Social Media post by François Martin about lunch at JCON, including a picture with Annelore Egger, François Martin, Marit van Dijk and Tamar Gogebashvili at a lunch table.
Lunch at JCON

Before the conference, we also had the opportunity to sign up for interviews with Baruch Sodogursky which were livestreamed on YouTube.

During his interview, Piotr Przybył talked about our talk:

Baruch and I had a lovely conversation about reading code in the age of AI:

This is a topic dear to my heart, as I have been talking about Reading Code for a while — and I still think it’s important no matter who has “written” the code.

In the afternoon it was time for our first talk of the week.

Piotr Przybył and Marit van Dijk simultaneously putting on their labcoat.
Synchronous putting-on-labcoat (photo by Dimitris Doutsiopoulos)
Piotr Przybył and Marit van Dijk simultaneously putting a pen in the front pocket of their labcoat.
Synchronous putting-pen-in-pocket (photo by Dimitris Doutsiopoulos)

Giving this talk is a lot of fun. It was very nice to have people come up to us afterwards to tell us how much they liked it. (Special thanks to JavaCro organiser Branko Mihaljević for all your kind words!)

Fortunately, I also had some time to catch up with more people, like Sandra Parsick, Sandra Ahlgrimm, and several others.

JCON speaker dinner

In the evening, it was time for the speaker dinner.

Marit van Dijk making a heart at photographer Dimitris Doutsiopoulos
When you see Dimitris (photo by Dimitris Doutsiopoulos)

Earlier during the day, I had run into my friend Rien Korstanje, who I hadn’t seen in a while. We know each other from when I used to contribute to cucumber-jvm, as he is one of the core maintainers. Turns out is now also a maintainer for JUnit, so we had some time to catch up during dinner with Marc Philipp and Christian Stein (thanks for laughing at all my silly jokes!).

Unfortunately there was not enough time to properly catch up with everyone.

Social media post by Catherine Edelveis with the text "Caught Marit van Dijk for 2 minutes" containing a picture of Catherine and Marit.
Seeing Catherine (too) briefly at the JCON speaker dinner

Devoxx France

On Wednesday, it was time to travel to Paris. We took the train and through sheer luck ended up with seats next to each other, even though we had booked through our respective employers. This gave us time to reflect on how the talk went at JCON and prepare for our session at Devoxx France in the afternoon.

After surviving the Paris metro, the first person we saw at Devoxx France was Estelle Landry, which was a very happy reunion as I hadn’t seen her since Devoxx Morocco.

Estelle helped us get some lunch, pointed us to the speaker room and got us settled in so we were ready for our session. We also ran into Daniel Garnier-Moiroux in the speaker room.

Our talk was again in the afternoon, and the audience was amazing! This was quite possibly the most engaged audience we have had for this talk, and also the best version of the talk we have done so far.

Social media post by Piotr Przybył with the text: "Thank you for being such a vivid and welcoming audience, Devoxx France. And now, with Marit van Dijk: FROMAGE !". The post contains a picture of Marit van Dijk and Piotr Przybył, both wearing labcoats, on stage at Devoxx France with the audience in the background.
Taking a selfie at Devoxx France: Fromage!

It seems we were not the only ones who thought so, because we also received the highest rating for our talk so far: 4.92/5. In addion, we received some very nice feedback like “You make an awesome team” and “Very funny”.

Talk ratings from the Devoxx Mobile app for Learning modern Java the playful way. With 235 hearts, 24 ratings and 5 comments, the average rating is 4,92/5.
A 4.92/5 rating at Devoxx France

Unfortunately, the video is not available yet, but it should be added to the Devoxx France YouTube channel soon. And photos will be added to the Devoxx France Flickr albums.

In the evening, it was again time for the speaker dinner, where I had the opportunity to catch up with people like José Paumard, Zineb Bendhiba, and several others… We didn’t stay too late, as we had an early start to travel to Athens the next day.

Devoxx Greece

We met up early in the morning to take the train to the airport and fly to Athens. Upon arrival, we took a taxi to the venue to figure out the logistics for our talk the next day.

In the evening, there was a speaker reception where we got to meet some of the other speakers, including Viktor Gamov, Alina Yurenko, Alexander Chatzizacharias, Holly Cummins and Patrick Baumgartner. An added bonus for me was the opportunity to catch up with my colleague Michelle Frost, who I don’t get to see that often.

The next morning we met up at the venue for our talk. It was once again time to put on a labcoat 😉

Black and white photo of Marit van Dijk putting on her labcoat over a Java Champion polo.
Putting on the labcoat at Devoxx Greece (photo by Dimitris Doutsiopoulos)

We were a little rushed, as the talk slots were slightly shorter. But it seems that our talk was again well received; we received nice ratings (4,78/5) and lovely feedback. Special thanks to the person who came up to talk to me in Dutch and the folks who came up to us when we were taking pictures to tell us that ours was their favorite session!

We did a short interview for Devoxx Greece and recorded a short video ourselves with the help of Alina Yurenko (thanks!).

Social media post by Alina Yurenko with the text: "Working a double shift as a personal media team for some speakers!!!🙄😄" tagging Marit van Dijk, Piotr Przybył and Devoxx Greece. The post contains a selfie of Alina Yurenko. Marit van Dijk and Piotr Przybył are standing in the background in front of a Devoxx Greece banner; both are wearing a white labcoat.
Alina Yurenko as our personal media team
Marit van Dijk and Piotr Przybył in front of a Devoxx Greece banner; both are wearing a white labcoat.
At Devoxx Greece (photo by Dimitris Doutsiopoulos)

In the afternoon, I had some time to catch up with people, had to take a meeting (is it even remote work if you don’t work from various weird places like conferences, trains, airports and hotel lobbies?) and then it was time to head home.

A great week

Overall, I had a great week. It was wonderful to see so many friends and meet new people. Many thanks to the conference organisers, volunteers and attendees at JCON, Devoxx France and Devoxx Greece and of course my amazing cospeaker Piotr Przybył.

Links