On Demand :: GIDS.Java Live 2020

Missed the live action from GIDS.Java Live 2020? You can watch recordings of all the proceedings on-demand here.

Java Functional Programming Idioms

A number of developers and organizations are beginning to make use of Functional Programming in Java. With anything that's new, we often learn it the hard way. By stepping back and taking a look at programming style as idioms, we can quickly gravitate towards better coding style and also avoid some common traps that we often get drawn towards. ...

Beginning Java 9 Modules

Java 9 modules present a radical shift away from how we thing about modularizing our applications. However, as we have found, migrating to modules is not as straight-forward as one might imagine. What are modules, what do they have to offer, and do they present any stumbling blocks? We will also see how modules and DDD can work hand-in-hand, and...

What a Character

We will cover the concepts of representing scripts from different languages, and an introduction to Unicode. We will delve into the details on character encodings such as EBCDIC and UTF-8, and discuss how Java deals with Unicode, including gotchas that can trip up programmers. We will not cover fonts, printing and so on. You will come away with a deeper...

Java EE on Azure Magic Mystery Show

This fast-paced, demo-driven, entirely slide free session will show you the many ways of effectively deploying a Java/Jakarta EE application to Azure. We will start by deploying a local Java/Jakarta EE application to basic IaaS on Azure. We will then deploy the same application to a managed Azure PaaS. Finally we will deploy the application to Azure using Docker and...

Continuations and Fibers: The New Frontier for Java

We will program with Java quite differently in the future than we do today. The reason is that Java is embracing asynchronous programming like never before. This will have a huge impact on how we create services and web applications. In this presentations we will look at what asynchronous programming is, what continuations are, how they get implemented under the...

Rabbit MQ vs Kafka: When, Which, Where?

Rabbit MQ and Kafka are both considered to be the Go-To frameworks for data transmission (messaging). Many developers place them side-by-side, or sometimes interchangeable. But really, are they interchangeable? Can we swap one for the other? Which framework is better compared to the other? Nikhil will try to answer these questions (and many more) in this talk. He will begin...

Under the Hood of Java Synchronization

What do you know about Java synchronization? Enough to be dangerous? It's said the more you know the better. In this talk, learn how you can design your application to scale even more effectively through understanding how synchronization at speed is really achieved. Learn how JVMs actually deliver high performance synchronization, how your coding choices effect performance and what options...

Java Garbage Collection - The Basics

Modern Java has a collection of sophisticated Garbage Collection patterns and models. This session will provide an overview of how basic Garbage Collection patterns and models work in Java. The presentation material includes various Regional Collector JVM options and flags for tuning GC behavior as well as new logging techniques using Java Unified Logging. Details will be shared about the new garbage...

Building Reactive Systems with Reactor

Do you want to build reactive, efficient architectures on the JVM? Are Java threads cumbersome for you? Do you want to use your CPU effectively? Spring Reactor is the answer to all these questions. In this talk, we will explore Spring Reactor for building Streaming applications with Java. We will focus on Reactive core building blocks - Flux,...

Exploring Collectors: One of the Most Powerful Utility Class in the JDK

One of the most intriguing classes in the JDK is the Collectors utility class, with a collection of some highly powerful functions that are useful during the reduce operation of streams. The functions that are in this class have so much to offer and yet, due to their complex nature, often are not used as much as they should be....

Mutation Testing

Most developers are familiar with the concept of unit testing, and how this is useful to ensure validity of your code. Java developers will typically use JUnit to write their unit tests. Many projects use test coverage tools such as Jacoco to ensure that the code as written has tests to validate it. But how strong are the tests? Will...

Java 9 Memory and GC

So your server is having issues? memory? Connections? Limited response? Is the first solution to bounce the server? Perhaps change some VM flags or add some logging? In todays Java 9 world, with its superior runtime monitoring and management capabilities the reasons to the bounce the server have been greatly reduced. This session will look at the Java monitoring and management...

Developing and Deploying a Modern Reactive Serverless Container

We have been hearing a lot about the benefits of using the reactive approach to solving concurrency problems in distributed systems. While reactive programming refers to the implementation techniques being used on the coding level, on the systems deployment and runtime level, we can leverage on a robust yet very flexible and lightweight framework such as Vert.x to deliver. In...

How to Participate in the Future of Java

This session will explore how Java is developed with the community -including how agile and open source development processes have led to new levels of transparency and participation in Java developer communities. Learn about the latest Java innovations being developed through the JCP to be brought to the Java SE Platform through the OpenJDK development efforts – Java SE 13, 14...

Deep Learning and Java

We do not usually think of Java when we think about modern Deep Learning systems. Syntactically and culturally it is not the best fit when compared to languages such as Python, R or Julia. There have been some new libraries and frameworks emerging, however, that will allow you to take advantage of modern algorithms and techniques on the Java platform...

Container Friendly Java 9

Containers and Micro-service are like peanut butter and jelly, they just go together. However do you know how resources are managed in a container and how that affects your application. This session will dive into how Java is affected living under control groups. This session will review containers, the underlying technology to containers along with different container runtimes such as Docker....

DevOps for Java Developers (Or Maybe Against Them?!)

“DevOps” is the operations people’s crafty plan to make developers do other people's work, but we are smart enough to see right through this naive rebranding trick! Baruch suggests you think about it: we, the Java developers, have written all the code. It passes all the tests; it obviously works, and works well (Are we a little proud? We are!); so...

DevOps Tools for Java Developers

Subtitle ✓ Transcript ✓

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...

Maximizing Performance with GraalVM

In this session we will discuss the best practices for Java code and compiler configurations to maximize performance with GraalVM and how to measure performance in a reliable manner. We will talk about how to achieve minimal memory footprint and binary size of GraalVM native images — programs compiled ahead of time to native executables. A comparison of profile-guided optimizations...

Change Data Capture Pipelines with Debezium and Kafka Streams

Streams Change data capture (CDC) via Debezium is liberation for your data: By capturing changes from the log files of the database, it enables a wide range of use cases such as reliable microservices data exchange, the creation of audit logs, invalidating caches and much more. In this talk we're taking CDC to the next level by exploring the benefits of...

Jakarta EE 9 and Beyond

Jakarta EE 9 is out! This is the second release of Jakarta EE since the transition from the Java Community Process (JCP) to Eclipse Foundation. In this session, we will go through every aspect of Jakarta EE 9 and how this release lowers the barriers of entry, eases the migration, and lays the foundation for a platform for future innovation. We...

A State of Java Elasticity

Java is finally elastic! OpenJDK improvements and new features in Garbage Collection technology resulted in enhancing Java vertical scaling and resource consumption. Now JVM can promptly return unused memory and, as result it can go up and down automatically. In this session, we'll cover the main achievements in vertical scaling direction as well as share peculiarities and tuning details of...

Uncovering Project Amber - Changes to the Java Language in v10 and Beyond

Evolution has always been in the Java DNA, and according to Darwin, "It is neither the strongest nor the most intelligent that survives. It is the one that is most adaptable to change". Project Amber is transforming Java's basic language constructs and introducing features to enhance productivity and coding experience. Join this session to stay ahead of the curve as Java...

Local Variable Type Inference: Friend or Foe?

Local variable type inference was introduced as a new Java language feature in Java SE 10. Gone are the days of explicitly having to define the type of a variable; let the compiler do it for you with the magic of var!At first sight, this looks like a small change that will eliminate unnecessary boiler-plate code and reduce how much...

Securing the Connected World – Detangling Encryption and Decryption

Privacy and security of the data will always be a top priority for any organization, more so in a connected world. With the advent of IoT and Microservices, security has become an even more complex challenge. Join me in this talk to understand and discuss the steps one can take in securing the data during exchange specifically on confidentiality and...

What's New in Java - a Language Perspective!

Java Language is moving towards a pattern matching paradigm - most of the new language features in latest Java serve as building blocks to that objective. Instanceof Patterns, Switch Expressions, Records, Sealed Types - to name a few are some of the recent features in Java 14, 15++. As a compiler writer for these features for the Java Compiler in Eclipse,...

DevSecOps - Why Debian repositories are Mission-Critical!

In this session, we will look at why Debian repositories are one of the mission-critical elements in a software development environment. What does this have to do with DevSecOps and with which concepts can I position myself well to reduce my risk? If you want to know what it looks like for you as a developer, then you've come to...

An Experiment in Continuous Deployment of JVM applications

A couple of years ago, continuous integration in the JVM ecosystem meant Jenkins. Since that time, a lot of other tools have been made available. But new tools don’t mean new features, just new ways. Beside that, what about continuous deployment? There’s no tool that allows to deploy new versions of a JVM-based application without downtime. The only way to...

Easier Microservice Persistence With Micronaut Data

In this session I'll introduce you to Micronaut Data, a tool that will make your persistence operations easier to code and more performant than most alternatives. Writing SQL queries is one of the first things you learn as a developer which inevitably leads most developers on a quest to find the easiest, fastest and most performant way to avoid writing...

Mastering your Eclipse IDE - Java Tooling, Tips & Tricks!

Eclipse IDE provides a lot of powerful features. With so much functionality at its disposal, the full potential of the IDE is not used. To be productive, mastering your IDE is as important as mastering your source code. With faster Java releases, it is an exciting time to be a Java developer. In this session, I will show you how Eclipse...

Java in Containers - Part Deux

Containers are everywhere in modern cloud workloads, but that doesn’t mean everything's roses! Container isolation imposes a de-facto additional complexity layer, i.e. a virtual machine, and running unprivileged containers is not a simple task. How do containers affect the ergonomics of the JVM? What are the options and limitations when it comes to observing JVMs running in containers? ... This session...

Introduction to Micronaut 2.0

In this talk Graeme Rocher (Micronaut creator and architect at Oracle) will provide an introduction to Micronaut 2.0, the innovative new framework that precomputes your framework infrastructure in a reflection free manner and provides integration with GraalVM Native Image....

Create your own Interpreter with a JIT under 1 hour

During this talk I will describe how you can use Eclipse OMR technologies to easily create an Interpreter for a new or existing runtime and get a JIT for free! I will walk through the simple steps to create a small, efficient Interpreter and JIT using the new OMR InterpreterBuilder for any runtime. One of the major benefits is that...

Distilling Java Containers for Kubernetes

Three evolutionary ecosystems work well together Java, Containers, and Kubernetes. Past versions of Java were never designed to be “container aware”. This has led some to stray away from the JVM and consider other shiny languages. But wait, before you go, let's discover what Java 9, 10, 11, 12, 13 (…) has done to get our applications into efficiently distilled containers...

A New and Open Way to Build Cloud-Native Microservices - MicroProfile

Ever wondered what makes a cloud-native application "cloud-native"? Ever wondered what the unique challenges are and how best to address them on fully open Java technologies? In this session, you'll learn what it means to be cloud-native and how that impacts application development. You'll learn about Eclipse MicroProfile, an industry collaboration defining technology for the development and management of cloud-native...

Agile Engineering: The Hard Parts

While teams can pick up the easy parts of agile from books and conferences, some of the engineering practices still present challenges. In this session, Neal covers many of the engineering practices teams struggle with: what are the tradeoffs between feature branching and trunk-based development? what tradeoffs does TDD offer? how can teams avoid adopting the newest technology as a religion? what benefits does...

Latest Java Best Practices

Java is now on a six-month release schedule, with new features being added all the time. This talk summarizes the features that have been added to Java, including modules, jshell, collection factory methods, private methods in interfaces, new annotations and more. The goal is to show not only what has been added, but why and where to use them. Additional topics...

Thirst-quenching Streams for the Reactive Mind

With the advances in multicore hardware and virtualization technologies, and the demand for highly responsive, resilient, and elastic systems and increasingly sophisticated applications, an array of reactive data stream processing libraries have been born to address the needs. Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure. This encompasses efforts aimed...

Hidden Pearls for Java Embedded High-Performance Persistence

Most developers have encountered small use cases that require a significant amount of data management with no Ops team, K8s or cluster available at hand. In this talk, Sven will walk you through a few tech stacks that can help you deal with persistent data sans classic horizontal scaling tech monsters such as Kubernetes, Hadoop and more. Sit down, relax...

Live Panel: Keeping Pace with Java's New Moves

It's a great time to be a Java developer! Java turned 25 this year. If discovery marked the growing years, the post-teen years have witnessed a new pragmatic cadence that signals increased productivity, both to the language and the ecosystem.is marching to a new beat. New releases are coming at a faster rate than ever, with a six-month release cadence....

See Highlights of
Wurreka

Hear What Attendees Say

PWC Logo

“Once again Wurreka has knocked it out of the park with interesting speakers, engaging content and challenging ideas. No jetlag fog at all, which counts for how interesting the whole thing was."

Cybersecurity Lead, PwC

Intuit Logo

“Very much looking forward to next year. I will be keeping my eye out for the date so I can make sure I lock it in my calendar"

Software Engineering Specialist, Intuit

Groupon Logo

“Best conference I have ever been to with lots of insights and information on next generation technologies and those that are the need of the hour."

Software Architect, GroupOn

Hear What Speakers & Sponsors Say

Scot Davis

“Happy to meet everyone who came from near and far. Glad to know you've discovered some great lessons here, and glad you joined us for all the discoveries great and small."

Scott Davis, Web Architect & Principal Engineer, ThoughtWorks

Oracle

“What a buzz! The events have been instrumental in bringing the whole software community together. There has been something for everyone from developers to architects to business to vendors. Thanks everyone!"

Voltaire Yap, Global Events Manager, Oracle Corp.

Venkat Subramaniam

“Wonderful set of conferences, well organized, fantastic speakers, and an amazingly interactive set of audience. Thanks for having me at the events!"

Dr. Venkat Subramaniam, Founder - Agile Developer Inc.