foojay – a place for friends of OpenJDK https://foojay.io/today/category/campaigns/ a place for friends of OpenJDK Thu, 19 May 2022 19:11:32 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://foojay.io/wp-content/uploads/2020/04/Favicon-3-2-150x150.png foojay – a place for friends of OpenJDK https://foojay.io/today/category/campaigns/ 32 32 “Works with OpenJDK” Campaign https://foojay.io/today/works-with-openjdk/ https://foojay.io/today/works-with-openjdk/#comments Fri, 03 Sep 2021 14:58:26 +0000 https://foojay.io/?p=46584 While the OpenJDK powers millions of applications, it tends to be somewhat hidden, like the engine within a smoothly running car. Just as the car is useless without its engine, so too with Java applications without the OpenJDK.

To remedy that, and to celebrate the OpenJDK, let's attach the badge below to everywhere, everything, and everyone that makes use of it.

The post “Works with OpenJDK” Campaign appeared first on foojay.

]]>
OpenJDK powers millions of applications and services around the globe. The OpenJDK project is where Java is developed and maintained, and provides the reference implementation for Java SE specifications. A multitude of reputable, compatible, and interchangeable OpenJDK distributions are available to power Java applications that work with OpenJDK.

Use the "Works with OpenJDK" badge to indicate that your project, library, application, or service is known to work with OpenJDK. Or uses OpenJDK. Or is tested on OpenJDK. Or is generally happy with or likes OpenJDK.

Let's celebrate OpenJDK!

To join in with this campaign to celebrate OpenJDK, badges are found at Foojay's GitHub: github.com/foojayio/badges

And here, for example, is an img tag to be added to the top of the README.md of GitHub projects—or any other place, such as Java technology websites and Java User Group meetup announcements—that work with OpenJDK:

<a href="https://foojay.io/works-with-openjdk">
   <img align="right" 
        src="https://github.com/foojayio/badges/raw/main/works_with_openjdk/Works-with-OpenJDK.png"   
        width="100">
</a>

Join in too and let the world know that you work with OpenJDK!

OpenJDK is a registered trademark of Oracle America, Inc.

The post “Works with OpenJDK” Campaign appeared first on foojay.

]]>
https://foojay.io/today/works-with-openjdk/feed/ 11
Schedule for Foojay Virtual OpenJDK 17+ JUG Tour https://foojay.io/today/schedule-for-foojay-virtual-openjdk-17-jug-tour/ https://foojay.io/today/schedule-for-foojay-virtual-openjdk-17-jug-tour/#comments Tue, 10 Aug 2021 12:04:52 +0000 https://foojay.io/?p=46377 As announced last month, to celebrate the OpenJDK 17 and Foojay.io as a vendor-neutral community platform for its users, we’re kicking off the Virtual Foojay JUG Tour to be held during and around its release month of September.

And here's the schedule, note that it will change as more meetups are confirmed, and if your JUG is missing, i.e., you'd like to still be included in the tour, no worries, let's see what can be done!

The post Schedule for Foojay Virtual OpenJDK 17+ JUG Tour appeared first on foojay.

]]>
Table of Contents

As announced last month, to celebrate the OpenJDK 17 and Foojay.io as a vendor-neutral community platform for its users, we’re kicking off the Virtual Foojay JUG Tour to be held during and around its release month of September.

And here's the schedule, note that it will change as more meetups are confirmed, and if your JUG is missing, i.e., you'd like to still be included in the tour, no worries, let's see what can be done, simply contact JFrog's Ari Waller (ariw at jfrog dot com) and Payara's Jadon Ortlepp (jadon.ortlepp at payara.fish), Foojay's Event Managers, and specify a date and time (and preferred topics) together with some dates and times that would work for your JUG.

August

September

October

The post Schedule for Foojay Virtual OpenJDK 17+ JUG Tour appeared first on foojay.

]]>
https://foojay.io/today/schedule-for-foojay-virtual-openjdk-17-jug-tour/feed/ 2
Virtual Foojay OpenJDK 17+ JUG Tour https://foojay.io/today/virtual-foojay-openjdk-17-jug-tour/ https://foojay.io/today/virtual-foojay-openjdk-17-jug-tour/#comments Wed, 21 Jul 2021 16:07:16 +0000 https://foojay.io/?p=45579 To celebrate OpenJDK 17 and Foojay.io as a community platform for its users, we’re kicking off the Virtual Foojay OpenJDK 17+ JUG Tour. Ari Waller, JFrog's Event Manager, well known to many JUGs, will continue to wear a second hat—that of Foojay Event Manager.

During September and October, contributors to Foojay will be making a whistle stop tour through as many JUGs as possible, via their virtual meetups! (And if you're not holding virtual events or don't have the facilities for this, we can support by making these available as needed.)

The post Virtual Foojay OpenJDK 17+ JUG Tour appeared first on foojay.

]]>
Table of Contents

To celebrate OpenJDK 17 and Foojay as a community platform for its users, we’re kicking off the Virtual Foojay OpenJDK 17+ JUG Tour, focused on OpenJDK 17, plus more!

Ari Waller, JFrog's Event Manager, well known to many JUGs, will continue to wear a second hat, as he did on the previous tour—that of Foojay Event Manager, together with Jadon Ortlepp from Payara, newly added to the Foojay Event Team!

During September and October, contributors to Foojay will be making a whistle stop tour through as many JUGs as possible, via their virtual meetups! (And if you're not holding virtual events or don't have the facilities for this, we can support by making these available as needed and some of the sessions can be done live in-person, depending on the context.)

At each stop of the tour, there'll be a brief introduction to Foojay.io followed by a session of 45 minutes on a topic connected to OpenJDK 17, and beyond, presented by a Foojay community member, as listed below.

The JUG can pick the topic of their choice and anyone reading this and wanting their JUG to be involved should contact Ari (ariw at jfrog dot com and/or hello at foojay dot io) and suggest dates, ideally during September and October, when they'd like to host the Foojay program!

Here's the (growing) roster of topics!

Note: Abstracts that have already been booked are marked as such below and, in some cases, an abstract may be available for more than one JUG, though ideally all abstracts would be assigned before assigning sessions more than once.

Java Core


OpenJDK 17: Get Ready for the Next LTS Java, Simon Ritter (Azul).

With the release of OpenJDK 17, all OpenJDK distributions will be providing long-term support (LTS) for this version of the Java platform. Many Java users currently running on OpenJDK 8 or OpenJDK 11 will want to migrate their production environments to OpenJDK 17. This will enable them to take advantage of the numerous new features and enhancements made possible by the six-month release cadence introduced in 2017.

This session will provide details of changes to the Java platform covering OpenJDK 12 to 17. Although many things have been added, some have also been removed. We'll highlight these things and explain how they may impact application migration. We’ll cover all aspects of the OpenJDK: the Java language, core APIs, the JVM and tooling and other OpenJDK-specific features, including Switch expressions (OpenJDK 12), Text blocks (OpenJDK 13), Records (OpenJDK 14), Pattern matching, for instanceof (OpenJDK 14), Sealed classes (OpenJDK 15), and Pattern matching for switch (OpenJDK 17), as well as, on the API side, Foreign-Memory Access API (OpenJDK 14), Vector API (OpenJDK 16), and Foreign Linker API (OpenJDK 16).

By the end of this session, you’ll be all set to take advantage of all the modern Java features!

Status: Booked September 9, St. Louis JUG (USA)


Pattern Matching & Sealed Classes: Best Features of OpenJDK 17? Deepu K Sasidharan (JHipster).

Let's have a quick rundown of the two most exciting features landing in OpenJDK 17!

Pattern matching in Java is almost complete now. OpenJDK 16 added support for pattern matching in the instanceof operator and now this can be used in switch cases to perform idiomatic pattern matching, as in many other modern languages.

Let's see all the possibilities with it first and then we will look at the new Sealed classes and interfaces that let you restrict inheritance and learn how they can be useful in pattern matching.

Status: Booked September 23, Silesia JUG (Poland)


Say ‘No’ to JNI, Carl Dea (Azul)

As a Java developer, you may have a need to access native libraries, such as Tensorflow, SqlLite, ffmpeg, OpenGL, but later find that JNI is your default choice. JNI (Java Native Interface) requires native code to be installed. You’ll quickly find that JNI wrapper code is difficult to maintain.

New to OpenJDK 17 is the Foreign Linker API (JEP 389) as a replacement for JNI to provide a pure-Java solution and perform comparable to, or better than, JNI.

The aim of this talk will be to provide a friendly introduction to OpenJDK 17’s Foreign Linker API.

Status: Booked September 21, KnoxJava (USA)


Securing and Exploiting Java Applications, Erik Costlow (Contrast Security)

OpenJDK 17 makes the interesting decision that deprecating a security feature (the SecurityManager) can actually improve security of the platform and running applications, setting out a path to remove a feature that hasn’t been used and hasn’t blocked many exploits.

By understanding how modern Java applications are attacked, teams can better position the right defense in the right location. This talk will analyze exploits against several Java applications that were used in the wild and lay out the proper security defense that can defend applications from being breached, not only to mitigate these threats but also to address time spent on internal security audits.

We will lay out where different defense and monitoring capabilities have gone, including new features such as serialization filters and OpenJDK Flight Recorder.


Data Science on the JVM with Kotlin and Zeppelin, Pratik Patel (Azul)

The world of Data Science heavily uses Python and Python libraries such as NumPy and Pandas. While Python is a great platform, it does have some drawbacks - one of which is performance. As Java developers, we enjoy the familiarity of the JVM and the constellation of tools and libraries available for this high-performance platform.

In this session, Pratik will introduce you to Data Science using the popular Kotlin language that runs on the JVM. We'll do this using an interactive platform called Apache Zeppelin. Similar to Jupyter Notebooks, Zeppelin allows you to write code, formatted text, and use a myriad of plugins to process, analyze, and display data. With its integration with Spark, you can also prototype and develop solutions for Big Data in a fun and interactive way!


Are All OpenJDK Builds Created Equal?, Simon Ritter (Azul).

Each release of Java Standard Edition (SE) has its own project under the OpenJDK. The source code is licensed under GPL v2 with the Classpath exception, meaning that anyone can download it, build it, and distribute the resulting binaries.

If everyone is using the same source, then all distributions will be the same, surely? Well, that’s not guaranteed: even something as simple as a change in the version of a compiler could significantly impact how the executable works.

Luckily, part of the Java SE specification, as provided through individual Java Specification Requests (JSRs), is a test suite, commonly referred to as the TCK (Technology Compatibility Kit). Depending on which version of Java is involved, there are up to a hundred and fifty thousand tests.

In this session, we’ll explore how the TCK can provide a very high level of assurance that your application will run in the same way on any TCK-tested build of the OpenJDK.

By the end, you’ll have a clear understanding of the benefits of OpenJDK certification.

Status: Booked September 28, Garden State JUG (USA)


Your Java Code in the Fastlane: Creating a Million Virtual Threads Using Project Loom to Improve Throughput, Bazlur Rahman (Contrast Security)

Project loom introduces virtual threads, lightweight threads that aim to dramatically reduce the effort of writing, maintaining, and monitoring high-throughput concurrent applications with the Java platform. 

We need threads to achieve high throughput. However, threads are not cheap and are limited in number. To get around this problem, various alternatives such as the reactive programming style have emerged. These techniques bypass creating a lot of threads at the expense of more difficult debugging. This makes developers grumpy. However, with virtual threads, we get the best of both worlds, cheap, lightweight threads and easy debugging, which would make developers happy again.

This talk will explore what virtual threads are, how they are implemented, how they solve our modern problems and what, if any, shortcomings there are.

Status: Booked July 19, 2022, PhillyJUG (USA)

Java Cloud


Getting Started with Jakarta EE, Rudy De Busscher (Payara).

With the release of Jakarta EE 9.0, for the first time, a major breaking change is made, the change of the namespace. This allows the evolution of the Enterprise Platform under the wings of the Eclipse Foundation. Although Java Enterprise has a history of more than 20 years, it is also experiencing a new start now that it is managed by the Eclipse Foundation.

In this session, we will cover the basics of setting up a Jakarta EE 9 application, creating REST endpoints, accessing the database, and creating a rich user interface. You will learn that it is not only easy to get your application running on an Application Runtime, but bringing it into a containerized environment and Kubernetes is just as easy as writing a simple Hello World application.


Enhanced Java Elasticity with OpenJDK 17, Ruslan Synetsky (Jelastic).

Recent OpenJDK and Garbage Collection technology improvements led to enhancing Java elastic vertical scaling and optimizing the resource consumption. Now JVM can promptly return unused memory and, as result, it can be scaled up and down automatically. In addition, less memory is used for class metadata.

In this session, we'll cover the main achievements in vertical scaling of Java, as well as share tuning details of different GCs. You'll find out what metrics should be tracked in order to meet the load requirements of the application, and how to finetune scaling triggers in order to efficiently handle different load levels. Also, we'll demonstrate how to smoothly upgrade to OpenJDK 17 using Jelastic PaaS.

Join the session to find out how to keep Java up to date, as well as make your cloud environments more flexible and adjustable to the load while lowering total cost of ownership.


Leveraging OpenJDK 17 to Create End-to-End JavaFX-to-Cloud applications, Johan Vos (Gluon).

Real world applications don't live in silos. Cloud services process data coming from client systems. Client applications generate tons of data that need to processed by enterprise applications. The Java platform works on both enterprise and cloud systems, as well as on client systems. A client application with a modern user interface created with JavaFX can leverage modern OpenJDK 17 APIs, so that they can integrate with Java Cloud applications and share some code.

In this session, we'll show real-time data synchronization between clients and between clients and a Cloud service; remote function invocation, where a client invokes a serverless function in a serverless container; data processing on a backend system, real-time connected with a user interface on a client.


Cloud-Native Java in Times of OpenJDK 17, Clement Escoffier (Red Hat) and Georgios Andrianakis (Red Hat).

OpenJDK 17 introduces plenty of features that significantly ease writing modern Java applications. This talk explores how Quarkus applications can adopt OpenJDK 17 features.

Come see how records, pattern matching, and sealed classes help build Cloud Native Java applications and how to package and run these applications in containers.


Leveraging OpenJDK 17 features with Jakarta EE, Ivar Grimstad (Eclipse Foundation).

Jakarta EE 9 lowered the barriers of entry and established a foundation for future innovation paving the way for Jakarta EE 10. You have probably heard that the minimum runtime supported by Jakarta EE 10 will be Java SE 11. That means that the APIs will be able to use OpenJDK 11 language features, and will be compiled to OpenJDK 11. This also applies to the TCK. However, in Jakarta EE 9.1, the signature tests were updated to be able to test across multiple Java levels. This means that compatible implementations of Jakarta EE 10 may certify using OpenJDK 17.

In this session, I will show how easy it is to get started using OpenJDK 17 features in a Jakarta EE application.


Jakarta EE: Present and Future, Reza Rahman (Microsoft).

Let's explore the current state and future of Jakarta EE, the technology platform formerly known as Java EE. We will include a high level feature tour of the current version, Jakarta EE 9. We will also discuss how the community can contribute to Jakarta EE. The technical content of Jakarta EE 8 is mostly the same as Java EE 8, with Jakarta EE 9 further bringing the platform into the open by decoupling from the javax namespace to the jakarta namespace. Jakarta EE 10 opens possibilities for many long pending innovations in key technologies like Jakarta Security, Concurrency, Messaging, REST, Persistence, Batch, NoSQL, MVC and Configuration.

You should come to this session with your thinking caps on and your sleeves rolled up. There is much to help move forward together that really matters.

Status: Booked October 14, St. Louis JUG (USA)


Why Jakarta EE Matters, Ryan Cuprak (Dassault Systems)

Jakarta EE is now over 20 years old and despite its age, it is as relevant today as it was back in 1999. It is one of the few open standards for developing enterprise applications with multiple independent vendor implementations. Its APIs are central to developing Java based cloud solutions. It is as relevant today as it was back in 1999.

This presentation will provide context to Jakarta EE and why businesses choose to use it!


7 Reasons to Switch to OpenJDK 17 as a Jakarta EE Developer, Rudy De Busscher (Payara).

JDK 17, the next LTS version of Java, is around the corner and in this session, we have a look at what a Jakarta EE developer will find interesting. Besides some new language constructs, there are many operational improvements like higher performance.

Learn about these features and improvements including Records, Text blocks, Garbage collection improvements, and monitoring through Flight Recorder in several live demos.

JavaFX


One Codebase, Six Platforms: JavaFX 17 on Every Client, Johan Vos (Gluon).

JavaFX follows the release cadence defined by the OpenJDK project. Every 6 months, a new major version of JavaFX is released.

In this session, we talk about the new features and fixes that are introduced in JavaFX 17. The JavaFX 17 release contains a record number of fixes and features. The primary focus of the OpenJFX project, which serves as the codebase for JavaFX, is to provide a stable, mature and relevant set of API's. A number of long standing bugs has been fixed, and JavaFX can be used on modern versions of Operating Systems and architectures (including Apple Silicon systems).

You will learn how the latest version of JavaFX can be used in conjunction with the latest Java release and how to create modern user interfaces that are cross-platform and that can be deployed on desktop, mobile, and embedded devices.


FXGL 17: Roadmap for the Future of JavaFX Game Development, Almas Baimagambetov (University of Brighton).

FXGL 11 has been a success among JavaFX developers, leveraging high-performance cross-platform support. FXGL seamlessly extends JavaFX to bring support for real-world game development concepts and techniques, which can be used in both Java and Kotlin.

In this session, we will cover the latest features the current version offers and outline key milestones for FXGL 17.

Raspberry Pi


Current state of Java, JavaFX, and Pi4J on the Raspberry Pi, Frank Delporte (Toadi).

Raspberry Pi OS comes with Java 11 pre-installed, making it the ideal inexpensive computer to run Java programs.

But did you know that the Raspberry Pi is also a perfect match for running the latest JavaFX user interface applications or FXGL games? Combined with the Pi4J library, you can even do things which aren’t possible with your expensive developer computer: blink a LED, read sensor values, and control all types of electronic components.

In this session, you will be introduced to all of these topics with references and examples to get you started and learn more.

Status: Booked August 26, Manchester JUG (UK) and Booked September 27, Jozi JUG


100% Pure Java on the Raspberry Pi, Dieter Holz (FHNW University of Applied Sciences).

Nowadays, most programming on the Raspberry Pi is done in other programming languages than Java, mostly "It, That Cannot Be Named". What are the forces of evil that brainwashed the cool kids in schools and universities to think that Java is for baby boomers only?

From an educational point of view, it's important to use a single programming language in the first year of education. With the Raspberry Pi, we have a great platform to let our students experiment with many different areas of programming. They gain experience in Object-Oriented Programming, GUI development, game development, accessing hardware components, such as physical buttons, joysticks, sensors, and even cameras. All this in a single programming language, in 100% pure Java.

And you just need the OpenJDK and four libraries: JavaFX, FXGL, Pi4J, and JavaCV. Period. That's all. Right? No! Having these few technology gems is not sufficient to have real fun with programming. The initial hurdles faced by students before starting to write their first FXGL-based game and to deploy it on a Picade Console or a Game HAT need to be as low as possible. After the first steps, a smooth development experience is a must. Programmers want to focus on programming. Nothing else.

In this talk, you will see all the things that are needed besides the available libraries—ready made Linux images, Maven based, well documented template projects that enable development on laptops, and remote starting and debugging of apps on the Raspberry Pi, while you will also be shown the best practices of how to combine, for example, a GUI with a PUI (Physical User Interface). The fun is back. And the fun is 100% pure Java.

Miscellaneous


From Java Records to Quantum Computing, Johan Vos (Gluon).

Quantum Computing is getting more and more attention. While the commercial availability of real, general-purpose hardware is still limited, the potential is huge, in many areas including encryption, optimisation, chemistry, and physics. Quantum Computers need to be programmed, similar to how classical computers are programmed.

In this session, we explain the major differences between classical computing and quantum computing. We discuss how Java can be used to create quantum applications, and we talk about potential improvements in Java bytecode that could leverage quantum concepts. Most quantum computing software research currently uses quantum simulators, where a real quantum computer is simulated using a classical computer. This creates major challenges related to memory and computing resources. We will discuss how improvements in project Panama, or using Records can improve the performance of Java for quantum computing simulators.

Status: Booked September 16, Coimbra JUG (Portugal)

The post Virtual Foojay OpenJDK 17+ JUG Tour appeared first on foojay.

]]>
https://foojay.io/today/virtual-foojay-openjdk-17-jug-tour/feed/ 2
Schedule for Foojay Virtual JUG Tour https://foojay.io/today/schedule-for-foojay-virtual-jug-tour/ https://foojay.io/today/schedule-for-foojay-virtual-jug-tour/#respond Mon, 22 Feb 2021 11:08:17 +0000 https://foojay.io/?p=37879 As announced last month, to celebrate the OpenJDK and Foojay.io as a vendor-neutral community platform for its users, we’re kicking off the Virtual Foojay JUG Tour to be held throughout March and April.

And here's the schedule, note that it will change as more meetups are confirmed, and if your JUG is missing, i.e., you'd like to still be included in the tour, no worries, let's see what can be done, simply contact JFrog's Ari Waller (ariw at jfrog dot com), Foojay's Event Manager, and specify a date and time (and preferred topics) for March or April.

The post Schedule for Foojay Virtual JUG Tour appeared first on foojay.

]]>
Table of Contents

As announced last month, to celebrate the OpenJDK and Foojay.io as a vendor-neutral community platform for its users, we’re kicking off the Virtual Foojay JUG Tour to be held throughout March and April.

And here's the schedule, note that it will change as more meetups are confirmed, and if your JUG is missing, i.e., you'd like to still be included in the tour, no worries, let's see what can be done, simply contact JFrog's Ari Waller (ariw at jfrog dot com), Foojay's Event Manager, and specify a date and time (and preferred topics) for March or April.

March

  • 1 March, Monday: Java User Group Munchen, Simon Maple (Snyk)
    "Stranger Danger: Finding Security Vulnerabilities Before They Find You!" (Details, click here.)
  • 2 March, Tuesday: Java User Group Bonn, Gerrit Grunwald (Azul)
    "Disco API: OpenJDK Distributions As A Service" (Details, click here.)
  • 10 March, Wednesday: Denver Java User Group, Steve Chin (JFrog)
    "Modern Java Clients with JavaFX: The Definitive Guide" (Details, click here.)
  • 11 March, Thursday: St. Louis Java User Group, Rudy de Busscher (Payara)
    "Creating a Kubernetes Operator in Java" (Details, click here.)
  • 13 March, Saturday, Hyderabad JUG, Nicolas Frankel (Hazelcast)
    "Migrating from Imperative to Reactive in the Cloud" (Details, click here.)
  • 17 March, Wednesday: Virtual JUG, Frank Delporte (Toadi)
    "Future of Java on Raspberry Pi: Java, JavaFX, and More" (Details, click here.)
  • 23 March, Tuesday: Sillicon Valley JavaFX JUG, Almas Baimagambetov, (Brighton University)
    "Practical Introduction to FXGL Game Engine" (Details, click here.)
  • 25 March, Thursday: Chicago JUG, Melissa McKay (JFrog)
    "Level Up Your Java Containers" (Details, click here.)
  • 29 March, Monday: Jozi JUG, Brian Vermeer (Snyk)
    "Secure Docker Containers for Java Developers" (Details, click here.)

April

  • 6 April, Tuesday: Coimbra JUG, Steve Chin (JFrog)
    "DevOps Tools for Java Developers" (Details, click here.)
  • 8 April, Thursday: Manchester JUG, Simon Ritter (Azul)
    "Getting the Most from Modern Java" (Details, click here.)
  • 13 April, Tuesday: Bulgaria Java User Group, Steve Chin (JFrog)
    "DevOps Tools for Java Developers" (Details, click here.)
  • 15 April, Thursday: KnoxJava JUG, Ivar Grimstad (Eclipse Foundation)
    "Jakarta EE 9 and Beyond" (Details, click here.)
  • 20 April, Tuesday: Atlanta JUG, Cedrick Lunven (DataStax)
    "Kubernetes and the Data Gateway Pattern" (Details, click here.)
  • 20 April, Tuesday: Central Iowa JUG, Simon Ritter (Azul)
    "Getting the Most from Modern Java" (Details, click here.)
  • 21 April, Wednesday: Java User Group Japan, Simon Maple (Snyk)
    "Stranger Danger: Finding Security Vulnerabilities Before They Find You!" (Details, click here.)
  • 22 April, Thursday: NYJavaSIG, Almas Baimagambetov, (Brighton University)
    "Practical Introduction to FXGL Game Engine" (Details, click here.)
  • 22 April, Thursday: Hamburg JUG, Johan Vos (Gluon)
    "Cross-Platform User Interface Development in Java with OpenJFX" (Details, click here.)
  • 27 April, Tuesday, Garden State JUG, Sven Ruppert (JFrog)
    "Functional Reactive with Core JDK" (Details, click here.)
  • 28 April, Wednesday, Silesia JUG, Roberto Cortez (Red Hat)
    "Do You Know These Libraries?" (Details, click here.)
  • 29 April, Thursday, Norway JUG, Sven Ruppert (JFrog)
    "Functional Reactive with Core JDK" (Details, click here.)

The post Schedule for Foojay Virtual JUG Tour appeared first on foojay.

]]>
https://foojay.io/today/schedule-for-foojay-virtual-jug-tour/feed/ 0
Virtual Foojay JUG Tour https://foojay.io/today/virtual-foojay-jug-tour/ https://foojay.io/today/virtual-foojay-jug-tour/#comments Tue, 26 Jan 2021 08:03:51 +0000 https://foojay.io/?p=37553 To celebrate the OpenJDK and Foojay.io as a community platform for its users, we’re kicking off the Virtual Foojay JUG Tour. Ari Waller, JFrog's Event Manager, well known to many JUGs, now wears a second hat—that of Foojay Event Manager. During March and April, contributors to Foojay will be making a whistle stop tour through as many JUGs as possible, via their virtual meetups!

At each stop of the tour, there'll be a brief introduction to Foojay.io followed by a session of 30 minutes on a topic presented by a Foojay community manager.

The post Virtual Foojay JUG Tour appeared first on foojay.

]]>
Table of Contents

To celebrate the OpenJDK and Foojay.io as a community platform for its users, we’re kicking off the Virtual Foojay JUG Tour. Ari Waller, JFrog's Event Manager, well known to many JUGs, now wears a second hat—that of Foojay Event Manager. During March and April, contributors to Foojay will be making a whistle stop tour through as many JUGs as possible, via their virtual meetups! (And if you're not holding virtual events or don't have the facilities for this, we can support by making these available as needed.)

At each stop of the tour, there'll be a brief introduction to Foojay.io followed by a session of 30 minutes on a topic presented by a Foojay community member.

The JUG can pick the topic of their choice and anyone reading this and wanting their JUG to be involved should contact Ari (ariw at jfrog dot com) and suggest dates, ideally during March and April, when they'd like to host the Foojay program!

Here's the (growing) roster of topics!

Java Core

  • Getting the Most from Modern Java, Simon Ritter (Azul): "Java is changing faster than ever with new features being added every six months. Despite being over 25 years old, Java is still adapting to ensure it remains one of the most popular platforms on the planet. With the release of JDK 16, we will have had eight (yes eight!) versions of Java in less than four years. Many of these new features provide exciting new language level changes, as well as useful new APIs. In this session, we’ll explore in detail what these changes are and how best to use them (as well as advice on when not to use them). We’ll also explain the significance of preview features and incubator modules."
    Status: Booked April 8, Manchester Java Community
  • Do You Know These Libraries? Roberto Cortez (Red Hat): "One of Java's biggest strengths is its ecosystem. You can find libraries left and right to help you with your code, so that you can focus on what you need to implement. Maybe you are using full blown frameworks like Spring that already provide you with an entire programming model to develop your project. You can also find small and standalone libraries that stand on their own and are a great addition to any project. We are going to look into standalone libraries that every project should use to improve their code and increase developer productivity."
    Status: Booked April 28, Silesia JUG (Poland)
  • Functional Reactive with Core JDK. Sven Ruppert (JFrog): "There are a lot of reactive frameworks in the field, some with functional languages for the JVM. However, Java gives you both. But how can you combine this and use this without adding the next big framework to your project? We will have a Core Java journey to explore a lot of excellent possibilities based on the JDK."
    Status: Available
  • Stranger Danger: Finding Security Vulnerabilities Before They Find You! Simon Maple (Snyk): "Open source modules are undoubtedly awesome. However, they also represent an undeniable and massive risk. You’re introducing someone else’s code into your system, often with little or no scrutiny. The wrong package can introduce severe vulnerabilities into your application, exposing your application and your user's data. This talk will use a sample application, Goof, which uses various vulnerable dependencies, which we will exploit as an attacker would. For each issue, we'll explain why it happened, show its impact, and – most importantly – see how to avoid or fix it. We'll live hack exploits like the classic struts vulnerability that recently made it famous, along with the Equifax hack, Spring Break and several others."
    Status: Booked, JUG Munich
  • Know Thy Neighbours: Dependency Management Done Right, Brian Vermeer (Snyk): "Modern Java development is heavily dependent on third-party libraries. When looking at an average project, the amount of your code can be as little as 1%. As we do care a lot about the code we write, how do we augment this on the packages we depend on? Let’s look at best practices on how to build a proper dependency management strategy. How to pick dependencies, update them, and clean out manifest files with tons of dependencies. And maybe even more important, what happens if we are not on top of this?"
    Status: Available

Java Web

  • Migrating from Imperative to Reactive in the Cloud, Nicolas Frankel (Hazelcast): "While Reactive Programming is very different from the usual Imperative way, there’s no denying it fits “the Cloud”, as every bit of resource is used to its fullest. Let’s see how to migrate from the latter to the former using a Spring Boot web app as an example. In this demo-based talk, I’ll show how to migrate a traditional Spring Boot application that uses WebMVC, Spring Data JPA, and Spring Cache to its Reactive equivalent in a step-by-step process."
    Status: Booked March 13, Hyderabad JUG
  • Jakarta EE 9 and Beyond, Ivar Grimstad (Eclipse Foundation): "Jakarta EE 9 lowers the barriers of entry, ease migration, and lays a foundation for future innovation. In this session, I will go through what Jakarta EE 9 brings to the table and how this release lowers the barriers of entry, eases migration, and lays the foundation for a platform for future innovation. We will also look ahead to what future releases may bring. The session includes a demo including converting from the javax. to jakarta. namespace as well as looking at available implementations."
    Status: Booked April 15, KnoxJava
  • A Guided Tour of MicroProfile 4.0, Rudy De Busscher (Payara): "With the latest MicroProfile 4.0 release, MicroProfile aligns with the Jakarta EE 8 specification. There are also many new features and behaviors introduced to facilitate microservices with Java Enterprise even more. MicroProfile has become a mandatory toolbox for today's application development—and not only for microservices architectures. This presentation will showcase how to use each of the new features of MP 4.0 to create state of the art applications. Using the concepts of Config, Rest Client, Fault Tolerance, OpenTracing, JWT based authentication, and Metrics and Health Checks, we will build an application using Payara Server and Payara Micro."
    Status: Available
  • Jakarta MVC 2.0 - The Good Parts!, Ivar Grimstad (Eclipse Foundation): "Server-Side Rendering seems to be getting a revival this year, so maybe it is time to take a look at Jakarta MVC again? Jakarta MVC 2.0 was released in December 2020 and supports the jakarta.* namespace introduced in Jakarta EE 9. In this demo-driven session, we will explore the features of Jakarta MVC in practice. You will learn how to implement the models, views and controllers of a Jakarta MVC application. We will also see in practice how Jakarta MVC supports data binding, security, internationalization and observability. To spice it up, we will play around with the wide range of view engines supported by Eclipse Krazo."
    Status: Available
  • Reactive Microservices with Spring Boot and JHipster, Matt Raible (Okta), "Microservice architectures are all the rage in JavaLand. They allow teams to develop services independently and deploy autonomously. Why microservices? IF you are developing a large/complex application AND you need to deliver it rapidly, frequently, and reliably over a long period of time THEN the Microservice Architecture is often a good choice. Reactive architectures are becoming increasingly popular for organizations that need to do more, with less hardware. Reactive programming allows you to build systems that are resilient to high load. In this session, I'll show you how to use JHipster to create a reactive microservices architecture with Spring Boot, Spring Cloud, Keycloak, and run it all in Docker. You will leave with the know-how to create your own resilient apps!"
    Status: Available
  • Level up your Java Containers, Melissa McKay (JFrog): "Your Dockerfile is written, your Java app is packed into an image, and your containers run successfully. Do you have an uneasy feeling that you’ve missed something or that something might be wrong? This talk will leave you with the knowledge you need to be confident in your Java container images, diving into the best practices of packing your Java container images efficiently and effectively for the trip to production. You will learn valuable information about cloud-native tools available today for building and running containers (including Docker alternatives), container image formats, image storage concerns, and common gotchas to avoid."
    Status: Booked March 25, Chicago JUG
  • Secure Docker Containers for Java Developers, Brian Vermeer (Snyk): "Docker is the most widely used way to containerize your application. With Docker Hub, it is easy to create and pull pre-created images. This is very convenient as you can use these images from Docker Hub to quickly build an image for your Java application. However, the naive way of creating custom Docker images for your Java applications comes with many security concerns. So, how do we make security an essential part of Docker images for Java?"
    Status: Booked March 29, Jozi JUG
  • Kubernetes and the Data Gateway Pattern, Cédrick Lunven (DataStax): "Join us to learn about Stargate.io, an open source data gateway deployed between client applications and your Kubernetes databases. It's built with extensibility as a first-class citizen and makes it easy to use a database for any application workload by adding plugin support for new APIs, data types, and access methods. After detailing the architecture and ideas behind the frameworks, we will demo the creation of REST and GraphQL APIs on top of Cassandra through simple configuration. Bring back home a working sample!"
    Status: Booked April 20, Atlanta JUG
  • Microservices at Scale with Apache Cassandra, Cédrick Lunven (DataStax): "Microservices have become an important approach when implementing modern applications which requires the design of increasingly distributed architectures, requiring significant scalability to manage large volumes of data in real time. Apache Cassandra is a distributed NoSQL database designed to meet these requirements. This talk will introduce you to the benefits of using Apache Cassandra to scale your Microservices in a highly available manner. During this talk, you'll learn about: The sweetspots between Cassandra and Microservices Techniques and best practices for implementation The different architectural patterns And will answer all your questions!"
    Status: Available
  • Kubernetes Native Java with MicroProfile and Quarkus, Roberto Cortez (Red Hat): Java doesn’t work well in a container on Kubernetes right? Too big? Too slow to start? Not anymore with Quarkus! Quarkus significantly reduces the container resource requirements for memory and startup, while still supporting standard APIs like Eclipse MicroProfile.
    Status: Available
  • Creating a Kubernetes Operator in Java, Rudy De Busscher (Payara): "Kubernetes is much more than a runtime platform for Docker containers. Through its API, not only can you create custom clients, but you can also extend Kubernetes. Those custom Controllers are called Operators and work with application-specific custom resource definitions. Not only can you write those Kubernetes operators in Go, but you can also do this in Java. Within this talk, you will be guided through setting up and your first explorations of the Kubernetes API within a plain Java program. We explore the concepts of resource listeners, programmatic creation of deployments and services and how this can be used for your custom requirements."
    Status: Booked, March 11, St. Louis JUG
  • How Class Data Sharing Can Speed up Your Application Startup, Rudy De Busscher (Payara): "Java Byte code is OS independent, which means that your application's startup takes more time than a native image. Using the Class Data Sharing functionality introduced in more recent versions of the JVM, you can prepare your application so that it will load very fast. In this presentation, I'll go into more detail what Class Data Sharing is and how you can use it with OpenJDK versions. With some Jakarta EE demo applications, you will see gains that you can achieve and reduce memory footprint a lot in Docker containers by sharing memory."
    Status: Available

Java Desktop

  • Cross-Platform User Interface Development in Java with OpenJFX, Johan Vos (Gluon): "The JavaFX API's allow Java developers to create Java applications with a user interface. The JavaFX code (API's and implementations) is developed in the OpenJFX project, under the OpenJDK umbrella. JavaFX brings the cross-platform paradigm of Java to user interfaces (UI). A UI created with JavaFX can be rendered on different desktop or laptop systems, but also on mobile devices (iOS/Android) and embedded devices. In this session, we will give an overview of the structure and the capabilities of JavaFX. We will also explain how the development process is organised. We will show demos explaining how the code is integrated with IDE's, and we will discuss features that are currently on the roadmap."
    Status: Booked April 22, JUG Hamburg
  • Modern Java Clients with JavaFX: The Definitive Guide, Stephen Chin (JFrog): "This session is for professionals building Java applications for desktop, mobile, and embedded devices in the Cloud age. It will help you to build enhanced visual experiences and to deploy modern, easy to maintain, client applications across a variety of platforms. These applications can take advantage of the latest user interface components, 3D technology, and cloud services to create immersive visualizations and allow high-value data manipulation. Learn how to leverage the latest open-source Java client technologies to build rich, responsive, and modern UIs from the authors of the definitive Java Client reference."
    Status: Booked March 10, Denver JUG (Details here.)
  • Practical Introduction to FXGL Game Engine, Almas Baimagambetov (University of Brighton): "Modern JavaFX provides hardware acceleration support on a range of platforms, including desktop, mobile and embedded, allowing the development of high-performance cross-platform applications. However, to develop games with JavaFX effectively, numerous domain-specific concepts are needed. To address this need, the FXGL game engine extends JavaFX and brings support for real-world game development techniques. These include the entity-component model, A* pathfinding, particle systems, sprite sheet animations, and many other features. As a result, JavaFX (including Java and Kotlin) developers can produce games more quickly and more effectively with FXGL."
    Status: Available

Java Embedded

  • The Future of Java on Raspberry Pi: Java, JavaFX, Raspberry Pi and Electronics: Frank Delporte (Toadi): "Java on the Raspberry Pi is still a controversial topic, but recent evolutions of both the JDK and OpenJFX have proven they are a perfect match! In this talk, we will look into some examples and discuss what could be the next steps. We will take a look at the current state of Java, JavaFX, and Pi4J on the Raspberry Pi. Still, most Java developers didn't consider the Raspberry Pi yet to be the perfect board to run their applications, but with its low price but high specifications, the Raspberry Pi is opening whole new worlds.”
    Status: Booked March 17, Virtual JUG

Java Tools

  • DevOps Tools for Java Developers, Steve Chin (JFrog): "With the rise of DevOps, low cost Cloud Computing, and emerging Container technologies, the landscape for how you approach development has dramatically changed. This talk is focused on helping Java developers to adapt to this new landscape and take advantage of microservices, serverless, and cloud-native technologies with the latest DevOps techniques to simplify their build and create hyperproductive teams. Some of the technologies you will learn about in this talk include source control, build declaration, CI/CD, package management, containerization, and security. Learn from the combined experience of the presenters who are experts in the Java and DevOps domains on the best tools, technologies, and methodologies to build your next cloud-native application or refactor your monolith. We cover the entire DevOps toolchain from source control through CI/CD through containerized deployments with an emphasis on maintaining efficiency and control from the source code and dependencies.”
    Status: Booked April 6, Coimbra JUG
  • An Experiment in Continuous Deployment of JVM Applications, Nicolas Frankel (Hazelcast): "Continuous deployment doesn’t necessarily mean Jenkins, or the latest hype tool. For JVM applications, one can directly deliver bytecode in production. Achieving true continuous deployment of bytecode on one single JVM instance is possible if one changes one’s way of looking at things. What if compilation could be seen as changes? What if those changes could be stored in a data store, and a listener on this data store could stream those changes to the running production JVM via the Attach API? In this talk, I’ll demo exactly that using Hazelcast and Hazelcast Jet - but it’s possible to re-use the principles that will be shown using other streaming technologies."
    Status: Available
  • Disco API: OpenJDK Distributions As A Service, Gerrit Grunwald (Azul)"At Azul, we have spent some time to create a little API that should help you to discover builds of OpenJDK from different distributions in a general way. In this session, I will give you a short introduction on what the Disco API is and how it can help you to find the JDK/JRE of your choice. At the moment, the API can help you to get builds of the OpenJDK from the following distributions -- AdoptOpenJDK, Corretto, Dragonwell, Liberica, Oracle OpenJDK, SAP Machine, and Zulu."
    Status: Booked March 2, JUG Bonn

The post Virtual Foojay JUG Tour appeared first on foojay.

]]>
https://foojay.io/today/virtual-foojay-jug-tour/feed/ 2