BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Pentabarf//Schedule 0.3//EN CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALDESC;VALUE=TEXT:Friends of OpenJDK devroom X-WR-CALNAME;VALUE=TEXT:Friends of OpenJDK devroom X-WR-TIMEZONE;VALUE=TEXT:Europe/Brussels BEGIN:VEVENT METHOD:PUBLISH UID:15042@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T090000 DTEND:20230205T090500 SUMMARY:Welcome to the Friends of OpenJDK (Foojay.io) Developer Room! DESCRIPTION:
A warm brief welcome to the busy Foojay.io schedule at FOSDEM!
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/foojay/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Geertjan Wielenga":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14832@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T090500 DTEND:20230205T092500 SUMMARY:After Nearly 30 Years, How Is Java So Popular? DESCRIPTION:This year marks 28 years since Java was first released, and it is still consistently in the top 3 most popular programming languages.
In this session, we'll explore how Java has maintained this popularity level, despite the many newer languages vying for the top. The second question we'll look at is how Java can maintain its attraction to new and existing developers around the world.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/javapopularity/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Simon Ritter":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:13912@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T093000 DTEND:20230205T095000 SUMMARY:Why And How To Upgrade To Java 17 (And Prepare For 21) DESCRIPTION:Java upgrades are sometimes seen as difficult and many applications are still running on an older version of Java. This session describes Java's current six months release process and why applications should use a recent Java version. After that, I'll explain the challenges of upgrading and provide some useful tips to make the process easier.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/upgrade/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Johan Janssen":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:13809@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T095500 DTEND:20230205T101500 SUMMARY:Best Practices For Real-Time Stream Processing (With Hazelcast Open Source Platform) DESCRIPTION:Real-time stream processing has its own challenges such as windowing, event time and late events, streaming fault tolerance, and processing guarantees. In this talk, I will address those challenges and demonstrate the best practices for real-time stream processing, from data ingestion to data processing with ultra-low latency at scale and at speed, using the Hazelcast platform. I will discuss how you can optimize your real-time streaming projects in the following areas: scalability, performance, failover, reliability, and data recovery.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/hazelcast/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Fawaz Ghali":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14543@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T102000 DTEND:20230205T104000 SUMMARY:Keep Your Dependencies In Check DESCRIPTION:Keep your dependencies in check
If Log4Shell, Spring4Shell, etc. have taught us anything, it's that we need to keep our dependencies up to date. But updating our applications can take a lot of time. How do we stay on top of that, while also continuing to deliver business value?Luckily, there are plenty of tools that can help us with this, from package managers to bots that can automatically create changes on our repositories. Let's go over some of the different options, so we can make informed choices about what's best for us in a particular situation.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/dependencies/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Marit van Dijk":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14535@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T104500 DTEND:20230205T110500 SUMMARY:Major Migrations Made Easy With OpenRewrite DESCRIPTION:Conferences love to show you the latest and greatest framework versions and language features. But those new technologies can feel a world away back at work. And it can be hard to justify the time spent to upgrade something that’s not broken, such as JUnit 4.
What if you could migrate in mere minutes? With OpenRewrite you can! A collection of fine grained recipes combine to achieve large scale migrations of frameworks and tools related to the JVM. And since it uses a lossless semantic tree, refactorings are guaranteed safe.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/migrations/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Tim te Beek":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14520@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T111000 DTEND:20230205T113000 SUMMARY:Rethinking Ecosystem Security After Log4Shell DESCRIPTION:How the Eclipse Foundation, industry and academic partners are working together to address the challenge of measuring and improving the security posture of open-source projects in practical, compelling and above all adoptable ways.
The Eclipse Foundation is partnering with the Linux Foundation and others to find practical and adaptable ways of improving project security posture.
From simple process aspects like having a stated vulnerability process to more sophisticated elements such as SBOMs or secure build processes.There are many ideas, tools, checklists and opinions. This session will explain how the EF is planning to navigate this space to create a compelling framework that will allow projects to improve with limited or no impact.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/log4shell/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Steve Poole":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:13663@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T113500 DTEND:20230205T115500 SUMMARY:Elasticsearch Internals DESCRIPTION:Elasticsearch is nowadays one of the most widely used and deployed full text search engines containing a large amount of capabilities. How how are they actually implemented and how does Elasticsearch operate behind the scenes ? This session will reveal the innerworkings behind the core capabilities of Elasticsearch. We will provide a review of Elasticsearch architecture and general structure of the public Apache 2.0 codebase. Further expanding on that knowledge we will develop a relatively simple ingest plugin in Java that filters certain keywords from indexed documents.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/elasticsearch/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Martin Toshev":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14652@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T120000 DTEND:20230205T122000 SUMMARY:Securing Your Software Supply Chain One Open Source Project at a Time DESCRIPTION:Delivering software fast is one piece of the CI/CD puzzle, but delivering it securely is the glue that keeps your puzzle from falling apart. Software supply chain attacks are on the rise with security exploits directly targeting open source projects, central repositories, and software package managers. Now that developers are the target of security attackers, how do you protect your DevOps pipeline?
This is a problem that the Continuous Delivery Foundation (CDF) is working to solve. To help ensure a secure SDLC, the CDF is investing in projects that provide security solutions and in 2022 announced a new incubating project, Pyrsia. This talk will highlight the importance of securing your software supply chain at the source and how Pyrsia is working to solve this problem.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/supplychain/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Fatih Degirmenci":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Lori Lorusso":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14374@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T122500 DTEND:20230205T124500 SUMMARY:What I Miss In Java (The Perspectives Of A Kotlin Developer) DESCRIPTION:Java has been my bread and butter for almost two decades. Several years ago, I started to learn Kotlin; I never regretted it.
Though Kotlin compiles to JVM bytecode, I sometimes have to write Java again. Every time I do, I cannot stop pondering why my code doesn’t look as nice as in Kotlin. I miss some features that would improve my code’s readability, expressiveness, and maintainability.
This talk is not meant to bash Java but to list some features I’d like to find in Java.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/miss/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Nicolas Frankel":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:13638@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T125000 DTEND:20230205T131000 SUMMARY:Update on #JavaOnRaspberryPi and Pi4J DESCRIPTION:Controlling electronics with Java and Pi4J is a perfect way to further extend your knowledge and learn about hardware and various communication protocols.
In 2022 articles were published on Foojay.io about using SDKMAN, JBang, Vaadin, Kotlin, and many more on the Raspberry Pi. These prove that Java and the JVM are a perfect match with this small and inexpensive Linux PC for experiments, pet projects, learning, etc.
Let's take a look back at what has been realized in 2022 regarding #JavaOnRaspberryPi and what we can expect in 2023.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/pi/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Frank Delporte":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14549@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T131500 DTEND:20230205T133500 SUMMARY:Write Once, Run Anywhere... Well, What About Heterogeneous Hardware? DESCRIPTION:The emergence of heterogeneous hardware resources has posed a significant obstacle for the Java programming language to keep up with the “Write Once Run Anywhere” paradigm. The reality is that several parts of the Java Virtual Machine must be modified to make Java portable for execution on modern heterogeneous hardware, such as GPUs and FPGAs. To tackle that challenge, TornadoVM is implemented in the University of Manchester as an open-source software technology that enables OpenJDK and other JDK distributions to offload parts of Java applications onto heterogeneous hardware for parallel execution.
This talk will present the latest features of TornadoVM, and it will showcase examples of how the TornadoVM API can be utilized to abstract heterogeneous hardware and increase the performance of Java applications. The goal is to explain the basic terms of TornadoVM including all new API extensions, in order for developers to take advantage of heterogeneous hardware with minimal effort. Finally, this presentation will discuss how TornadoVM is used in research and industry for the acceleration of Java applications.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/hardware/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Thanos Stratikopoulos":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14642@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T134000 DTEND:20230205T140000 SUMMARY:The Next Frontier in Open Source Java Compilers: Just-In-Time Compilation as a Service DESCRIPTION:For Java developers, the Just-In-Time (JIT) compiler is key to improved performance. However, in a container world, the performance gains are often negated due to CPU and memory consumption constraints. To help solve this issue, the Eclipse OpenJ9 JVM provides JITServer technology, which separates the JIT compiler from the application.
JITServer allows the user to employ much smaller containers enabling a higher density of applications, resulting in cost savings for end-users and/or cloud providers. Because the CPU and memory surges due to JIT compilation are eliminated, the user has a much easier task of provisioning resources for his/her application. Additional advantages include: faster ramp-up time, better control over resources devoted to compilation, increased reliability (JIT compiler bugs no longer crash the application) and amortization of compilation costs across many application instances.
We will dig into JITServer technology, showing the challenges of implementation, detailing its strengths and weaknesses and illustrating its performance characteristics. For the cloud audience we will show how it can be deployed in containers, demonstrate its advantages compared to a traditional JIT compilation technique and offer practical recommendations about when to use this technology.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/jit/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Rich Hagarty":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14741@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T140500 DTEND:20230205T142500 SUMMARY:Afraid Of Java Cold Starts In Serverless? Fear Not, Java Is Super Fast! DESCRIPTION:For years, we’ve been told that Java suffers from cold starts in AWS Lambda and Serverless in general. Believe it not. Java is extremely fast to start, the simplest Java program starts in milliseconds. It’s the Java app servers, frameworks and libraries that usually slow things down. But there are now many ways to start Java apps fast.
In this session, I want to show you the truth about Serverless Java and cold starts, what’s slow, what’s fast and why it matters. We’ll explore Piranha Cloud, one of the most modern and fastest Jakarta EE frameworks, and how it can start Java apps very fast.
Then I’ll explain which Java Virtual Machine optimizations may help if you need to start apps even faster.
You’ll see live for yourselves how Java AWS Lambda functions built with Jakarta EE can start fast and decrease the cold starts to the absolute minimum which you can barely notice.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/serverless/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Ondro Mihalyi":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14570@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T143000 DTEND:20230205T145000 SUMMARY:FireCRaCer: The Best Of Both Worlds DESCRIPTION:CRaC (Coordinated Restore at Checkpoint) is an OpenJDK project for the coordination of Java applications at checkpoints which leverages the CRIU (Checkpoint/Restore In Userspace) library for process snapshotting. This talk will briefly introduce Firecracker, an open source virtualization technology based on KVM, explain how CRaC can be used with it and compare it with CRIU.
The second part of the talk will introduce some new tools based on Userfaultfd and DAMON which allow fine grained analysis of of the JVM's memory access patterns during restore and end with a discussion on how the JVM could be optimized to improve them.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/firecracer/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Volker Simonis":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14312@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T145500 DTEND:20230205T151500 SUMMARY:Classics Never Get Old: Two Easy Pieces For GraalVM DESCRIPTION:Biased locking was removed from OpenJDK HotSpot JVM some time ago. This move had its reasons, but it resulted in a number of significant performance degradations in existing code. Thus, when non-contended locking optimization can be added, it still benefits virtual machines. Parallel stop-the-world garbage collection is one of the earliest GC variants in HotSpot, and yet it is the best choice in terms of high throughput.SubstrateVM which powers GraalVM native image supports synchronization monitors and offers serial stop-the-world GC as a basic collector. Due to the increased popularity of pre-compilation and its support in modern frameworks, it is remarkable how playing classical optimization pieces helps to improve the performance of such code.BellSoft recently put locking and garbage collection enhancements for public review. It is interesting that within GraalVM project both were implemented in Java. We'll explore implementation details, benchmark results, and application benefits.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/graalvm/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Dmitry Chuyko":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:13772@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T152000 DTEND:20230205T154000 SUMMARY:AsyncGetStackTrace: The Improved Version Of AsyncGetCallTrace (JEP 435) DESCRIPTION:Java profiling relies heavily on the AsyncGetCallTrace API. But this API has major drawbacks: It is unofficial, not well-tested, and omits important information. I propose AsyncGetStackTrace (JEP Candidate 435) as an improved replacement.
This talk will give an overview of AsyncGetCallTrace and AsyncGetStackTrace, their implementations, differences, and use cases.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/asyncgetstacktrace_the_improved_version_of_asyncgetcalltrace_jep_435/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Johannes Bechberger":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14791@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T154500 DTEND:20230205T160500 SUMMARY:Quarkus 101: Intro To Java Development With Quarkus DESCRIPTION:Java is a great programming language, however 'traditional' Java isn't so great to work with when it comes to modern, Cloud Native development. Quarkus is a (fairly) new Java stack that addresses issues such as the typical slow startup time and rather large memory usage that hinder the adoption of Java in container and/or Serverless workloads. Quarkus is not just useful for optimizing resource usage though. There is also a big focus on improving the developer experience. In this session we'll demonstrate how Quarkus is very easy to work with and allows developers to work with containers and external dependencies such as databases, Kafka clusters, Kubernetes etc without being experts in any of these technologies.
After this session, the audience should come away with inspiration to build modern Cloud Native applications with Java, and have fun doing so!
In this session we will briefly describe Apache Pulsar and Jakarta JMS. We will see how Apache Pulsar concepts map to the Jakarta Messaging Specifications. You will also see how to connect a Jakarta EE application to Pulsar just by dropping a Resource Adapter in your application server and basically zero code changes.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/pulsar/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Mary Grygleski":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Enrico Olivelli":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:14516@FOSDEM23@fosdem.org TZID:Europe-Brussels DTSTART:20230205T163500 DTEND:20230205T165500 SUMMARY:Fuzion — Intro for Java Developers: Mapping Java's Features to Simpler Mechanisms DESCRIPTION:Since last year's FOSDEM, the Fuzion language has seen two major enhancements:algebraic effects and type features. Algebraic effects provide a means tomanage non-functional side-effects of calls, while type features provide meansto attach logic to type parameters providing more power to generic types.
This talk will explain algebraic effects and type features in Fuzion and showhow they can be used. Algebraic effects provide means to manage non-functionalaspects like I/O, global and local state, exceptions and much more. This can beused to automatically detect security issues due to side-effects. Many exampleswill be given that show how typical code patterns in Java can be realized in apurely functional way using effects and type features.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Friends of OpenJDK URL:https:/fosdem.org/2023/schedule/2023/schedule/event/fuzion/ LOCATION:H.1302 (Depage) ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Fridtjof Siebert":invalid:nomail END:VEVENT END:VCALENDAR