HomeConferencesUnwrapping JCrete 2023 Unconference

Unwrapping JCrete 2023 Unconference

Author

Date

Category

Introduction

JCrete Unconference is a world-class event and takes place every year around July in Kolymvari (Chania, Crete) since 2010. It is an invitation-only Unconference, where all the cool smart people that have shaped the computing industry gather together to discuss topics around Java and more. Every participant has the chance to learn from the source and grow, by joining small discussion groups where experiences are shared and everyone learns from one another in an informal format.

What is an Unconference?

JCrete uses the format of open spaces unconference:

  • An unconference is a participant-driven meeting. In other words: you decide what topics you want to talk about, and work on, with whom – instead of hoping a “speaker” will address that topic at least briefly.
  • Open Space (“Open Space Technology”, OST) is a specific form of an unconference that starts with an empty schedule. No topics are mandated, no separations are made between “speakers” and “audience”. All participants work out a schedule by suggesting, planning, holding and evaluating sessions, collaboratively.

Since everything is created collaboratively by the participants, obviously it matters which people feel invited, and how to “call” them together. This is one of the reasons that JCrete® is an invitation-only event.

The rules are simple:

  • Whoever shows up are the right people.
  • Whenever it starts is the right time.
  • Whatever happens is the only thing that could have.
  • Wherever it happens is the right place.
  • When it’s over, it’s over.
  • Whenever it starts is the right time.
  • Whatever happens is the only thing that could have.
  • Wherever it happens is the right place.
  • When it’s over, it’s over.
JCrete Unconference rules
JCrete Unconference rules

So I was excited when Heinz Kabutz (@heinzkabutz) invited me to join this great event.

The topics

Every day before the Unconference starts, anyone can propose a topic to discuss as everyone is a speaker to the event! So, sessions are chosen and you can decide where to go.

Topics of discussion from all JCrete week
Topics of discussion from all JCrete week

Topics of discussion from all JCrete week

The topics of this year came from several areas of interest, as you can see in the picture and give a sense of what is current: code quality, build tools, open source projects, JVM issues, Functional programming, Best practices, Cloud, Chat GPT & AI and Performance issues. As expected, AI and ChatGPT were the hot topics of interest, but the all time classics were not left behind, covering:

  • Java related topics & Java features
  • Java in Education
  • Cloud
  • Tools & Developer productivity
  • Open source projects
  • Clean code
  • JVM issues
  • Architecture
  • Emerging behaviors of systems
  • Git
  • Functional programming
  • Testing
  • Logging
  • Cobol (!!!)

However, out of the blue for me and not at all expected were topics related to work life balance and how to build a career and a life with purpose, again by experts of the field, implying the need of mental health and life balance, the stereotype of ill- productivity or

  • Are you burned out? What to do
  • Self awareness for introverts
  • Financial independence; building a life of freedom & purpose

Among others, talks were given by:

  • Heinz Kabutz (@heinzkabutz), a well-known figure in the Java programming community. He is a software developer, trainer, and consultant with extensive expertise in Java and related technologies. He is particularly recognized for his work in the area of Java concurrency, multithreading, and the Java Memory Model.
  • Kirk Pepperdine (@javaperftuning), a well-known figure in the Java and performance tuning communities. He is a software performance consultant and trainer with extensive expertise in Java performance optimization and tuning and he is recognized for his work in helping developers and organizations improve the performance of their Java applications. He is particularly known for his in-depth understanding of Java Virtual Machine (JVM) internals, garbage collection algorithms, and multithreading.
  • Cliff Click (@cliff_click), also known as Cliff Click III, who is a prominent computer scientist and software engineer. He is well-known for his contributions to the field of computer programming, particularly in the area of Java Virtual Machines (JVMs) and just-in-time (JIT) compilation and a co-founder of Azul Systems.
  • Marc R. Hoffman (@marcandsweep) who initiated the project of JaCoCo (Java Code Coverage) which later became an official part of the Eclipse Foundation.
  • Martin Thompson (@mjpt777) who is widely recognized for his expertise in optimizing software performance and designing high-throughput, low-latency systems. He has extensive experience in the financial industry, where performance is critical for handling large volumes of transactions in real-time.
  • Simon Bordet (@simonebordet) who is a prominent software developer and a key contributor to the Jetty project. Jetty is an open-source web server and servlet container written in Java. It is widely used in the Java ecosystem and serves as a foundation for many web application servers and frameworks.
  • Sebastian Daschner (@DaschnerS) is a well-known software engineer, Java Champion, and developer advocate. He is recognized for his expertise in Java and Java Enterprise Edition (Java EE), now known as Jakarta EE, as well as his contributions to the broader Java community. He is an active speaker and educator, delivering talks and workshops at various conferences and events.

So let’s have a closer look at some of the topics.

IntelliJ productivity

Intellij productivity by dr. Heinz Kabutz
Intellij productivity by dr. Heinz Kabutz

Dr. Heinz Kabutz (@heinzkabutz), the creator and one of the disorganizers of JCrete, gave a talk on very useful IntelliJ shortcuts and plugins. The most interesting part was when a participant asked for a way to turn off the spelling linter of variables. After realizing that no plugin would have the expected behavior, Heinz sent a direct message to one of the members that developed IntelliJ! Stay tuned!

Build tools

Ix-chel Ruiz on build tools
Ix-chel Ruiz on build tools

In a talk by Ix-chel Ruiz (@ixchelruiz) the conversation was about build tools and how much they accelerate build time if you know how to use them. What was surprising was the common experience that developers are not so much aware of the build tools capabilities and that they use them by blindly following instructions. Fun fact: no one (almost!) asks developers if they know how to use build tools when being interviewed for a job! What is more, team leaders and managers are not so willing to give to teams the time required to get trained on such tools.

Java on ARM

Java on RM by Marc R. Hoffmann
Java on RM by Marc R. Hoffmann

For cloud installations, Amazon uses ARM processors (Graviton). The talk was coordinated by Marc R. Hoffmann (@marcandsweep), and, among others, what was discussed is the very interesting fact that in versions v8.1 and v.8.2 of those processors, a weird behavior has been noticed with several Java versions. Specifically, since Marc is the creator and Project Lead of the JaCoCo project, he noticed that the stack traces reported by the compiler had different line numbers than the expected ones. Also when using unsafe memory access the application has different behavior than Intel processors. The solution for a seamless transition is to have high test coverage in order to be able to more easily identify the root cause. So, this is a very good example of the value of high testing coverage and the benefits it brings to the table. Since building directly on an ARM processor can be a challenge for the CI/CD pipeline, docker/podman can be used provided that the resources are enough to cover the overhead.

CRaC

Ivar Grimstad about CRaC (Coordinated Restore at Checkpoint)
Ivar Grimstad about CRaC (Coordinated Restore at Checkpoint)

Ivar Grimstad (@ivar_grimstad), the Jakarta EE Developer Advocate at Eclipse Foundation, talked about the CRaC (Coordinated Restore at Checkpoint) Project of OpenJDK. CRaC is a research project that focuses on how Java programs can work together with special mechanisms to create “snapshots” of themselves while running. More specifically, a Java program could freeze its execution, take a snapshot of its current state and then resume from that exact point later on. This process is like freezing time for the program. By doing so, CRaC helps you save valuable resources and lower costs, especially in cloud environments and lamda functions, where starting-up and warming-up can be time consuming and expensive. With CRaC, programs can be more efficient and friendlier to your budget! OpenLiberty and Azul have already integrated CRaC in their JDK builds and can be used out of the box.

Notes
Notes

JReleaser

Andres Almiray (@aalmiray) presented JReleaser. If you want to make your releases faster and more automated, JReleaser is an open source project that may suit your needs. It helps you with packaging, publishing packages, build with the tools of your choice, release to git and make it “official” by announcing the release on Twitter and other services! Releases are automatically tagged. A changelog is generated with all commits since the last tag. All artifacts are uploaded.

JCrete4Kids

JCrete4Kids 2023
JCrete4Kids 2023

After the last day of the main event, a day for kids is organized and sessions are run voluntarily by some of the participants of the main event. Kids of a remote area of Greece have the chance to get familiar with technology next to experienced professionals and this is an important contribution of JCrete to the society of Chania giving something back.

On this day, I had the opportunity to contribute (@svarvarigou) by running one of the two sessions of JCrete4Kids on robotics. The kids would create a Lego construction and then use the LegoBoost application in order to program it. The idea was based on renewable resources of energy. The kids would create a windmill, measure the power of the wind and make it move automatically while using different colors of a flashing light on the construction in order to indicate its strength.

JCrete4Kids2023 - Robotics by Stella Varvarigou
JCrete4Kids2023 – Robotics by Stella Varvarigou

The other session was about creating a video game in tic-80 by Uberto Barbini (@ramtop). Uberto, also, ran some sessions on functional programming in the main event.

It is important to mention that many participants of the event, some of which I have earlier mentioned, have contributed as volunteers to support these sessions for kids. And this is the magic of JCrete!

Wrap up

Last but not least, JCrete was a great experience! The most amazing part is that you can get so familiar with gurus of the community and have a really educational talk, for example, while eating breakfast in a beautiful location! What is more, do not forget the rules. ‘Whoever comes is the right people’ and this means that from a developer to a guru each and every one is an equal member and can contribute in a unique and invaluable way to the event. I would definitely want to be part of it again!

Till next time!

 

JCrete2023
JCrete2023
JCrete2023 closing photo
JCrete2023 closing photo

 

My article was originally posted on code4thought.eu.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Stella Varvarigou

Cyber Security Expert | Public Speaker | Speakers engagement @ open-conf.gr

I am a Cyber Security Expert at NTT DATA, specializing in DevSecOps with a focus on applying security principles and best practices. With over a decade of experience in software design and development, I bring expertise in identifying development team needs and enhancing software maintainability and security by design, particularly in the telecommunications, banking, and insurance sectors. I have led development teams to ensure high code quality and security and contributed to large-scale projects for European institutions and enterprise ERP systems. Additionally, I am a public speaker at tech conferences such as DevoxxGR, Open Conf, and TEDxZakynthos.

Recent posts

Recent comments