From e56a92eb4395363a82bb23aa7efb16af0a6eef11 Mon Sep 17 00:00:00 2001 From: ajug Date: Tue, 28 Jan 2025 06:28:21 -0500 Subject: [PATCH] activating schedule and update --- .cloudcannon/prebuild | 2 +- _config.yml | 2 +- _data/events.json | 3934 ++++-- _data/schedule.json | 10186 ++++++++-------- _data/speakers.json | 2617 ++-- .../30-years-of-java-how-did-we-get-here.md | 8 +- .../a-developer-s-guide-to-jakarta-ee-11.md | 44 + ...ring-boot-applications-on-open-liberty.md} | 20 +- ...de-to-navigating-the-frontend-landscape.md | 8 +- _events/afternoon-break.md | 21 + ...ing-java-with-the-latest-ai-innovations.md | 10 +- _events/ai-for-busy-java-developers.md | 8 +- ...d-optimizing-your-data-for-effective-ai.md | 14 +- ...omous-multi-repo-refactoring-powerhouse.md | 10 +- _events/ai-tools-for-jakarta-ee.md | 8 +- ...ng-your-java-with-aarch64-arm64-servers.md | 12 +- ...riven-design-and-hexagonal-architecture.md | 8 +- _events/api-toolbox-with-spring.md | 10 +- ...cting-a-front-end-project-for-longevity.md | 41 + ...ears-old-java-code-on-a-brand-new-cloud.md | 8 +- ...-software-templates-for-java-developers.md | 16 +- ...-with-reinforcement-learning-using-java.md | 16 +- ...-teams-live-coding-with-apache-causeway.md | 47 - ...sactions-with-tech-tactics-and-teamwork.md | 48 + _events/bootiful-spring-boot-a-dogumentary.md | 10 +- _events/boxlang-the-future-is-dynamic.md | 55 + ...zations-with-internal-developer-portals.md | 10 +- _events/building-apis-in-the-ai-era.md | 12 +- ...stems-and-services-with-spring-boot-3-4.md | 49 + ...e-to-choosing-the-best-caching-strategy.md | 12 +- ...-cloud-with-jakarta-ee-and-microprofile.md | 10 +- ...on-testing-made-easy-for-your-java-apps.md | 10 +- _events/code-coverage-mythbusters.md | 10 +- ...esurrection-revive-and-refactor-with-ai.md | 10 +- ...rse-paths-that-lead-to-winning-outcomes.md | 44 - ...d-other-ways-to-disappoint-your-friends.md | 10 +- ...d-what-s-new-in-jakarta-concurrency-3-1.md | 49 + _events/conf-close-and-mega-raffle.md | 21 + .../conference-reception-open-bar-and-food.md | 21 + _events/connected-industries-with-an-edge.md | 54 - ...g-spring-boot-apps-for-the-modern-cloud.md | 10 +- ...made-easy-deep-dive-into-podman-desktop.md | 8 +- ...conway-s-law-and-digital-transformation.md | 8 +- _events/cqrs-meets-modern-java.md | 8 +- ...te-docker-image-for-spring-applications.md | 14 +- ...e-ai-infused-java-apps-with-langchain4j.md | 46 +- ...wiss-army-knife-of-java-data-processing.md | 8 +- _events/day-2-keynote.md | 21 + _events/debugging-java.md | 10 +- _events/delivery-engineering.md | 10 +- _events/demystifying-apache-flink.md | 45 - ...veloper-productivity-with-intellij-idea.md | 10 +- ...productivity-with-large-language-models.md | 46 + ...driven-development-and-approval-testing.md | 8 +- _events/developer-to-architect.md | 8 +- _events/documenting-your-architecture.md | 10 +- ...ll-it-a-comeback-sql-in-cloud-ai-and-ml.md | 14 +- _events/duke-on-crac-with-jakarta-ee.md | 8 +- ...g-success-with-open-source-technologies.md | 10 +- .../enhancing-llms-with-graph-technology.md | 8 +- ...grity-a-modernization-for-bug-free-code.md | 8 +- .../foundations-of-modern-java-server-apps.md | 47 + _events/fresh-hot-css-features.md | 43 + ...stration-free-k8s-for-spring-developers.md | 10 +- _events/functional-spring-boot.md | 10 +- _events/generative-devops.md | 8 +- _events/git-features-you-aren-t-using.md | 10 +- _events/going-beyond-orms.md | 10 +- _events/hands-on-apache-maven-4.md | 8 +- _events/home-lab-private-cloud-on-a-budget.md | 8 +- _events/how-not-to-be-mentored.md | 10 +- ...ons-learnt-from-10-years-of-spring-boot.md | 10 +- ...s-instructions-embracing-ai-red-teaming.md | 46 - ...ta-ee-connected-industries-with-an-edge.md | 53 + ...ai-beyond-the-chatbot-with-langchain4j.md} | 18 +- _events/java-and-the-internet-of-things.md | 45 + ...uilding-llm-apps-in-java-with-jakartaee.md | 51 + ...a-hot-by-solving-the-jvm-warmup-problem.md | 8 +- ...j-the-awesome-framework-for-ai-and-java.md | 42 - ...openid-connect-secure-your-applications.md | 10 +- .../let-s-make-your-java-code-bug-proof.md | 45 - ...to-reduce-your-automation-reaction-time.md | 42 - _events/logging-deep-dive.md | 41 - ...dentials-auto-rotating-secrets-at-scale.md | 8 +- _events/lunch.md | 21 + _events/managing-your-ai-driven-manager.md | 44 + ...leases-with-argo-rollouts-in-kubernetes.md | 10 +- _events/mastering-logging-in-java.md | 46 + ...mastering-the-system-design-methodology.md | 8 +- ...advanced-observability-in-your-jvm-apps.md | 10 +- ...ava-ee-to-spring-boot-or-something-else.md | 48 + ...with-openrewrite-the-recipe-for-success.md | 10 +- ...ands-on-guide-with-kubeflow-and-quarkus.md | 10 +- ...e-twin-with-embeddings-vector-databases.md | 10 +- _events/morning-break.md | 21 + ...velopment-effective-planning-techniques.md | 10 +- ...clipse-temurin-success-history-and-plan.md | 10 +- ...ving-gamma-patterns-to-refactor-towards.md | 8 +- ...riented-programming-which-one-to-choose.md | 45 + _events/opening-keynote.md | 21 + ...now-about-spring-application-at-runtime.md | 55 + ...va-functions-using-aws-lambda-snapstart.md | 8 +- ...java-apps-with-jib-graalvm-cds-and-crac.md | 10 +- ...1-building-internal-developer-platforms.md | 12 +- ...ch-data-model-to-pick-for-your-workload.md | 41 - .../polyglot-pipelines-with-apache-nifi.md | 16 +- ...prise-java-developers-from-zero-to-hero.md | 49 + ...ject-panama-unleashing-native-libraries.md | 8 +- ...ecalibrate-how-ai-shakes-up-agile-teams.md | 47 + ...actoring-to-modernize-java-applications.md | 45 + _events/registration-and-breakfast.md | 21 + _events/rest-vs-graphql-vs-grpc.md | 12 +- ...rchitecture-diagrams-from-your-java-app.md | 47 + ...ght-carol-anne-auditing-with-lighthouse.md | 43 + .../runtime-efficiencies-and-spring-boot.md | 10 +- ...rcoming-security-and-privacy-challenges.md | 8 +- ...p-top-10-for-applications-apis-and-llms.md | 61 + ...ng-up-data-driven-tests-with-java-tools.md | 43 + ...stacks-what-you-don-t-know-can-hurt-you.md | 10 +- ...e-practical-guides-for-trusted-software.md | 8 +- .../sociotechnical-platform-engineering.md | 10 +- ...slation-new-and-old-laws-for-developers.md | 8 +- ...pply-chain-security-with-policy-as-code.md | 8 +- ...-into-your-enterprise-java-applications.md | 10 +- ...eyond-what-s-new-and-what-s-coming-next.md | 43 + ...g-your-bases-stop-chasing-apt-headlines.md | 49 - _events/starting-with-java-in-2025.md | 10 +- ...iously-apache-flink-for-java-developers.md | 12 +- ...rations-with-quarkus-and-github-actions.md | 8 +- ...en-approach-to-cloud-native-scaffolding.md | 54 + ...fearless-introduction-to-apache-iceberg.md | 51 + .../taking-off-with-jdk-flight-recorder.md | 10 +- _events/taking-shortcuts-beyond-your-ide.md | 10 +- _events/tbd.md | 21 + .../tdd-generative-ai-a-perfect-pairing.md | 10 +- ...n-development-vs-tab-driven-development.md | 10 +- ...is-horrible-right-now-and-how-to-fix-it.md | 10 +- ...-development-it-s-easier-than-you-think.md | 8 +- ...esting-legacy-code-refactoring-patterns.md | 10 +- ...-chipping-away-at-test-unpredictability.md | 8 +- ...roduction-confidence-with-native-images.md | 10 +- ...-even-robots-need-good-teammates-almost.md | 47 + ...-unexpected-journey-of-data-consumption.md | 51 - ...dcast-devnexus-edition-now-with-more-ai.md | 42 - ...rwhelmed-spring-developer-s-guide-to-ai.md | 8 +- ...t-solve-that-no-one-wants-to-talk-about.md | 10 +- ...-authz-for-that-spring-security-in-2025.md | 10 +- _events/to-java-24-and-beyond.md | 10 +- ...your-code-right-now-and-how-to-fix-them.md | 10 +- _events/typescript-deep-dive.md | 40 + ...ng-software-craft-for-unrivaled-success.md | 8 +- ...f-generative-ai-simplifying-ad-creation.md | 47 + ...pt-a-journey-through-cutting-edge-tools.md | 43 + ...ers-of-java-class-files-beyond-bytecode.md | 10 +- ...e-magical-power-of-java-virtual-threads.md | 10 +- ...e-code-the-joy-of-maintaining-dead-code.md | 8 +- _events/web-apps-and-devices-yes-we-can.md | 10 +- _events/workshop-on-400-level.md | 21 + ...verywhere-from-containers-to-serverless.md | 12 +- _speakers/adi-polak.md | 51 - _speakers/aicha-laafia.md | 45 - _speakers/ajuna-kyaruzi.md | 2 +- _speakers/alex-riviere.md | 40 + _speakers/andres-almiray.md | 2 + _speakers/andrus-adamchik.md | 2 +- _speakers/ashwin-m-s.md | 42 + _speakers/avishay-zawoznik.md | 44 - _speakers/barry-burd.md | 45 + _speakers/bazlur-rahman.md | 57 + _speakers/ben-westmoreland.md | 58 + _speakers/billy-korando.md | 6 +- _speakers/bob-paulin.md | 2 - _speakers/brian-benz.md | 2 +- _speakers/carmen-delgado.md | 2 +- _speakers/chandra-guntur.md | 4 +- _speakers/chiara-civardi.md | 40 - _speakers/chris-corriere.md | 2 +- _speakers/chris-demars.md | 48 + _speakers/chuck-bridgham.md | 2 +- _speakers/dan-haywood.md | 43 - _speakers/danica-fine.md | 22 +- _speakers/daniel-oh.md | 5 + _speakers/danielle-maxwell.md | 45 + _speakers/dashaun-carter.md | 2 +- _speakers/dave-neary.md | 46 + _speakers/david-campbell.md | 51 - _speakers/david-parry.md | 3 + _speakers/elder-moraes.md | 6 +- _speakers/eric-deandrea.md | 4 +- _speakers/eswaran-rathinam.md | 37 + _speakers/evgeny-mandrikov.md | 2 +- _speakers/fabio-alessandro-locati.md | 47 - _speakers/fernanda-machado.md | 11 +- _speakers/freddy-guime.md | 50 - _speakers/gant-laborde.md | 2 +- _speakers/garry-galinsky.md | 40 + _speakers/gerald-venzl.md | 50 - _speakers/harry-hoots-iii.md | 2 +- _speakers/hugo-guerrero.md | 52 - _speakers/james-falkner.md | 48 + _speakers/jamie-coleman.md | 49 + _speakers/jeanne-boyarsky.md | 2 +- _speakers/jennifer-reif.md | 48 - _speakers/jeremy-meiss.md | 49 + _speakers/jorge-cajas.md | 2 +- _speakers/josh-long.md | 4 + _speakers/kenneth-kousen.md | 6 +- _speakers/kevin-dubois.md | 4 +- _speakers/kito-mann.md | 49 + _speakers/luis-majano.md | 51 + _speakers/madhuvanthi-v.md | 41 + _speakers/mahmoud-ben-hassine.md | 46 + _speakers/mark-heckler.md | 2 +- _speakers/michael-redlich.md | 60 + _speakers/mo-haghighi.md | 53 + _speakers/nikhil-nanivadekar.md | 54 + "_speakers/ondro-mih\303\241lyi.md" | 52 + _speakers/petr-aubrecht.md | 2 +- _speakers/richard-fichtner.md | 51 + _speakers/rohit-bhardwaj.md | 3 + _speakers/roni-dover.md | 49 + _speakers/sandon-jacobs.md | 47 + _speakers/sean-mcquaid.md | 46 + _speakers/simon-brown.md | 48 + _speakers/simon-ritter.md | 2 +- _speakers/spencer-gibb.md | 2 +- _speakers/sven-peters.md | 46 + _speakers/syed-m-shaaf.md | 47 + _speakers/venkat-subramaniam.md | 52 + _speakers/victor-grazi.md | 47 + _speakers/vinicius-senger.md | 50 + _speakers/waller-goble.md | 43 + 232 files changed, 13047 insertions(+), 9163 deletions(-) create mode 100644 _events/a-developer-s-guide-to-jakarta-ee-11.md rename _events/{a-developers-guide-to-running-springboot-applications-on-open-liberty.md => a-developers-guide-to-running-spring-boot-applications-on-open-liberty.md} (79%) create mode 100644 _events/afternoon-break.md create mode 100644 _events/architecting-a-front-end-project-for-longevity.md delete mode 100644 _events/big-things-with-tiny-teams-live-coding-with-apache-causeway.md create mode 100644 _events/black-friday-brilliance-managing-a-billion-transactions-with-tech-tactics-and-teamwork.md create mode 100644 _events/boxlang-the-future-is-dynamic.md create mode 100644 _events/building-scalable-systems-and-services-with-spring-boot-3-4.md delete mode 100644 _events/commonly-uncommon-diverse-paths-that-lead-to-winning-outcomes.md create mode 100644 _events/concurrency-redefined-what-s-new-in-jakarta-concurrency-3-1.md create mode 100644 _events/conf-close-and-mega-raffle.md create mode 100644 _events/conference-reception-open-bar-and-food.md delete mode 100644 _events/connected-industries-with-an-edge.md create mode 100644 _events/day-2-keynote.md delete mode 100644 _events/demystifying-apache-flink.md create mode 100644 _events/developer-productivity-with-large-language-models.md create mode 100644 _events/foundations-of-modern-java-server-apps.md create mode 100644 _events/fresh-hot-css-features.md delete mode 100644 _events/ignore-previous-instructions-embracing-ai-red-teaming.md create mode 100644 _events/jakarta-ee-connected-industries-with-an-edge.md rename _events/{jakartaee-meets-ai-beyond-the-chatbot-with-langchain4j.md => jakarta-ee-meets-ai-beyond-the-chatbot-with-langchain4j.md} (57%) create mode 100644 _events/java-and-the-internet-of-things.md create mode 100644 _events/java-llms-a-hands-on-guide-to-building-llm-apps-in-java-with-jakartaee.md delete mode 100644 _events/langchain4j-the-awesome-framework-for-ai-and-java.md delete mode 100644 _events/let-s-make-your-java-code-bug-proof.md delete mode 100644 _events/leverage-event-driven-ansible-to-reduce-your-automation-reaction-time.md delete mode 100644 _events/logging-deep-dive.md create mode 100644 _events/lunch.md create mode 100644 _events/managing-your-ai-driven-manager.md create mode 100644 _events/mastering-logging-in-java.md create mode 100644 _events/migrating-from-java-ee-to-spring-boot-or-something-else.md create mode 100644 _events/morning-break.md create mode 100644 _events/oop-vs-data-oriented-programming-which-one-to-choose.md create mode 100644 _events/opening-keynote.md create mode 100644 _events/opentelemetry-and-continuous-feedback-things-you-need-to-know-about-spring-application-at-runtime.md delete mode 100644 _events/polyglot-persistence-which-data-model-to-pick-for-your-workload.md create mode 100644 _events/practical-ai-lab-for-enterprise-java-developers-from-zero-to-hero.md create mode 100644 _events/recalibrate-how-ai-shakes-up-agile-teams.md create mode 100644 _events/refactoring-to-modernize-java-applications.md create mode 100644 _events/registration-and-breakfast.md create mode 100644 _events/reverse-engineering-architecture-diagrams-from-your-java-app.md create mode 100644 _events/run-to-the-light-carol-anne-auditing-with-lighthouse.md create mode 100644 _events/securing-the-digital-landscape-a-deep-dive-into-owasp-top-10-for-applications-apis-and-llms.md create mode 100644 _events/setting-up-data-driven-tests-with-java-tools.md create mode 100644 _events/spring-batch-5-2-and-beyond-what-s-new-and-what-s-coming-next.md delete mode 100644 _events/start-covering-your-bases-stop-chasing-apt-headlines.md create mode 100644 _events/supercharge-agentic-ai-projects-a-devex-driven-approach-to-cloud-native-scaffolding.md create mode 100644 _events/take-the-polar-plunge-a-fearless-introduction-to-apache-iceberg.md create mode 100644 _events/tbd.md create mode 100644 _events/the-human-factor-in-devops-because-even-robots-need-good-teammates-almost.md delete mode 100644 _events/the-kafka-consumer-an-unexpected-journey-of-data-consumption.md delete mode 100644 _events/the-offheap-podcast-devnexus-edition-now-with-more-ai.md create mode 100644 _events/typescript-deep-dive.md create mode 100644 _events/unlock-the-power-of-generative-ai-simplifying-ad-creation.md create mode 100644 _events/unlocking-machine-learning-potential-in-javascript-a-journey-through-cutting-edge-tools.md create mode 100644 _events/workshop-on-400-level.md delete mode 100644 _speakers/adi-polak.md delete mode 100644 _speakers/aicha-laafia.md create mode 100644 _speakers/alex-riviere.md create mode 100644 _speakers/ashwin-m-s.md delete mode 100644 _speakers/avishay-zawoznik.md create mode 100644 _speakers/barry-burd.md create mode 100644 _speakers/bazlur-rahman.md create mode 100644 _speakers/ben-westmoreland.md delete mode 100644 _speakers/chiara-civardi.md create mode 100644 _speakers/chris-demars.md delete mode 100644 _speakers/dan-haywood.md create mode 100644 _speakers/danielle-maxwell.md create mode 100644 _speakers/dave-neary.md delete mode 100644 _speakers/david-campbell.md create mode 100644 _speakers/eswaran-rathinam.md delete mode 100644 _speakers/fabio-alessandro-locati.md delete mode 100644 _speakers/freddy-guime.md create mode 100644 _speakers/garry-galinsky.md delete mode 100644 _speakers/gerald-venzl.md delete mode 100644 _speakers/hugo-guerrero.md create mode 100644 _speakers/james-falkner.md create mode 100644 _speakers/jamie-coleman.md delete mode 100644 _speakers/jennifer-reif.md create mode 100644 _speakers/jeremy-meiss.md create mode 100644 _speakers/kito-mann.md create mode 100644 _speakers/luis-majano.md create mode 100644 _speakers/madhuvanthi-v.md create mode 100644 _speakers/mahmoud-ben-hassine.md create mode 100644 _speakers/michael-redlich.md create mode 100644 _speakers/mo-haghighi.md create mode 100644 _speakers/nikhil-nanivadekar.md create mode 100644 "_speakers/ondro-mih\303\241lyi.md" create mode 100644 _speakers/richard-fichtner.md create mode 100644 _speakers/roni-dover.md create mode 100644 _speakers/sandon-jacobs.md create mode 100644 _speakers/sean-mcquaid.md create mode 100644 _speakers/simon-brown.md create mode 100644 _speakers/sven-peters.md create mode 100644 _speakers/syed-m-shaaf.md create mode 100644 _speakers/venkat-subramaniam.md create mode 100644 _speakers/victor-grazi.md create mode 100644 _speakers/vinicius-senger.md create mode 100644 _speakers/waller-goble.md diff --git a/.cloudcannon/prebuild b/.cloudcannon/prebuild index 8505b97f..2c5e08a7 100644 --- a/.cloudcannon/prebuild +++ b/.cloudcannon/prebuild @@ -2,4 +2,4 @@ bundle exec jekyll cfp speakers bundle exec jekyll cfp events -# bundle exec jekyll cfp schedule \ No newline at end of file +bundle exec jekyll cfp schedule \ No newline at end of file diff --git a/_config.yml b/_config.yml index e22d6f5a..3cd2ae1e 100644 --- a/_config.yml +++ b/_config.yml @@ -4,7 +4,7 @@ exclude: ['_presite_plugins', 'README.md', '_move_to_arhcive.html'] title: Devnexus 2025 dates: Mar 4-6, 2025 timezone: UTC -active-header: navigation-before-schedule.html +active-header: navigation.html cfp-is-open: false registration: text: REGISTER NOW diff --git a/_data/events.json b/_data/events.json index dd79c508..d6502fd3 100644 --- a/_data/events.json +++ b/_data/events.json @@ -5,17 +5,63 @@ "sessions": [ { "questionAnswers": [], - "id": "753362", - "title": "30 Years of Java - How Did We Get Here?", - "description": "May 23rd, 1995, saw the launch of not just a new programming language but an entire development and deployment platform. Initially targeted at the brand-new world of browsers and the World Wide Web, it quickly became the de facto standard for internet-scale enterprise applications.\r\n\r\nRemarkably, thirty years later, it is still always in the top three most popular languages in use by developers.\r\n\r\nHow did this happen?\r\n\r\nIn this session, we’ll take a whirlwind tour of the history of Java, recalling many of the milestones along the way.\r\n\r\nI started working for Sun Microsystems in February 1996, roughly the same week JDK 1.0 was launched. Through fourteen years at Sun, five at Oracle and nine at Azul, I’ll bring plenty of anecdotes (and some souvenirs). Be prepared for some serious developer nostalgia!\r\n", - "startsAt": null, - "endsAt": null, + "id": "24d930a2-7178-4726-ab11-239015702332", + "title": "Registration and breakfast", + "description": null, + "startsAt": "2025-03-04T07:30:00", + "endsAt": "2025-03-04T09:00:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 53138, + "room": "Architecture", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "88f90b8c-b2aa-4436-bc81-133985c5e2a3", + "title": "Workshop (on 400 level)", + "description": null, + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "751412", + "title": "Practical AI Lab for Enterprise Java Developers: From Zero to Hero", + "description": "This hands-on workshop is designed to equip enterprise Java developers with the essential skills and knowledge needed to harness the power of artificial intelligence in their projects. Developers learn:\r\n\r\nHow to modernize and deploy Java AI-infused applications across teams using internal developer portals\r\n\r\nUnderstand developer AI concepts like prompt engineering, application testing, applying RAG patterns, observing AI-infused applications, and using tools/agents\r\n\r\nExperiment with models and applications directly on the desktop with AI-focused local development tools\r\n\r\nBuilding AI applications with S/W templates and deploying to Kubernetes\r\n\r\nEasy fine-tuning of base models using open source tools", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "709043d1-5754-4459-a8d5-6dd2f5619874", - "name": "Simon Ritter" + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" + }, + { + "id": "6f672350-1c71-4a6e-a382-2b1db6e631fd", + "name": "Eric Deandrea" + }, + { + "id": "b9f343b4-5370-4839-bd53-572b0322882e", + "name": "James Falkner" } ], "categories": [ @@ -24,8 +70,8 @@ "name": "Track", "categoryItems": [ { - "id": 290608, - "name": "Java Platform" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 @@ -35,15 +81,15 @@ "name": "Session Format", "categoryItems": [ { - "id": 290619, - "name": "session" + "id": 290620, + "name": "workshop" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -52,21 +98,68 @@ }, { "questionAnswers": [], - "id": "751791", - "title": "A developers guide to running SpringBoot applications on Open Liberty", - "description": "SpringBoot is a hugely popular framework for writing applications in today’s development landscape. Choosing Open Liberty as your Java application server to run SpringBoot application offers users several advantages over the default runtimes to increase performance, save memory, and stay up to date with the latest and greatest security fixes.\r\n\r\nIn this talk, you will learn how to run SpringBoot applications on Open Liberty by discussing the following topics:\r\n\r\nThe basics of Open Liberty and how it works as a Java runtime server.\r\n\r\n - How SpringBoot is supported on Open Liberty.\r\n - How to package SpringBoot applications for Open Liberty.\r\n - How to configure a SpringBoot application for Open Liberty.\r\n - How to reduce startup time for SpringBoot applications on Open Liberty with InstantOn support.\r\n", - "startsAt": null, - "endsAt": null, + "id": "751053", + "title": "Migration Engineering with OpenRewrite: The Recipe for Success", + "description": "How adaptable is your technology stack to changes in business requirements, technological advancements, and the availability of new and better tools? When you can more easily secure, upgrade, move, or modernize your code, that means you can adapt quickly and efficiently to changes in technology and markets. That’s what Migration Engineering is all about—and what we’ll be exploring in this workshop.\r\n\r\nWe’ll discuss and demonstrate how to create custom recipes using OpenRewrite, an open source auto-refactoring tool that enables large-scale code analysis and transformations. You’ll learn the make-up of recipes as we walk through a number of examples, then we’ll demonstrate how to write code search and transformation actions that are custom to your organization. We will assemble these recipes with the visitor pattern, and show how to stitch recipes together with YAML, with Refaster-style templates, with Semgrep matchers, etc. We’ll also show how Generative AI can be applied to accelerate recipe development. \r\n\r\nThis is a comprehensive look at all kinds of recipe development that will enable you to come away fully equipped to plan and exercise large-scale code transformations in your organization.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7bac217c-0b90-4dff-a4ed-b5a7a5f0d495", - "name": "Harry Hoots III" + "id": "4c5e0fa5-266a-40aa-b27b-c72bc1ce7f9a", + "name": "Jonathan Schneider" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290603, + "name": "Architecture" + } + ], + "sort": 0 }, { - "id": "78106222-a999-4772-b5ac-9c1125681b97", - "name": "Chuck Bridgham" + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290620, + "name": "workshop" + } + ], + "sort": 1 + } + ], + "roomId": 53138, + "room": "Architecture", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "754716", + "title": "Stream Processing As You’ve Never Seen Before (Seriously): Apache Flink for Java Developers", + "description": "You were tasked with building a real-time platform, but traditional tools couldn’t handle the massive data streams, leading to lagging performance and frustrated users. Deadlines were looming, and the team needed a breakthrough.\r\n\r\nAnd when you learned about Apache Flink.\r\n\r\nWe’ll explore how the DataStream API allowed efficient real-time data processing and how the Table API and SQL features simplified complex queries with familiar syntax. Testing became more straightforward, and managing the application state was no longer a headache.\r\n\r\nYou’ll learn:\r\n\r\n\t•\tHarnessing the DataStream API: Process unbounded data streams efficiently to make your applications more responsive.\r\n\t•\tUnlocking Table API and SQL: Use SQL queries within Flink to simplify data processing tasks without learning new languages.\r\n\t•\tEffective Testing Strategies: Implement best practices for testing Flink applications to ensure your code is robust and reliable.\r\n\t•\tStateful Stream Processing: Manage application state effectively for complex event processing and real-time analytics.\r\n\r\nBy the end of this talk, you’ll be equipped to tackle real-time data challenges. Whether you are building analytics dashboards, event-driven systems, or handling data streams, Apache Flink can be the game-changer you’ve been searching for.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "4f858987-1a60-4da8-a4a2-045824a496c7", + "name": "Viktor Gamov" + }, + { + "id": "81c2a2e6-f9f4-4acf-abf3-d6a26409bc30", + "name": "Sandon Jacobs" } ], "categories": [ @@ -75,8 +168,8 @@ "name": "Track", "categoryItems": [ { - "id": 290617, - "name": "JakartaEE" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 @@ -86,34 +179,34 @@ "name": "Session Format", "categoryItems": [ { - "id": 290619, - "name": "session" + "id": 290620, + "name": "workshop" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "751546", - "title": "A Java Developers Guide to Navigating the Frontend Landscape", - "description": "This is a beginner-friendly session designed for Java developers who are trying to navigate the landscape of frontend development. When you need to develop a new frontend for your application, what approach do you take? Do you leverage your existing Java skills and create it using a Java framework? Or do you opt for a modern JavaScript framework like React, Angular, or Vue? Different requirements may call for different solutions, and in this session, we will explore this topic in depth. By the end of this talk, you will be up to date with the latest techniques for building frontend applications.", - "startsAt": null, - "endsAt": null, + "id": "744151", + "title": "Developer To Architect", + "description": "Becoming a software architect is a longed-for career upgrade for many software developers. While the job title suggests a work day focused on technical decision-making, the reality is quite different. In this workshop, software architect Nathaniel Schutta constructs a real world job description in which communication trumps coding.\r\n\r\nDiscover the skill sets needed to juggle multiple priorities, meetings, and time demandsLearn why your best team leadership tool is not a hammer, but a shared cup of coffeeHear the best ways to give and take criticismUnderstand the necessity of writing effective email and formal architecture documentsGet tips for delivering confident career-building presentations to any audienceReview essential techniques for stakeholder management and relationship buildingExplore the critical needs for architecture reviews and an effective process for conducting themThrough lecture and small group exercises, Nathaniel will help you understand what it means to be a successful architect. Working through various problems, attendees will have opportunities to think through architectural decisions and patterns, discuss the importance of non functional requirements and why architects cannot afford to practice resume driven design.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "c2745a9d-1b7d-4cc3-a620-46afb9337f6d", - "name": "Dan Vega" + "id": "1f3fa71c-0021-4d6e-af47-0013ecbaeb33", + "name": "Nathaniel Schutta" } ], "categories": [ @@ -122,8 +215,8 @@ "name": "Track", "categoryItems": [ { - "id": 290612, - "name": "Web and Front-end" + "id": 290603, + "name": "Architecture" } ], "sort": 0 @@ -133,34 +226,34 @@ "name": "Session Format", "categoryItems": [ { - "id": 290619, - "name": "session" + "id": 290620, + "name": "workshop" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "752508", - "title": "AI for Busy Java Developers", - "description": "Yep, we know you're knee-deep in production Java deployments and don’t exactly have spare time to learn about AI. But your manager is talking more about AI every day, and you’re reading unsettling posts about how GenAI will take your job. In this session, we’ll fast-track you through AI and Machine Learning concepts—tailored just for Java developers who need to learn the basics without the need to drill down into data science and complicated math. We’ll cover all the basics and explain how AI can be used in the software development process beyond simple code generation. You’ll walk away understanding where AI fits (and doesn’t fit), grasp its ethical concerns, become more valuable, and enhance your career.\r\n\r\n* Why AI Matters to Developers and Your Career\r\n* Importance of Patterns\r\n* Predictive AI (PredAI) vs Generative AI (GenAI)\r\n* GenAI vs. Traditional Search Engines\r\n* Prompt Techniques\r\n* The Importance of Context for GenAI\r\n* Retrieval-Augmented Generation (RAG) Systems\r\n* Fine-tuning vs RAG\r\n* Java Libraries for AI/ML\r\n* AI and the Software Development Process\r\n* Responsible AI and Ethics\r\n", - "startsAt": null, - "endsAt": null, + "id": "754852", + "title": "AI-Driven Development: Enhancing Java with the latest AI Innovations", + "description": "This hands-on workshopn will dive deep into how to build and maintain a Java codebase using AI. I’ll share insights and experience on the best ways to work with AI when building, updating, and deploying java applications. Whether you're an experienced developer looking to broaden your horizons or just curious about the latest in AI, this session will engage and inspire.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a56899b4-eae5-40ac-b71a-5ef5be0945a0", - "name": "Frank Greco" + "id": "f412fe67-9886-458b-ab9d-8e7f578bd742", + "name": "Brian Benz" } ], "categories": [ @@ -180,34 +273,72 @@ "name": "Session Format", "categoryItems": [ { - "id": 290619, - "name": "session" + "id": 290620, + "name": "workshop" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "a54587eb-7be5-4c1b-843c-91a92818ec6a", + "title": "Registration and breakfast", + "description": null, + "startsAt": "2025-03-05T07:30:00", + "endsAt": "2025-03-05T09:00:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, "isConfirmed": false }, { "questionAnswers": [], - "id": "747322", - "title": "AI Ready Data with Apache Iceberg: Unifying, Controlling, and Optimizing Your Data for Effective AI", - "description": "Title: AI Ready Data with Apache Iceberg: Unifying, Controlling, and Optimizing Your Data for Effective Artificial Intelligence\r\n\r\nTarget Audience:\r\nData engineers\r\nData scientists\r\nData architects\r\nTechnical leaders (CTOs, CIOs)\r\nAnyone interested in improving data quality for AI/ML initiatives\r\n\r\nAbstract\r\nIn today's data-driven world, the effectiveness of Artificial Intelligence (AI) and Machine Learning (ML) models depends heavily on the quality and organization of your underlying data. \"AI Ready Data with Apache Iceberg\" addresses this challenge and describes how Apache Iceberg can facilitate unifying, governing, and optimizing your data, making it truly AI ready.\r\n\r\nKey Takeaways:\r\nThe Data Lakehouse Advantage:\r\nExplain how Apache Iceberg, combined with the lakehouse architecture, provides a unified platform for all types of data, breaking down silos and simplifying data management.\r\n\r\nGit-Like Data Governance with Nessie:\r\nIntroduce Nessie and demonstrate how its Git-like functionality brings version control, branching, and collaboration to your data, enabling efficient experimentation and ensuring data reproducibility.\r\n\r\nData Contracts for Quality Assurance:\r\nDiscuss the concept of data contracts and how they can be used to define and enforce quality standards, ensuring that data meets the necessary criteria for AI/ML workloads.\r\n\r\nIceberg's Optimized Data Structures:\r\nHighlight how Iceberg's optimized data layouts (e.g., columnar formats, partitioning, hidden partitioning) improve query performance and resource utilization, leading to faster AI/ML model training and inference.\r\n\r\nReal-World Use Cases:\r\nShare examples of how organizations are using Iceberg, Nessie, and data contracts to build robust data pipelines, enhance data quality, and achieve tangible results with their AI initiatives.\r\n", - "startsAt": null, - "endsAt": null, + "id": "c36440b9-6e42-4c24-81be-16ae1f9cbf02", + "title": "Opening keynote", + "description": null, + "startsAt": "2025-03-05T09:00:00", + "endsAt": "2025-03-05T10:00:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "741822", + "title": "Building 10x Organizations with Internal Developer Portals", + "description": "Developer Experience is Dead! Long Live Developer Experience!\r\n\r\nIn this keynote style session, we’ll take a detailed, granular look at the barriers to productivity faced by developers today. 10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’\r\n\r\nRight now, here in early 2024, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience or ‘DevEx.’ It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity productivity philosophies to go alongside them.\r\n\r\nWe have no need to reinvent another productivity approach when effective solutions such as internal developer portals already exist. As business leaders, we just need to invest in and create urgency behind these solutions today, so that we don’t find ourselves having the same discussion again in a decade.\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ddb5faab-b590-4335-bf3f-67ca1f5b2005", - "name": "Andrew Madson" + "id": "38263e70-6aee-44ff-a2d3-c7d42141cc50", + "name": "Justin Reock" } ], "categories": [ @@ -216,8 +347,8 @@ "name": "Track", "categoryItems": [ { - "id": 290615, - "name": "Artificial Intelligence" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 @@ -234,8 +365,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -244,17 +375,17 @@ }, { "questionAnswers": [], - "id": "751431", - "title": "AI Tools for Jakarta EE", - "description": "Discover how AI-powered tools are reshaping Jakarta EE development by optimizing the entire development lifecycle.\r\n\r\nTraditionally, developers have relied on archetypes, project generators, and visual designers to kickstart projects. But what happens when we add an AI language model to the mix? The result is an intelligent project generator that scaffolds domain-relevant Jakarta EE applications with both backend and frontend functionalities ready to go.\r\n\r\nJoin me to witness how AI-powered tools are transforming enterprise application development through real-world, cutting-edge demonstrations. Discover how AI-powered tools enhance productivity and streamline workflows in Apache NetBeans IDE and beyond, from creating a simple hello-world program to developing full-stack applications.", - "startsAt": null, - "endsAt": null, + "id": "732429", + "title": "CQRS meets modern Java", + "description": "Command Query Responsibility Segregation (CQRS) is a proven design pattern that enables the clear separation of data changes (commands) and data queries (queries). This separation allows these responsibilities to be scaled and optimized independently. The application code is also structured more understandably, which improves maintainability.\r\n\r\nThis talk will deepen our understanding of the practical implementation of the CQRS principles using modern Java language features such as records, sealed classes, switch expressions, and pattern matching. An example application will demonstrate how the theoretical foundations of CQRS can be applied in practice and how this affects application design while increasing data access efficiency.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8a4b2af9-c78f-46b0-b11c-ee7e1fa9c5e1", - "name": "Gaurav Gupta" + "id": "8d6bb73e-5451-4e33-a0ab-7b7ffc37a52e", + "name": "Simon Martinelli" } ], "categories": [ @@ -263,8 +394,8 @@ "name": "Track", "categoryItems": [ { - "id": 290617, - "name": "JakartaEE" + "id": 290603, + "name": "Architecture" } ], "sort": 0 @@ -281,8 +412,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -291,17 +422,17 @@ }, { "questionAnswers": [], - "id": "750927", - "title": "AI’s Big Leap: From Sidekick to Autonomous, Multi-repo Refactoring Powerhouse", - "description": "Generative AI can be a force multiplier for developers, but it also comes with limitations. Developers are expected to co-create with AI, and check the generated output, or risk hallucinations running wild. This can aid development at a local machine, but what happens when you try to apply these tools on a massive scale?\r\n\r\nFor mass-scale code operations, AI needs to have agency, able to operate with some degree of autonomy. In this session, we’ll cover how you can use use techniques such as retrieval augmented generation (RAG), the richest code data source for Java called the lossless semantic tree (LST), and OpenRewrite rules-based recipes to drive more efficient and accurate AI model output for refactoring and analyzing large codebases.\r\n\r\nWe’ll specifically address how you can use AI embeddings as a powerful tool to visualize, analyze, and even do smarter sampling for your codebase. We’ll demonstrate using embeddings to perform searches, cluster data, get a birds-eye view of your codebase, as well as diagnose issues and recommend OpenRewrite recipes to fix the problem. We'll also show you how GenAI can be helpful at scale: by assisting with writing OpenRewrite deterministic recipes.\r\n\r\nCome learn the technical underpinnings for reliably using AI at scale for code modernization.", - "startsAt": null, - "endsAt": null, + "id": "734451", + "title": "TDD & generative AI - a perfect pairing?", + "description": "In this talk we will dive into the question whether generative AI can generate working code when we only provide test cases. So we take the main principle from TDD: we write the tests up front. Then we use a generative AI to create the code. If you wrote the tests correctly and they all pass, you should have a working prototype. Even better, if the tests pass and you trust the tests, the code is production ready!\r\n\r\nWith some live coding, we will explore this idea together. Furthermore we will take a look at the implications of this paradigm shift. After attending you should be able to apply this technique to your own project.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "e278d34f-eb09-428e-b299-b87098577622", - "name": "Justine Gehring" + "id": "d7af9489-53b9-48ae-837e-0b2f403c6461", + "name": "Bouke Nijhuis" } ], "categories": [ @@ -328,27 +459,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "754852", - "title": "AI-Driven Development: Enhancing Java with the latest AI Innovations", - "description": "This hands-on workshopn will dive deep into how to build and maintain a Java codebase using AI. I’ll share insights and experience on the best ways to work with AI when building, updating, and deploying java applications. Whether you're an experienced developer looking to broaden your horizons or just curious about the latest in AI, this session will engage and inspire.", - "startsAt": null, - "endsAt": null, + "id": "734811", + "title": "Create AI-Infused Java Apps with LangChain4j", + "description": "Generative AI has taken the world by storm over the last year, and it seems like every executive leader out there is telling us “regular” Java application developers to “add AI” to our applications. Does that mean we need to drop everything we’ve built and become data scientists instead now?\r\n\r\nFortunately, we can infuse AI models built by actual AI experts into our applications fairly straightforwardly, thanks to some new projects. We promise it’s not as complicated as you might think! Thanks to the ease of use and superb developer experience of Quarkus and the nice AI integration capabilities that the LangChain4j libraries offer, it becomes trivial to start working with AI and make your stakeholders happy :)\r\n\r\nIn this session, you’ll explore a variety of AI capabilities. We’ll start from the Quarkus DevUI where you can try out AI models even before writing any code. Then we’ll get our hands dirty with some code and exploring LangChain4j features such as prompting, chaining, and preserving state; agents and function-calling; enriching your AI model’s knowledge with your documents using retrieval augmented generation (RAG); and discovering ways to run (and train) models locally using tools like Ollama and/or Podman AI Lab. In addition, we’ll look at the AI integration's observability and fault tolerance and compile the app to a native binary. Maybe we’ll even try some new features, such as generating images or audio!\r\n\r\nCome to this session to learn how to build AI-infused applications in Java from the actual Quarkus experts and engineers working on the Quarkus LangChain4j extensions. This is also an opportunity to provide feedback to the maintainers of these projects and contribute back to the community.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f412fe67-9886-458b-ab9d-8e7f578bd742", - "name": "Brian Benz" + "id": "a4305a38-d462-482b-9e4a-536eb74ec63c", + "name": "Kevin Dubois" + }, + { + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" } ], "categories": [ @@ -357,8 +492,8 @@ "name": "Track", "categoryItems": [ { - "id": 290615, - "name": "Artificial Intelligence" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 @@ -368,34 +503,34 @@ "name": "Session Format", "categoryItems": [ { - "id": 290620, - "name": "workshop" + "id": 290619, + "name": "session" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "750836", - "title": "AMP-ing Your Java with AArch64/Arm64 Servers", - "description": "\r\nAs the world of server architecture evolves, ARM64 servers are becoming increasingly prominent in the data center and cloud environments. This session explores how Java applications can leverage the performance and efficiency benefits of ARM64 servers.\r\n\r\nJoin us as we dive into:\r\n\r\nIntroduction to ARM64 Architecture: Understand the key features of ARM64 and why it’s gaining traction in modern server environments.\r\n\r\nJava on ARM64: Discover how the Java Virtual Machine (JVM) performs on ARM64 servers and what optimizations are available.\r\n\r\nPerformance Tuning: Learn practical tips and techniques to fine-tune your Java applications for ARM64, including JIT compiler settings and garbage collection adjustments.\r\n\r\nCase Studies and Real-World Examples: Hear about successful migrations and performance improvements from organizations that have embraced ARM64 for their Java workloads.\r\nFuture Trends: Explore upcoming advancements in ARM64 architecture and how they might impact Java development.\r\n\r\nThis talk is ideal for Java developers, system administrators, and DevOps professionals looking to harness the power of ARM64 servers and optimize their applications for the future. Whether you’re considering a transition to ARM64 or simply curious about its benefits, this session will provide valuable insights and practical guidance.", - "startsAt": null, - "endsAt": null, + "id": "752303", + "title": "Backstage Software Templates for Java Developers", + "description": "As a Java developer you might have a hard time accepting the limitations that you feel being introduced into your development cycles. Let's look at the positives and learn everything important to know to turn Backstag's software templates into a helpful tool you can use to elevate the platform experience for all developers. ", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "bceafbd1-53f7-4888-a891-72955eab9077", - "name": "Aaron Williams" + "id": "b4ec38ee-2a62-40f0-85ab-2b4811d2f380", + "name": "Markus Eisele" } ], "categories": [ @@ -422,27 +557,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "754866", - "title": "An All Code Introduction to Domain Driven Design and Hexagonal Architecture", - "description": "Domain Driven Design is designed for implementing complicated business logic and is an excellent fit for microservices development.\r\n\r\nDomain Driven Design provides a repeatable, logical structure that makes implementing business logic easier, faster, and more maintainable. Hexagonal Architecture (or Ports and Adapters) excels at producing loosely coupled, interchangeable components that fit well with DDD.\r\n\r\nIn this presentation I will introduce the Domain Driven Design and dive into the DDD concepts of Aggregates, Repositories, Value Objects, Services, Ubiquitous Language, Adapters, and Shared Kernels. I will also build an application using these patterns and leverage Hexagonal Architecture for easy extensibility. Testing will of course be included.\r\n\r\nYou will leave this presentation with a basic knowledge of Domain Driven Design, how to structure and test your application to implement DDD and how to use Hexagonal Architecture to extend your applications.\r\n\r\nNo slides; just live code.", - "startsAt": null, - "endsAt": null, + "id": "754668", + "title": "DataFrame - a Swiss Army Knife of Java Data Processing", + "description": "Can we use big data techniques without big data infrastructure? As Java developers, we deal with data processing all the time: analyzing app logs, extracting data from Excel, copying tables between databases, to give some examples. Yet, the “standard” Java falls short in processing capabilities compared to more complex and heavy tools like Spark or Flink.\r\n\r\nThis talk is about “DataFrame” - a 2-dimensional in-memory table structure that provides filtering, column / row operations, joins, aggregations, window functions, etc. I will use an open source DFLib library (https://dflib.org) and a Jupyter notebook to demonstrate how to do data processing and visualization in a Java app with DataFrames without much fuss.\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "943e1c6e-d2db-4829-b701-000eaac0f5cd", - "name": "Jeremy Davis" + "id": "7a260dc7-19c8-4f8a-a299-66c70d91f4c4", + "name": "Andrus Adamchik" } ], "categories": [ @@ -451,8 +586,8 @@ "name": "Track", "categoryItems": [ { - "id": 290611, - "name": "Tools and techniques" + "id": 290606, + "name": "Core Java" } ], "sort": 0 @@ -469,21 +604,21 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], "id": "761780", "title": "API Toolbox with Spring", "description": "Have you ever wondered what options are available in the Spring ecosystem to help developers define and build APIs? What protocols and serialization libraries are supported?\r\n\r\nIn this talk, we will go over what options are available to Spring Developers to build APIs. We will cover traditional HTTP APIs as well as alternative protocols for messaging and streaming APIs. We will introduce other projects from the Spring portfolio such as Spring Data and Spring Cloud that can enhance developer productivity in creating APIs and developer experience while consuming them.", - "startsAt": null, - "endsAt": null, + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ @@ -498,8 +633,834 @@ "name": "Track", "categoryItems": [ { - "id": 290607, - "name": "Frameworks" + "id": 290607, + "name": "Frameworks" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58702, + "room": "Frameworks", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "753362", + "title": "30 Years of Java - How Did We Get Here?", + "description": "May 23rd, 1995, saw the launch of not just a new programming language but an entire development and deployment platform. Initially targeted at the brand-new world of browsers and the World Wide Web, it quickly became the de facto standard for internet-scale enterprise applications.\r\n\r\nRemarkably, thirty years later, it is still always in the top three most popular languages in use by developers.\r\n\r\nHow did this happen?\r\n\r\nIn this session, we’ll take a whirlwind tour of the history of Java, recalling many of the milestones along the way.\r\n\r\nI started working for Sun Microsystems in February 1996, roughly the same week JDK 1.0 was launched. Through fourteen years at Sun, five at Oracle and nine at Azul, I’ll bring plenty of anecdotes (and some souvenirs). Be prepared for some serious developer nostalgia!\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "709043d1-5754-4459-a8d5-6dd2f5619874", + "name": "Simon Ritter" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290608, + "name": "Java Platform" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58703, + "room": "Java Platform", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "751868", + "title": "Delivery Engineering", + "description": "Just as food delivery has evolved and become ubiquitous, the Software Delivery Lifecycle has also made leaps and bounds. We get there by shifting left and taking a platform centric approach.\r\n\r\nIn this session join us as we discuss modern software delivery, ways that Datadog has implemented SDLC internally and enable our user’s production of high-quality software with higher velocity.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "46d17ddc-1a74-4d59-8906-d6246ac498d4", + "name": "Ajuna Kyaruzi" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290609, + "name": "Practices and other tech" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58704, + "room": "Practices", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "753084", + "title": "Securing the Digital Landscape: A Deep Dive into OWASP Top 10 for Applications, APIs, and LLMs", + "description": "Join us for an immersive journey into the heart of modern cybersecurity challenges. In this groundbreaking talk, we delve into the intricacies of securing your digital assets with a focus on three critical domains: applications, APIs, and Large Language Models (LLMs).\r\n\r\nAs developers and architects, you understand the paramount importance of safeguarding your systems against evolving threats. Our session offers an exclusive opportunity to explore the industry-standard OWASP Top 10 vulnerabilities tailored specifically to your domain.\r\n\r\nUncover the vulnerabilities lurking within your applications, APIs, and LLMs, and gain invaluable insights into mitigating risks and fortifying your defenses. Through live demonstrations and real-world examples, you'll witness firsthand the impact of security breaches and learn proactive strategies to combat them.\r\n\r\nWhether you're a seasoned architect seeking to fortify your organization's security posture or a developer striving to build resilient systems, this talk equips you with the knowledge and tools essential for navigating the complex landscape of cybersecurity.\r\n\r\nAgenda\r\n\r\nOWASP Top 10 Overview\r\n\r\nIntroduction to OWASP\r\nSignificance of OWASP Top 10\r\nOverview of OWASP Top 10 for Applications, APIs, and LLMs\r\nOWASP Top 10 for Application Security\r\n\r\nPresentation: Common Vulnerabilities and Mitigation Strategies\r\nDemonstration: Live Examples of Application Security Vulnerabilities\r\nOWASP Top 10 for API Security\r\n\r\nPresentation: Key Challenges in API Security and Best Practices\r\nDemonstration: Illustration of API Security Vulnerabilities and Attacks\r\nOWASP Top 10 for LLM Applications (Large Language Models)\r\n\r\nPresentation: Unique Security Concerns in LLM Applications\r\nDemonstration: Showcase of LLM Security Vulnerabilities and Risks\r\nQ&A and Discussion\r\n\r\nOpen Floor for Questions and Discussion\r\nConclusion\r\n\r\nSummary of Key Takeaways\r\nCall to Action: Implementing Security Best Practices", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "32cb0f88-b1ad-44c2-8860-86a5ac46c59a", + "name": "Rohit Bhardwaj" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290610, + "name": "Security" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58705, + "room": "Security", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "751190", + "title": "Taking Shortcuts Beyond Your IDE", + "description": "Taking shortcuts in software development is often perceived as risky, but it does not have to be. In this talk, I will show you how adopting smart shortcuts can enhance your productivity without sacrificing code quality. While IDE shortcuts are just the beginning, we will explore ways to streamline your workflow across the entire development process. From key combinations to advanced automation techniques like code generation, I will demonstrate how you can optimize your time and enjoy coding more. Whether you are a seasoned developer or just starting, this talk will help you identify areas where you can work faster and smarter. By the end, you will be equipped with practical strategies to always be on the lookout for opportunities to improve your workflow.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "ca26f6b4-6211-4491-a8f3-d090c2390c8c", + "name": "Annelore Egger" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290611, + "name": "Tools and techniques" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58706, + "room": "Tools and Techniques", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "752387", + "title": "Typescript Deep Dive", + "description": "Mapped types, template literals, conditional types with infer: oh my! Come to this talk if you already understand how to use typescript day to day, but want to take a deeper dive and understand the more advanced topics in Typescript through real world examples and usecases.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "76cd083c-68f1-46b7-8a4e-9dd9d6d6fd08", + "name": "Waller Goble" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290612, + "name": "Web and Front-end" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58707, + "room": "Web and front-end", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "750246", + "title": "A Developer's Guide to Jakarta EE 11", + "description": "Since its introduction in 2018 as Jakarta EE, the platform has evolved from: Jakarta EE 8, an open-source version of Java EE 8; to Jakarta EE 9, the \"big bang\" release; to Jakarta EE 10 that introduced the Core Profile.\r\n\r\nAnd now, Jakarta EE 11, released on { month}, { day }, 2024, focuses on productivity and innovation and delivers: updates to 16 specifications; introduces a new specification, Jakarta Data; and sets the baseline to Java 21, the latest LTS release.\r\n\r\nThis presentation will provide a brief history of JavaEE/Jakarta EE, what's new in Jakarta EE 11, and a review of new and updated specifications with working example applications.\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "9820a802-240a-4fc0-9541-36ff1c2f760b", + "name": "Michael Redlich" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290617, + "name": "JakartaEE" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58708, + "room": "JakarataEE", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "35b93832-1f7c-4421-b198-bd4f2719a9df", + "title": "Morning Break", + "description": null, + "startsAt": "2025-03-05T11:00:00", + "endsAt": "2025-03-05T11:30:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "754870", + "title": "Starting with Java in 2025", + "description": "Java is dead. Despite of hearing that a lot, Java is a modern language with impressive new features. We will demo how easy is to start with Java in 2025 and showcase the amazing features available to developers", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "8983937d-7fc9-4cb4-bdcf-ce009d874531", + "name": "Rodrigo Graciano" + }, + { + "id": "ab1b8b69-f449-4df9-b391-243a391b9d01", + "name": "Chandra Guntur" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 302778, + "name": "Tech Leadership" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58710, + "room": "Tech Leadership", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "753635", + "title": "Beyond Static: Building Adaptive Systems with Reinforcement Learning Using Java", + "description": "Imagine a Java application that adapts to new challenges, learns from its experiences, and dynamically alters its behavior to optimize performance. Does this sound futuristic? Welcome to\r\nthe world of reinforcement learning in Java.\r\n\r\nIn today's rapidly changing technological ecosystem, the demand for software that can learn and adapt is skyrocketing across industries. This is where reinforcement learning comes into\r\nplay, offering a powerful framework for creating intelligent, self-improving systems. \r\n\r\nBut why Java? As one of the most widely used programming languages in enterprise environments, Java provides a robust foundation for implementing complex reinforcement learning algorithms. Its object-oriented nature, extensive libraries, and strong community support make it an ideal choice for building scalable and adaptive applications.\r\n\r\nIn this presentation, we will explore how to harness the power of reinforcement learning within Java applications. We will delve into the core concepts, examine practical implementation strategies, and discuss real-world applications. Whether you are looking to optimize resource allocation, improve decision-making processes, or create more responsive user experiences, reinforcement learning in Java opens up a world of possibilities.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "43a35463-ae3d-4ccd-ba5a-f153b6ea2c49", + "name": "Omakoji Idakwoji" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290603, + "name": "Architecture" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 53138, + "room": "Architecture", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "750927", + "title": "AI’s Big Leap: From Sidekick to Autonomous, Multi-repo Refactoring Powerhouse", + "description": "Generative AI can be a force multiplier for developers, but it also comes with limitations. Developers are expected to co-create with AI, and check the generated output, or risk hallucinations running wild. This can aid development at a local machine, but what happens when you try to apply these tools on a massive scale?\r\n\r\nFor mass-scale code operations, AI needs to have agency, able to operate with some degree of autonomy. In this session, we’ll cover how you can use use techniques such as retrieval augmented generation (RAG), the richest code data source for Java called the lossless semantic tree (LST), and OpenRewrite rules-based recipes to drive more efficient and accurate AI model output for refactoring and analyzing large codebases.\r\n\r\nWe’ll specifically address how you can use AI embeddings as a powerful tool to visualize, analyze, and even do smarter sampling for your codebase. We’ll demonstrate using embeddings to perform searches, cluster data, get a birds-eye view of your codebase, as well as diagnose issues and recommend OpenRewrite recipes to fix the problem. We'll also show you how GenAI can be helpful at scale: by assisting with writing OpenRewrite deterministic recipes.\r\n\r\nCome learn the technical underpinnings for reliably using AI at scale for code modernization.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "e278d34f-eb09-428e-b299-b87098577622", + "name": "Justine Gehring" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290615, + "name": "Artificial Intelligence" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 53139, + "room": "AI", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "740910", + "title": "Embracing the Hybrid Cloud: Unlocking Success with Open Source Technologies", + "description": "Change and adopting Hybrid Cloud solutions are inevitable in today's dynamic business landscape. As companies strive for success, their workloads span diverse landscapes, including public cloud providers and on-premises servers. To thrive in this ever-evolving environment, harnessing the power of open-source technologies becomes imperative.\r\n\r\nJoin us in this enlightening session to discover how cutting-edge tools such as Kubernetes, Knative, and Skupper can tip the scales in your favor. We'll unveil the transformative capabilities of these technologies and demonstrate how they can empower your organization to achieve crucial objectives such as cost management, failover preparedness, resiliency, and more.\r\n\r\nIn an era where agility, efficiency, and resilience are paramount, this session will equip you with the insights and tools to navigate the Hybrid Cloud's complexities successfully. ", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "dedbce11-34e0-466e-a5cb-ea585688d106", + "name": "Alex Soto" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290614, + "name": "Cloud Native" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 53140, + "room": "Cloud Native", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "751905", + "title": "Mastering Canary Releases with Argo Rollouts in Kubernetes", + "description": "Delivering new features without impacting user experience is a challenge for any modern application. Canary releases provide a safe way to gradually roll out changes, ensuring stability while reducing risk. In this session, we’ll explore how to implement fully automated canary releases using Argo Rollouts in Kubernetes.\r\n\r\nWe’ll cover the core concepts of canary deployments, progressive delivery strategies, and how Argo Rollouts integrates seamlessly with Kubernetes to manage traffic shifts and monitor metrics. To bring it all together, there will be a live demo showcasing a fully automated canary release in action—watch as we safely deploy updates in real time!\r\n\r\nJoin us to learn how to leverage canary releases for safer, more reliable software delivery.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "90d4149a-7993-407f-a350-a0d7a8a04440", + "name": "Orlando Valdez" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290605, + "name": "Cloud Technology" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58711, + "room": "Cloud Tech", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "753353", + "title": "Keeping Your Java Hot by Solving the JVM Warmup Problem", + "description": "Java bytecodes and class files deliver on the original vision of “write once, run anywhere”. Using a Just-in-Time (JIT) compiler allows JVM-based applications to compile only the code that’s being used frequently and optimise it precisely for how it is being used. Using techniques like speculative optimisation can often deliver better performance than static, Ahead-of-Time (AOT) compiled code.\r\n\r\nHowever, this flexibility and performance comes at a cost. Each time the JVM starts an application, it must perform the same analysis to find hot spots of code and compile them. This is referred to as the application warmup time.\r\n\r\nIn this session, we’ll look at several approaches to how this problem can be alleviated or even eliminated. Specifically:\r\n\r\n•\tGenerating a JIT compiler profile of a running, warmed-up application that can be reused when the same application is restarted, eliminating the need for much of the JIT compilation.\r\n•\tOpenJDK Project Leyden's ahead-of-time class loading, method profiling and code compilation.\r\n•\tDecoupling the JIT compiler from the JVM for a Cloud environment. Providing a centralised JIT-as-a-Service allows caching of compiled code and offloading the compilation work when new code must be compiled.\r\n•\tCreating a checkpoint of a running application. This includes all application state (heap, stack, etc.) in addition to the JIT-compiled code. Project CRaC will be used as an example.\r\n\r\nAt the end of the session, you’ll be all set to keep your Java hot!\r\n", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "709043d1-5754-4459-a8d5-6dd2f5619874", + "name": "Simon Ritter" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290606, + "name": "Core Java" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58701, + "room": "Core Java", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "747847", + "title": "Mastering Logging in Java", + "description": "Logging isn’t just about debugging; it’s how you figure out what your application was thinking before it all went wrong. It is important for understanding why your application isn't working properly. This session will compare popular Java logging frameworks like Java Util Logging, Log4J, SLF4J, and Logback, highlighting their strengths and quirks.\r\n\r\nWe’ll also look at the shiny new Log4j 3 and how it stacks up against its predecessor, Log4j 2. Whether you’re trying to improve your logging game or just want fewer “what the heck happened?” moments, this talk should be helpful for you.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "6631e69f-25c4-47db-9fb2-08576a460048", + "name": "Jeanne Boyarsky" + }, + { + "id": "29076748-33f5-4e17-a392-8a9ec55550c7", + "name": "Victor Grazi" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290607, + "name": "Frameworks" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58702, + "room": "Frameworks", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "751867", + "title": "Project Panama: Unleashing native libraries", + "description": "Many native libraries offer powerful solutions to interesting problems that could greatly benefit Java developers. However, working with native code has traditionally been difficult on the Java platform. One had to contend with the boiler plate of writing JNI code in order to interact with native libraries. And it only got worse when trying to use native types, like structures, that have no java equivalent. Project Panama solves all these issues by introducing an FFI and Memory Access APIs that lets Java developers’ interop with native code seamlessly. Come to this session to learn more about how OpenJDK Project Panama can help you interact with native libraries seamlessly.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "d7993bab-ecad-4202-8a76-61b64f27cbf6", + "name": "Tobi Ajila" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290608, + "name": "Java Platform" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58703, + "room": "Java Platform", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "751380", + "title": "TDD: Test-Driven Development vs TAB-Driven Development", + "description": "The rise of AI-powered coding assistants is changing the way we approach code completion, often allowing us to accept suggestions with a simple press of the TAB key, significantly speeding up our workflow. These tools can even generate the necessary tests automatically. \r\nIn this context, is Test-Driven Development (TDD) becoming obsolete? Or does the practice of using tests to drive the design of our applications still hold substantial value in the age of AI? Let's explore the evolving landscape of software development and look at the ongoing relevance of TDD in an AI-enhanced world.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "9f1e9a11-4022-412d-929c-d80ee4f5d19f", + "name": "Marit van Dijk" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290609, + "name": "Practices and other tech" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58704, + "room": "Practices", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "754814", + "title": "Software and AI in the time of Legislation.  New (and old) laws for developers", + "description": "The software development landscape is rapidly changing, with legislation emerging as a key driver of industry trends. As our reliance on software and AI grows, so does its vulnerability to cybercrime – now a staggering $6 trillion problem. This has caught the attention of regulators worldwide. \r\n\r\nThis talk examines the complex interplay between software, AI, and the law, with a particular focus on what this means for Java developers. \r\n\r\nWe'll explore the challenges of securing the software supply chain, examine the reasoning behind recent legislation and see how they come together. \r\n\r\nWe'll look at practical frameworks for weaving compliance into development practices and tackle both the ethical and pragmatic aspects of a developer's role in mitigating cyber risks. By reframing security and compliance not as obstacles, but as catalysts for pushing the boundaries of productivity and technology we can gain insights to what is needed to thrive in an evolving legal environment without stifling innovation. \r\n\r\nAI, Software, and the Law – more opportunity than obstacle\r\n", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "7a6d377f-3ce1-4b32-9014-c70c87022fd0", + "name": "Steve Poole" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290610, + "name": "Security" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58705, + "room": "Security", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "782799", + "title": "OpenTelemetry and Continuous Feedback - Things you need to know about Spring application at runtime", + "description": "What do you know about the code changes that were just introduced into the codebase? When will you start noticing if something goes wrong? If there are so many accessible observability sources that can tell us what the code is doing, why are we using so little of that in our day-to-day coding?\r\n\r\nContinuous Feedback is a new dev practice that aims to make practical usage of code runtime data to shorten the feedback loop during development. It enables developers to get early data about their code changes and detect issues and regressions as-they-code. At the same time, collecting data from multiple environments, allows developers to instantly understand how their code is performing in the real world.\r\n\r\nIn this session, we'll look past the novelty of using OSS observability tools and technologies, to discuss how we can actually make them useful for developers. We'll take a look at the benefits of enabling OpenTelemetry collection for dev and test data and examine OSS tools to help analyze the application runtime. Throughout the talk, we'll go over code examples of common anti-patterns, code smells, hidden errors, and other types of problems that observability can reveal - prior to merging a PR,\r\n\r\nUltimately, the goal should not be simply observing the application or creating nice-looking dashboards. Rather, success is in leveraging observability data in order to achieve a more effective dev process and write better code.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "223365e9-c6b0-437a-a028-e69038ad44c0", + "name": "Roni Dover" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 @@ -516,31 +1477,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "750567", - "title": "Are you crazy? hosting 25 years old java code on a brand-new cloud?", - "description": "Hosting legacy Java code on a modern cloud platform poses unique challenges. The age gap between the legacy code and the cutting-edge cloud environment requires careful consideration of compatibility, capability, performance, debuggability, observability, and security. If we are looking for a first-class cloud-native experience, then we need to focus on re-architecting, refactoring, and retargeting the code. On a positive note, this process provides an opportunity to enhance the system’s scalability, resilience, and maintainability using the latest cloud technologies. Enter application modernization! This session presents a practical approach to bridging the gap between legacy systems and modern execution environments. Attendees will learn not only best practices around application modernisation but also gain insights into how this approach turns challenges into opportunities for innovation, resulting in a more agile, scalable, and future-proof system.", - "startsAt": null, - "endsAt": null, + "id": "749192", + "title": "Fresh Hot CSS Features!", + "description": "Do you use a CSS Framework like bootstrap? Or maybe you've been coasting for a few years on your current knowledge of CSS. You've maybe seen something called CSS Grid and wondered what it was... Maybe you have never seen `var()` used before.\r\n\r\nLet's discuss the latest newest hottest big features in CSS from the last few years, and get you up to speed on what a browser engine is capable of!\r\n\r\nWe'll cover the following topics:\r\n- CSS Grid\r\n- Custom Properties\r\n- the `:has()` selector\r\n- CSS Layers\r\n- Container Queries\r\n\r\n... And more!", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "40bb5fa8-ff71-437e-b3e6-49189208e664", - "name": "Elsa Zacharia" - }, - { - "id": "06008a63-f49b-451e-b0ae-44ccaf9bf0cc", - "name": "Akula Harshitha" + "id": "5c386803-b673-4259-a6ce-d85e1fd0a016", + "name": "Alex Riviere" } ], "categories": [ @@ -549,8 +1506,8 @@ "name": "Track", "categoryItems": [ { - "id": 290605, - "name": "Cloud Technology" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 @@ -567,27 +1524,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "752303", - "title": "Backstage Software Templates for Java Developers", - "description": "As a Java developer you might have a hard time accepting the limitations that you feel being introduced into your development cycles. Let's look at the positives and learn everything important to know to turn Backstag's software templates into a helpful tool you can use to elevate the platform experience for all developers. ", - "startsAt": null, - "endsAt": null, + "id": "751431", + "title": "AI Tools for Jakarta EE", + "description": "Discover how AI-powered tools are reshaping Jakarta EE development by optimizing the entire development lifecycle.\r\n\r\nTraditionally, developers have relied on archetypes, project generators, and visual designers to kickstart projects. But what happens when we add an AI language model to the mix? The result is an intelligent project generator that scaffolds domain-relevant Jakarta EE applications with both backend and frontend functionalities ready to go.\r\n\r\nJoin me to witness how AI-powered tools are transforming enterprise application development through real-world, cutting-edge demonstrations. Discover how AI-powered tools enhance productivity and streamline workflows in Apache NetBeans IDE and beyond, from creating a simple hello-world program to developing full-stack applications.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b4ec38ee-2a62-40f0-85ab-2b4811d2f380", - "name": "Markus Eisele" + "id": "8a4b2af9-c78f-46b0-b11c-ee7e1fa9c5e1", + "name": "Gaurav Gupta" } ], "categories": [ @@ -596,8 +1553,8 @@ "name": "Track", "categoryItems": [ { - "id": 290604, - "name": "Cloud Infrastructure" + "id": 290617, + "name": "JakartaEE" } ], "sort": 0 @@ -614,27 +1571,46 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "626ef535-b424-485c-8669-8e3cedd2be0c", + "title": "Lunch", + "description": null, + "startsAt": "2025-03-05T12:30:00", + "endsAt": "2025-03-05T13:30:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, "isConfirmed": false }, { "questionAnswers": [], - "id": "753635", - "title": "Beyond Static: Building Adaptive Systems with Reinforcement Learning Using Java", - "description": "Imagine a Java application that adapts to new challenges, learns from its experiences, and dynamically alters its behavior to optimize performance. Does this sound futuristic? Welcome to\r\nthe world of reinforcement learning in Java.\r\n\r\nIn today's rapidly changing technological ecosystem, the demand for software that can learn and adapt is skyrocketing across industries. This is where reinforcement learning comes into\r\nplay, offering a powerful framework for creating intelligent, self-improving systems. \r\n\r\nBut why Java? As one of the most widely used programming languages in enterprise environments, Java provides a robust foundation for implementing complex reinforcement learning algorithms. Its object-oriented nature, extensive libraries, and strong community support make it an ideal choice for building scalable and adaptive applications.\r\n\r\nIn this presentation, we will explore how to harness the power of reinforcement learning within Java applications. We will delve into the core concepts, examine practical implementation strategies, and discuss real-world applications. Whether you are looking to optimize resource allocation, improve decision-making processes, or create more responsive user experiences, reinforcement learning in Java opens up a world of possibilities.", - "startsAt": null, - "endsAt": null, + "id": "753081", + "title": "Mastering the System Design Methodology", + "description": "Mastering the System Design Methodology is a must-attend talk for developers and architects seeking to elevate their system design skills to new heights. In this engaging session, attendees will embark on a comprehensive journey through the foundational principles of the System Design Methodology, with a particular focus on the practical application of the C4 model. This talk is designed to equip professionals with the tools and insights necessary to develop scalable, efficient, and user-friendly systems that stand the test of time.\r\n\r\nWe'll start by exploring the critical importance of understanding business requirements and stakeholder needs, setting the stage for successful system design. From there, we'll delve deep into the methodology stages, from engaging with business stakeholders to refining and finalizing the system design. Each stage will be brought to life with real-world examples, interactive discussions, and practical exercises, ensuring attendees can apply these concepts to their projects immediately.\r\n\r\nSpecial attention will be given to integrating empathy maps, value chain analysis, and customer journey mapping into the system design process. These powerful tools not only enhance the understanding of internal and external personas but also ensure that the final product truly aligns with user needs and business goals.\r\n\r\nWhether you're an experienced architect or a developer keen on expanding your system design capabilities, this talk will provide valuable insights into creating robust, adaptable, and user-centric software systems. Join us to transform your approach to system design and become a key driver of success in your projects and organization.\r\n\r\nThe Importance of System Design\r\n\r\nThe role of system design in software development\r\nExamples of project successes and failures\r\nOverview of System Design Methodology\r\n\r\nIntroduction to System Design Methodology\r\nThe C4 Model: Context, Containers, Components, and Code\r\nDeep Dive into the Methodology Stages\r\n\r\n* Engage with Business Stakeholders\r\n * Techniques for engagement and prioritization\r\n * Case Study: A startup's journey to understand market needs\r\n\r\n* Identify Vital Business Capabilities\r\n * Mapping business capabilities\r\n * Case Study: Streamlining operations for a logistics company\r\n\r\n* Understand the Internal and External Personas\r\n * Using empathy maps and customer journey mapping\r\n * Case Study: Designing a healthcare app with patient and provider personas\r\n\r\n* Develop a New Value Proposition\r\n * Crafting value propositions\r\n * Case Study: Innovating retail experience with a new e-commerce platform\r\n\r\n* Define Solution Architecture\r\n * Detailing architecture and capability modules\r\n * Case Study: Architectural overhaul for a financial services firm\r\n\r\n* Define Component Process Flows\r\n * Visualizing interactions and process flows\r\n * Case Study: Enhancing the order fulfillment process for an online retailer\r\n\r\n* Review, Refine, and Finalize\r\n * Consolidating insights and preparing for implementation\r\n * Case Study: Finalizing and launching a new feature for a social media platform", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "43a35463-ae3d-4ccd-ba5a-f153b6ea2c49", - "name": "Omakoji Idakwoji" + "id": "32cb0f88-b1ad-44c2-8860-86a5ac46c59a", + "name": "Rohit Bhardwaj" } ], "categories": [ @@ -643,8 +1619,8 @@ "name": "Track", "categoryItems": [ { - "id": 290615, - "name": "Artificial Intelligence" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 @@ -661,27 +1637,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "735668", - "title": "Big things with tiny teams : Live coding with Apache Causeway", - "description": "I came across the naked objects pattern at a conference in 2002, and 2 years later we used an early version of the Naked Objects Framework to build the main benefits system for the Irish Government, still running 20+ years later and administering pensions and 40 other benefits. And since 2012 we've developed an in-house ERP for Eurocommercial Properties on that early framework's successor, Apache Causeway, processing €500m of invoices each year. All in a team averaging 2.5 FTE people.\r\n\r\nYou can think of naked objects a bit like an ORM, except it manages the presentation layer rather than persistence. Not having to build the UI layer (or REST APIs) means that you can focus on what really matters, the core business domain. \r\n\r\nIn this talk I'll introduce you to Apache Causeway, itself built upon Spring Boot, with live coding and anecdotes along the way.", - "startsAt": null, - "endsAt": null, + "id": "754404", + "title": "Reverse-engineering architecture diagrams from your Java app", + "description": "You've adopted the C4 model and have a collection of zoomable system context and container diagrams. These are useful for having high-level conversations, but they don't cover the internal implementation details of your Java app. You consider creating a C4 component diagram. Unfortunately the size and complexity of your Java codebase makes manually drawing this out of the question, and reverse-engineering the codebase with a generic tool produces a cluttered diagram that literally shows everything. How do you create useful component level diagrams that remain up to date with minimal effort? Is this even possible?\r\n\r\nJoin me for a discussion of how to tackle this problem, where I'll cover the theory and tactics behind how to reverse-engineer meaningful component diagrams, before presenting a live demo of how to use the open source Structurizr DSL to put the techniques into action.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "dbde3fbe-b40e-4205-bb53-d7d8acea9df9", - "name": "Dan Haywood" + "id": "9530c418-5704-4313-a39c-2d027cfa2ad4", + "name": "Simon Brown" } ], "categories": [ @@ -690,8 +1666,8 @@ "name": "Track", "categoryItems": [ { - "id": 290607, - "name": "Frameworks" + "id": 290603, + "name": "Architecture" } ], "sort": 0 @@ -708,27 +1684,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "763722", - "title": "Bootiful Spring Boot: A DOGumentary", - "description": "Spring Boot 3.x and Java 21 have arrived, making it an exciting time to be a Java developer! Join me, Josh Long (@starbuxman), as we dive into the future of Spring Boot with Java 21. Discover how to scale your applications and codebases effortlessly. We'll explore the robust Spring Boot ecosystem, featuring AI, modularity, seamless data access, and cutting-edge production optimizations like Project Loom's virtual threads, GraalVM, AppCDS, and more. Let's explore the latest-and-greatest in Spring Boot to build faster, more scalable, more efficient, more modular, more secure, and more intelligent systems and services.\r\n", - "startsAt": null, - "endsAt": null, + "id": "752508", + "title": "AI for Busy Java Developers", + "description": "Yep, we know you're knee-deep in production Java deployments and don’t exactly have spare time to learn about AI. But your manager is talking more about AI every day, and you’re reading unsettling posts about how GenAI will take your job. In this session, we’ll fast-track you through AI and Machine Learning concepts—tailored just for Java developers who need to learn the basics without the need to drill down into data science and complicated math. We’ll cover all the basics and explain how AI can be used in the software development process beyond simple code generation. You’ll walk away understanding where AI fits (and doesn’t fit), grasp its ethical concerns, become more valuable, and enhance your career.\r\n\r\n* Why AI Matters to Developers and Your Career\r\n* Importance of Patterns\r\n* Predictive AI (PredAI) vs Generative AI (GenAI)\r\n* GenAI vs. Traditional Search Engines\r\n* Prompt Techniques\r\n* The Importance of Context for GenAI\r\n* Retrieval-Augmented Generation (RAG) Systems\r\n* Fine-tuning vs RAG\r\n* Java Libraries for AI/ML\r\n* AI and the Software Development Process\r\n* Responsible AI and Ethics\r\n", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", - "name": "Josh Long" + "id": "a56899b4-eae5-40ac-b71a-5ef5be0945a0", + "name": "Frank Greco" } ], "categories": [ @@ -737,8 +1713,8 @@ "name": "Track", "categoryItems": [ { - "id": 290603, - "name": "Architecture" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 @@ -755,8 +1731,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -765,17 +1741,21 @@ }, { "questionAnswers": [], - "id": "741822", - "title": "Building 10x Organizations with Internal Developer Portals", - "description": "Developer Experience is Dead! Long Live Developer Experience!\r\n\r\nIn this keynote style session, we’ll take a detailed, granular look at the barriers to productivity faced by developers today. 10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’\r\n\r\nRight now, here in early 2024, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience or ‘DevEx.’ It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity productivity philosophies to go alongside them.\r\n\r\nWe have no need to reinvent another productivity approach when effective solutions such as internal developer portals already exist. As business leaders, we just need to invest in and create urgency behind these solutions today, so that we don’t find ourselves having the same discussion again in a decade.\r\n", - "startsAt": null, - "endsAt": null, + "id": "751289", + "title": "Optimizing Containerized Java Apps with Jib, GraalVM, CDS, and CRaC", + "description": "In today’s cloud-native world, keeping microservices reliable and scalable is essential. Java Java developers and architects often struggle to optimize containerized Java apps because configuring and integrating powerful tools into their build processes is complex. This session explores practical techniques to improve performance in cloud environments, including creating custom JREs, using Jib for easier container builds, and leveraging GraalVM for faster startup times. You’ll learn to use Class Data Sharing (CDS) and CRaC to improve startup times, while evaluating trade-offs to choose the best optimization techniques, ensuring your applications are optimized for scale, reliability, and efficiency in the cloud.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "38263e70-6aee-44ff-a2d3-c7d42141cc50", - "name": "Justin Reock" + "id": "763e5a81-e0ba-4663-8dec-86a46ab80604", + "name": "Fernanda Machado" + }, + { + "id": "058c3cdc-0607-4437-81bb-07a1aed5d05c", + "name": "Elder Moraes" } ], "categories": [ @@ -784,8 +1764,8 @@ "name": "Track", "categoryItems": [ { - "id": 302778, - "name": "Tech Leadership" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 @@ -802,27 +1782,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "770645", - "title": "Building APIs in the AI Era", - "description": "How can architects and software developers use AI to transform the process of developing APIs? Our discussion in this session will center on how AI is revolutionizing software development, with an emphasis on how AI assistants can be incorporated into the process of creating APIs. We will look at how AI tools can improve testing, speed up code generation, maintain stronger security, and maximize performance. Through a series of demonstrations, attendees will learn how to best incorporate AI-driven solutions into their API projects to maximize output, reduce time-to-market, and maintain quality standards. Come learn how AI is a disruptive force in the evolution of API development, not just a small improvement.", - "startsAt": null, - "endsAt": null, + "id": "754051", + "title": "Cloud Integration Testing Made Easy for Your Java Apps", + "description": "Integration testing is complicated as it is, even more so when third-party services are involved, but cloud-native AWS applications that rely on managed services are especially tough to test.\r\n\r\nCloud integration tests are particularly challenging due to the high complexity of the interconnected services, dependency management, deployment and provisioning intricacies, and potentially high costs. So how can we bring the ease and speed of unit tests into these integration tests? Ideally, we’d like to use a local setup where we can quickly spin up and deploy our services in an emulated environment that’s as close as possible to the real deal. By simulating real-world scenarios and testing the integration of various parts of the system, these tests help us identify and resolve issues early in the development process. This is where Testcontainers and LocalStack work beautifully together to bring you the best of integration tests and cloud services on your machine. We’ll explore how we can enhance the testability of a Spring Boot application that relies on AWS services and vastly increase the test coverage of our applications without any need for mocking or remote AWS sandbox accounts.\r\n\r\nTesting your AWS-powered Spring Boot app with LocalStack and Testcontainers conveys isolation, speed, cost, and flexibility, making it effortless to get started with writing integration tests for your cloud application.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a4797c7b-e72c-4619-9a92-c8c667a43a88", - "name": "Hugo Guerrero" + "id": "4bcfc433-e955-43c9-b2e2-0d689a7794af", + "name": "Anca Ghenade" } ], "categories": [ @@ -831,8 +1811,8 @@ "name": "Track", "categoryItems": [ { - "id": 290614, - "name": "Cloud Native" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 @@ -849,8 +1829,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -859,17 +1839,17 @@ }, { "questionAnswers": [], - "id": "755446", - "title": "Cache Smarter, Not Harder: A Practical Guide to Choosing the Best Caching Strategy", - "description": "In today's rapidly evolving digital landscape, ensuring application performance at scale requires efficient caching solutions. How can developers reduce latency, alleviate database load, and make the right architectural decisions to ensure scalability and cost-effectiveness? This talk offers a comprehensive overview of modern caching mechanisms, including in-memory, distributed, and hybrid solutions, with key technologies such as Redis, Memcached, Apache Ignite, and CDNs. \r\n\r\nParticipants will explore the fundamental principles behind these technologies and learn to navigate the trade-offs in scalability, data consistency, and performance. Through real-world use cases like session management, distributed data processing, and big data applications, this session provides actionable insights on how to select and integrate the most suitable caching mechanism for specific application demands.\r\n\r\nBy the end, attendees will walk away with a clear framework for evaluating caching solutions and practical strategies to optimize their architecture for high performance and scalability. ", - "startsAt": null, - "endsAt": null, + "id": "754901", + "title": "Hands On: Apache Maven 4", + "description": "Frustrated with Apache Maven? Confused about how to control versions in multi-modules? Annoyed at how much of your build information is published to a maven repository when you publish your artifacts? Curious about Apache Maven?\r\n\r\nThis session is for you! Slides are great to share theory, how about live coding? In this session, together, we will pick up difficult use cases that most of us encounter when managing our maven projects for build and deployment, especially with multiple modules. \r\n\r\nApache Maven 4 is a great improvement over previous versions and provides an ease-of-use and follows the \"principle of least astonishment\".\r\n\r\nCome join to see how to solve build woes using the latest (and greatest) version of Apache Maven!", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f7d03f66-8402-4926-ba4c-aade6a3f7817", - "name": "Medha Chakraborty" + "id": "ab1b8b69-f449-4df9-b391-243a391b9d01", + "name": "Chandra Guntur" } ], "categories": [ @@ -878,8 +1858,8 @@ "name": "Track", "categoryItems": [ { - "id": 290603, - "name": "Architecture" + "id": 290606, + "name": "Core Java" } ], "sort": 0 @@ -896,27 +1876,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "760135", - "title": "Case Study: Journey to Cloud with Jakarta EE and MicroProfile", - "description": "The journey to cloud is an ongoing challenge for many enterprises. Some organizations have tackled this endeavor easily, while others have delayed the process, waiting for the right time or technology to get started. In this session, we will describe the migration of a production application from a solo monolith to an application system augmented with MicroProfile microservices. In this case, the application team opted maximize the value of their investment: maintain the original application and enhance it with services that surround it. We will include technical challenges and how we overcame them using Helidon, an open-source framework that makes it easy to write Java microservices, including MicroProfile microservices that easily integrate with Jakarta EE applications.", - "startsAt": null, - "endsAt": null, + "id": "736775", + "title": "Functional Spring Boot", + "description": "10 years after the advent of Spring, Spring Boot shifted the paradigm from XML to Annotations. 10 years later, it is time to shift the paradigm again, this time toward functional programming. Spring Boot has been quietly adding functional APIs and DSLs since 2.0. These APIs deliver many benefits such as better performance and easier learning curve. In this talk, we will learn how to uncover these hidden gems in Spring Boot.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "c3739d81-91b9-4c51-b56a-9099c7e02e74", - "name": "David Cabelus" + "id": "bfc36fe5-4d43-4394-98fe-a5374fc17616", + "name": "John Burns" } ], "categories": [ @@ -925,8 +1905,8 @@ "name": "Track", "categoryItems": [ { - "id": 290617, - "name": "JakartaEE" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 @@ -943,27 +1923,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "754051", - "title": "Cloud Integration Testing Made Easy for Your Java Apps", - "description": "Integration testing is complicated as it is, even more so when third-party services are involved, but cloud-native AWS applications that rely on managed services are especially tough to test.\r\n\r\nCloud integration tests are particularly challenging due to the high complexity of the interconnected services, dependency management, deployment and provisioning intricacies, and potentially high costs. So how can we bring the ease and speed of unit tests into these integration tests? Ideally, we’d like to use a local setup where we can quickly spin up and deploy our services in an emulated environment that’s as close as possible to the real deal. By simulating real-world scenarios and testing the integration of various parts of the system, these tests help us identify and resolve issues early in the development process. This is where Testcontainers and LocalStack work beautifully together to bring you the best of integration tests and cloud services on your machine. We’ll explore how we can enhance the testability of a Spring Boot application that relies on AWS services and vastly increase the test coverage of our applications without any need for mocking or remote AWS sandbox accounts.\r\n\r\nTesting your AWS-powered Spring Boot app with LocalStack and Testcontainers conveys isolation, speed, cost, and flexibility, making it effortless to get started with writing integration tests for your cloud application.", - "startsAt": null, - "endsAt": null, + "id": "756952", + "title": "Debugging Java", + "description": "When trying to track down a bug, the first thing we usually do is jump into the debugger and start stepping through the code. Then we settle in for a long, tedious slog stepping through the code. This session will discuss how bugs are caused, and some great techniques and tools you can use to streamline your debugging sessions.\r\n\r\nWe will be referencing the book \"Why Programs Fail\" by Andreas Zeller and the new book “Troublshooting Java” by Laurențiu Spilcă.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4bcfc433-e955-43c9-b2e2-0d689a7794af", - "name": "Anca Ghenade" + "id": "c6d00669-9c07-47fa-88b8-365dbbd10cca", + "name": "Scott Wierschem" } ], "categories": [ @@ -972,8 +1952,8 @@ "name": "Track", "categoryItems": [ { - "id": 290605, - "name": "Cloud Technology" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 @@ -990,31 +1970,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "734173", - "title": "Code coverage MythBusters", - "description": "Code coverage is a compelling set of metrics that can help you improve the quality of your software, prevent potential bugs, and even help you investigate the issues.\r\n\r\nAnd as we know with great power comes great responsibility. When applied in the wrong way code coverage can easily transform from your best friend that can boost a developer’s productivity into your worst enemy that throws the sand in the wheels of your developers' productivity machine.\r\n\r\nAfter many years of answering community questions about code coverage in the JaCoCo mailing list, StackOverflow, and in the Sonar community forum we learned that most software engineers don’t understand the purpose of code coverage and how to apply it correctly. \r\n\r\nIn this talk, we will dispel the most popular myths built around code coverage. This talk will help you understand the concept of code coverage, how it should be used, and how to boost your productivity with code coverage.", - "startsAt": null, - "endsAt": null, + "id": "784396", + "title": "Black Friday Brilliance: Managing a Billion Transactions with Tech, Tactics, and Teamwork", + "description": "The Black Friday and Cyber Monday period is one of the busiest times in the retail calendar, both in stores and online, and our customers rely on our infrastructure to support their businesses at this crucial time. Over this period in 2023 we processed over 1 billion requests to our APIs, and we managed this with greater than 99.99% availability! We've seen our request volume increase over 100x in the last 10 years, and managing this requires the right technologies, careful planning, and a great team of people.\r\n\r\nWith insightful commentary from a cross-section of our brilliant Dev team, I’ll talk you through how we scale our infrastructure on different Clouds, the technologies and processes that are put in place and problems we have had to overcome in the past. I’ll also give some insights into how the team works together over this busy period to keep everything running smoothly.\r\n", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "eeb25beb-5d37-4fb7-acac-170357a1d89b", - "name": "Marharyta Nedzelska" - }, - { - "id": "d2ddc9e3-35b6-44a9-8daa-144d89cabaff", - "name": "Evgeny Mandrikov" + "id": "eb8e3906-8c75-4876-9fe1-0aca5db8ef40", + "name": "Jamie Coleman" } ], "categories": [ @@ -1023,8 +1999,8 @@ "name": "Track", "categoryItems": [ { - "id": 290608, - "name": "Java Platform" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 @@ -1041,27 +2017,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "750660", - "title": "Codebase Resurrection: Revive and Refactor with AI", - "description": "Is your codebase in need of a major overhaul? Do you find yourself wrestling with tangled code, uncertain about the consequences of each refactor? Join us at this Java conference session to discover how AI can be your secret weapon in the battle against subpar code.\r\nIn this enlightening talk, our seasoned Principal Software Developer will guide you through the transformative journey of leveraging AI tools to bring your codebase back to life. We'll demonstrate the incredible power of a AI plugins in your IDE, which combines the best practices and methodologies from industry experts with the precision of artificial intelligence.\r\nYou'll learn how to harness AI's capabilities to:\r\nAnalyze Code Health: Understand the current state of your codebase and identify areas in need of improvement.\r\nAI-Powered Testing: Utilize AI-driven testing to gain confidence in your refactoring efforts, reducing the risk of introducing new bugs.\r\nRefactor with Precision: Apply expert-recommended refactorings to untangle complex code structures and improve maintainability.\r\nMeasure Success: Evaluate the impact of your refactorings and track improvements in code quality and performance.\r\nBy the end of this session, you'll be equipped with the knowledge and tools to breathe new life into your codebase, making it more efficient, robust, and future-proof. Don't miss this opportunity to revolutionize your coding practices and elevate your software architecture to new heights with Codium.AI. Join us and embark on your journey towards code excellence!\r\n", - "startsAt": null, - "endsAt": null, + "id": "756256", + "title": "There's an Authz for that: Spring Security in 2025", + "description": "Alongside authentication, Spring Security simplifies your authorization, too, specifically helping decouple your authorization and application logic. These days, standards like OpenFGA and OAuth are changing the landscape of authorization like never before.\r\n\r\nSpring Security is ready to anticipate those changes with you.\r\n\r\nIn this talk, we’ll take an existing Spring Boot application and add authorization to its requests, methods, domain objects, and queries. You’ll learn about the many authorization advancements Spring Security has made since you last blinked. By the end, you’ll see how these features are brought to bear on the everyday challenges of local and remote authorization, coarse- and fine-grained authorization, and authorized domain objects.\r\n \r\nNo previous authorization or Spring Security experience is required.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7f7eb959-dfdc-4d7f-a6a0-bd64b2710282", - "name": "David Parry" + "id": "feba8c56-4b68-41e6-8d2d-b2324a5e18c8", + "name": "Josh Cummings" } ], "categories": [ @@ -1070,8 +2046,8 @@ "name": "Track", "categoryItems": [ { - "id": 290611, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 @@ -1088,27 +2064,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "739382", - "title": "Commonly Uncommon: Diverse Paths that Lead to Winning Outcomes", - "description": "We each have a unique combination of experiences that we bring to our career in tech. Many of us don't have an undergraduate, graduate, and/or doctorate in computer science. In this session, we will get a glimpse into the speaker's winding journey to a tech career and discuss how conventional and unconventional paths foster unique perspectives that create ideal conditions for inventive solutions and ideas. Find out how to leverage your diverse experiences in your career, encourage and welcome new additions, and contribute to the innovation that makes the tech industry so exciting.", - "startsAt": null, - "endsAt": null, + "id": "743493", + "title": "OG Refactoring (Observing Gamma): Patterns to Refactor Towards", + "description": "Erich Gamma, et al's Design Patterns: Elements of Reusable Object-Oriented Software came out in 1994. Martin Fowler’s Refactoring: Improving the Design of Existing Code was first published in 1999. Joshua Kerievsky's Refactoring to Patterns in 2004. \r\n\r\nWhat have we learned since then about refactoring? What do we, as professional software developers, need to know before deciding to do a refactor on a legacy codebase? \r\n \r\nThe audience for this session are software developers and the people that interface with them (product owners, scrum masters, development managers) who need to know the value of this important and often neglected technical practice.\r\n \r\nAt the end of the session, the attendee will be able to identify hidden patterns in their code bases, plan a refactor effort on legacy codebases, write their own refactorings, and recognize accidental code complexity in large codebases.\r\n", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "e8154769-ac25-4c42-890f-6ccd70e2ec79", - "name": "Jennifer Reif" + "id": "83fd871a-3bbe-4d41-92a4-9443e7c66c5f", + "name": "Aaron McClennen" + }, + { + "id": "eaa23bbd-1207-432d-8c52-eed0035f0ddf", + "name": "M. Jeff Wilson" } ], "categories": [ @@ -1117,8 +2097,8 @@ "name": "Track", "categoryItems": [ { - "id": 290618, - "name": "Keynote" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 @@ -1128,15 +2108,15 @@ "name": "Session Format", "categoryItems": [ { - "id": 290621, - "name": "keynote" + "id": 290619, + "name": "session" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1145,17 +2125,17 @@ }, { "questionAnswers": [], - "id": "753446", - "title": "Complex Problems... and other ways to disappoint your friends.", - "description": "Most developers have heard of \"Big O notation\" but it stops there. One step further is a cliff. If you don't know it's there, welp, it was nice knowing ya. *Pirate accent* THAR BE SEA DRAGONS *end dramatic accent*\r\n\r\nIt's hard to make computer science interesting, or even relevant, but in this talk I focus on the key aspects that you can't ignore. It's important to know when you stumble across an NP-Complete problem, and what you can do. I promise short journey into the jungle of PSPACE for developers who have never even heard these terms.\r\n", - "startsAt": null, - "endsAt": null, + "id": "753663", + "title": "The Problems Micro Frontends Won't Solve That No One Wants to Talk About", + "description": "Everyone wants to ship more software faster, and following the lead of the MicroServices craze the frontend community has begun to reach for Micro Frontends as a silver bullet solution. Micro Frontends promise large teams the ability to independently ship pieces of applications without code collisions, bug creation, that can be team-agnostic, and with Webpack, Vercel, NX, and others leaning in to offer ways to federate code, this seems to be the way of the future.\r\n\r\nBut what problems aren't solved by Micro Frontends? There is a large gap in what large complex teams need to ship better software and what Micro Frontends are able to provide ... and that gap is the basis of this talk. We'll discuss the consequences that arise when attempting to implement MFE architecture that no on seems to want to talk about.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "56225543-85a5-428d-9ab7-3556a051296d", - "name": "Gant Laborde" + "id": "e5b9e6c6-1477-4b19-8347-06683a7417de", + "name": "Jennifer Wadella" } ], "categories": [ @@ -1164,8 +2144,8 @@ "name": "Track", "categoryItems": [ { - "id": 302778, - "name": "Tech Leadership" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 @@ -1182,31 +2162,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "750035", - "title": "Connected Industries with an Edge", - "description": "Manufacturing facilities, production lines, and industrial automation units have traditionally been disconnected from the internet. However, to stay competitive in the digital era, these systems must evolve into smart, interconnected networks by integrating key technologies such as digital twins and the Industrial Internet of Things (IIoT), which require internet connectivity and the cloud.\r\n\r\nAs data volumes generated by industrial equipment are substantial, relying solely on cloud infrastructure becomes insufficient due to bandwidth limitations, latency issues, and the inability to handle real-time data processing effectively. Even more, it poses key security challenges/ This is where edge computing becomes critical. Edge computing brings data processing closer to the source, reducing latency and bandwidth strain, enabling faster decision-making and seamless operations.\r\n\r\nThis talk explores how industrial automation can safely and efficiently move online by leveraging edge computing and highlights the features that application servers should offer to meet the demands of operational technologies and factory environments, such as security, reliability, scalability, and long-term support. The presentation showcase these opportunities through a demo build with Payara Platform.\r\n", - "startsAt": null, - "endsAt": null, + "id": "754875", + "title": "Foundations of Modern Java Server Apps", + "description": "Java has a long history of running on the server. From the early days of servlets, to JSP, Java web frameworks, Java  EE, and Spring, to today’s hip microservice frameworks, the platform has been a strong, solid player, relied upon by thousands of companies, governments, and organizations. But what do these microservice frameworks like Dropwizard, Spring Boot, and Eclipse MicroProfile have in common with the older days of Java? It turns out, there’s quite a lot of foundational tech that made the newer frameworks possible. In this talk, we’ll take a look at different parts of the foundation that you may not even realize you’re using, for everything like handling REST requests, processing JSON, using Web Sockets, talking to a database, performing validation, and more. We’ll also look at how these standards evolve within the Eclipse Jakarta EE, and what’s in store for the future.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4e13d9ca-073e-4348-bd6e-0c8ac51d5f6e", - "name": "Chiara Civardi" - }, - { - "id": "162782a2-35a0-45af-9983-17e5920586d0", - "name": "Petr Aubrecht" + "id": "ff0a1dd3-c9f2-48e2-88a8-9c0e429251be", + "name": "Kito Mann" } ], "categories": [ @@ -1233,27 +2209,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "754695", - "title": "Containers All the Way Down!: Optimizing Spring Boot apps for the Modern Cloud", - "description": "In a cloud-native world, containerization is a key enabler for scalable, portable, resilient, and (cost-)effective applications! This session will explore how Spring Boot developers can seamlessly optimize their applications for containerized environments.\r\n\r\nThe presenter will discuss and demonstrate the following pivotal topics and more:\r\n\r\n* Best practices for building efficient, lightweight container images tailored for Spring Boot applications\r\n* How Spring Boot simplifies the creation of these images with built-in support for Docker and Cloud Native Buildpacks (CNB)\r\n* Leveraging Boot's built-in support for TestContainers to create integration tests that best simulate production, vitally important for both development and build pipelines\r\n* Cloud Native Buildpack support for building both traditional JVM-based applications and high-performance native images using GraalVM, customization options, and more\r\n\r\nThrough a lively discussion and live demos, you'll see how to optimize your development workflow and ensure that your Spring Boot applications can handle the demands of production in a containerized world. Come to this session to learn how to unlock the *full* potential of containers for your Spring Boot projects!", - "startsAt": null, - "endsAt": null, + "id": "748900", + "title": "Navigating Uncertainty in Software Development: Effective Planning Techniques", + "description": "In an ever-changing world, uncertainty is a constant companion, especially in the realm of software development. Traditional heavy planning practices promise certainty and confidence yet fail to deliver results. This session explores practical techniques to help teams effectively plan and navigate through uncertainty, enabling them to move forward despite the presence of unknowns.\r\n\r\nAttendees will gain insights into:\r\n* Models for understanding problems (Cynefin Framework, and Rumsfeld's Known and Unknowns)\r\n* Multi-level approaches to addressing different types of uncertainty\r\n* Strategies for communicating plans and progress with confidence, even in uncertain circumstances\r\n\r\nThrough real-world examples, this session empowers attendees to embrace uncertainty and equips them with the tools necessary to guide their teams towards successful outcomes. Whether you are a developer, team lead, or product manager, this session will provide you with a fresh perspective on planning in the face of uncertainty.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "05be364d-a57f-4e08-978d-8043d43db097", - "name": "Mark Heckler" + "id": "f3734903-c73a-4470-b707-fee91b93a7e8", + "name": "Jodi Jones" } ], "categories": [ @@ -1262,8 +2238,8 @@ "name": "Track", "categoryItems": [ { - "id": 290607, - "name": "Frameworks" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 @@ -1280,27 +2256,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "769455", - "title": "Containers and Kubernetes made easy: Deep dive into Podman Desktop", - "description": "Dive into the world of containers and Kubernetes with Podman Desktop, an open-source tool to empower your container development workflow, and seamlessly deploy applications to local and remote Kubernetes environments. Podman Desktop provides an intuitive interface compatible with container engines such as Podman, Docker, Lima, and more for developers, operations, and those looking to simplify building and deploying containers. With an interactive live demo showing how to move from containers to Pods, to Kubernetes (all from your local machine), you’ll learn best practices in developing and deploying cloud-native applications. In addition, we’ll introduce the path to infusing your applications with Generative AI using the Podman AI Lab, to serve and inference open-source LLMs such as LLaMA & Mistral for quickly building and prototyping AI-enabled applications. Join us to learn how you can seamlessly adopt containers and ensure predictability in deployments on Kubernetes, through local clusters (with Kind and Minikube) and by leveraging Podman Desktop’s features and security advantages!", - "startsAt": null, - "endsAt": null, + "id": "747322", + "title": "AI Ready Data with Apache Iceberg: Unifying, Controlling, and Optimizing Your Data for Effective AI", + "description": "Title: AI Ready Data with Apache Iceberg: Unifying, Controlling, and Optimizing Your Data for Effective Artificial Intelligence\r\n\r\nTarget Audience:\r\nData engineers\r\nData scientists\r\nData architects\r\nTechnical leaders (CTOs, CIOs)\r\nAnyone interested in improving data quality for AI/ML initiatives\r\n\r\nAbstract\r\nIn today's data-driven world, the effectiveness of Artificial Intelligence (AI) and Machine Learning (ML) models depends heavily on the quality and organization of your underlying data. \"AI Ready Data with Apache Iceberg\" addresses this challenge and describes how Apache Iceberg can facilitate unifying, governing, and optimizing your data, making it truly AI ready.\r\n\r\nKey Takeaways:\r\nThe Data Lakehouse Advantage:\r\nExplain how Apache Iceberg, combined with the lakehouse architecture, provides a unified platform for all types of data, breaking down silos and simplifying data management.\r\n\r\nGit-Like Data Governance with Nessie:\r\nIntroduce Nessie and demonstrate how its Git-like functionality brings version control, branching, and collaboration to your data, enabling efficient experimentation and ensuring data reproducibility.\r\n\r\nData Contracts for Quality Assurance:\r\nDiscuss the concept of data contracts and how they can be used to define and enforce quality standards, ensuring that data meets the necessary criteria for AI/ML workloads.\r\n\r\nIceberg's Optimized Data Structures:\r\nHighlight how Iceberg's optimized data layouts (e.g., columnar formats, partitioning, hidden partitioning) improve query performance and resource utilization, leading to faster AI/ML model training and inference.\r\n\r\nReal-World Use Cases:\r\nShare examples of how organizations are using Iceberg, Nessie, and data contracts to build robust data pipelines, enhance data quality, and achieve tangible results with their AI initiatives.\r\n", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7f4dbf3b-9ec9-4d72-a46c-62020903c652", - "name": "Cedric Clyburn" + "id": "ddb5faab-b590-4335-bf3f-67ca1f5b2005", + "name": "Andrew Madson" } ], "categories": [ @@ -1309,8 +2285,8 @@ "name": "Track", "categoryItems": [ { - "id": 290614, - "name": "Cloud Native" + "id": 290603, + "name": "Architecture" } ], "sort": 0 @@ -1327,8 +2303,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1337,17 +2313,17 @@ }, { "questionAnswers": [], - "id": "738302", - "title": "Conway’s Law and Digital Transformation", - "description": "Conway’s Law posits that the design of a system mirrors the communication structure of the organization that created it. As businesses increasingly adopt modern technologies to enhance operations and deliver value, the alignment between organizational structures and system architectures becomes critical. Let's explore the implications of Conway’s Law in the context of digital transformation, examining how traditional, hierarchical structures often hinder the agility and innovation required for modern, scalable systems.", - "startsAt": null, - "endsAt": null, + "id": "751775", + "title": "Enhancing LLMs with Graph Technology", + "description": "Large Language Models (LLMs) have revolutionized natural language processing, yet challenges persist in accuracy and explainability. This talk introduces GraphRAG, an innovative framework that integrates Knowledge Graphs (KGs) with LLMs to address these issues. By leveraging the rich, structured data from KGs, GraphRAG refines LLM outputs, providing a robust context that enhances the precision of generated information. This integration not only improves the factual accuracy of responses but also significantly boosts model interpretability. We will demonstrate how GraphRAG utilizes the interconnected nature of KGs to ground LLMs in real-world knowledge, allowing for more reliable and transparent AI systems. Through practical examples and performance evaluations, attendees will see how this approach mitigates common limitations of traditional LLMs, such as ambiguity and information gaps. The session will highlight advancements in both the effectiveness and clarity of AI responses, showcasing the transformative impact of combining Graph Technology with LLMs. Join us to explore how GraphRAG is setting a new standard in enhancing AI's accuracy and explainability.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "78100ec6-45ab-4076-8911-266bfc4c376b", - "name": "Dennis Ruzeski" + "id": "0793b99f-1282-4674-9d21-f88e30c8232e", + "name": "Stephen Chin" } ], "categories": [ @@ -1356,8 +2332,8 @@ "name": "Track", "categoryItems": [ { - "id": 302778, - "name": "Tech Leadership" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 @@ -1374,8 +2350,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1384,17 +2360,17 @@ }, { "questionAnswers": [], - "id": "732429", - "title": "CQRS meets modern Java", - "description": "Command Query Responsibility Segregation (CQRS) is a proven design pattern that enables the clear separation of data changes (commands) and data queries (queries). This separation allows these responsibilities to be scaled and optimized independently. The application code is also structured more understandably, which improves maintainability.\r\n\r\nThis talk will deepen our understanding of the practical implementation of the CQRS principles using modern Java language features such as records, sealed classes, switch expressions, and pattern matching. An example application will demonstrate how the theoretical foundations of CQRS can be applied in practice and how this affects application design while increasing data access efficiency.", - "startsAt": null, - "endsAt": null, + "id": "770645", + "title": "Building APIs in the AI Era", + "description": "How can architects and software developers use AI to transform the process of developing APIs? Our discussion in this session will center on how AI is revolutionizing software development, with an emphasis on how AI assistants can be incorporated into the process of creating APIs. We will look at how AI tools can improve testing, speed up code generation, maintain stronger security, and maximize performance. Through a series of demonstrations, attendees will learn how to best incorporate AI-driven solutions into their API projects to maximize output, reduce time-to-market, and maintain quality standards. Come learn how AI is a disruptive force in the evolution of API development, not just a small improvement.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8d6bb73e-5451-4e33-a0ab-7b7ffc37a52e", - "name": "Simon Martinelli" + "id": "a4305a38-d462-482b-9e4a-536eb74ec63c", + "name": "Kevin Dubois" } ], "categories": [ @@ -1403,8 +2379,8 @@ "name": "Track", "categoryItems": [ { - "id": 290603, - "name": "Architecture" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 @@ -1421,8 +2397,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1431,17 +2407,21 @@ }, { "questionAnswers": [], - "id": "733495", - "title": "Crafting the Ultimate Docker Image for Spring Applications", - "description": "Docker is the cornerstone of today's development! Let's overview quickly how we use it in JVM development, and then transition to practical examples. We will start with a simple Docker image containing a popular \"one fat JAR\" and look into its downsides (deployment speed, traffic volume). To address them, we will discuss the strategy of splitting the JAR into multiple layers and using multistage Dockerfiles, gradually improving our image. Join me to learn how to build the ultimate Docker image for Spring applications.", - "startsAt": null, - "endsAt": null, + "id": "750943", + "title": "Write Once, Deploy Everywhere: From Containers to Serverless", + "description": "While Java apps are technically portable across many platforms, it can be tricky to not tightly couple them to specific deployment platforms, severely degrading their portability. Unfortunately containers alone haven’t fully isolated us the myriad of differences across platforms. This session will cover ways that we can build, package, and deploy Java applications so they remain portable. This enables scaling from cost-efficient and developer environments, to massive scale Kubernetes deployments. Using examples with Spring, you’ll learn how to:\r\n\r\n* Abstract service configuration / binding\r\n* Utilize Testcontainers across local dev/test & CI\r\n* Efficiently avoid cold starts with CRaC and other techniques\r\n* Package applications most efficiently for the target platforms", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "c77a2591-3a95-4285-ab0e-c06aae180730", - "name": "Pasha Finkelshteyn" + "id": "5c84d73d-1b13-4383-a7ec-e7ce3151794e", + "name": "James Ward" + }, + { + "id": "9548c494-2cab-45b9-af37-398f9b6d1f9d", + "name": "Vinicius Senger" } ], "categories": [ @@ -1450,8 +2430,8 @@ "name": "Track", "categoryItems": [ { - "id": 290604, - "name": "Cloud Infrastructure" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 @@ -1468,8 +2448,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1478,21 +2458,17 @@ }, { "questionAnswers": [], - "id": "734811", - "title": "Create AI-Infused Java Apps with LangChain4j", - "description": "Generative AI has taken the world by storm over the last year, and it seems like every executive leader out there is telling us “regular” Java application developers to “add AI” to our applications. Does that mean we need to drop everything we’ve built and become data scientists instead now? \r\n\r\nFortunately, we can actually infuse AI models built by actual AI experts into our applications fairly straightforwardly, thanks to some new projects out there. We promise it’s not as complicated as you might think! Thanks to the ease of use and superb developer experience of Quarkus and the nice AI integration capabilities that the LangChain4j libraries offer, it becomes trivial to start working with AI and make your stakeholders happy :)\r\n\r\nIn this lab, you’ll explore a variety of AI capabilities. We’ll start from the Quarkus DevUI where you can try out AI models even before writing any code. Then we’ll get our hands dirty with writing some code and exploring LangChain4j features such as prompting, chaining, and preserving state; agents and function-calling; enriching your AI model’s knowledge with your own documents using retrieval augmented generation (RAG); and discovering ways to run (and train) models locally using tools like Ollama and/or Podman AI Lab. In addition, you’ll add observability and fault tolerance to the AI integration and compile the app to a native binary. You might even try new features, such as generating images or audio! \r\n\r\nCome to this session to learn how to build AI-infused applications with Java and Quarkus.\r\n\r\nNote: We can provide a virtual environment for you but if you want to run it on your own laptop, you should have Java 17+ installed (better if it's Java 21), and a container runtime such as Podman or Docker. If you need help with the setup, visit this page: https://redhat-developer-demos.github.io/quarkus-tutorial/quarkus-tutorial/01_setup.html\r\n", - "startsAt": null, - "endsAt": null, + "id": "755075", + "title": "To Java 24 and Beyond!", + "description": "Java 21 has come and gone, but the Java release train continues with Java 24!\r\n\r\nIn this presentation, we will briefly review key changes between Java 11 and 21, as they form an important foundation for where Java is heading. Once that foundation is laid, we will look at what has changed in Java since 21, updates to Project Loom with a focus on, Scoped Values and Structured Concurrency, and how they will rewrite the Java concurrency story. \r\n\r\nWe will also cover other important changes including: Generational ZGC, the Foreign Function and Memory API, JavaDoc updates, and even take a look into the future of where Java is heading! ", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a4305a38-d462-482b-9e4a-536eb74ec63c", - "name": "Kevin Dubois" - }, - { - "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", - "name": "Daniel Oh" + "id": "6f426cb0-6261-4f79-b726-b7ffc3b028ff", + "name": "Billy Korando" } ], "categories": [ @@ -1501,8 +2477,8 @@ "name": "Track", "categoryItems": [ { - "id": 290614, - "name": "Cloud Native" + "id": 290606, + "name": "Core Java" } ], "sort": 0 @@ -1519,8 +2495,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1529,17 +2505,17 @@ }, { "questionAnswers": [], - "id": "754668", - "title": "DataFrame - a Swiss Army Knife of Java Data Processing", - "description": "Can we use big data techniques without big data infrastructure? As Java developers, we deal with data processing all the time: analyzing app logs, extracting data from Excel, copying tables between databases, to give some examples. Yet, the “standard” Java falls short in processing capabilities compared to more complex and heavy tools like Spark or Flink.\r\n\r\nThis talk is about “DataFrame” - a 2-dimensional in-memory table structure that provides filtering, column / row operations, joins, aggregations, window functions, etc. I will use an open source DFLib library (https://dflib.org) and a Jupyter notebook to demonstrate how to do data processing and visualization in a Java app with DataFrames without much fuss.\r\n", - "startsAt": null, - "endsAt": null, + "id": "758766", + "title": "Runtime Efficiencies and Spring Boot", + "description": "Spring Boot 3 introduces a suite of features designed to enhance runtime performance and optimize resource usage. In this talk, we’ll explore the key innovations in this release that help developers build faster, more efficient applications. We'll begin with Ahead-of-Time (AOT) processing, which accelerates startup times by precomputing application configurations, followed by Class Data Sharing (CDS), which reduces memory usage by allowing JVM processes to share class metadata.\r\n\r\nWe’ll dive into GraalVM native images, highlighting how they drastically improve startup performance and memory consumption, making them ideal for modern cloud-native applications. We’ll also cover Project CRAC (Coordinated Restore at Checkpoint), a game-changer for reducing startup times in containerized environments by allowing JVM applications to be suspended and restored with minimal overhead.\r\n\r\nFinally, we'll wrap up with the integration of Java 21's virtual threads, a revolutionary improvement in how Spring Boot handles high-concurrency tasks, greatly enhancing scalability and efficiency. Through live demos, you'll learn how to leverage these tools and techniques to optimize your Spring Boot applications for maximum runtime performance.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7a260dc7-19c8-4f8a-a299-66c70d91f4c4", - "name": "Andrus Adamchik" + "id": "345b7e02-c223-49a0-875d-0a3502ee2e82", + "name": "DaShaun Carter" } ], "categories": [ @@ -1548,8 +2524,8 @@ "name": "Track", "categoryItems": [ { - "id": 290606, - "name": "Core Java" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 @@ -1566,8 +2542,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1576,17 +2552,17 @@ }, { "questionAnswers": [], - "id": "756952", - "title": "Debugging Java", - "description": "When trying to track down a bug, the first thing we usually do is jump into the debugger and start stepping through the code. Then we settle in for a long, tedious slog stepping through the code. This session will discuss how bugs are caused, and some great techniques and tools you can use to streamline your debugging sessions.\r\n\r\nWe will be referencing the book \"Why Programs Fail\" by Andreas Zeller and the new book “Troublshooting Java” by Laurențiu Spilcă.", - "startsAt": null, - "endsAt": null, + "id": "800469", + "title": "OOP vs. Data Oriented Programming: Which One to Choose?", + "description": "We rely heavily on polymorphism when programming with the object-oriented paradigm. That has served us really well, especially to create extensible code. However, like any tool and technique, there are times when that may not be the right choice. Java now provides an alternative that is useful in those select situations—the data-oriented programming.\r\n\r\nIn this presentation we will start with an example where the highly useful object hierarchy and polymorphism appears as a misfit and discuss how data-oriented programming solves the problem more elegantly. Get a good understanding of when to use each one of these and how to intermix them in your applications.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "c6d00669-9c07-47fa-88b8-365dbbd10cca", - "name": "Scott Wierschem" + "id": "b576bdc5-c994-40f5-b1dd-e0f9f7999fa9", + "name": "Venkat Subramaniam" } ], "categories": [ @@ -1613,8 +2589,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1623,17 +2599,17 @@ }, { "questionAnswers": [], - "id": "751868", - "title": "Delivery Engineering", - "description": "Just as food delivery has evolved and become ubiquitous, the Software Delivery Lifecycle has also made leaps and bounds. We get there by shifting left and taking a platform centric approach.\r\n\r\nIn this session join us as we discuss modern software delivery, ways that Datadog has implemented SDLC internally and enable our user’s production of high-quality software with higher velocity.", - "startsAt": null, - "endsAt": null, + "id": "783614", + "title": "Take the Polar Plunge: A Fearless Introduction to Apache Iceberg®", + "description": "New to Apache Iceberg® or just starting to test the waters? Time to take the plunge! In this beginner-friendly session, we’ll introduce you to the core features of this high-performance table format and what it has to offer your data team as you build out your modern data lakehouse.\r\n\r\nWe’ll start by exploring where Iceberg fits within the context of data warehouses, data lakes, and other data storage formats. From there, you’ll be introduced to some of Iceberg’s key features, like schema evolution, hidden partitioning, and ACID-compliant transactions. You’ll see how these capabilities help to solve real-world challenges in scalability, performance, and data consistency. We won’t stop there, though! Next, we’ll go even deeper beneath the surface and explore the open-source tools, query engines, and catalogs that make up the Iceberg ecosystem. Through an end-to-end demo, you’ll see Iceberg in action and learn how you can leverage its features to streamline your data management and drive better insights.\r\n\r\nBy the end of the session, you’ll have the foundation you need to get started applying Iceberg to solve your own data challenges. So come along, and we’ll take the polar plunge together! ", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "46d17ddc-1a74-4d59-8906-d6246ac498d4", - "name": "Ajuna Kyaruzi" + "id": "ea7292a0-1a85-4830-af21-00c9484c19fe", + "name": "Danica Fine" } ], "categories": [ @@ -1660,27 +2636,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "735832", - "title": "Demystifying Apache Flink", - "description": "As Data Streaming is taking over the world one event at a time, you cannot ignore it. Getting fresh and consistent data to the right place in the right format gives your company a competitive edge.\r\nYou are probably asking yourself, but what is this streaming all about? If you are new to this, don't worry; this session is for you! Join me in delving into Flink's architecture and building scalable and robust data processing pipelines for real-time data. You will learn about Flink's core concepts, like event time processing, state management, and components architecture. This session is designed for beginners but can be a suitable refreshment for experienced data streaming engineers.", - "startsAt": null, - "endsAt": null, + "id": "739051", + "title": "Top Security Flaws Hiding in Your Code Right Now – and How to Fix Them", + "description": "Security vulnerabilities aren’t just hypothetical—they’re real, from the MongoDB attack to the Log4Shell disaster, and they’re hiding in your code right now. In this session, we’ll explore the most common and dangerous flaws: SQL Injection, Deserialization Injection, and Logging Injection. \r\n\r\nWe’ll explain how these vulnerabilities work, why they’re so risky, and how to fix them through examples. \r\n\r\nYou'll leave with practical tips for safeguarding your applications, including best practices for SQL query parameterization, secure deserialization techniques, the importance of sanitizing logs, and how to use tooling to prevent these flaws more easily.\r\n\r\nAudience Takeaways:\r\n\r\nDeep understanding of SQL Injection, Deserialization Injection, and Logging Injection.\r\nPractical code examples and fixes to secure your applications.\r\nInsights into real-world case studies of major security breaches.\r\nTooling that will help us to commit safe code.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "185360b0-48a1-4ba3-9e49-b9018c669d3c", - "name": "Adi Polak" + "id": "f63ba6f7-e39c-426f-b079-55a63c063bda", + "name": "Jonathan Vila" } ], "categories": [ @@ -1689,8 +2665,8 @@ "name": "Track", "categoryItems": [ { - "id": 290607, - "name": "Frameworks" + "id": 290610, + "name": "Security" } ], "sort": 0 @@ -1707,21 +2683,21 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], "id": "755869", "title": "Developer Productivity With IntelliJ IDEA", "description": "Developer productivity is a hot topic right now, but what does it mean? Is it all just about squeezing more lines of code out of us poor, overworked developers? Or could it, in fact, lead to developer joy?\r\n\r\nIn this session, Trisha will show some of her favorite IntelliJ IDEA tips for improving her own productivity. She'll use these examples to talk about what productivity is, what it is not, and why it's even more important to us as developers than it is to the organizations that pay our salaries. And it's of course important to them, too!\r\n\r\nAttendees will gain a deeper understanding of how IntelliJ IDEA helps them to be effective, productive, and happy. Trisha wants you to look at your toolchain and ask yourself, “Does this enable me to be creative and happy?”", - "startsAt": null, - "endsAt": null, + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ @@ -1754,27 +2730,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "744151", - "title": "Developer To Architect", - "description": "Becoming a software architect is a longed-for career upgrade for many software developers. While the job title suggests a work day focused on technical decision-making, the reality is quite different. In this workshop, software architect Nathaniel Schutta constructs a real world job description in which communication trumps coding.\r\n\r\nDiscover the skill sets needed to juggle multiple priorities, meetings, and time demandsLearn why your best team leadership tool is not a hammer, but a shared cup of coffeeHear the best ways to give and take criticismUnderstand the necessity of writing effective email and formal architecture documentsGet tips for delivering confident career-building presentations to any audienceReview essential techniques for stakeholder management and relationship buildingExplore the critical needs for architecture reviews and an effective process for conducting themThrough lecture and small group exercises, Nathaniel will help you understand what it means to be a successful architect. Working through various problems, attendees will have opportunities to think through architectural decisions and patterns, discuss the importance of non functional requirements and why architects cannot afford to practice resume driven design.", - "startsAt": null, - "endsAt": null, + "id": "748220", + "title": "Run to the light Carol Anne: Auditing with Lighthouse", + "description": "Have you heard about Lighthouse? Are you afraid to go into the light like Carol Anne in Poltergeist? Don't be afraid because Lighthouse is an awesome tool to achieve your web experience goals. You can do a bunch of awesome things in Lighthouse like running SEO audits, front-end performance audits, and my favorite, accessibility audits. This talk will explore reasons that audits and testing are necessary, and walk through different types of audits you can run. The end goal is analyzing the results and taking steps to achieve your web experience goals.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1f3fa71c-0021-4d6e-af47-0013ecbaeb33", - "name": "Nathaniel Schutta" + "id": "730a789f-e2a8-483d-91bc-6e794f1b44d5", + "name": "Chris DeMars" } ], "categories": [ @@ -1783,8 +2759,8 @@ "name": "Track", "categoryItems": [ { - "id": 290603, - "name": "Architecture" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 @@ -1794,15 +2770,15 @@ "name": "Session Format", "categoryItems": [ { - "id": 290620, - "name": "workshop" + "id": 290619, + "name": "session" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1811,17 +2787,21 @@ }, { "questionAnswers": [], - "id": "751874", - "title": "Developer’s Guide to Test-Driven Development and Approval Testing", - "description": "In this session you’ll learn about Test-Driven Development (TDD), Approval Testing, and how using them can help you deliver better code in less time. \r\n\r\nTDD is a great way to ensure your code meets the business requirements and is easy for other developers to understand and modify. Writing automated tests before you write the associated production code, and refactoring both the test and production code once the test passes, is a key part of TDD. So if you’re working on a project that is in production (or has lots of production code) but no automated tests, TDD can’t help much — but that’s where Approval Testing shines.\r\n\r\nApproval Testing compares the current behavior of existing code with it’s previously approved of behavior, and lets you know what (if anything) has changed. Instead of asserting that a number, or a simple string were returned, an approval test might compare a complex object with it’s approved version and let you know when things change.", - "startsAt": null, - "endsAt": null, + "id": "751660", + "title": "Java + LLMs: A hands-on guide to building LLM Apps in Java with JakartaEE", + "description": "AI is revolutionizing the software landscape. However, for many Java developers, integrating these powerful AI tools into existing enterprise applications or a new one can feel daunting. In this hands-on session, we'll demystify the process and show you how to build LLM-powered features directly into your Java codebase.\r\n\r\nUsing JakartaEE and the LangChain4j library, we'll dive deep into Retrieval Augmented Generation (RAG), a cutting-edge technique that combines the vast knowledge of LLMs with the precision of your own data. We'll explore how to create both few-shot and zero-shot RAG models, and then add practical features like summarization and similarity search, backed by an Embedding database.\r\n\r\nThrough a live coding demo, we’ll walk you through constructing an AI-powered online store backend and provide practical insights into the architecture and code.\r\n\r\nWhether you're familiar with AI or just getting started, this session will give you the confidence and skills to harness the potential of LLMs in your Java projects. \r\n", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7d933c95-3f49-48a4-852b-7fc30aa8b977", - "name": "Burk Hufnagel" + "id": "79e95ec4-23ec-48ec-9046-98d3e1776283", + "name": "Bazlur Rahman" + }, + { + "id": "4e0f1b70-c9ff-4351-b21e-eee43fdd44df", + "name": "Syed M \"Shaaf\"" } ], "categories": [ @@ -1830,8 +2810,8 @@ "name": "Track", "categoryItems": [ { - "id": 290609, - "name": "Practices and other tech" + "id": 290617, + "name": "JakartaEE" } ], "sort": 0 @@ -1848,8 +2828,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1858,17 +2838,36 @@ }, { "questionAnswers": [], - "id": "734821", - "title": "Documenting your architecture", - "description": "We've all learned that documenting your code is a good idea. But what about your architecture? What should we be thinking about when we document architecture? What tools and techniques can we reach for as we pursue this endeavor? Can we even make this a sustainable activity, or are we forever doomed to architectural documentation getting outdated before the ink is even dry? \r\n\r\nIn this session we will discuss a range of techniques that will not only help document your architecture, but even provide a mechanism to think about architecture upfront, and make it more predictable. You'll walk away armed with everything you need to know about documenting your current, and future architectures. ", - "startsAt": null, - "endsAt": null, + "id": "cffe3fa0-6081-49d4-81d2-5e2c1be96ff7", + "title": "Afternoon Break", + "description": null, + "startsAt": "2025-03-05T15:30:00", + "endsAt": "2025-03-05T16:00:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "751537", + "title": "Recalibrate - How AI Shakes Up Agile Teams", + "description": "According to researchers, a staggering 75% of enterprise software engineers will harness the power of AI code assistants by 2028. This shift will revolutionize not just how we write code but also the very essence of agile software development.\r\n\r\nAgile, a methodology born over 20 years ago, was crafted for a different era with its own unique challenges. While some principles remain timeless, others demand a fresh perspective in the age of AI-native development. Do we still need sprints when AI can prioritize tasks in real-time? And what happens to cross-functional teams when virtual specialists are at our fingertips?\r\n\r\nJoin Sven as he explores the evolving role of developers and the necessity to rethink human-to-human interaction in a world where AI is our primary coding companion. One thing is certain: we must recalibrate our collaboration strategies within software teams.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d017112e-f5b1-4594-aee9-cdac1403e0f1", - "name": "Raju Gandhi" + "id": "7d63385a-e91e-4983-9b08-90ced6c2a05b", + "name": "Sven Peters" } ], "categories": [ @@ -1877,8 +2876,8 @@ "name": "Track", "categoryItems": [ { - "id": 290603, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 @@ -1895,27 +2894,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "746227", - "title": "Don't Call it a Comeback: SQL in Cloud AI and ML", - "description": "While Python and specialized ML libraries dominate the AI/ML landscape, SQL's simplicity and power remain invaluable for developers. This session will demonstrate how SQL seamlessly integrates with Google Cloud Platform's AI/ML tools, enabling developers to leverage their existing SQL skills for efficient data handling and model building. We'll cover techniques for data exploration, feature engineering, and model training directly within BigQuery, and showcase how to deploy and manage models at scale using Vertex AI's SQL interface. Through hands-on examples and code demonstrations, you'll gain practical insights into harnessing SQL's capabilities to streamline your Cloud AI/ML development process. ", - "startsAt": null, - "endsAt": null, + "id": "752337", + "title": "Sociotechnical Platform Engineering", + "description": "devOps practices help reduce friction to production for technologists. Once an application has user traffic, user experience should become a priority, but at what cost?\r\n\r\nThis talk will connect human centered devOps & SRE practices across a value stream to explore how platforms balance developer experience against production stability over time, and how process dependencies factor into overall platform success.\r\n\r\nthis talk will Explore:\r\n- How pipelines are value streams\r\n- A general-purpose value stream map for platforms\r\n- Dependency (wardley) maps for platform processes\r\n- Aligning SLIs, SLOs, & SLAs across our platform VSM\r\n- Establishing Error Budgets\r\n- Chaos Engineering & Complexity Science", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6899d8db-4ad2-4599-934a-08d37dcc250e", - "name": "Amy Russ" + "id": "0494255d-10a1-4ec1-8c00-b0881c434931", + "name": "Chris Corriere" } ], "categories": [ @@ -1924,8 +2923,8 @@ "name": "Track", "categoryItems": [ { - "id": 290615, - "name": "Artificial Intelligence" + "id": 290603, + "name": "Architecture" } ], "sort": 0 @@ -1935,15 +2934,15 @@ "name": "Session Format", "categoryItems": [ { - "id": 290620, - "name": "workshop" + "id": 290619, + "name": "session" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1952,21 +2951,17 @@ }, { "questionAnswers": [], - "id": "755597", - "title": "Duke on CRaC with Jakarta EE", - "description": "Have you heard of Coordinated Restore at Checkpoint (CRaC)? The short version is that it is a super fast way to start your Java applications. Did you know that you can do that with Jakarta EE as well? \r\n\r\nJoin us in this session and follow Duke’s adventures of building modern and quick Jakarta EE applications with even faster start-up time. You will learn the basics of CRaC as well as gain an understanding of why it is a particularly good fit for Jakarta EE.\r\n", - "startsAt": null, - "endsAt": null, + "id": "844129", + "title": "Developer Productivity with Large Language Models", + "description": "The emergence of large language models (LLMs) has transformed how developers approach coding, offering new opportunities to improve productivity and collaboration. The combination of LLMs and Java offers a transformative opportunity to streamline workflows, enhance code quality, and reduce development cycles.\r\n\r\nThis session explores how LLMs, such as OpenAI’s GPT and GitHub Copilot, can empower developers by automating repetitive coding tasks, improving debugging efficiency, and generating optimized, boilerplate-free code. We discuss practical applications of LLMs in Java development, including intelligent code generation, debugging assistance, and documentation creation. Additionally, we explore how LLMs can support the learning curve for new Java developers by providing real-time guidance and best practices. ", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27", - "name": "Ivar Grimstad" - }, - { - "id": "ad998165-d26a-4c98-8aac-ee60a16c638a", - "name": "Rustam Mehmandarov" + "id": "21924ec2-96d9-4b4a-b2c8-99dd2efb77a7", + "name": "Mo Haghighi" } ], "categories": [ @@ -1975,8 +2970,8 @@ "name": "Track", "categoryItems": [ { - "id": 290617, - "name": "JakartaEE" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 @@ -1993,8 +2988,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2003,17 +2998,17 @@ }, { "questionAnswers": [], - "id": "740910", - "title": "Embracing the Hybrid Cloud: Unlocking Success with Open Source Technologies", - "description": "Change and adopting Hybrid Cloud solutions are inevitable in today's dynamic business landscape. As companies strive for success, their workloads span diverse landscapes, including public cloud providers and on-premises servers. To thrive in this ever-evolving environment, harnessing the power of open-source technologies becomes imperative.\r\n\r\nJoin us in this enlightening session to discover how cutting-edge tools such as Kubernetes, Knative, and Skupper can tip the scales in your favor. We'll unveil the transformative capabilities of these technologies and demonstrate how they can empower your organization to achieve crucial objectives such as cost management, failover preparedness, resiliency, and more.\r\n\r\nIn an era where agility, efficiency, and resilience are paramount, this session will equip you with the insights and tools to navigate the Hybrid Cloud's complexities successfully. ", - "startsAt": null, - "endsAt": null, + "id": "769455", + "title": "Containers and Kubernetes made easy: Deep dive into Podman Desktop", + "description": "Dive into the world of containers and Kubernetes with Podman Desktop, an open-source tool to empower your container development workflow, and seamlessly deploy applications to local and remote Kubernetes environments. Podman Desktop provides an intuitive interface compatible with container engines such as Podman, Docker, Lima, and more for developers, operations, and those looking to simplify building and deploying containers. With an interactive live demo showing how to move from containers to Pods, to Kubernetes (all from your local machine), you’ll learn best practices in developing and deploying cloud-native applications. In addition, we’ll introduce the path to infusing your applications with Generative AI using the Podman AI Lab, to serve and inference open-source LLMs such as LLaMA & Mistral for quickly building and prototyping AI-enabled applications. Join us to learn how you can seamlessly adopt containers and ensure predictability in deployments on Kubernetes, through local clusters (with Kind and Minikube) and by leveraging Podman Desktop’s features and security advantages!", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "dedbce11-34e0-466e-a5cb-ea585688d106", - "name": "Alex Soto" + "id": "7f4dbf3b-9ec9-4d72-a46c-62020903c652", + "name": "Cedric Clyburn" } ], "categories": [ @@ -2040,27 +3035,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "751775", - "title": "Enhancing LLMs with Graph Technology", - "description": "Large Language Models (LLMs) have revolutionized natural language processing, yet challenges persist in accuracy and explainability. This talk introduces GraphRAG, an innovative framework that integrates Knowledge Graphs (KGs) with LLMs to address these issues. By leveraging the rich, structured data from KGs, GraphRAG refines LLM outputs, providing a robust context that enhances the precision of generated information. This integration not only improves the factual accuracy of responses but also significantly boosts model interpretability. We will demonstrate how GraphRAG utilizes the interconnected nature of KGs to ground LLMs in real-world knowledge, allowing for more reliable and transparent AI systems. Through practical examples and performance evaluations, attendees will see how this approach mitigates common limitations of traditional LLMs, such as ambiguity and information gaps. The session will highlight advancements in both the effectiveness and clarity of AI responses, showcasing the transformative impact of combining Graph Technology with LLMs. Join us to explore how GraphRAG is setting a new standard in enhancing AI's accuracy and explainability.", - "startsAt": null, - "endsAt": null, + "id": "740043", + "title": "Home Lab - Private Cloud on a budget", + "description": "Ever wanted to run your own private cloud but thought it was out of reach due to cost? Think again! In this session, we'll show you how to build a powerful, cost-effective private cloud in your own home using Proxmox, TrueNAS, and pfSense—all without breaking the bank.\r\n\r\nWhether you're a developer, a sysadmin, or just a tech enthusiast, this session will walk you through everything you need to know, from acquiring affordable hardware to setting up and managing your home lab. By the end of this session, you'll be well-equipped to create a reliable and secure private cloud at home.\r\n\r\nThis talk offers a step-by-step guide to building a private cloud at home using cost-effective methods, focusing on acquiring affordable hardware, utilizing free software, and managing the setup in a home lab environment.\r\n\r\n- Acquire Cheap Hardware - Learn how to source and select affordable hardware that meets the requirements for running a home lab capable of supporting a private cloud infrastructure.\r\n\r\n- Utilize Free Software - Discover how to leverage Proxmox, TrueNAS, and pfSense—powerful and free tools that allow you to create a fully functional private cloud without costly licenses.\r\n\r\n- Use a Homelab - Understand how to set up, configure, and maintain a home lab environment, turning your inexpensive hardware and free software into a robust private cloud solution.\r\n\r\nAttendees will leave this session with a clear understanding of how to build and manage their own private cloud on a budget. They will learn how to select the right hardware, utilize powerful open-source software, and set up a home lab that enables them to experiment with and deploy cloud-based applications securely and efficiently. Whether for personal projects, learning, or small-scale deployments, attendees will gain the skills to create a reliable private cloud environment at home.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "0793b99f-1282-4674-9d21-f88e30c8232e", - "name": "Stephen Chin" + "id": "6375582a-11f3-4a89-b783-6e5869a1a217", + "name": "Jared Rhodes" } ], "categories": [ @@ -2069,8 +3064,8 @@ "name": "Track", "categoryItems": [ { - "id": 290615, - "name": "Artificial Intelligence" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 @@ -2087,8 +3082,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2097,17 +3092,17 @@ }, { "questionAnswers": [], - "id": "753218", - "title": "Enhancing Project Integrity: A Modernization for Bug-Free Code", - "description": "Embarking on a Java project involves employing the best strategies, patterns, and architectural decisions, all geared towards a customer-centric.\r\n\r\nYet, there exists an often overlooked facet: quality assurance. While not entirely disregarded, we, as developers, sometimes limit ourselves to performing the basic unity and integration tests, which may leave room for bugs.\r\n\r\nFortunately, there are several straightforward approaches and tools that can be implemented to deliver a bug-free project with minimal effort.\r\n\r\nDuring this presentation, you'll gain practical knowledge of the application of the following tools and approaches:\r\n\r\n- ArchUnit: Ensuring consistent adherence to architectural patterns, even when multiple developers making changes to the project\r\n- FindBugs: Employing static analysis to proactively identify potential bugs in your code, effortlessly.\r\n- SonarQube: Offering a suite of diverse metrics and enabling the establishment of quality gates to maintain a predetermined standard of quality\r\n- PiTest: Enabling the power of mutation testing to uncover bugs that may otherwise remain concealed.\r\n- TestContainers: Streamlining the process of running various components such as databases, services, and extensions, thereby minimizing the need for manual intervention\r\n\r\nThroughout the session, we'll delve into concrete examples, ensuring a hands-on experience", - "startsAt": null, - "endsAt": null, + "id": "800468", + "title": "Refactoring to Modernize Java Applications", + "description": "IDEs have provided ways to refactor code for a long time now. In spite of their effectiveness, that journey is arduous and time consuming. Reluctance to refactor increases the cost of development. However, refactoring for the sake of doing so can lead to greater productivity loss as well.\r\n\r\nIn this presentation we will use data driven approach. We will take examples of code, measure code quality, and then use automated code transformation tools to refactor the code, and then, once again, measure the quality of code and see how much we have improved. This can help us to not only refactor faster but also see the benefits realized and motivate us to move faster with greater efficiency.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f914323b-f3ba-4de7-9069-28974d1c9137", - "name": "Elias Nogueira" + "id": "b576bdc5-c994-40f5-b1dd-e0f9f7999fa9", + "name": "Venkat Subramaniam" } ], "categories": [ @@ -2116,8 +3111,8 @@ "name": "Track", "categoryItems": [ { - "id": 290611, - "name": "Tools and techniques" + "id": 290606, + "name": "Core Java" } ], "sort": 0 @@ -2134,27 +3129,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, { "questionAnswers": [], - "id": "733563", - "title": "Frustration-free K8S For Spring Developers", - "description": "Your first experience running a Spring app on Kubernetes likely left you wondering “How can I make this more efficient?”\r\n\r\nJust to get the app to run on Kubernetes, you likely had to: \r\n\r\nWrite a DockerFile to build a container.\r\nUpload that container to a registry your Kubernetes deployment can access. \r\nConstruct multiple lengthy YAML files.\r\nInstall a new CLI to apply those yaml files to the cluster.\r\nCross your fingers and hope that you did everything right and that the application actually started.\r\n\r\nIn the likely scenario where you messed something up your first time, you also needed to go back and try and figure out where it all went wrong!\r\n\r\nAll of that doesn’t even address the fact that your app likely needs some external services, such as databases or message queues. Also, how do you debug the application? How do you even view the logs? How do you securely build a container?\r\n\r\nIf this experience resonates with you, then this session is for you. \r\n\r\nIn this session, we show you a variety of tools and techniques that turn deployments to Kubernetes from a multi-step nightmare into every developer's dream: a single automated process that happens quickly and easily. You will leave this session no longer dreading deploying Spring apps to Kubernetes and instead making your deployments painless and intuitive, unlocking the true power of Kubernetes.\r\n", - "startsAt": null, - "endsAt": null, + "id": "753956", + "title": "Polyglot Pipelines with Apache Nifi", + "description": "Are you feeling lost as a Java Developer in this new age where AI is becoming a part of our everyday toolkit? Are you a Python Developer looking to scale up and distribute your data processing? While Java has always been known for having strong libraries for processing data at scale; much of the advances in LLMs and RAG has been evolving in Python. In this talk, we’ll cover building polyglot data pipelines on Apache Nifi. You’ll see how Apache Nifi can be integrated with Open Source libraries to train and evaluate models that process text and images. You’ll also learn how to integrate these workflows with popular Python libraries to take advantage of the mature libraries in the Python community like PyTorch or Tensorflow. Get the most out of your data by using the best of both the Java and Python communities.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "45616863-e285-47ef-b60f-1f0abf63e1f0", - "name": "Ryan Baxter" + "id": "7f8e5588-7314-41ac-854a-0ddf6fe867d2", + "name": "Bob Paulin" } ], "categories": [ @@ -2163,8 +3158,8 @@ "name": "Track", "categoryItems": [ { - "id": 290608, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 @@ -2181,27 +3176,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "736775", - "title": "Functional Spring Boot", - "description": "10 years after the advent of Spring, Spring Boot shifted the paradigm from XML to Annotations. 10 years later, it is time to shift the paradigm again, this time toward functional programming. Spring Boot has been quietly adding functional APIs and DSLs since 2.0. These APIs deliver many benefits such as better performance and easier learning curve. In this talk, we will learn how to uncover these hidden gems in Spring Boot.", - "startsAt": null, - "endsAt": null, + "id": "733563", + "title": "Frustration-free K8S For Spring Developers", + "description": "Your first experience running a Spring app on Kubernetes likely left you wondering “How can I make this more efficient?”\r\n\r\nJust to get the app to run on Kubernetes, you likely had to: \r\n\r\nWrite a DockerFile to build a container.\r\nUpload that container to a registry your Kubernetes deployment can access. \r\nConstruct multiple lengthy YAML files.\r\nInstall a new CLI to apply those yaml files to the cluster.\r\nCross your fingers and hope that you did everything right and that the application actually started.\r\n\r\nIn the likely scenario where you messed something up your first time, you also needed to go back and try and figure out where it all went wrong!\r\n\r\nAll of that doesn’t even address the fact that your app likely needs some external services, such as databases or message queues. Also, how do you debug the application? How do you even view the logs? How do you securely build a container?\r\n\r\nIf this experience resonates with you, then this session is for you. \r\n\r\nIn this session, we show you a variety of tools and techniques that turn deployments to Kubernetes from a multi-step nightmare into every developer's dream: a single automated process that happens quickly and easily. You will leave this session no longer dreading deploying Spring apps to Kubernetes and instead making your deployments painless and intuitive, unlocking the true power of Kubernetes.\r\n", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "bfc36fe5-4d43-4394-98fe-a5374fc17616", - "name": "John Burns" + "id": "45616863-e285-47ef-b60f-1f0abf63e1f0", + "name": "Ryan Baxter" } ], "categories": [ @@ -2210,8 +3205,8 @@ "name": "Track", "categoryItems": [ { - "id": 290607, - "name": "Frameworks" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 @@ -2228,27 +3223,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "753366", - "title": "Generative DevOps", - "description": "AI’s capabilities for software development through code generation have become well known, with 81% of devs reporting using a coding assistant. However, this shift in the way developers write software has implications across the software development lifecycle. This talk highlights the importance of leveraging AI across all of your DevOps process – not just code. We’ll look at some exciting new use cases for testing, monitoring and observability, and continuous deployments, as well as strategies for ensuring a successful approach to integrating AI into DevOps on your team.", - "startsAt": null, - "endsAt": null, + "id": "838546", + "title": "The Human Factor in DevOps: Because Even Robots Need Good Teammates (Almost)", + "description": "Remember when \"DevOps\" meant throwing code (and maybe a few passive-aggressive emails, that thankfully weren’t meetings) over the wall? We’d like to think that the last decade and a half has dispelled us of that notion, but has it really? Often when organizations begin their “DevOps Transformation” they focus so much on automation, but the component that is more often than not overlooked is the human element. Human connection. \r\n\r\nIn this talk, Jeremy will dig into some strategies for building teams that actually work together, and might even come to like each other (though he can’t promise “meetings that are emails” will become a norm). He’ll talk about ways to encourage open communication, resolve conflicts, and create a team culture where everyone feels valued - because even the best automation tools can’t replace a team that actually works together.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "85becfa6-8765-4c3c-b805-e393ed3dd954", - "name": "Cecelia Martinez" + "id": "56115ae3-406f-47af-818c-20354acc07b2", + "name": "Jeremy Meiss" } ], "categories": [ @@ -2257,8 +3252,8 @@ "name": "Track", "categoryItems": [ { - "id": 290615, - "name": "Artificial Intelligence" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 @@ -2275,8 +3270,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2285,17 +3280,17 @@ }, { "questionAnswers": [], - "id": "734820", - "title": "Git features you aren’t using", - "description": "In this session we'll take a tour of some features that you might or might not have heard of, but can significantly improve your workflow and day-to-day interaction with Git.\r\n\r\nGit continues to see improvements daily. However, work (and life) can take over, and we often miss the changelog. This means we don't know what changed, and consequently fail to see how we can incorporate those in our usage of Git.\r\n\r\nIn this session we will look at some features you are probably aware of, but haven't used, alongside new features that Git has brought to the table. Examples include:\r\n\r\n- Rebase and interactive rebase\r\n- `restore`/`switch` and when to use them\r\n- worktrees\r\n- shallow-clones\r\n- Git's filesystem monitor\r\n\r\nBy the end of this session, you will walk away with a slew of new tools in your arsenal, and a new perspective on how this can help you and your colleagues get the most out of Git.", - "startsAt": null, - "endsAt": null, + "id": "738682", + "title": "Software Supply Chain Security with Policy as Code", + "description": "How do you ensure that your Java software supply chain is secure? How do you reliably repeat and automate governance and compliance of your Java applications?\r\n\r\nPolicy as Code (PaC) enables orgs to apply automated controls across multiple policy enforcement points and artifact types. This talk will explore how OSS PaC can be used to validate software supply chain artifacts, focusing on Java ecosystem artifacts. \r\n\r\nThis talk will cover PaC concepts, and how to use PaC to detect and prevent unwanted behaviors. PaC concepts learned in this talk will work at the developer desktop as well as in continuous integration automation, thereby improving governance and compliance of the Java software supply chain.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d017112e-f5b1-4594-aee9-cdac1403e0f1", - "name": "Raju Gandhi" + "id": "faeaeb23-20cd-45d0-955a-8a09a170e7f3", + "name": "Jimmy Ray" } ], "categories": [ @@ -2304,8 +3299,8 @@ "name": "Track", "categoryItems": [ { - "id": 290611, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 @@ -2322,27 +3317,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "741176", - "title": "Going beyond ORMs", - "description": "For some time now JSON has been the preferred format for exchanging data between client (browsers) and servers. Often times developers had to configure data marshalling options to transform data into business objects, into persistent data, and back again. Perhaps it would make more sense to use JSON across the business pipeline without sacrificing performance nor missing benefits from the relational data world. this is what JSON Duality Views propose. In this session we'll explore options to enhance data driven applications written with Spring Boot, Quarkus, and Micronaut, enhancing your developer experience and increasing customer satisfaction.", - "startsAt": null, - "endsAt": null, + "id": "752306", + "title": "Streamlining Open Source Foundation Operations with Quarkus and GitHub Actions", + "description": "Launching an open source foundation comes with challenges, from establishing governance processes to tracking memberships, maintaining communication, and building consensus across distributed teams.In this case study, I’ll show how we’ve used Quarkus and GitHub Actions to automate key operations, including asynchronous consensus building via reactions on GitHub discussions and pull requests, and simplifying data entry by distributing and synchronizing content across repositories with event hooks. Additionally, I’ll demonstrate how we’ve built a self-service portal for our members using a combination of Quarkus, the GitHub GraphQL and REST APIs, Lume (the static site generator for Deno), and Svelte.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "720cdc7d-0ae6-44d3-af2a-eebc0a086508", - "name": "Andres Almiray" + "id": "f6c77911-6612-4b72-9832-63409826e785", + "name": "Erin Schnabel" } ], "categories": [ @@ -2369,8 +3364,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2379,17 +3374,17 @@ }, { "questionAnswers": [], - "id": "754901", - "title": "Hands On: Apache Maven 4", - "description": "Frustrated with Apache Maven? Confused about how to control versions in multi-modules? Annoyed at how much of your build information is published to a maven repository when you publish your artifacts? Curious about Apache Maven?\r\n\r\nThis session is for you! Slides are great to share theory, how about live coding? In this session, together, we will pick up difficult use cases that most of us encounter when managing our maven projects for build and deployment, especially with multiple modules. \r\n\r\nApache Maven 4 is a great improvement over previous versions and provides an ease-of-use and follows the \"principle of least astonishment\".\r\n\r\nCome join to see how to solve build woes using the latest (and greatest) version of Apache Maven!", - "startsAt": null, - "endsAt": null, + "id": "787704", + "title": "Unlocking Machine Learning Potential in JavaScript: A Journey Through Cutting-Edge Tools", + "description": "While synonymous with web development, JavaScript has proven to be a versatile language. Though it may not shine as brightly as Python in the machine learning world, a range of powerful JavaScript tools have emerged to cater to various stages of the machine learning pipeline. Let’s explore a few such as Danfo.js, for efficient data manipulation, and Transformers.js, which empowers developers to integrate pre-trained ML models seamlessly into their applications.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ab1b8b69-f449-4df9-b391-243a391b9d01", - "name": "Chandra Guntur" + "id": "b09194cd-b9be-44bd-81e5-4346bbf0f39e", + "name": "Danielle Maxwell" } ], "categories": [ @@ -2398,8 +3393,8 @@ "name": "Track", "categoryItems": [ { - "id": 290606, - "name": "Core Java" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 @@ -2416,8 +3411,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2426,17 +3421,17 @@ }, { "questionAnswers": [], - "id": "740043", - "title": "Home Lab - Private Cloud on a budget", - "description": "Ever wanted to run your own private cloud but thought it was out of reach due to cost? Think again! In this session, we'll show you how to build a powerful, cost-effective private cloud in your own home using Proxmox, TrueNAS, and pfSense—all without breaking the bank.\r\n\r\nWhether you're a developer, a sysadmin, or just a tech enthusiast, this session will walk you through everything you need to know, from acquiring affordable hardware to setting up and managing your home lab. By the end of this session, you'll be well-equipped to create a reliable and secure private cloud at home.\r\n\r\nThis talk offers a step-by-step guide to building a private cloud at home using cost-effective methods, focusing on acquiring affordable hardware, utilizing free software, and managing the setup in a home lab environment.\r\n\r\n- Acquire Cheap Hardware - Learn how to source and select affordable hardware that meets the requirements for running a home lab capable of supporting a private cloud infrastructure.\r\n\r\n- Utilize Free Software - Discover how to leverage Proxmox, TrueNAS, and pfSense—powerful and free tools that allow you to create a fully functional private cloud without costly licenses.\r\n\r\n- Use a Homelab - Understand how to set up, configure, and maintain a home lab environment, turning your inexpensive hardware and free software into a robust private cloud solution.\r\n\r\nAttendees will leave this session with a clear understanding of how to build and manage their own private cloud on a budget. They will learn how to select the right hardware, utilize powerful open-source software, and set up a home lab that enables them to experiment with and deploy cloud-based applications securely and efficiently. Whether for personal projects, learning, or small-scale deployments, attendees will gain the skills to create a reliable private cloud environment at home.", - "startsAt": null, - "endsAt": null, + "id": "751804", + "title": "Migrating from Java EE - to Spring Boot or something else?", + "description": "Many companies use old and expensive Java EE servers like WebSphere or WebLogic. If you're considering moving away from them, this session is for you. We'll explore three options: the widely used Spring Boot framework, modern open-source Jakarta EE servers like GlassFish, and emerging choices like Quarkus and Piranha Cloud.\r\n\r\nThrough live demos and discussions, we'll compare these options in terms of how easy it is to get started, how straightforward it is to migrate from Java EE, how developer-friendly they are, and what features they offer for production. We'll also look at the evolution of the Jakarta EE ecosystem and how it currently compares to SpringBoot.\r\n\r\nWhether you're a developer, a DevOps engineer, or an architect, this session will give you practical insights and help you make informed choices about your Java stack. Join me in finding out the answer to the question: Should you migrate from Java EE to Spring Boot or something else?\r\n", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6375582a-11f3-4a89-b783-6e5869a1a217", - "name": "Jared Rhodes" + "id": "a525f812-1f48-41fa-a4cf-cd6c10fb3f69", + "name": "Ondro Mihályi" } ], "categories": [ @@ -2445,8 +3440,8 @@ "name": "Track", "categoryItems": [ { - "id": 290605, - "name": "Cloud Technology" + "id": 290617, + "name": "JakartaEE" } ], "sort": 0 @@ -2463,8 +3458,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2473,17 +3468,74 @@ }, { "questionAnswers": [], - "id": "754152", - "title": "How Not To Be Mentored", - "description": "How to does one get the best out of a mentor-ship, while providing value to both the mentee and the mentor in times of time spent and growth? \r\n\r\nThe mentee/mentor relationship in tech tends to be wrought with issues if not structured properly on both ends. This talk hopes to provide actionable steps learned from my wins and losses based on my experience being a part of a learn-to-code mentorship group for 1 year period. This talk will include : \r\n=> Understanding the value propositions of the participants [mentee vs mentor]), etc.\r\n=> Setting relationship fundamentals/foundations and expectations/results.\r\n=> Time and task management suggestions.\r\n=> How to deal with challenges as they come up. \r\n=> Content to read ( books, articles, and people to follow on Twitter).\r\n=> Etc ( Anything else that can come to mind when writing this talk based on the theme of the audience/ conference ). ", - "startsAt": null, - "endsAt": null, + "id": "22054d3f-c3e8-4ae4-8bcc-c4e5dc917c08", + "title": "Conference Reception (open bar and food!)", + "description": null, + "startsAt": "2025-03-05T17:00:00", + "endsAt": "2025-03-05T19:00:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "b75cc5cd-d2c6-48a4-93b9-5d4d1e7d6073", + "title": "Registration and Breakfast", + "description": null, + "startsAt": "2025-03-06T08:00:00", + "endsAt": "2025-03-06T09:00:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "45040691-b23e-4acb-9320-331e1f983559", + "title": "Day 2 keynote", + "description": null, + "startsAt": "2025-03-06T09:00:00", + "endsAt": "2025-03-06T10:00:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "738302", + "title": "Conway’s Law and Digital Transformation", + "description": "Conway’s Law posits that the design of a system mirrors the communication structure of the organization that created it. As businesses increasingly adopt modern technologies to enhance operations and deliver value, the alignment between organizational structures and system architectures becomes critical. Let's explore the implications of Conway’s Law in the context of digital transformation, examining how traditional, hierarchical structures often hinder the agility and innovation required for modern, scalable systems.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a6ee49ed-a85d-43bd-8677-bced09824b2c", - "name": "Nerando Johnson" + "id": "78100ec6-45ab-4076-8911-266bfc4c376b", + "name": "Dennis Ruzeski" } ], "categories": [ @@ -2510,27 +3562,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "769415", - "title": "How to debug: Lessons learnt from 10 years of Spring Boot", - "description": "Debugging is a fundamental skill that's vital for any Java developer, but how many techniques do you really know? 10 years of running the Spring Boot project has given plenty of real-world examples of nasty issues and how to debug them. Lets go beyond simple breakpoints, look at problems raised in the project, and discuss how to actually fix them! Dealing with regressions, using the remote debugger and tips for conditional breakpoints will all be covered. You'll also learn how to open good issues against open source projects to quickly get the fixes you need.", - "startsAt": null, - "endsAt": null, + "id": "734821", + "title": "Documenting your architecture", + "description": "We've all learned that documenting your code is a good idea. But what about your architecture? What should we be thinking about when we document architecture? What tools and techniques can we reach for as we pursue this endeavor? Can we even make this a sustainable activity, or are we forever doomed to architectural documentation getting outdated before the ink is even dry? \r\n\r\nIn this session we will discuss a range of techniques that will not only help document your architecture, but even provide a mechanism to think about architecture upfront, and make it more predictable. You'll walk away armed with everything you need to know about documenting your current, and future architectures. ", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "bd435afb-3853-43c0-8dee-cbcda16f7e91", - "name": "Phil Webb" + "id": "d017112e-f5b1-4594-aee9-cdac1403e0f1", + "name": "Raju Gandhi" } ], "categories": [ @@ -2539,8 +3591,8 @@ "name": "Track", "categoryItems": [ { - "id": 290608, - "name": "Java Platform" + "id": 290603, + "name": "Architecture" } ], "sort": 0 @@ -2557,27 +3609,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "748266", - "title": "Ignore Previous Instructions: Embracing AI Red Teaming", - "description": "In this talk, we will explore the journey of Red Teaming from its origins to its transformation into AI Red Teaming, highlighting its pivotal role in shaping the future of Large Language Models (LLMs) and beyond. Drawing from my firsthand experiences developing and deploying the largest generative red teaming platform to date, I will share insightful antidotes and real-world examples. We will explore how adversarial red teaming fortifies AI applications at every layer—protecting platforms, businesses, and consumers. This includes safeguarding the external application interface, reinforcing LLM guardrails, and enhancing the security of the LLMs' internal algorithms. Join me as we uncover the critical importance of adversarial strategies in securing the AI landscape.", - "startsAt": null, - "endsAt": null, + "id": "771631", + "title": "Spring AI: Seamlessly Integrating AI into Your Enterprise Java Applications", + "description": "As artificial intelligence becomes increasingly important in enterprise software development, Java developers need practical ways to integrate AI capabilities into their applications. Spring AI provides a familiar and pragmatic approach to this challenge, allowing developers to incorporate AI features while leveraging the established patterns and practices of the Spring ecosystem.\r\n\r\nThis session demonstrates Spring AI's portable APIs that enable developers to switch seamlessly between different AI models and vector stores. We'll show how this abstraction layer allows you to write code once and run it with providers like OpenAI, Azure OpenAI, or local models, as well as vector stores such as Postgres, Chroma, or Weaviate.\r\n\r\nThrough live coding demonstrations, we'll showcase:\r\n* RAG (Retrieval-Augmented Generation) implementation using vector databases for intelligent document processing\r\n* Function Calling patterns that enable AI models to interact with your business logic\r\n* Evaluation techniques to measure LLM response accuracy and mitigate hallucination\r\n* Observability features to monitor your AI application's behavior in production\r\n", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "e3c99a3a-4d01-479f-9f96-5e8758e70746", - "name": "David Campbell" + "id": "247ec778-0f81-4b84-b25d-48893a6302ad", + "name": "Mark Pollack" + }, + { + "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", + "name": "Josh Long" } ], "categories": [ @@ -2597,15 +3653,15 @@ "name": "Session Format", "categoryItems": [ { - "id": 290621, - "name": "keynote" + "id": 290619, + "name": "session" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2614,17 +3670,21 @@ }, { "questionAnswers": [], - "id": "746924", - "title": "JakartaEE meets AI: Beyond the chatbot with Langchain4j", - "description": "LLMs are getting smarter every day, but they still don’t get the ins and outs of your business.\r\n\r\nIn this session, we’ll explore a demo project built with JakartaEE and Langchain4j where we’ll supercharge the LLMs by hooking them up to your backend. The result? An LLM that not only chats but also follows your business rules, making it a real game-changer for your applications.", - "startsAt": null, - "endsAt": null, + "id": "751398", + "title": "Supercharge Agentic AI Projects: A DevEx-Driven Approach to Cloud-Native Scaffolding", + "description": "In the rapidly evolving landscape of artificial intelligence, agentic AI has emerged as a powerful paradigm for creating intelligent agents capable of interacting with the real world. However, building and deploying such agents can be a complex and time-consuming process. This demo-driven talk will introduce a new approach to cloud-native scaffolding using software templates that significantly simplify the development of agentic AI projects, providing a streamlined and efficient experience for app developers.\r\n\r\nThrough a series of live demonstrations, attendees will witness firsthand how this innovative scaffolding framework can accelerate the development lifecycle of agentic AI applications. We will explore key features such as automated code generation, pre-configured infrastructure, and integration with popular AI libraries, demonstrating how these tools can save developers valuable time and effort.\r\n\r\nBy the end of this talk, participants will have a clear understanding of how this new approach to cloud-native scaffolding can revolutionize the development of agentic AI projects. They will be equipped with the knowledge and practical skills needed to build intelligent agents more efficiently and effectively, driving innovation in the field of artificial intelligence.\r\n", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "14c0c531-8f58-4be9-a878-c38517d03afe", - "name": "Jorge Cajas" + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" + }, + { + "id": "b9f343b4-5370-4839-bd53-572b0322882e", + "name": "James Falkner" } ], "categories": [ @@ -2633,8 +3693,8 @@ "name": "Track", "categoryItems": [ { - "id": 290617, - "name": "JakartaEE" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 @@ -2651,8 +3711,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2661,17 +3721,21 @@ }, { "questionAnswers": [], - "id": "753353", - "title": "Keeping Your Java Hot by Solving the JVM Warmup Problem", - "description": "Java bytecodes and class files deliver on the original vision of “write once, run anywhere”. Using a Just-in-Time (JIT) compiler allows JVM-based applications to compile only the code that’s being used frequently and optimise it precisely for how it is being used. Using techniques like speculative optimisation can often deliver better performance than static, Ahead-of-Time (AOT) compiled code.\r\n\r\nHowever, this flexibility and performance comes at a cost. Each time the JVM starts an application, it must perform the same analysis to find hot spots of code and compile them. This is referred to as the application warmup time.\r\n\r\nIn this session, we’ll look at several approaches to how this problem can be alleviated or even eliminated. Specifically:\r\n\r\n•\tGenerating a JIT compiler profile of a running, warmed-up application that can be reused when the same application is restarted, eliminating the need for much of the JIT compilation.\r\n•\tOpenJDK Project Leyden's ahead-of-time class loading, method profiling and code compilation.\r\n•\tDecoupling the JIT compiler from the JVM for a Cloud environment. Providing a centralised JIT-as-a-Service allows caching of compiled code and offloading the compilation work when new code must be compiled.\r\n•\tCreating a checkpoint of a running application. This includes all application state (heap, stack, etc.) in addition to the JIT-compiled code. Project CRaC will be used as an example.\r\n\r\nAt the end of the session, you’ll be all set to keep your Java hot!\r\n", - "startsAt": null, - "endsAt": null, + "id": "750836", + "title": "AMP-ing Your Java with AArch64/Arm64 Servers", + "description": "\r\nAs the world of server architecture evolves, ARM64 servers are becoming increasingly prominent in the data center and cloud environments. This session explores how Java applications can leverage the performance and efficiency benefits of ARM64 servers.\r\n\r\nJoin us as we dive into:\r\n\r\nIntroduction to ARM64 Architecture: Understand the key features of ARM64 and why it’s gaining traction in modern server environments.\r\n\r\nJava on ARM64: Discover how the Java Virtual Machine (JVM) performs on ARM64 servers and what optimizations are available.\r\n\r\nPerformance Tuning: Learn practical tips and techniques to fine-tune your Java applications for ARM64, including JIT compiler settings and garbage collection adjustments.\r\n\r\nCase Studies and Real-World Examples: Hear about successful migrations and performance improvements from organizations that have embraced ARM64 for their Java workloads.\r\nFuture Trends: Explore upcoming advancements in ARM64 architecture and how they might impact Java development.\r\n\r\nThis talk is ideal for Java developers, system administrators, and DevOps professionals looking to harness the power of ARM64 servers and optimize their applications for the future. Whether you’re considering a transition to ARM64 or simply curious about its benefits, this session will provide valuable insights and practical guidance.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "709043d1-5754-4459-a8d5-6dd2f5619874", - "name": "Simon Ritter" + "id": "bceafbd1-53f7-4888-a891-72955eab9077", + "name": "Aaron Williams" + }, + { + "id": "f9e44c9c-823d-47dc-9853-924dcb375b96", + "name": "Dave Neary" } ], "categories": [ @@ -2680,8 +3744,8 @@ "name": "Track", "categoryItems": [ { - "id": 290606, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 @@ -2698,8 +3762,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2708,17 +3772,17 @@ }, { "questionAnswers": [], - "id": "751645", - "title": "LangChain4j: The Awesome Framework for AI and Java", - "description": "This workshop helps you add AI capabilities to your Java systems using the excellent LangChain4j framework. Add chat capabilities, image generation, vision models, text-to-speech, transcription, and more, quickly and easily. Retrieval-Augmented Generation (RAG) will also be included, using a variety of sources, including pdf, HTML, Word docs, and URL resources. The workshop will also demonstrate how to access models added to your local machine using the Ollama system.", - "startsAt": null, - "endsAt": null, + "id": "738256", + "title": "We hate code - The !joy of maintaining dead code", + "description": "Disclaimer: If you love to maintain legacy code than this session is not for you. \r\nYou probably know the hassle of maintaining code that was written long time before you entered the project or company. Often the developers who wrote it are not even in the company anymore. So how do you know if the code is still used? Often you simply don’t know and so you take the code with you…from one release to another…and the codebase is growing.\r\nThis session will give you an idea about what you can do to get rid of legacy code. Which tools are available and how they can help you to male your life easier.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ecda0d84-be59-41c6-8983-b58cd5b3f93c", - "name": "Kenneth Kousen" + "id": "71f3abf1-03cf-458b-b385-e10fd110e89a", + "name": "Gerrit Grunwald" } ], "categories": [ @@ -2727,8 +3791,8 @@ "name": "Track", "categoryItems": [ { - "id": 290615, - "name": "Artificial Intelligence" + "id": 290606, + "name": "Core Java" } ], "sort": 0 @@ -2738,34 +3802,34 @@ "name": "Session Format", "categoryItems": [ { - "id": 290620, - "name": "workshop" + "id": 290619, + "name": "session" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "750953", - "title": "Let OpenID Connect secure your applications", - "description": "Implementing the correct security patterns is a common challenge that most application developers and consultants can get wrong in even the most common of scenarios. Reinventing the wheel is a common pattern that DevOps engineers do when integrating security solutions inside their applications (authentication, password validation, identity management, correct storage of user data, etc.).\r\nOpenID Connect is an open security standard that can be used to solve most of these concerns in a reliable and scalable way for modern cloud applications, in a way that most developers are unaware of!\r\n\r\nThis talk will focus on the benefits of securing an enterprise application using OpenID Connect concepts with multiple Java Framworks, with a live demonstration of a small application that uses standard frameworks (Jakarta EE and Eclipse MicroProfile) in tandem with an external OpenID Connect provider.", - "startsAt": null, - "endsAt": null, + "id": "779565", + "title": "Spring Batch 5.2 and beyond: What's new and what's coming next", + "description": "Spring Batch 5.2 has been out for 6 months by now, and Spring Batch 6.0 will be out in 6 months from now.. What a great time to get an update of the current status of the project and what's coming next!\r\n\r\nThis talk walks you through all the new features introduced in Spring Batch 5.2 and what the team is planning to work on for the next generation of the framework.\r\n\r\nIf you use Spring Batch in some capacity, this talk is a must-see to get an update on the current state of things and how to prepare the upgrade to the next major version.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "9278401c-4b54-4e61-b9c2-ee65c9007dbf", - "name": "Fabio Turizo" + "id": "b7081806-6f1d-4d53-803a-b5f7ecabc1b0", + "name": "Mahmoud Ben Hassine" } ], "categories": [ @@ -2774,8 +3838,8 @@ "name": "Track", "categoryItems": [ { - "id": 290610, - "name": "Security" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 @@ -2792,27 +3856,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "750255", - "title": "Let's make your Java code Bug-Proof", - "description": "In the battle against buggy code, error handling is your weapon of choice. This talk will arm you with the knowledge and skills to:\r\n\r\n- Identify and handle different types of exceptions.\r\n- Create custom exceptions for specific errors.\r\n- Implement error-prevention strategies.\r\n- Log and report errors effectively.\r\n- Debug and troubleshoot errors with confidence.\r\n\r\nIn addition, we will also discuss the importance of a mindset shift in error handling. Instead of viewing errors as failures, we encourage you to view them as learning opportunities.\r\n\r\nWhether you're a seasoned backend developer or just starting out, this talk will help you write more robust and reliable Java code.", - "startsAt": null, - "endsAt": null, + "id": "752500", + "title": "Micrometer Mastery: Unleash Advanced Observability in your JVM Apps", + "description": "Is your application a black box? Is your current observability instrumentation not good enough? Do you want to add more to your metrics and distributed tracing? Join us and unlock the full potential of Micrometer and its cutting-edge observability features!\r\n\r\nDive into:\r\n\r\n- Micrometer Observation API: Instrument once and have multiple benefits out of it.\r\n- Observation Conventions: Instrumentation with standardized naming and tagging.\r\n- Automated Documentation: Effortlessly generate rich observability descriptions from your code.\r\n\r\nWe'll showcase:\r\n\r\n- Practical code examples for instrumenting real-world applications.\r\n- Advanced techniques to extract deeper insights and troubleshoot issues faster.\r\n- Real-world use cases demonstrating the power of Micrometer's observability toolkit.\r\n\r\nReady to elevate your observability game using the industry’s golden standard? This talk is your one-stop shop for Micrometer mastery!", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d0e6b397-e663-46f1-ba2f-70472049af6e", - "name": "Aicha Laafia" + "id": "8f517aca-8293-4e1f-9360-0ce676531421", + "name": "Jonatan Ivanov" } ], "categories": [ @@ -2839,27 +3903,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "751444", - "title": "Leverage Event Driven Ansible to reduce your automation reaction time", - "description": "In today's complex IT environments, it is more important than ever to automate tasks and processes. Event-Driven Ansible is a new feature of Ansible that allows you to automate IT tasks based on events that occur in your IT environment. This session will provide an introduction to Event-Driven Ansible, including what it is, how it works, and the benefits of using it. We will also discuss some examples of how Event-Driven Ansible can be used in real-world scenarios.", - "startsAt": null, - "endsAt": null, + "id": "735884", + "title": "Testing on Thin Ice: Chipping Away at Test Unpredictability", + "description": "Ever tried to catch melting snowflakes? That's the challenge of dealing with flaky tests - those annoying, unpredictable tests that fail randomly and pass when rerun. In this talk, we'll slide down the slippery slope of why flaky tests are more than just a nuisance. They're time-sinks, morale crushers, and silent code quality killers.\r\n\r\nWe'll skate across real-life scenarios to understand how flaky tests can freeze your development in its tracks, and why sweeping them under the rug is like ignoring a crack in the ice. From delayed releases to lurking bugs, the stakes are high, and the costs are real.\r\n\r\nBut don't pack your parkas just yet! We're here to share expert strategies and insights on how to identify, analyze, and ultimately melt away these flaky tests. Through our combined experience, we'll provide actionable techniques and tools to make sure snow is the only flakiness you experience, ensuring a smoother, more reliable journey in software development.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "04725191-5f4a-4f6a-b63e-c5ca9a7e7b78", - "name": "Fabio Alessandro Locati" + "id": "2f4018fc-6f1a-484c-9297-383fb1a5c4ae", + "name": "François Martin" + }, + { + "id": "130a4bc5-3b04-4a0c-95e6-62fad0b4d722", + "name": "Brian Demers" } ], "categories": [ @@ -2868,8 +3936,8 @@ "name": "Track", "categoryItems": [ { - "id": 290614, - "name": "Cloud Native" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 @@ -2886,27 +3954,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "747847", - "title": "Logging Deep Dive", - "description": "Logging is important for understanding why the application isn’t working properly for having a record of what happened. In this session, you’ll see the differences between Java Util Logging, Log4J, SLF4J and Logback along with looking at some interesting features of each. You’ll also learn about the new Log4j 3 release and how it differs from Log4J 2.", - "startsAt": null, - "endsAt": null, + "id": "740966", + "title": "Securing LLM-Powered Applications: Overcoming Security and Privacy Challenges", + "description": "LLMs accessing the database and intelligent agents that perform online purchases? The possibilities for AI in applications seem endless but so are their security and data privacy risks. In this session, we’ll address common issues such as prompt injection, key leakage, abuse of private customer data for model training, legal restrictions, and more. In addition, we will show that general security issues in your systems can also influence the behavior and outcome of LLMs. \r\nDuring this session, you’ll get a solid overview of the vulnerabilities to avoid, strategies to ensure data privacy compliance and best practices for building secure LLM-powered applications.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6631e69f-25c4-47db-9fb2-08576a460048", - "name": "Jeanne Boyarsky" + "id": "50e931e4-bda7-4065-b4c4-5083683497e6", + "name": "Brian Vermeer" + }, + { + "id": "3aa1b5bf-3169-48e9-afe2-708f50426f3b", + "name": "Lize Raes" } ], "categories": [ @@ -2915,8 +3987,8 @@ "name": "Track", "categoryItems": [ { - "id": 290607, - "name": "Frameworks" + "id": 290610, + "name": "Security" } ], "sort": 0 @@ -2933,27 +4005,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "738670", - "title": "Long Live Short Lived Credentials - Auto-rotating Secrets At Scale", - "description": "By now, you are very likely aware of the problem of secrets sprawl. Millions of hardcoded plaintext credentials keep showing up online in easy-to-scan places year after year. Worse yet, adversaries have gotten very good at exfiltrating and validating these secrets. Rotating the key or password after an attack is far too late. \r\n\r\nWhat if every credential that an adversary could find expired before they could exploit it? What if keys, just a few hours old, no longer worked? \r\n\r\nLet's embrace a future of proper secrets management and auto-rotating secrets. It might seem overwhelming at first to consider accomplishing this, especially if you have never tackled secrets management before, but for many systems, this is easier to achieve than you might realize.\r\n\r\nIn this session, you will \r\n- Get an update on the state of secrets sprawl\r\n- Diagram auto-rotation architectures\r\n- Plan a secrets audit and code refactor strategy\r\n- Start the email that will help you convince the team\r\n", - "startsAt": null, - "endsAt": null, + "id": "750660", + "title": "Codebase Resurrection: Revive and Refactor with AI", + "description": "Is your codebase in need of a major overhaul? Do you find yourself wrestling with tangled code, uncertain about the consequences of each refactor? Join us at this Java conference session to discover how AI can be your secret weapon in the battle against subpar code.\r\nIn this enlightening talk, our seasoned Principal Software Developer will guide you through the transformative journey of leveraging AI tools to bring your codebase back to life. We'll demonstrate the incredible power of a AI plugins in your IDE, which combines the best practices and methodologies from industry experts with the precision of artificial intelligence.\r\nYou'll learn how to harness AI's capabilities to:\r\nAnalyze Code Health: Understand the current state of your codebase and identify areas in need of improvement.\r\nAI-Powered Testing: Utilize AI-driven testing to gain confidence in your refactoring efforts, reducing the risk of introducing new bugs.\r\nRefactor with Precision: Apply expert-recommended refactorings to untangle complex code structures and improve maintainability.\r\nMeasure Success: Evaluate the impact of your refactorings and track improvements in code quality and performance.\r\nBy the end of this session, you'll be equipped with the knowledge and tools to breathe new life into your codebase, making it more efficient, robust, and future-proof. Don't miss this opportunity to revolutionize your coding practices and elevate your software architecture to new heights with Codium.AI. Join us and embark on your journey towards code excellence!\r\n", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "053bf183-629a-4dd5-b66e-e2b1d7142a49", - "name": "Dwayne McDaniel" + "id": "7f7eb959-dfdc-4d7f-a6a0-bd64b2710282", + "name": "David Parry" } ], "categories": [ @@ -2962,8 +4034,8 @@ "name": "Track", "categoryItems": [ { - "id": 290610, - "name": "Security" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 @@ -2980,8 +4052,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2990,17 +4062,17 @@ }, { "questionAnswers": [], - "id": "751905", - "title": "Mastering Canary Releases with Argo Rollouts in Kubernetes", - "description": "Delivering new features without impacting user experience is a challenge for any modern application. Canary releases provide a safe way to gradually roll out changes, ensuring stability while reducing risk. In this session, we’ll explore how to implement fully automated canary releases using Argo Rollouts in Kubernetes.\r\n\r\nWe’ll cover the core concepts of canary deployments, progressive delivery strategies, and how Argo Rollouts integrates seamlessly with Kubernetes to manage traffic shifts and monitor metrics. To bring it all together, there will be a live demo showcasing a fully automated canary release in action—watch as we safely deploy updates in real time!\r\n\r\nJoin us to learn how to leverage canary releases for safer, more reliable software delivery.", - "startsAt": null, - "endsAt": null, + "id": "751546", + "title": "A Java Developers Guide to Navigating the Frontend Landscape", + "description": "This is a beginner-friendly session designed for Java developers who are trying to navigate the landscape of frontend development. When you need to develop a new frontend for your application, what approach do you take? Do you leverage your existing Java skills and create it using a Java framework? Or do you opt for a modern JavaScript framework like React, Angular, or Vue? Different requirements may call for different solutions, and in this session, we will explore this topic in depth. By the end of this talk, you will be up to date with the latest techniques for building frontend applications.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "90d4149a-7993-407f-a350-a0d7a8a04440", - "name": "Orlando Valdez" + "id": "c2745a9d-1b7d-4cc3-a620-46afb9337f6d", + "name": "Dan Vega" } ], "categories": [ @@ -3009,8 +4081,8 @@ "name": "Track", "categoryItems": [ { - "id": 290605, - "name": "Cloud Technology" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 @@ -3027,8 +4099,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3037,17 +4109,17 @@ }, { "questionAnswers": [], - "id": "753081", - "title": "Mastering the System Design Methodology", - "description": "Mastering the System Design Methodology is a must-attend talk for developers and architects seeking to elevate their system design skills to new heights. In this engaging session, attendees will embark on a comprehensive journey through the foundational principles of the System Design Methodology, with a particular focus on the practical application of the C4 model. This talk is designed to equip professionals with the tools and insights necessary to develop scalable, efficient, and user-friendly systems that stand the test of time.\r\n\r\nWe'll start by exploring the critical importance of understanding business requirements and stakeholder needs, setting the stage for successful system design. From there, we'll delve deep into the methodology stages, from engaging with business stakeholders to refining and finalizing the system design. Each stage will be brought to life with real-world examples, interactive discussions, and practical exercises, ensuring attendees can apply these concepts to their projects immediately.\r\n\r\nSpecial attention will be given to integrating empathy maps, value chain analysis, and customer journey mapping into the system design process. These powerful tools not only enhance the understanding of internal and external personas but also ensure that the final product truly aligns with user needs and business goals.\r\n\r\nWhether you're an experienced architect or a developer keen on expanding your system design capabilities, this talk will provide valuable insights into creating robust, adaptable, and user-centric software systems. Join us to transform your approach to system design and become a key driver of success in your projects and organization.\r\n\r\nThe Importance of System Design\r\n\r\nThe role of system design in software development\r\nExamples of project successes and failures\r\nOverview of System Design Methodology\r\n\r\nIntroduction to System Design Methodology\r\nThe C4 Model: Context, Containers, Components, and Code\r\nDeep Dive into the Methodology Stages\r\n\r\n* Engage with Business Stakeholders\r\n * Techniques for engagement and prioritization\r\n * Case Study: A startup's journey to understand market needs\r\n\r\n* Identify Vital Business Capabilities\r\n * Mapping business capabilities\r\n * Case Study: Streamlining operations for a logistics company\r\n\r\n* Understand the Internal and External Personas\r\n * Using empathy maps and customer journey mapping\r\n * Case Study: Designing a healthcare app with patient and provider personas\r\n\r\n* Develop a New Value Proposition\r\n * Crafting value propositions\r\n * Case Study: Innovating retail experience with a new e-commerce platform\r\n\r\n* Define Solution Architecture\r\n * Detailing architecture and capability modules\r\n * Case Study: Architectural overhaul for a financial services firm\r\n\r\n* Define Component Process Flows\r\n * Visualizing interactions and process flows\r\n * Case Study: Enhancing the order fulfillment process for an online retailer\r\n\r\n* Review, Refine, and Finalize\r\n * Consolidating insights and preparing for implementation\r\n * Case Study: Finalizing and launching a new feature for a social media platform", - "startsAt": null, - "endsAt": null, + "id": "746924", + "title": "Jakarta EE meets AI: Beyond the chatbot with LangChain4j", + "description": "LLMs are getting smarter every day, but they still don’t get the ins and outs of your business.\r\n\r\nIn this session, we’ll explore a demo project built with Jakarta EE and LangChain4j. We’ll supercharge the LLMs by hooking them up to your backend. The result? An LLM that not only chats but also follows your business rules, making it a real game-changer for your applications.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "32cb0f88-b1ad-44c2-8860-86a5ac46c59a", - "name": "Rohit Bhardwaj" + "id": "14c0c531-8f58-4be9-a878-c38517d03afe", + "name": "Jorge Cajas" } ], "categories": [ @@ -3056,8 +4128,8 @@ "name": "Track", "categoryItems": [ { - "id": 302778, - "name": "Tech Leadership" + "id": 290617, + "name": "JakartaEE" } ], "sort": 0 @@ -3074,8 +4146,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3084,17 +4156,36 @@ }, { "questionAnswers": [], - "id": "752500", - "title": "Micrometer Mastery: Unleash Advanced Observability in your JVM Apps", - "description": "Is your application a black box? Is your current observability instrumentation not good enough? Do you want to add more to your metrics and distributed tracing? Join us and unlock the full potential of Micrometer and its cutting-edge observability features!\r\n\r\nDive into:\r\n\r\n- Micrometer Observation API: Instrument once and have multiple benefits out of it.\r\n- Observation Conventions: Instrumentation with standardized naming and tagging.\r\n- Automated Documentation: Effortlessly generate rich observability descriptions from your code.\r\n\r\nWe'll showcase:\r\n\r\n- Practical code examples for instrumenting real-world applications.\r\n- Advanced techniques to extract deeper insights and troubleshoot issues faster.\r\n- Real-world use cases demonstrating the power of Micrometer's observability toolkit.\r\n\r\nReady to elevate your observability game using the industry’s golden standard? This talk is your one-stop shop for Micrometer mastery!", - "startsAt": null, - "endsAt": null, + "id": "a6c6ec2f-b705-47bb-8d03-a8b6930b36d4", + "title": "Morning Break", + "description": null, + "startsAt": "2025-03-06T11:00:00", + "endsAt": "2025-03-06T11:30:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "753446", + "title": "Complex Problems... and other ways to disappoint your friends.", + "description": "Most developers have heard of \"Big O notation\" but it stops there. One step further is a cliff. If you don't know it's there, welp, it was nice knowing ya. *Pirate accent* THAR BE SEA DRAGONS *end dramatic accent*\r\n\r\nIt's hard to make computer science interesting, or even relevant, but in this talk I focus on the key aspects that you can't ignore. It's important to know when you stumble across an NP-Complete problem, and what you can do. I promise short journey into the jungle of PSPACE for developers who have never even heard these terms.\r\n", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8f517aca-8293-4e1f-9360-0ce676531421", - "name": "Jonatan Ivanov" + "id": "56225543-85a5-428d-9ab7-3556a051296d", + "name": "Gant Laborde" } ], "categories": [ @@ -3103,8 +4194,8 @@ "name": "Track", "categoryItems": [ { - "id": 290608, - "name": "Java Platform" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 @@ -3121,27 +4212,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "751053", - "title": "Migration Engineering with OpenRewrite: The Recipe for Success", - "description": "How adaptable is your technology stack to changes in business requirements, technological advancements, and the availability of new and better tools? When you can more easily secure, upgrade, move, or modernize your code, that means you can adapt quickly and efficiently to changes in technology and markets. That’s what Migration Engineering is all about—and what we’ll be exploring in this workshop.\r\n\r\nWe’ll discuss and demonstrate how to create custom recipes using OpenRewrite, an open source auto-refactoring tool that enables large-scale code analysis and transformations. You’ll learn the make-up of recipes as we walk through a number of examples, then we’ll demonstrate how to write code search and transformation actions that are custom to your organization. We will assemble these recipes with the visitor pattern, and show how to stitch recipes together with YAML, with Refaster-style templates, with Semgrep matchers, etc. We’ll also show how Generative AI can be applied to accelerate recipe development. \r\n\r\nThis is a comprehensive look at all kinds of recipe development that will enable you to come away fully equipped to plan and exercise large-scale code transformations in your organization.", - "startsAt": null, - "endsAt": null, + "id": "755446", + "title": "Cache Smarter, Not Harder: A Practical Guide to Choosing the Best Caching Strategy", + "description": "In today's rapidly evolving digital landscape, ensuring application performance at scale requires efficient caching solutions. How can developers reduce latency, alleviate database load, and make the right architectural decisions to ensure scalability and cost-effectiveness? This talk offers a comprehensive overview of modern caching mechanisms, including in-memory, distributed, and hybrid solutions, with key technologies such as Redis, Memcached, Apache Ignite, and CDNs. \r\n\r\nParticipants will explore the fundamental principles behind these technologies and learn to navigate the trade-offs in scalability, data consistency, and performance. Through real-world use cases like session management, distributed data processing, and big data applications, this session provides actionable insights on how to select and integrate the most suitable caching mechanism for specific application demands.\r\n\r\nBy the end, attendees will walk away with a clear framework for evaluating caching solutions and practical strategies to optimize their architecture for high performance and scalability. ", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4c5e0fa5-266a-40aa-b27b-c72bc1ce7f9a", - "name": "Jonathan Schneider" + "id": "f7d03f66-8402-4926-ba4c-aade6a3f7817", + "name": "Medha Chakraborty" + }, + { + "id": "616f816d-a777-4392-a9cd-f93bf93ddab9", + "name": "Eswaran Rathinam" } ], "categories": [ @@ -3161,38 +4256,34 @@ "name": "Session Format", "categoryItems": [ { - "id": 290620, - "name": "workshop" + "id": 290619, + "name": "session" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "750788", - "title": "ML Ops for Java Developers: A Hands-On Guide with Kubeflow and Quarkus", - "description": "Machine learning is becoming a must-have skill in today's world. But do Java developers know how an ML Ops platform works under the hood? Do they know the best practices for integrating ML models into their Java applications?\r\nThis session is your go-to guide for understanding how ML Ops works and the best practices for consuming it within the Java ecosystem. We'll explore how Kubeflow, a powerful ML platform, simplifies the entire machine learning lifecycle—from model training to serving at scale. You’ll also discover how Quarkus, the Kubernetes-native Java framework, can efficiently deploy these models, making them easy to consume within your Java applications.\r\nDon’t miss this chance to elevate your Java skills and dive into the future of ML Ops. Join us and learn how to integrate machine learning into your Java projects with Kubeflow and Quarkus. Your journey to becoming a Java ML Ops expert starts here! \r\n", - "startsAt": null, - "endsAt": null, + "id": "753366", + "title": "Generative DevOps", + "description": "AI’s capabilities for software development through code generation have become well known, with 81% of devs reporting using a coding assistant. However, this shift in the way developers write software has implications across the software development lifecycle. This talk highlights the importance of leveraging AI across all of your DevOps process – not just code. We’ll look at some exciting new use cases for testing, monitoring and observability, and continuous deployments, as well as strategies for ensuring a successful approach to integrating AI into DevOps on your team.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ac4674f3-5f5f-4b2c-ad7f-01073acf6b0f", - "name": "Eder Ignatowicz" - }, - { - "id": "058c3cdc-0607-4437-81bb-07a1aed5d05c", - "name": "Elder Moraes" + "id": "85becfa6-8765-4c3c-b805-e393ed3dd954", + "name": "Cecelia Martinez" } ], "categories": [ @@ -3201,8 +4292,8 @@ "name": "Track", "categoryItems": [ { - "id": 290614, - "name": "Cloud Native" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 @@ -3219,27 +4310,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "742963", - "title": "Modern Problems Require Modern Solutions: Finding Your Meme Twin with Embeddings & Vector Databases", - "description": "Do you look like a famous meme character? Does someone you know? Knowing this information is vital—both for your career and your personal life. After all, am I the only one around here who wants to avoid [Angry Walter](https://knowyourmeme.com/memes/am-i-the-only-one-around-here)? And who *wouldn't* want to work with [Success Kid](https://knowyourmeme.com/memes/success-kid-i-hate-sandcastles).\r\n\r\nBut can we even find out if we have a meme twin? There are lots of memes. And lots of people. How could we possibly search them all? Well, it's easier than you think if we turn those memes into embeddings and search them with a vector database!\r\n\r\nBut what's an embedding? And what's a vector database? Well, that's what I'll cover in this session. I'll begin by exploring embeddings, showing how unstructured data, such as text and images, can be translated into hyper-dimensional arrays—called vectors—using both common and custom AI models. Then I'll talk about vector databases, covering what they are and how you can use them to store and search those embeddings with embeddings of your own.\r\n\r\nOf course, we'll do this all by example. I've turned all the big memes—from [Ancient Aliens Guy](https://knowyourmeme.com/memes/ancient-aliens) to [Zombie Boy](https://imgflip.com/memegenerator/184608242/zombie-boy)—into embeddings and have loaded them into a vector database. I've built an application around these embeddings and that database. I'll show you the code and the queries of this application so that you can build something similar for yourself. And, most importantly, we'll take some photos during the session and use it all to find your meme twin!\r\n\r\nSo, are you ready to find your meme twin? Or are you ready to learn how to use this technology? I say, [Why Not Both](https://knowyourmeme.com/memes/why-not-both-why-dont-we-have-both).", - "startsAt": null, - "endsAt": null, + "id": "770490", + "title": "Shield your Java code: Practical guides for trusted software", + "description": "In today's interconnected software landscape, securing your Java code is paramount to protecting your organization's assets and reputation. This session will delve into practical strategies for building trusted Java applications, focusing on the critical aspects of the software supply chain. We will explore best practices for vulnerability management, dependency analysis, secure coding practices, and effective security testing methodologies. Discover how to identify and mitigate common vulnerabilities, protect your applications from external threats, and ensure the integrity of your software development process. By the end of this session, you will have a comprehensive understanding of the essential steps to shield your Java code and build resilient, secure applications.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "520bf4ca-b2d3-47c3-8475-c25bb2b257f7", - "name": "Guy Royse" + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" } ], "categories": [ @@ -3248,8 +4339,8 @@ "name": "Track", "categoryItems": [ { - "id": 290615, - "name": "Artificial Intelligence" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 @@ -3266,27 +4357,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "748900", - "title": "Navigating Uncertainty in Software Development: Effective Planning Techniques", - "description": "In an ever-changing world, uncertainty is a constant companion, especially in the realm of software development. Traditional heavy planning practices promise certainty and confidence yet fail to deliver results. This session explores practical techniques to help teams effectively plan and navigate through uncertainty, enabling them to move forward despite the presence of unknowns.\r\n\r\nAttendees will gain insights into:\r\n* Models for understanding problems (Cynefin Framework, and Rumsfeld's Known and Unknowns)\r\n* Multi-level approaches to addressing different types of uncertainty\r\n* Strategies for communicating plans and progress with confidence, even in uncertain circumstances\r\n\r\nThrough real-world examples, this session empowers attendees to embrace uncertainty and equips them with the tools necessary to guide their teams towards successful outcomes. Whether you are a developer, team lead, or product manager, this session will provide you with a fresh perspective on planning in the face of uncertainty.", - "startsAt": null, - "endsAt": null, + "id": "750567", + "title": "Are you crazy? hosting 25 years old java code on a brand-new cloud?", + "description": "Hosting legacy Java code on a modern cloud platform poses unique challenges. The age gap between the legacy code and the cutting-edge cloud environment requires careful consideration of compatibility, capability, performance, debuggability, observability, and security. If we are looking for a first-class cloud-native experience, then we need to focus on re-architecting, refactoring, and retargeting the code. On a positive note, this process provides an opportunity to enhance the system’s scalability, resilience, and maintainability using the latest cloud technologies. Enter application modernization! This session presents a practical approach to bridging the gap between legacy systems and modern execution environments. Attendees will learn not only best practices around application modernisation but also gain insights into how this approach turns challenges into opportunities for innovation, resulting in a more agile, scalable, and future-proof system.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f3734903-c73a-4470-b707-fee91b93a7e8", - "name": "Jodi Jones" + "id": "40bb5fa8-ff71-437e-b3e6-49189208e664", + "name": "Elsa Zacharia" + }, + { + "id": "06008a63-f49b-451e-b0ae-44ccaf9bf0cc", + "name": "Akula Harshitha" } ], "categories": [ @@ -3295,8 +4390,8 @@ "name": "Track", "categoryItems": [ { - "id": 302778, - "name": "Tech Leadership" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 @@ -3313,8 +4408,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3323,17 +4418,17 @@ }, { "questionAnswers": [], - "id": "751558", - "title": "Nurturing OpenJDK distribution: Eclipse Temurin Success History and Plan", - "description": "Join me as we explore the pillars that make Eclipse Temurin one of the most widely adopted, enterprise-ready OpenJDK Runtime (over 20M monthly downloads) and also delve into the future of Adoptium and explore the goals set for 2025. \r\nAs we navigate the landscape of open source Java runtimes, Adoptium is committed to fostering vibrant, healthy projects that thrive with the support of robust communities. In this talk, we will also shine a spotlight on our dedication to delivering quality and outstanding performance, with a special focus on our AQAvit project and Security Effort.", - "startsAt": null, - "endsAt": null, + "id": "750629", + "title": "Unveiling the Magical Power of Java Virtual Threads", + "description": "Thread-per-request programming limits application scalability, leading developers to adopt thread sharing and asynchronous programming to better utilize hardware, though this introduces additional complexity. Creating reactive pipelines, debugging them, and visualizing their execution can be complicated tasks, compounded by the complexities that arise when exceptions occur.\r\nJava Virtual Threads enable applications to scale while preserving the thread-per-request style programming. Just as operating systems create the illusion of abundant memory by mapping a large virtual address space to limited physical RAM, a Java runtime can create the illusion of many threads by mapping numerous virtual threads to a few OS threads.\r\nLet's explore Java virtual threads, including how they work under the hood, their use cases, and the APIs introduced by Project Loom. We'll also compare traditional threads with virtual threads through a simple programming example to see their benefits in action.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b9c86848-8925-4ca8-b33f-933532e6c3ef", - "name": "Carmen Delgado" + "id": "912ee409-63c5-40c5-82ec-aabe804f526c", + "name": "Anamika Roychowdhury" } ], "categories": [ @@ -3342,8 +4437,8 @@ "name": "Track", "categoryItems": [ { - "id": 290609, - "name": "Practices and other tech" + "id": 290606, + "name": "Core Java" } ], "sort": 0 @@ -3360,31 +4455,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "743493", - "title": "OG Refactoring (Observing Gamma): Patterns to Refactor Towards", - "description": "Erich Gamma, et al's Design Patterns: Elements of Reusable Object-Oriented Software came out in 1994. Martin Fowler’s Refactoring: Improving the Design of Existing Code was first published in 1999. Joshua Kerievsky's Refactoring to Patterns in 2004. \r\n\r\nWhat have we learned since then about refactoring? What do we, as professional software developers, need to know before deciding to do a refactor on a legacy codebase? \r\n \r\nThe audience for this session are software developers and the people that interface with them (product owners, scrum masters, development managers) who need to know the value of this important and often neglected technical practice.\r\n \r\nAt the end of the session, the attendee will be able to identify hidden patterns in their code bases, plan a refactor effort on legacy codebases, write their own refactorings, and recognize accidental code complexity in large codebases.\r\n", - "startsAt": null, - "endsAt": null, + "id": "800031", + "title": "Building Scalable Systems and Services with Spring Boot 3.4 ", + "description": "Hi, Spring fans! In this installment we're going to look at how to build scalable systems and services using the amazing Spring Boot 3.4 release and all the umbrella projects that accompany it. \r\n\r\nWe'll look at the basics - a sort of desk check for the wayward Spring developer - to ensure that development itself is scalable when using Spring.\r\n\r\nWe'll look at the basics of data access and web programming with Spring. We'll look at data processing strategies, too.\r\n\r\nWe'll look at how to build modular, intelligent applications with Spring Modulith and Spring AI. \r\n\r\nWe'll look at how to build messaging and integration into our system. \r\n\r\nWe'll look at how to integrate security into the system, making passwords safe and then - ideally - avoiding them altogether. \r\n\r\nAnd we'll look at scaling and optimizing Spring applications, too. \r\n\r\nProduction is the happiest place on earth! Join me for this workshop and we'll learn how to get there with aplomb. ", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "83fd871a-3bbe-4d41-92a4-9443e7c66c5f", - "name": "Aaron McClennen" - }, - { - "id": "eaa23bbd-1207-432d-8c52-eed0035f0ddf", - "name": "M. Jeff Wilson" + "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", + "name": "Josh Long" } ], "categories": [ @@ -3393,8 +4484,8 @@ "name": "Track", "categoryItems": [ { - "id": 290611, - "name": "Tools and techniques" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 @@ -3404,15 +4495,15 @@ "name": "Session Format", "categoryItems": [ { - "id": 290619, - "name": "session" + "id": 290620, + "name": "workshop" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3421,17 +4512,17 @@ }, { "questionAnswers": [], - "id": "753141", - "title": "Optimize cold starts for Java functions using AWS Lambda SnapStart", - "description": "In this session, we will explore advanced techniques for optimizing cold starts in Java functions using AWS Lambda SnapStart. Cold starts, a common challenge in serverless architectures, can significantly impact the performance and responsiveness of Java applications. AWS Lambda SnapStart offers a robust solution by creating snapshots of function execution environments, which can be quickly restored during function invocations. This session will delve into the mechanics of Lambda SnapStart, highlighting how it reduces initialization times. Attendees will gain practical insights into configuring SnapStart for Java functions and best practices for minimizing latency. Whether you are a developer, architect, or DevOps engineer, this session will equip you with the knowledge to leverage AWS Lambda SnapStart for seamless and efficient serverless applications.", - "startsAt": null, - "endsAt": null, + "id": "741181", + "title": "Setting up data driven tests with Java tools", + "description": "Everyone knows that performing tests during development is the Right Thing to do. But how do we test data driven test cases? How can we ensure clean environments, reproducible outcomes, setting the database with the correct state, ensuring results match expectations, and so on? The Java ecosystem offers several options that we can leverage to answer these questions. In this session we'll cover how to configure data driven testcases with Testcontainers, setup database state and verify results with DbUnit and Database Rider, even test PL/SQL statements.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f309415d-e050-4c6a-912e-55030a999d12", - "name": "Abel Fresnillo Silva" + "id": "720cdc7d-0ae6-44d3-af2a-eebc0a086508", + "name": "Andres Almiray" } ], "categories": [ @@ -3440,8 +4531,8 @@ "name": "Track", "categoryItems": [ { - "id": 290605, - "name": "Cloud Technology" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 @@ -3458,8 +4549,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3468,21 +4559,17 @@ }, { "questionAnswers": [], - "id": "751289", - "title": "Optimizing Containerized Java Apps with Jib, GraalVM, CDS, and CRaC", - "description": "In today’s cloud-native world, keeping microservices reliable and scalable is essential. Java Java developers and architects often struggle to optimize containerized Java apps because configuring and integrating powerful tools into their build processes is complex. This session explores practical techniques to improve performance in cloud environments, including creating custom JREs, using Jib for easier container builds, and leveraging GraalVM for faster startup times. You’ll learn to use Class Data Sharing (CDS) and CRaC to improve startup times, while evaluating trade-offs to choose the best optimization techniques, ensuring your applications are optimized for scale, reliability, and efficiency in the cloud.", - "startsAt": null, - "endsAt": null, + "id": "751558", + "title": "Nurturing OpenJDK distribution: Eclipse Temurin Success History and Plan", + "description": "Join me as we explore the pillars that make Eclipse Temurin one of the most widely adopted, enterprise-ready OpenJDK Runtime (over 20M monthly downloads) and also delve into the future of Adoptium and explore the goals set for 2025. \r\nAs we navigate the landscape of open source Java runtimes, Adoptium is committed to fostering vibrant, healthy projects that thrive with the support of robust communities. In this talk, we will also shine a spotlight on our dedication to delivering quality and outstanding performance, with a special focus on our AQAvit project and Security Effort.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "763e5a81-e0ba-4663-8dec-86a46ab80604", - "name": "Fernanda Machado" - }, - { - "id": "058c3cdc-0607-4437-81bb-07a1aed5d05c", - "name": "Elder Moraes" + "id": "b9c86848-8925-4ca8-b33f-933532e6c3ef", + "name": "Carmen Delgado" } ], "categories": [ @@ -3491,8 +4578,8 @@ "name": "Track", "categoryItems": [ { - "id": 290614, - "name": "Cloud Native" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 @@ -3509,31 +4596,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "743625", - "title": "Platform Engineering 101: Building Internal Developer Platforms", - "description": "Tell us what you want, what you really, really want… Developer productivity and reduced cognitive load, of course!\r\n\r\nIn our world of cloud-native Java development and shift-left mentality, developers are now drowning! They have an endless flood of tasks and responsibilities on their shoulders, whilst battling an ever-increasing sea of potential technologies and tools to use. Change is needed! So, build a dam with us through platform engineering and IDPs.\r\n\r\nIn this workshop, we’ll explore the concepts of platform engineering and Internal Developer Platforms (IDPs) and how they can help to relieve the cognitive load on developers, help to standardize technologies and tools used throughout an organization, streamline CI/CD pipelines and in essence enable greater developer productivity. We’ll investigate how this can all be achieved in the cloud, with example applications running in OpenShift, with Red Hat Developer Hub as the basis of our IDP. Throughout this workshop, you’ll learn how to utilize Red Hat Developer Hub, an implementation of the Backstage CNCF project, to create an IDP and then how this can be shared with development teams to enable rapid, easy deployment of their applications. We’ll demo this with a range of technologies, runtimes and tools to really showcase just how flexible and personalised these IDPs can be to your own organization and application needs.", - "startsAt": null, - "endsAt": null, + "id": "750525", + "title": "Shadow Vulnerabilities in AI/ML Data Stacks - What You Don’t Know CAN Hurt You", + "description": "The adoption of open-source AI software introduces a new family of vulnerabilities to organizations. Some components in AI, like model serving, include Remote Code Execution (RCE) by design, like when loading pre-trained models from external sources.\r\n\r\nTraditional SCA and SAST approaches are not built for the AI ecosystem leaving a huge & insecure attack surface. \r\n\r\nAI models are often downloaded from the public web, from untrusted sources in common platforms like HuggingFace using the “trust_remote_code=True” flag when loading models.  So how do we better secure our AI stacks?\r\n\r\nIn this talk, we’ll examine some of the common security anti-patterns prevalent in AI engineering, such as security issues that are not classified as CVEs by design, or patched security issues that introduce breaking changes.\r\n\r\nWe’ll review the methods introduced for better security hygiene such as new checkpoint formats (model files on disk) - like SavedModel and SafeTensors. While SCA, SAST, and traditional approaches don't analyze model checkpoints, leaving these silent vulnerabilities in your stacks, we’ll demo through real code examples, why the runtime context is crucial to detect these security issues.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7c534296-8db5-4452-b17f-9249465ea914", - "name": "Grace Jansen" - }, - { - "id": "a4305a38-d462-482b-9e4a-536eb74ec63c", - "name": "Kevin Dubois" + "id": "dea86363-2e13-4dfa-996a-200e6feb8749", + "name": "Gal Elbaz" } ], "categories": [ @@ -3542,8 +4625,8 @@ "name": "Track", "categoryItems": [ { - "id": 290614, - "name": "Cloud Native" + "id": 290610, + "name": "Security" } ], "sort": 0 @@ -3560,27 +4643,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "729888", - "title": "Polyglot persistence - which data model to pick for your workload?", - "description": "JSON, Graph, Relational, or just Key/Value? Which data model should you pick for your app to use? Does it matter? What are the benefits, what the trade-offs? So many choices and yet no good answers out there on the web. Look no further! In this talk you will learn the concepts of each of the popular data models, where they shine and where they shouldn't be your first choice.", - "startsAt": null, - "endsAt": null, + "id": "754866", + "title": "An All Code Introduction to Domain Driven Design and Hexagonal Architecture", + "description": "Domain Driven Design is designed for implementing complicated business logic and is an excellent fit for microservices development.\r\n\r\nDomain Driven Design provides a repeatable, logical structure that makes implementing business logic easier, faster, and more maintainable. Hexagonal Architecture (or Ports and Adapters) excels at producing loosely coupled, interchangeable components that fit well with DDD.\r\n\r\nIn this presentation I will introduce the Domain Driven Design and dive into the DDD concepts of Aggregates, Repositories, Value Objects, Services, Ubiquitous Language, Adapters, and Shared Kernels. I will also build an application using these patterns and leverage Hexagonal Architecture for easy extensibility. Testing will of course be included.\r\n\r\nYou will leave this presentation with a basic knowledge of Domain Driven Design, how to structure and test your application to implement DDD and how to use Hexagonal Architecture to extend your applications.\r\n\r\nNo slides; just live code.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d389ed05-18fe-4c1b-a9ba-c11417d11ad8", - "name": "Gerald Venzl" + "id": "943e1c6e-d2db-4829-b701-000eaac0f5cd", + "name": "Jeremy Davis" } ], "categories": [ @@ -3589,8 +4672,8 @@ "name": "Track", "categoryItems": [ { - "id": 290603, - "name": "Architecture" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 @@ -3607,8 +4690,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3617,17 +4700,17 @@ }, { "questionAnswers": [], - "id": "753956", - "title": "Polyglot Pipelines with Apache Nifi", - "description": "Are you feeling lost as a Java Developer in this new age where AI is becoming a part of our everyday toolkit? Are you a Python Developer looking to scale up and distribute your data processing? While Java has always been known for having strong libraries for processing data at scale; much of the advances in LLMs and RAG has been evolving in Python. In this talk, we’ll cover building polyglot data pipelines on Apache Nifi. You’ll see how Apache Nifi can be integrated with Open Source libraries to train and evaluate models that process text and images. You’ll also learn how to integrate these workflows with popular Python libraries to take advantage of the mature libraries in the Python community like PyTorch or Tensorflow. Get the most out of your data by using the best of both the Java and Python communities.", - "startsAt": null, - "endsAt": null, + "id": "751886", + "title": "Architecting a Front-End Project for Longevity", + "description": "Building software is hard enough, but sculpting a sustainable, maintainable front-end project is an art form. In this talk, we'll dive into pivotal concepts for establishing a new project or revitalizing an existing one. We will discuss strategies that empower you and your team to engineer projects with the adaptability crucial for their long-term success.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7f8e5588-7314-41ac-854a-0ddf6fe867d2", - "name": "Bob Paulin" + "id": "27a63fc1-2981-4a83-8f13-fa986f36de8d", + "name": "Sean McQuaid" } ], "categories": [ @@ -3636,8 +4719,8 @@ "name": "Track", "categoryItems": [ { - "id": 290615, - "name": "Artificial Intelligence" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 @@ -3654,27 +4737,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "751867", - "title": "Project Panama: Unleashing native libraries", - "description": "Many native libraries offer powerful solutions to interesting problems that could greatly benefit Java developers. However, working with native code has traditionally been difficult on the Java platform. One had to contend with the boiler plate of writing JNI code in order to interact with native libraries. And it only got worse when trying to use native types, like structures, that have no java equivalent. Project Panama solves all these issues by introducing an FFI and Memory Access APIs that lets Java developers’ interop with native code seamlessly. Come to this session to learn more about how OpenJDK Project Panama can help you interact with native libraries seamlessly.", - "startsAt": null, - "endsAt": null, + "id": "755597", + "title": "Duke on CRaC with Jakarta EE", + "description": "Have you heard of Coordinated Restore at Checkpoint (CRaC)? The short version is that it is a super fast way to start your Java applications. Did you know that you can do that with Jakarta EE as well? \r\n\r\nJoin us in this session and follow Duke’s adventures of building modern and quick Jakarta EE applications with even faster start-up time. You will learn the basics of CRaC as well as gain an understanding of why it is a particularly good fit for Jakarta EE.\r\n", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d7993bab-ecad-4202-8a76-61b64f27cbf6", - "name": "Tobi Ajila" + "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27", + "name": "Ivar Grimstad" + }, + { + "id": "ad998165-d26a-4c98-8aac-ee60a16c638a", + "name": "Rustam Mehmandarov" } ], "categories": [ @@ -3683,8 +4770,8 @@ "name": "Track", "categoryItems": [ { - "id": 290608, - "name": "Java Platform" + "id": 290617, + "name": "JakartaEE" } ], "sort": 0 @@ -3701,27 +4788,46 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "30fba086-ad81-4279-981b-000d0ed71caf", + "title": "Lunch", + "description": null, + "startsAt": "2025-03-06T12:30:00", + "endsAt": "2025-03-06T13:30:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, "isConfirmed": false }, { "questionAnswers": [], - "id": "751195", - "title": "REST vs GraphQL vs gRPC", - "description": "For many years REST has been the only way to implement API-endpoints. However in recent years, we are seeing its limitations. GraphQL and gRPC have emerged to address these limitations, but they are not the silver bullet, they have their own shortcomings. What is the best way to implement an API endpoint? We will try to answer these questions in this session. We will look at industry examples to understand the Pros/Cons of each of them. We will have a live demo where we will be using these API styles to interact with an actual application.", - "startsAt": null, - "endsAt": null, + "id": "754152", + "title": "How Not To Be Mentored", + "description": "How to does one get the best out of a mentor-ship, while providing value to both the mentee and the mentor in times of time spent and growth? \r\n\r\nThe mentee/mentor relationship in tech tends to be wrought with issues if not structured properly on both ends. This talk hopes to provide actionable steps learned from my wins and losses based on my experience being a part of a learn-to-code mentorship group for 1 year period. This talk will include : \r\n=> Understanding the value propositions of the participants [mentee vs mentor]), etc.\r\n=> Setting relationship fundamentals/foundations and expectations/results.\r\n=> Time and task management suggestions.\r\n=> How to deal with challenges as they come up. \r\n=> Content to read ( books, articles, and people to follow on Twitter).\r\n=> Etc ( Anything else that can come to mind when writing this talk based on the theme of the audience/ conference ). ", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "0bf01427-5704-4bf4-9409-0087807eda9a", - "name": "Chetan Galgali" + "id": "a6ee49ed-a85d-43bd-8677-bced09824b2c", + "name": "Nerando Johnson" } ], "categories": [ @@ -3730,8 +4836,8 @@ "name": "Track", "categoryItems": [ { - "id": 290603, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 @@ -3748,27 +4854,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "758766", - "title": "Runtime Efficiencies and Spring Boot", - "description": "Spring Boot 3 introduces a suite of features designed to enhance runtime performance and optimize resource usage. In this talk, we’ll explore the key innovations in this release that help developers build faster, more efficient applications. We'll begin with Ahead-of-Time (AOT) processing, which accelerates startup times by precomputing application configurations, followed by Class Data Sharing (CDS), which reduces memory usage by allowing JVM processes to share class metadata.\r\n\r\nWe’ll dive into GraalVM native images, highlighting how they drastically improve startup performance and memory consumption, making them ideal for modern cloud-native applications. We’ll also cover Project CRAC (Coordinated Restore at Checkpoint), a game-changer for reducing startup times in containerized environments by allowing JVM applications to be suspended and restored with minimal overhead.\r\n\r\nFinally, we'll wrap up with the integration of Java 21's virtual threads, a revolutionary improvement in how Spring Boot handles high-concurrency tasks, greatly enhancing scalability and efficiency. Through live demos, you'll learn how to leverage these tools and techniques to optimize your Spring Boot applications for maximum runtime performance.", - "startsAt": null, - "endsAt": null, + "id": "751195", + "title": "REST vs GraphQL vs gRPC", + "description": "For many years REST has been the only way to implement API-endpoints. However in recent years, we are seeing its limitations. GraphQL and gRPC have emerged to address these limitations, but they are not the silver bullet, they have their own shortcomings. What is the best way to implement an API endpoint? We will try to answer these questions in this session. We will look at industry examples to understand the Pros/Cons of each of them. We will have a live demo where we will be using these API styles to interact with an actual application.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "345b7e02-c223-49a0-875d-0a3502ee2e82", - "name": "DaShaun Carter" + "id": "0bf01427-5704-4bf4-9409-0087807eda9a", + "name": "Chetan Galgali" + }, + { + "id": "34b5127e-3fb1-4506-813a-3cd68f86bf22", + "name": "Ben Westmoreland" } ], "categories": [ @@ -3777,8 +4887,8 @@ "name": "Track", "categoryItems": [ { - "id": 290607, - "name": "Frameworks" + "id": 290603, + "name": "Architecture" } ], "sort": 0 @@ -3795,31 +4905,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "740966", - "title": "Securing LLM-Powered Applications: Overcoming Security and Privacy Challenges", - "description": "LLMs accessing the database and intelligent agents that perform online purchases? The possibilities for AI in applications seem endless but so are their security and data privacy risks. In this session, we’ll address common issues such as prompt injection, key leakage, abuse of private customer data for model training, legal restrictions, and more. In addition, we will show that general security issues in your systems can also influence the behavior and outcome of LLMs. \r\nDuring this session, you’ll get a solid overview of the vulnerabilities to avoid, strategies to ensure data privacy compliance and best practices for building secure LLM-powered applications.", - "startsAt": null, - "endsAt": null, + "id": "746227", + "title": "Don't Call it a Comeback: SQL in Cloud AI and ML", + "description": "While Python and specialized ML libraries dominate the AI/ML landscape, SQL's simplicity and power remain invaluable for developers. This session will demonstrate how SQL seamlessly integrates with Google Cloud Platform's AI/ML tools, enabling developers to leverage their existing SQL skills for efficient data handling and model building. We'll cover techniques for data exploration, feature engineering, and model training directly within BigQuery, and showcase how to deploy and manage models at scale using Vertex AI's SQL interface. Through hands-on examples and code demonstrations, you'll gain practical insights into harnessing SQL's capabilities to streamline your Cloud AI/ML development process. ", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "50e931e4-bda7-4065-b4c4-5083683497e6", - "name": "Brian Vermeer" - }, - { - "id": "3aa1b5bf-3169-48e9-afe2-708f50426f3b", - "name": "Lize Raes" + "id": "6899d8db-4ad2-4599-934a-08d37dcc250e", + "name": "Amy Russ" } ], "categories": [ @@ -3828,8 +4934,8 @@ "name": "Track", "categoryItems": [ { - "id": 290610, - "name": "Security" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 @@ -3846,8 +4952,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3856,17 +4962,17 @@ }, { "questionAnswers": [], - "id": "750525", - "title": "Shadow Vulnerabilities in AI/ML Data Stacks - What You Don’t Know CAN Hurt You", - "description": "The adoption of open-source AI software introduces a new family of vulnerabilities to organizations. Some components in AI, like model serving, include Remote Code Execution (RCE) by design, like when loading pre-trained models from external sources.\r\n\r\nTraditional SCA and SAST approaches are not built for the AI ecosystem leaving a huge & insecure attack surface. \r\n\r\nAI models are often downloaded from the public web, from untrusted sources in common platforms like HuggingFace using the “trust_remote_code=True” flag when loading models.  So how do we better secure our AI stacks?\r\n\r\nIn this talk, we’ll examine some of the common security anti-patterns prevalent in AI engineering, such as security issues that are not classified as CVEs by design, or patched security issues that introduce breaking changes.\r\n\r\nWe’ll review the methods introduced for better security hygiene such as new checkpoint formats (model files on disk) - like SavedModel and SafeTensors. While SCA, SAST, and traditional approaches don't analyze model checkpoints, leaving these silent vulnerabilities in your stacks, we’ll demo through real code examples, why the runtime context is crucial to detect these security issues.", - "startsAt": null, - "endsAt": null, + "id": "750111", + "title": "Test-Driven Development: It's easier than you think!", + "description": "Everyone loves writing tests, don’t they? How do you write good tests? What tools are available for you to write good tests?\r\n\r\nIn this session, I will dive into the many features of Quarkus that help developers write good tests. I will highlight some of the features of Quarkus, Dev Services and Continuous Testing, which help make testing easier. Additionally, I will live code some tests for common use cases developers encounter, including unit, integration, and “black box” testing of imperative and reactive RESTful and event-driven applications that use common services, such as databases and Kafka brokers. I will discuss techniques such as mocking, spying, and interaction-based testing/verification.\r\n\r\nI'll even spend some time showing how IDE-based AI assistants can help!\r\n\r\nOnce you see how easy TDD really can be there isn't a reason to not do it!", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "dea86363-2e13-4dfa-996a-200e6feb8749", - "name": "Gal Elbaz" + "id": "6f672350-1c71-4a6e-a382-2b1db6e631fd", + "name": "Eric Deandrea" } ], "categories": [ @@ -3875,8 +4981,8 @@ "name": "Track", "categoryItems": [ { - "id": 290610, - "name": "Security" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 @@ -3893,27 +4999,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "770490", - "title": "Shield your Java code: Practical guides for trusted software", - "description": "In today's interconnected software landscape, securing your Java code is paramount to protecting your organization's assets and reputation. This session will delve into practical strategies for building trusted Java applications, focusing on the critical aspects of the software supply chain. We will explore best practices for vulnerability management, dependency analysis, secure coding practices, and effective security testing methodologies. Discover how to identify and mitigate common vulnerabilities, protect your applications from external threats, and ensure the integrity of your software development process. By the end of this session, you will have a comprehensive understanding of the essential steps to shield your Java code and build resilient, secure applications.", - "startsAt": null, - "endsAt": null, + "id": "753141", + "title": "Optimize cold starts for Java functions using AWS Lambda SnapStart", + "description": "In this session, we will explore advanced techniques for optimizing cold starts in Java functions using AWS Lambda SnapStart. Cold starts, a common challenge in serverless architectures, can significantly impact the performance and responsiveness of Java applications. AWS Lambda SnapStart offers a robust solution by creating snapshots of function execution environments, which can be quickly restored during function invocations. This session will delve into the mechanics of Lambda SnapStart, highlighting how it reduces initialization times. Attendees will gain practical insights into configuring SnapStart for Java functions and best practices for minimizing latency. Whether you are a developer, architect, or DevOps engineer, this session will equip you with the knowledge to leverage AWS Lambda SnapStart for seamless and efficient serverless applications.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", - "name": "Daniel Oh" + "id": "f309415d-e050-4c6a-912e-55030a999d12", + "name": "Abel Fresnillo Silva" } ], "categories": [ @@ -3922,8 +5028,8 @@ "name": "Track", "categoryItems": [ { - "id": 290614, - "name": "Cloud Native" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 @@ -3940,8 +5046,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3950,17 +5056,17 @@ }, { "questionAnswers": [], - "id": "752337", - "title": "Sociotechnical Platform Engineering", - "description": "devOps practices help reduce friction to production for technologists. Once an application has user traffic, user experience should become a priority, but at what cost?\r\n\r\nThis talk will connect human centered devOps & SRE practices across a value stream to explore how platforms balance developer experience against production stability over time, and how process dependencies factor into overall platform success.\r\n\r\nthis talk will Explore:\r\n- How pipelines are value streams\r\n- A general-purpose value stream map for platforms\r\n- Dependency (wardley) maps for platform processes\r\n- Aligning SLIs, SLOs, & SLAs across our platform VSM\r\n- Establishing Error Budgets\r\n- Chaos Engineering & Complexity Science", - "startsAt": null, - "endsAt": null, + "id": "758773", + "title": "Testing Your Way to Production Confidence with Native Images", + "description": "For Spring developers, GraalVM native images offer exciting potential: smaller footprint, faster startup, and improved performance. However, confidently deploying these images requires verifying they produce the same results as your JVM-based application. This talk shares a practical pattern for testing Spring Boot native images, ensuring a smooth transition from development to production.\r\n\r\nKey Takeaways:\r\n\r\n- Leveraging Testcontainers for external resource validation: Learn how to use Testcontainers to ensure your native image interacts seamlessly with external systems like databases, queues, and caches.\r\n\r\n-Testing native images with RestAssured: See how to use the same RestAssured tests against both your JVM and native image builds, guaranteeing functional parity.\r\n\r\n- Efficient testing strategy: Learn how to save time and resources by focusing native image testing in your CICD pipeline, while ensuring confidence through earlier-stage validations.\r\n\r\nJoin this talk to gain practical insights and a step-by-step approach for testing Spring Boot native images with confidence. Feel the freedom to deploy with performance gains without sacrificing reliability.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "0494255d-10a1-4ec1-8c00-b0881c434931", - "name": "Chris Corriere" + "id": "345b7e02-c223-49a0-875d-0a3502ee2e82", + "name": "DaShaun Carter" } ], "categories": [ @@ -3969,8 +5075,8 @@ "name": "Track", "categoryItems": [ { - "id": 290603, - "name": "Architecture" + "id": 290606, + "name": "Core Java" } ], "sort": 0 @@ -3987,27 +5093,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "754814", - "title": "Software and AI in the time of Legislation.  New (and old) laws for developers", - "description": "The software development landscape is rapidly changing, with legislation emerging as a key driver of industry trends. As our reliance on software and AI grows, so does its vulnerability to cybercrime – now a staggering $6 trillion problem. This has caught the attention of regulators worldwide. \r\n\r\nThis talk examines the complex interplay between software, AI, and the law, with a particular focus on what this means for Java developers. \r\n\r\nWe'll explore the challenges of securing the software supply chain, examine the reasoning behind recent legislation and see how they come together. \r\n\r\nWe'll look at practical frameworks for weaving compliance into development practices and tackle both the ethical and pragmatic aspects of a developer's role in mitigating cyber risks. By reframing security and compliance not as obstacles, but as catalysts for pushing the boundaries of productivity and technology we can gain insights to what is needed to thrive in an evolving legal environment without stifling innovation. \r\n\r\nAI, Software, and the Law – more opportunity than obstacle\r\n", - "startsAt": null, - "endsAt": null, + "id": "759124", + "title": "The Overwhelmed Spring Developer's Guide To AI", + "description": "What is the antidote when a Spring developer hears you hear, “Hey, can you just add some AI to that?” Can you leverage the tools you’ve been using for years to help us build this solution? This talk strips away the jargon and intimidation, offering a no-nonsense path to integrating AI into your Spring applications utilizing Spring tools like Spring Boot, Spring Batch, and Spring Pulsar to help you to populate your favorite vector store with the data necessary help reduce those pesky hallucinations provided for free from our favorite AI models. ", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7a6d377f-3ce1-4b32-9014-c70c87022fd0", - "name": "Steve Poole" + "id": "25b4a764-0ab3-4a6b-b7b6-8e5f5d46dfc6", + "name": "Glenn Renfro" + }, + { + "id": "974e24f5-044f-4552-a362-fdefd445dabc", + "name": "Chris Bono" } ], "categories": [ @@ -4016,8 +5126,8 @@ "name": "Track", "categoryItems": [ { - "id": 290610, - "name": "Security" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 @@ -4034,27 +5144,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, { "questionAnswers": [], - "id": "738682", - "title": "Software Supply Chain Security with Policy as Code", - "description": "How do you ensure that your Java software supply chain is secure? How do you reliably repeat and automate governance and compliance of your Java applications?\r\n\r\nPolicy as Code (PaC) enables orgs to apply automated controls across multiple policy enforcement points and artifact types. This talk will explore how OSS PaC can be used to validate software supply chain artifacts, focusing on Java ecosystem artifacts. \r\n\r\nThis talk will cover PaC concepts, and how to use PaC to detect and prevent unwanted behaviors. PaC concepts learned in this talk will work at the developer desktop as well as in continuous integration automation, thereby improving governance and compliance of the Java software supply chain.", - "startsAt": null, - "endsAt": null, + "id": "734173", + "title": "Code coverage MythBusters", + "description": "Code coverage is a compelling set of metrics that can help you improve the quality of your software, prevent potential bugs, and even help you investigate the issues.\r\n\r\nAnd as we know with great power comes great responsibility. When applied in the wrong way code coverage can easily transform from your best friend that can boost a developer’s productivity into your worst enemy that throws the sand in the wheels of your developers' productivity machine.\r\n\r\nAfter many years of answering community questions about code coverage in the JaCoCo mailing list, StackOverflow, and in the Sonar community forum we learned that most software engineers don’t understand the purpose of code coverage and how to apply it correctly. \r\n\r\nIn this talk, we will dispel the most popular myths built around code coverage. This talk will help you understand the concept of code coverage, how it should be used, and how to boost your productivity with code coverage.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "faeaeb23-20cd-45d0-955a-8a09a170e7f3", - "name": "Jimmy Ray" + "id": "eeb25beb-5d37-4fb7-acac-170357a1d89b", + "name": "Marharyta Nedzelska" + }, + { + "id": "d2ddc9e3-35b6-44a9-8daa-144d89cabaff", + "name": "Evgeny Mandrikov" } ], "categories": [ @@ -4063,8 +5177,8 @@ "name": "Track", "categoryItems": [ { - "id": 290610, - "name": "Security" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 @@ -4081,8 +5195,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4091,17 +5205,17 @@ }, { "questionAnswers": [], - "id": "771631", - "title": "Spring AI: Seamlessly Integrating AI into Your Enterprise Java Applications", - "description": "As artificial intelligence becomes increasingly important in enterprise software development, Java developers need practical ways to integrate AI capabilities into their applications. Spring AI provides a familiar and pragmatic approach to this challenge, allowing developers to incorporate AI features while leveraging the established patterns and practices of the Spring ecosystem.\r\n\r\nThis session demonstrates Spring AI's portable APIs that enable developers to switch seamlessly between different AI models and vector stores. We'll show how this abstraction layer allows you to write code once and run it with providers like OpenAI, Azure OpenAI, or local models, as well as vector stores such as Postgres, Chroma, or Weaviate.\r\n\r\nThrough live coding demonstrations, we'll showcase:\r\n* RAG (Retrieval-Augmented Generation) implementation using vector databases for intelligent document processing\r\n* Function Calling patterns that enable AI models to interact with your business logic\r\n* Evaluation techniques to measure LLM response accuracy and mitigate hallucination\r\n* Observability features to monitor your AI application's behavior in production\r\n", - "startsAt": null, - "endsAt": null, + "id": "751874", + "title": "Developer’s Guide to Test-Driven Development and Approval Testing", + "description": "In this session you’ll learn about Test-Driven Development (TDD), Approval Testing, and how using them can help you deliver better code in less time. \r\n\r\nTDD is a great way to ensure your code meets the business requirements and is easy for other developers to understand and modify. Writing automated tests before you write the associated production code, and refactoring both the test and production code once the test passes, is a key part of TDD. So if you’re working on a project that is in production (or has lots of production code) but no automated tests, TDD can’t help much — but that’s where Approval Testing shines.\r\n\r\nApproval Testing compares the current behavior of existing code with it’s previously approved of behavior, and lets you know what (if anything) has changed. Instead of asserting that a number, or a simple string were returned, an approval test might compare a complex object with it’s approved version and let you know when things change.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "247ec778-0f81-4b84-b25d-48893a6302ad", - "name": "Mark Pollack" + "id": "7d933c95-3f49-48a4-852b-7fc30aa8b977", + "name": "Burk Hufnagel" } ], "categories": [ @@ -4110,8 +5224,8 @@ "name": "Track", "categoryItems": [ { - "id": 290615, - "name": "Artificial Intelligence" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 @@ -4128,27 +5242,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "750550", - "title": "Start covering your bases & Stop chasing APT headlines", - "description": "Cognitive biases affect us in many ways, even in cyber security: we often focus on the recent technical buzz or address a new sensational hacking campaign that was discovered. But the fact of the matter is that network breaches and ransom attacks that happen every day, are by large executed using well-known techniques, tools and procedures. \r\n\r\nThis is why we are presenting a “run-of-the-mill” simulation of a full network breach, from initial access, to discovery, lateral movement and finally exfiltration. Based on public DFIR reports, MITRE’s ATT&CK framework and common hacking tradecraft as covered by atomic red-team tests, we demonstrate how attackers execute such attacks, without the need for tailor-made and sophisticated tools or techniques. \r\n\r\nIn addition to showing the recorded simulation, we’ll discuss the importance of defense-in-depth and how you should place multiple different tripwires to stop network breaches. In particular,  the significant role that network controls and detections can play in such cases.", - "startsAt": null, - "endsAt": null, + "id": "738670", + "title": "Long Live Short Lived Credentials - Auto-rotating Secrets At Scale", + "description": "By now, you are very likely aware of the problem of secrets sprawl. Millions of hardcoded plaintext credentials keep showing up online in easy-to-scan places year after year. Worse yet, adversaries have gotten very good at exfiltrating and validating these secrets. Rotating the key or password after an attack is far too late. \r\n\r\nWhat if every credential that an adversary could find expired before they could exploit it? What if keys, just a few hours old, no longer worked? \r\n\r\nLet's embrace a future of proper secrets management and auto-rotating secrets. It might seem overwhelming at first to consider accomplishing this, especially if you have never tackled secrets management before, but for many systems, this is easier to achieve than you might realize.\r\n\r\nIn this session, you will \r\n- Get an update on the state of secrets sprawl\r\n- Diagram auto-rotation architectures\r\n- Plan a secrets audit and code refactor strategy\r\n- Start the email that will help you convince the team\r\n", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "c554d9bf-c70a-45d6-9587-64da50a7dbf0", - "name": "Avishay Zawoznik" + "id": "053bf183-629a-4dd5-b66e-e2b1d7142a49", + "name": "Dwayne McDaniel" } ], "categories": [ @@ -4175,31 +5289,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "754870", - "title": "Starting with Java in 2025", - "description": "Java is dead. Despite of hearing that a lot, Java is a modern language with impressive new features. We will demo how easy is to start with Java in 2025 and showcase the amazing features available to developers", - "startsAt": null, - "endsAt": null, + "id": "734820", + "title": "Git features you aren’t using", + "description": "In this session we'll take a tour of some features that you might or might not have heard of, but can significantly improve your workflow and day-to-day interaction with Git.\r\n\r\nGit continues to see improvements daily. However, work (and life) can take over, and we often miss the changelog. This means we don't know what changed, and consequently fail to see how we can incorporate those in our usage of Git.\r\n\r\nIn this session we will look at some features you are probably aware of, but haven't used, alongside new features that Git has brought to the table. Examples include:\r\n\r\n- Rebase and interactive rebase\r\n- `restore`/`switch` and when to use them\r\n- worktrees\r\n- shallow-clones\r\n- Git's filesystem monitor\r\n\r\nBy the end of this session, you will walk away with a slew of new tools in your arsenal, and a new perspective on how this can help you and your colleagues get the most out of Git.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8983937d-7fc9-4cb4-bdcf-ce009d874531", - "name": "Rodrigo Graciano" - }, - { - "id": "ab1b8b69-f449-4df9-b391-243a391b9d01", - "name": "Chandra Guntur" + "id": "d017112e-f5b1-4594-aee9-cdac1403e0f1", + "name": "Raju Gandhi" } ], "categories": [ @@ -4208,8 +5318,8 @@ "name": "Track", "categoryItems": [ { - "id": 302778, - "name": "Tech Leadership" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 @@ -4226,27 +5336,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "754716", - "title": "Stream Processing As You’ve Never Seen Before (Seriously): Apache Flink for Java Developers", - "description": "You were tasked with building a real-time platform, but traditional tools couldn’t handle the massive data streams, leading to lagging performance and frustrated users. Deadlines were looming, and the team needed a breakthrough.\r\n\r\nAnd when you learned about Apache Flink.\r\n\r\nWe’ll explore how the DataStream API allowed efficient real-time data processing and how the Table API and SQL features simplified complex queries with familiar syntax. Testing became more straightforward, and managing the application state was no longer a headache.\r\n\r\nYou’ll learn:\r\n\r\n\t•\tHarnessing the DataStream API: Process unbounded data streams efficiently to make your applications more responsive.\r\n\t•\tUnlocking Table API and SQL: Use SQL queries within Flink to simplify data processing tasks without learning new languages.\r\n\t•\tEffective Testing Strategies: Implement best practices for testing Flink applications to ensure your code is robust and reliable.\r\n\t•\tStateful Stream Processing: Manage application state effectively for complex event processing and real-time analytics.\r\n\r\nBy the end of this talk, you’ll be equipped to tackle real-time data challenges. Whether you are building analytics dashboards, event-driven systems, or handling data streams, Apache Flink can be the game-changer you’ve been searching for.", - "startsAt": null, - "endsAt": null, + "id": "754616", + "title": "Web Apps and Devices – Yes We Can!", + "description": "Device integrations have for decades been a problem for many business web apps. Input devices, printers, sensors and security gadgets would have their use case in many typical business apps. The \"sandbox\" by browsers has been worked around with several hacks ranging from browser plugins to native wrappers, but native apps have ruled when you need to connect to custom devices. Emerging new web standards may be changing the game forever.\r\n\r\nThis presentation will overview the possibilities (including workarounds and dirty hacks) to connect to various devices from your web apps. As a hands-on code example, we use Web Bluetooth API available in Chrome to collect ECG precise data from a wireless heart monitor belt. The row bytes are then sent over to the Java server for further analysis.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4f858987-1a60-4da8-a4a2-045824a496c7", - "name": "Viktor Gamov" + "id": "5200f95c-75b8-411a-933f-68865fcd42c6", + "name": "Matti Tahvonen" } ], "categories": [ @@ -4255,8 +5365,8 @@ "name": "Track", "categoryItems": [ { - "id": 290607, - "name": "Frameworks" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 @@ -4266,34 +5376,38 @@ "name": "Session Format", "categoryItems": [ { - "id": 290620, - "name": "workshop" + "id": 290619, + "name": "session" } ], "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "752306", - "title": "Streamlining Open Source Foundation Operations with Quarkus and GitHub Actions", - "description": "Launching an open source foundation comes with challenges, from establishing governance processes to tracking memberships, maintaining communication, and building consensus across distributed teams.In this case study, I’ll show how we’ve used Quarkus and GitHub Actions to automate key operations, including asynchronous consensus building via reactions on GitHub discussions and pull requests, and simplifying data entry by distributing and synchronizing content across repositories with event hooks. Additionally, I’ll demonstrate how we’ve built a self-service portal for our members using a combination of Quarkus, the GitHub GraphQL and REST APIs, Lume (the static site generator for Deno), and Svelte.", - "startsAt": null, - "endsAt": null, + "id": "751261", + "title": "Concurrency redefined: what’s new in Jakarta Concurrency 3.1", + "description": "While java natively supports multi-threading, there are detrminents that impede massive parallelism: thread overhead, task granularity, mixed I/O bound work, algorithmic limitations etc. to name a few. Enter Jakarta Concurrency and discover the powerful features and enhancements! designed to boost performance and streamline development, Jakarta Concurrency 3.1 introduces significant improvements in asynchronous task execution, thread management, and resource optimization. We'll demonstrate practical examples and best practices to leverage these features effectively within Open Liberty, showcasing how they can be seamlessly incorporated into your existing Java EE applications to achieve more scalable and responsive systems. Whether you are a seasoned developer or new to Jakarta EE, this session will equip you with the knowledge and tools to take full advantage of Jakarta Concurrency 3.1.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f6c77911-6612-4b72-9832-63409826e785", - "name": "Erin Schnabel" + "id": "02757751-2055-43a0-afb7-a8654d46bffe", + "name": "Ashwin M S" + }, + { + "id": "8fc26242-b3ec-4e47-b3e2-3e2fc6f9d459", + "name": "Madhuvanthi V" } ], "categories": [ @@ -4302,8 +5416,8 @@ "name": "Track", "categoryItems": [ { - "id": 290611, - "name": "Tools and techniques" + "id": 290617, + "name": "JakartaEE" } ], "sort": 0 @@ -4320,27 +5434,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "755076", - "title": "Taking off With JDK Flight Recorder", - "description": "Are you running into problems with Java applications in production? Not understanding what is eating up all your system resources? And throwing a bunch of System.out messages in your code is not helping? You should check out the JDK Flight Recorder (JFR). JFR is a powerful and low-overhead observability tool built into the JVM that can help you track down those performance issues and difficult-to-understand bugs. In this presentation, we will go through the basics of using JFR in your Java applications.", - "startsAt": null, - "endsAt": null, + "id": "751652", + "title": "Managing Your AI-Driven Manager", + "description": "The threat to your job isn’t that an AI can replace you — it’s that a manager will think AI can replace you. This talk covers how to build a relationship with your manager that makes you their primary technical ally. The idea is to become the person they trust to evaluate both the benefits — and the costs — of using AI tools, showing where they can help and where you really need to be careful using them. In a rapidly changing world, you can become the person your manager relies on to give them good advice, all while you get to enjoy playing with the latest toys.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6f426cb0-6261-4f79-b726-b7ffc3b028ff", - "name": "Billy Korando" + "id": "ecda0d84-be59-41c6-8983-b58cd5b3f93c", + "name": "Kenneth Kousen" } ], "categories": [ @@ -4349,8 +5463,8 @@ "name": "Track", "categoryItems": [ { - "id": 290608, - "name": "Java Platform" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 @@ -4367,8 +5481,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4377,17 +5491,17 @@ }, { "questionAnswers": [], - "id": "751190", - "title": "Taking Shortcuts Beyond Your IDE", - "description": "Taking shortcuts in software development is often perceived as risky, but it does not have to be. In this talk, I will show you how adopting smart shortcuts can enhance your productivity without sacrificing code quality. While IDE shortcuts are just the beginning, we will explore ways to streamline your workflow across the entire development process. From key combinations to advanced automation techniques like code generation, I will demonstrate how you can optimize your time and enjoy coding more. Whether you are a seasoned developer or just starting, this talk will help you identify areas where you can work faster and smarter. By the end, you will be equipped with practical strategies to always be on the lookout for opportunities to improve your workflow.", - "startsAt": null, - "endsAt": null, + "id": "763722", + "title": "Bootiful Spring Boot: A DOGumentary", + "description": "Spring Boot 3.x and Java 21 have arrived, making it an exciting time to be a Java developer! Join me, Josh Long (@starbuxman), as we dive into the future of Spring Boot with Java 21. Discover how to scale your applications and codebases effortlessly. We'll explore the robust Spring Boot ecosystem, featuring AI, modularity, seamless data access, and cutting-edge production optimizations like Project Loom's virtual threads, GraalVM, AppCDS, and more. Let's explore the latest-and-greatest in Spring Boot to build faster, more scalable, more efficient, more modular, more secure, and more intelligent systems and services.\r\n", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ca26f6b4-6211-4491-a8f3-d090c2390c8c", - "name": "Annelore Egger" + "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", + "name": "Josh Long" } ], "categories": [ @@ -4396,8 +5510,8 @@ "name": "Track", "categoryItems": [ { - "id": 290611, - "name": "Tools and techniques" + "id": 290603, + "name": "Architecture" } ], "sort": 0 @@ -4414,27 +5528,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "734451", - "title": "TDD & generative AI - a perfect pairing?", - "description": "In this talk we will dive into the question whether generative AI can generate working code when we only provide test cases. So we take the main principle from TDD: we write the tests up front. Then we use a generative AI to create the code. If you wrote the tests correctly and they all pass, you should have a working prototype. Even better, if the tests pass and you trust the tests, the code is production ready!\r\n\r\nWith some live coding, we will explore this idea together. Furthermore we will take a look at the implications of this paradigm shift. After attending you should be able to apply this technique to your own project.", - "startsAt": null, - "endsAt": null, + "id": "742963", + "title": "Modern Problems Require Modern Solutions: Finding Your Meme Twin with Embeddings & Vector Databases", + "description": "Do you look like a famous meme character? Does someone you know? Knowing this information is vital—both for your career and your personal life. After all, am I the only one around here who wants to avoid [Angry Walter](https://knowyourmeme.com/memes/am-i-the-only-one-around-here)? And who *wouldn't* want to work with [Success Kid](https://knowyourmeme.com/memes/success-kid-i-hate-sandcastles).\r\n\r\nBut can we even find out if we have a meme twin? There are lots of memes. And lots of people. How could we possibly search them all? Well, it's easier than you think if we turn those memes into embeddings and search them with a vector database!\r\n\r\nBut what's an embedding? And what's a vector database? Well, that's what I'll cover in this session. I'll begin by exploring embeddings, showing how unstructured data, such as text and images, can be translated into hyper-dimensional arrays—called vectors—using both common and custom AI models. Then I'll talk about vector databases, covering what they are and how you can use them to store and search those embeddings with embeddings of your own.\r\n\r\nOf course, we'll do this all by example. I've turned all the big memes—from [Ancient Aliens Guy](https://knowyourmeme.com/memes/ancient-aliens) to [Zombie Boy](https://imgflip.com/memegenerator/184608242/zombie-boy)—into embeddings and have loaded them into a vector database. I've built an application around these embeddings and that database. I'll show you the code and the queries of this application so that you can build something similar for yourself. And, most importantly, we'll take some photos during the session and use it all to find your meme twin!\r\n\r\nSo, are you ready to find your meme twin? Or are you ready to learn how to use this technology? I say, [Why Not Both](https://knowyourmeme.com/memes/why-not-both-why-dont-we-have-both).", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d7af9489-53b9-48ae-837e-0b2f403c6461", - "name": "Bouke Nijhuis" + "id": "520bf4ca-b2d3-47c3-8475-c25bb2b257f7", + "name": "Guy Royse" } ], "categories": [ @@ -4461,27 +5575,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "751380", - "title": "TDD: Test-Driven Development vs TAB-Driven Development", - "description": "The rise of AI-powered coding assistants is changing the way we approach code completion, often allowing us to accept suggestions with a simple press of the TAB key, significantly speeding up our workflow. These tools can even generate the necessary tests automatically. \r\nIn this context, is Test-Driven Development (TDD) becoming obsolete? Or does the practice of using tests to drive the design of our applications still hold substantial value in the age of AI? Let's explore the evolving landscape of software development and look at the ongoing relevance of TDD in an AI-enhanced world.", - "startsAt": null, - "endsAt": null, + "id": "750788", + "title": "ML Ops for Java Developers: A Hands-On Guide with Kubeflow and Quarkus", + "description": "Machine learning is becoming a must-have skill in today's world. But do Java developers know how an ML Ops platform works under the hood? Do they know the best practices for integrating ML models into their Java applications?\r\nThis session is your go-to guide for understanding how ML Ops works and the best practices for consuming it within the Java ecosystem. We'll explore how Kubeflow, a powerful ML platform, simplifies the entire machine learning lifecycle—from model training to serving at scale. You’ll also discover how Quarkus, the Kubernetes-native Java framework, can efficiently deploy these models, making them easy to consume within your Java applications.\r\nDon’t miss this chance to elevate your Java skills and dive into the future of ML Ops. Join us and learn how to integrate machine learning into your Java projects with Kubeflow and Quarkus. Your journey to becoming a Java ML Ops expert starts here! \r\n", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "9f1e9a11-4022-412d-929c-d80ee4f5d19f", - "name": "Marit van Dijk" + "id": "ac4674f3-5f5f-4b2c-ad7f-01073acf6b0f", + "name": "Eder Ignatowicz" + }, + { + "id": "058c3cdc-0607-4437-81bb-07a1aed5d05c", + "name": "Elder Moraes" } ], "categories": [ @@ -4490,8 +5608,8 @@ "name": "Track", "categoryItems": [ { - "id": 290609, - "name": "Practices and other tech" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 @@ -4508,27 +5626,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "750765", - "title": "Technical Enshittification: Why Everything in IT is Horrible Right Now and How to Fix It", - "description": "Did you notice how everything in IT is crap right now? Services are bloated, slow, and buggy, and the hardware requirements to run even the simplest applications are enormous. It’s not just me, right? Everything is full of bugs, support is clueless, nothing works as described, and don’t even get me started on IoT protocols and the Cloud Native space. Oh, and how about taking half of the world’s air traffic offline because of a null pointer exception pushed to production without verification?\r\n\r\nAnd on top of what’s broken, the pace of innovation has crawled to a stop (except maybe in the AI space). There’s nothing materially new in the last ten versions of Android and iOS or the last hundred versions of Chrome and Firefox. Google spent months hyping a new login screen that ended up being just a rearrangement, and can you name one new exciting feature in any software older than five years (plugging in a ChatGPT bot doesn’t count)? When Facebook was bragging about breaking things, at least it was to move faster. What’s their excuse now?\r\n\r\nThis talk will dig into the reasons behind this technical decline, which we call “Technical Enshittification.” We’ll explore how technical debt, poor innovation practices, and stagnation in core products are dragging us down.\r\n\r\nWhile this talk probably won’t be able to fix the Googles, the Apples, and the Metas, we will focus on what you can do to prevent this decline in your own projects and companies.\r\n\r\nWe’ll discuss practical strategies to combat and prevent this mess, focusing on Developer Productivity Engineering (DPE), user-centered design, robust testing, and effective project management. Real-world examples will show how to keep IT services efficient, innovative, and user-friendly.\r\n\r\nJoin us to learn how to turn things around and ensure long-term success in today’s digital landscape.", - "startsAt": null, - "endsAt": null, + "id": "733495", + "title": "Crafting the Ultimate Docker Image for Spring Applications", + "description": "Docker is the cornerstone of today's development! Let's overview quickly how we use it in JVM development, and then transition to practical examples. We will start with a simple Docker image containing a popular \"one fat JAR\" and look into its downsides (deployment speed, traffic volume). To address them, we will discuss the strategy of splitting the JAR into multiple layers and using multistage Dockerfiles, gradually improving our image. Join me to learn how to build the ultimate Docker image for Spring applications.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1708bdeb-e8d9-4628-a147-e9878198c900", - "name": "Baruch Sadogursky" + "id": "c77a2591-3a95-4285-ab0e-c06aae180730", + "name": "Pasha Finkelshteyn" } ], "categories": [ @@ -4537,8 +5655,8 @@ "name": "Track", "categoryItems": [ { - "id": 290609, - "name": "Practices and other tech" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 @@ -4555,27 +5673,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "750111", - "title": "Test-Driven Development: It's easier than you think!", - "description": "Everyone loves writing tests, don’t they? How do you write good tests? What tools are available for you to write good tests?\r\n\r\nIn this session, I will dive into the many features of Quarkus that help developers write good tests. I will highlight some of the features of Quarkus, Dev Services and Continuous Testing, which help make testing easier. Additionally, I will live code some tests for common use cases developers encounter, including unit, integration, and “black box” testing of imperative and reactive RESTful and event-driven applications that use common services, such as databases and Kafka brokers. I will discuss techniques such as mocking, spying, and interaction-based testing/verification.\r\n\r\nI'll even spend some time showing how IDE-based AI assistants can help!\r\n\r\nOnce you see how easy TDD really can be there isn't a reason to not do it!", - "startsAt": null, - "endsAt": null, + "id": "753038", + "title": "Testing Legacy Code & Refactoring Patterns", + "description": "Our jobs don't deal with new code, but old crufty and evil code. How do we test such code? How do we get through it? How can we surgically remove some of this harmful code and make it testable? How can we move away from excessive mocking?\r\n\r\nThis presentation looks at harmful code and discusses some strategies we can use to diagnose, test, apply, and finally refactor to produce something that promotes some sanity in your development process. The content of this course is all in Java and Junit. We discuss the following maneuvers:\r\n\r\n* Extract Delegate\r\n* Extract Interface\r\n* Parameterize Method\r\n* Parameterize Constructor\r\n* Sprout Method and Class\r\n* Wrap Method and Class\r\n", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6f672350-1c71-4a6e-a382-2b1db6e631fd", - "name": "Eric Deandrea" + "id": "6f19875d-369e-4b4f-a1f7-2d93725ab36d", + "name": "Daniel Hinojosa" } ], "categories": [ @@ -4584,8 +5702,8 @@ "name": "Track", "categoryItems": [ { - "id": 290614, - "name": "Cloud Native" + "id": 290606, + "name": "Core Java" } ], "sort": 0 @@ -4602,8 +5720,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4612,17 +5730,17 @@ }, { "questionAnswers": [], - "id": "753038", - "title": "Testing Legacy Code & Refactoring Patterns", - "description": "Our jobs don't deal with new code, but old crufty and evil code. How do we test such code? How do we get through it? How can we surgically remove some of this harmful code and make it testable? How can we move away from excessive mocking?\r\n\r\nThis presentation looks at harmful code and discusses some strategies we can use to diagnose, test, apply, and finally refactor to produce something that promotes some sanity in your development process. The content of this course is all in Java and Junit. We discuss the following maneuvers:\r\n\r\n* Extract Delegate\r\n* Extract Interface\r\n* Parameterize Method\r\n* Parameterize Constructor\r\n* Sprout Method and Class\r\n* Wrap Method and Class\r\n", - "startsAt": null, - "endsAt": null, + "id": "734869", + "title": "BoxLang - The Future is Dynamic", + "description": "Just like life, our code must evolve to meet the demands of an ever-changing world. Adaptability is key in developing for the web, tablets, APIs, or serverless applications. Multi-runtime development is the future, and that future is dynamic. Enter BoxLang: Dynamic. Modular. Productive. (www.boxlang.io)\r\n\r\nBoxLang transforms development with its dynamic design, enabling developers to write expressive, functional code effortlessly. Its modular architecture ensures flexibility, allowing easy integration into your existing ecosystems.\r\n\r\nInteroperability at Its Core\r\n\r\nBoxLang boasts 100% interoperability with Java, seamlessly blending traditional and modern development practices. This opens up new possibilities for innovation and collaboration.\r\n\r\nMulti-Runtime Versatility\r\n\r\nFrom a compact 6MB OS binary to running on our pure Java web server, CommandBox, Jakarta EE, AWS Lambda, Microsoft Functions, WebAssembly, Android, and more, BoxLang is designed to adapt to any runtime environment. BoxLang combines modern features from CFML, Node, Ruby, Kotlin, Java, and Clojure with the familiarity of Java bytecode compilation. This makes it the go-to language for developers looking to the future while building a solid foundation.\r\n\r\nEmpowering Creativity with IDE Tools\r\n\r\nUnlock your creative potential with powerful IDE tools designed for BoxLang, offering an intuitive development experience that streamlines your workflow. Join us as we redefine JVM development and step into the era of BoxLang. Welcome to the future.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6f19875d-369e-4b4f-a1f7-2d93725ab36d", - "name": "Daniel Hinojosa" + "id": "01ad1e48-e43b-4af2-b3f3-e65232d55ff1", + "name": "Luis Majano" } ], "categories": [ @@ -4631,8 +5749,8 @@ "name": "Track", "categoryItems": [ { - "id": 290606, - "name": "Core Java" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 @@ -4649,31 +5767,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "735884", - "title": "Testing on Thin Ice: Chipping Away at Test Unpredictability", - "description": "Ever tried to catch melting snowflakes? That's the challenge of dealing with flaky tests - those annoying, unpredictable tests that fail randomly and pass when rerun. In this talk, we'll slide down the slippery slope of why flaky tests are more than just a nuisance. They're time-sinks, morale crushers, and silent code quality killers.\r\n\r\nWe'll skate across real-life scenarios to understand how flaky tests can freeze your development in its tracks, and why sweeping them under the rug is like ignoring a crack in the ice. From delayed releases to lurking bugs, the stakes are high, and the costs are real.\r\n\r\nBut don't pack your parkas just yet! We're here to share expert strategies and insights on how to identify, analyze, and ultimately melt away these flaky tests. Through our combined experience, we'll provide actionable techniques and tools to make sure snow is the only flakiness you experience, ensuring a smoother, more reliable journey in software development.", - "startsAt": null, - "endsAt": null, + "id": "755076", + "title": "Taking off With JDK Flight Recorder", + "description": "Are you running into problems with Java applications in production? Not understanding what is eating up all your system resources? And throwing a bunch of System.out messages in your code is not helping? You should check out the JDK Flight Recorder (JFR). JFR is a powerful and low-overhead observability tool built into the JVM that can help you track down those performance issues and difficult-to-understand bugs. In this presentation, we will go through the basics of using JFR in your Java applications.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "2f4018fc-6f1a-484c-9297-383fb1a5c4ae", - "name": "François Martin" - }, - { - "id": "130a4bc5-3b04-4a0c-95e6-62fad0b4d722", - "name": "Brian Demers" + "id": "6f426cb0-6261-4f79-b726-b7ffc3b028ff", + "name": "Billy Korando" } ], "categories": [ @@ -4682,8 +5796,8 @@ "name": "Track", "categoryItems": [ { - "id": 290609, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 @@ -4700,8 +5814,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4710,17 +5824,17 @@ }, { "questionAnswers": [], - "id": "758773", - "title": "Testing Your Way to Production Confidence with Native Images", - "description": "For Spring developers, GraalVM native images offer exciting potential: smaller footprint, faster startup, and improved performance. However, confidently deploying these images requires verifying they produce the same results as your JVM-based application. This talk shares a practical pattern for testing Spring Boot native images, ensuring a smooth transition from development to production.\r\n\r\nKey Takeaways:\r\n\r\n- Leveraging Testcontainers for external resource validation: Learn how to use Testcontainers to ensure your native image interacts seamlessly with external systems like databases, queues, and caches.\r\n\r\n-Testing native images with RestAssured: See how to use the same RestAssured tests against both your JVM and native image builds, guaranteeing functional parity.\r\n\r\n- Efficient testing strategy: Learn how to save time and resources by focusing native image testing in your CICD pipeline, while ensuring confidence through earlier-stage validations.\r\n\r\nJoin this talk to gain practical insights and a step-by-step approach for testing Spring Boot native images with confidence. Feel the freedom to deploy with performance gains without sacrificing reliability.", - "startsAt": null, - "endsAt": null, + "id": "750765", + "title": "Technical Enshittification: Why Everything in IT is Horrible Right Now and How to Fix It", + "description": "Did you notice how everything in IT is crap right now? Services are bloated, slow, and buggy, and the hardware requirements to run even the simplest applications are enormous. It’s not just me, right? Everything is full of bugs, support is clueless, nothing works as described, and don’t even get me started on IoT protocols and the Cloud Native space. Oh, and how about taking half of the world’s air traffic offline because of a null pointer exception pushed to production without verification?\r\n\r\nAnd on top of what’s broken, the pace of innovation has crawled to a stop (except maybe in the AI space). There’s nothing materially new in the last ten versions of Android and iOS or the last hundred versions of Chrome and Firefox. Google spent months hyping a new login screen that ended up being just a rearrangement, and can you name one new exciting feature in any software older than five years (plugging in a ChatGPT bot doesn’t count)? When Facebook was bragging about breaking things, at least it was to move faster. What’s their excuse now?\r\n\r\nThis talk will dig into the reasons behind this technical decline, which we call “Technical Enshittification.” We’ll explore how technical debt, poor innovation practices, and stagnation in core products are dragging us down.\r\n\r\nWhile this talk probably won’t be able to fix the Googles, the Apples, and the Metas, we will focus on what you can do to prevent this decline in your own projects and companies.\r\n\r\nWe’ll discuss practical strategies to combat and prevent this mess, focusing on Developer Productivity Engineering (DPE), user-centered design, robust testing, and effective project management. Real-world examples will show how to keep IT services efficient, innovative, and user-friendly.\r\n\r\nJoin us to learn how to turn things around and ensure long-term success in today’s digital landscape.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "345b7e02-c223-49a0-875d-0a3502ee2e82", - "name": "DaShaun Carter" + "id": "1708bdeb-e8d9-4628-a147-e9878198c900", + "name": "Baruch Sadogursky" } ], "categories": [ @@ -4729,8 +5843,8 @@ "name": "Track", "categoryItems": [ { - "id": 290606, - "name": "Core Java" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 @@ -4747,27 +5861,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "751350", - "title": "The Kafka Consumer: An Unexpected Journey of Data Consumption", - "description": "Once your data is stored on your Apache Kafka® cluster, the next step is to consume that data and do something interesting with it. Enter: Kafka Consumers. We all know how to set up a Kafka Consumer to poll data… but do you know how a consumer fetches the data from the cluster? Let’s find out!\r\n\r\nEvery call to consumer.poll() is translated into a low-level request which is sent along to the brokers for fulfillment. In this session, we’ll join Kafka Consumers as they embark on their epic adventure to consume your data. First, see how these clients band together in a single fellowship and follow the guidance of their consumer group coordinator. Then, follow a request from an initial call to poll(), all the way to disk, and back to the client with your data via the broker’s final response. Along the way, we’ll explore a number of client and broker configurations that affect how these requests are handled and discuss the metrics that you can monitor to keep track of every stage of the consumer life cycle.\r\n\r\nBy the end of this session, you’ll know the ins and outs of your Kafka Consumer requests, making your next debugging or performance analysis session a breeze.", - "startsAt": null, - "endsAt": null, + "id": "750953", + "title": "Let OpenID Connect secure your applications", + "description": "Implementing the correct security patterns is a common challenge that most application developers and consultants can get wrong in even the most common of scenarios. Reinventing the wheel is a common pattern that DevOps engineers do when integrating security solutions inside their applications (authentication, password validation, identity management, correct storage of user data, etc.).\r\nOpenID Connect is an open security standard that can be used to solve most of these concerns in a reliable and scalable way for modern cloud applications, in a way that most developers are unaware of!\r\n\r\nThis talk will focus on the benefits of securing an enterprise application using OpenID Connect concepts with multiple Java Framworks, with a live demonstration of a small application that uses standard frameworks (Jakarta EE and Eclipse MicroProfile) in tandem with an external OpenID Connect provider.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ea7292a0-1a85-4830-af21-00c9484c19fe", - "name": "Danica Fine" + "id": "9278401c-4b54-4e61-b9c2-ee65c9007dbf", + "name": "Fabio Turizo" } ], "categories": [ @@ -4776,8 +5890,8 @@ "name": "Track", "categoryItems": [ { - "id": 290609, - "name": "Practices and other tech" + "id": 290610, + "name": "Security" } ], "sort": 0 @@ -4794,31 +5908,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "754896", - "title": "The OffHeap Podcast. Devnexus Edition (Now with more AI)", - "description": "Come and listen to our Offheap podcast live from Devnexus where we'll discuss current topics in the Java ecosystem, play a trivia game and in general have a great time! (who knows, maybe we throw in more AI since that's what everyone is doing)", - "startsAt": null, - "endsAt": null, + "id": "741176", + "title": "Going beyond ORMs", + "description": "For some time now JSON has been the preferred format for exchanging data between client (browsers) and servers. Often times developers had to configure data marshalling options to transform data into business objects, into persistent data, and back again. Perhaps it would make more sense to use JSON across the business pipeline without sacrificing performance nor missing benefits from the relational data world. this is what JSON Duality Views propose. In this session we'll explore options to enhance data driven applications written with Spring Boot, Quarkus, and Micronaut, enhancing your developer experience and increasing customer satisfaction.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4d4ac30a-3cf4-4c64-99d4-8261e8e966ad", - "name": "Freddy Guime" - }, - { - "id": "7f8e5588-7314-41ac-854a-0ddf6fe867d2", - "name": "Bob Paulin" + "id": "720cdc7d-0ae6-44d3-af2a-eebc0a086508", + "name": "Andres Almiray" } ], "categories": [ @@ -4827,8 +5937,8 @@ "name": "Track", "categoryItems": [ { - "id": 290602, - "name": "Agile" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 @@ -4845,31 +5955,46 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "1edace2b-f58c-4248-815d-dfc9d8e032b9", + "title": "TBD", + "description": null, + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58707, + "room": "Web and front-end", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, "isConfirmed": false }, { "questionAnswers": [], - "id": "759124", - "title": "The Overwhelmed Spring Developer's Guide To AI", - "description": "What is the antidote when a Spring developer hears you hear, “Hey, can you just add some AI to that?” Can you leverage the tools you’ve been using for years to help us build this solution? This talk strips away the jargon and intimidation, offering a no-nonsense path to integrating AI into your Spring applications utilizing Spring tools like Spring Boot, Spring Batch, and Spring Pulsar to help you to populate your favorite vector store with the data necessary help reduce those pesky hallucinations provided for free from our favorite AI models. ", - "startsAt": null, - "endsAt": null, + "id": "750035", + "title": "Jakarta EE: Connected Industries with an Edge", + "description": "Manufacturing facilities, production lines, and industrial automation units have traditionally been disconnected from the internet. However, to stay competitive in the digital era, these systems must evolve into smart, interconnected networks by integrating key technologies such as digital twins and the Industrial Internet of Things (IIoT), which require internet connectivity and the cloud. As data volumes generated by industrial equipment are substantial, relying solely on cloud infrastructure becomes insufficient due to bandwidth limitations, latency issues, and the inability to handle real-time data processing effectively. Even more, it poses key security challenges. This is where edge computing becomes critical. Edge computing brings data processing closer to the source, reducing latency and bandwidth strain, enabling faster decision-making and seamless operations. This talk explores how industrial automation can safely and efficiently move online by leveraging Jakarta EE applications as edge computing units. The presentation will also highlights the features that application servers for Jakarta EE apps should offer to meet the demands of operational technologies and factory environments, such as security, reliability, scalability, and long-term support. The presentation showcase these opportunities through a demo build with Payara Platform.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "25b4a764-0ab3-4a6b-b7b6-8e5f5d46dfc6", - "name": "Glenn Renfro" - }, - { - "id": "974e24f5-044f-4552-a362-fdefd445dabc", - "name": "Chris Bono" + "id": "162782a2-35a0-45af-9983-17e5920586d0", + "name": "Petr Aubrecht" } ], "categories": [ @@ -4878,8 +6003,8 @@ "name": "Track", "categoryItems": [ { - "id": 290607, - "name": "Frameworks" + "id": 290617, + "name": "JakartaEE" } ], "sort": 0 @@ -4896,27 +6021,46 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "285e3b2a-1df8-4c18-81ed-165e66ec4325", + "title": "Afternoon break", + "description": null, + "startsAt": "2025-03-06T15:30:00", + "endsAt": "2025-03-06T15:45:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, "isConfirmed": false }, { "questionAnswers": [], - "id": "753663", - "title": "The Problems Micro Frontends Won't Solve That No One Wants to Talk About", - "description": "Everyone wants to ship more software faster, and following the lead of the MicroServices craze the frontend community has begun to reach for Micro Frontends as a silver bullet solution. Micro Frontends promise large teams the ability to independently ship pieces of applications without code collisions, bug creation, that can be team-agnostic, and with Webpack, Vercel, NX, and others leaning in to offer ways to federate code, this seems to be the way of the future.\r\n\r\nBut what problems aren't solved by Micro Frontends? There is a large gap in what large complex teams need to ship better software and what Micro Frontends are able to provide ... and that gap is the basis of this talk. We'll discuss the consequences that arise when attempting to implement MFE architecture that no on seems to want to talk about.", - "startsAt": null, - "endsAt": null, + "id": "739820", + "title": "Unlock Lightning-Fast Delivery: Mastering Software Craft for Unrivaled Success", + "description": "Break free from arbitrary workflows and flawed productivity metrics! Join me to discover the secret sauce behind high-performance software delivery.\r\n\r\nTraditional measurements of productivity are a recipe for disaster, focusing on output rather than outcomes. But what if you could measure the true drivers of delivery speed, stability, and quality? In this session, we'll delve into the practices that separate top-performing teams from the rest, including:\r\n\r\n* The art of breaking down work into actionable, meaningful tasks\r\n* Metrics that accurately capture both speed and stability (not just velocity or burn-down charts)\r\n* How to align your delivery processes with your organization's unique context and goals\r\n\r\nYou'll leave this session equipped with actionable insights to transform your team's productivity and unlock unparalleled success. Don't miss this opportunity to elevate your software craft and join the ranks of industry leaders!", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "e5b9e6c6-1477-4b19-8347-06683a7417de", - "name": "Jennifer Wadella" + "id": "3c467866-b387-417c-acc3-0d06a2d64f3f", + "name": "Cody Frenzel" } ], "categories": [ @@ -4925,8 +6069,8 @@ "name": "Track", "categoryItems": [ { - "id": 290612, - "name": "Web and Front-end" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 @@ -4943,27 +6087,50 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "11fff9b0-51fd-42af-87c7-344e34bef6c2", + "title": "TBD", + "description": null, + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 53138, + "room": "Architecture", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, "isConfirmed": false }, { "questionAnswers": [], - "id": "756256", - "title": "There's an Authz for that: Spring Security in 2025", - "description": "Alongside authentication, Spring Security simplifies your authorization, too, specifically helping decouple your authorization and application logic. These days, standards like OpenFGA and OAuth are changing the landscape of authorization like never before.\r\n\r\nSpring Security is ready to anticipate those changes with you.\r\n\r\nIn this talk, we’ll take an existing Spring Boot application and add authorization to its requests, methods, domain objects, and queries. You’ll learn about the many authorization advancements Spring Security has made since you last blinked. By the end, you’ll see how these features are brought to bear on the everyday challenges of local and remote authorization, coarse- and fine-grained authorization, and authorized domain objects.\r\n \r\nNo previous authorization or Spring Security experience is required.", - "startsAt": null, - "endsAt": null, + "id": "825095", + "title": "Unlock the Power of Generative AI: Simplifying Ad Creation", + "description": "In this insightful session, Amazon Ads experts will unveil how they leverage generative AI technologies to revolutionize multimedia creation, and elevate the advertising creative process. Discover how Amazon Ads generates millions of images, videos, and ads across multiple channels, drastically simplifying the experience of building advertising campaigns. Deep dive in the generative AI inference processes which enable advertisers to create ad creatives in seconds, virtually at no cost. This session offers a deep dive into advanced generative AI inference use cases, technical best practices, and valuable lessons learned from research and serving thousands of customers.\r\n", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "feba8c56-4b68-41e6-8d2d-b2324a5e18c8", - "name": "Josh Cummings" + "id": "b1c4a924-b6db-453f-91d2-16b0fcf3bafd", + "name": "Nikhil Nanivadekar" + }, + { + "id": "9e911c91-495e-4dd3-a06a-0eaa3be9c3f7", + "name": "Garry Galinsky" } ], "categories": [ @@ -4972,8 +6139,8 @@ "name": "Track", "categoryItems": [ { - "id": 290610, - "name": "Security" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 @@ -4990,8 +6157,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5000,17 +6167,17 @@ }, { "questionAnswers": [], - "id": "755075", - "title": "To Java 24 and Beyond!", - "description": "Java 21 has come and gone, but the Java release train continues with Java 24!\r\n\r\nIn this presentation, we will briefly review key changes between Java 11 and 21, as they form an important foundation for where Java is heading. Once that foundation is laid, we will look at what has changed in Java since 21, updates to Project Loom with a focus on, Scoped Values and Structured Concurrency, and how they will rewrite the Java concurrency story. \r\n\r\nWe will also cover other important changes including: Generational ZGC, the Foreign Function and Memory API, JavaDoc updates, and even take a look into the future of where Java is heading! ", - "startsAt": null, - "endsAt": null, + "id": "743625", + "title": "Platform Engineering 101: Building Internal Developer Platforms", + "description": "Tell us what you want, what you really, really want… Developer productivity and reduced cognitive load, of course!\r\n\r\nIn our world of cloud-native Java development and shift-left mentality, developers are now drowning! They have an endless flood of tasks and responsibilities on their shoulders, whilst battling an ever-increasing sea of potential technologies and tools to use. Change is needed! So, build a dam with us through platform engineering and IDPs.\r\n\r\nIn this workshop, we’ll explore the concepts of platform engineering and Internal Developer Platforms (IDPs) and how they can help to relieve the cognitive load on developers, help to standardize technologies and tools used throughout an organization, streamline CI/CD pipelines and in essence enable greater developer productivity. We’ll investigate how this can all be achieved in the cloud, with example applications running in OpenShift, with Red Hat Developer Hub as the basis of our IDP. Throughout this workshop, you’ll learn how to utilize Red Hat Developer Hub, an implementation of the Backstage CNCF project, to create an IDP and then how this can be shared with development teams to enable rapid, easy deployment of their applications. We’ll demo this with a range of technologies, runtimes and tools to really showcase just how flexible and personalised these IDPs can be to your own organization and application needs.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6f426cb0-6261-4f79-b726-b7ffc3b028ff", - "name": "Billy Korando" + "id": "7c534296-8db5-4452-b17f-9249465ea914", + "name": "Grace Jansen" } ], "categories": [ @@ -5019,8 +6186,8 @@ "name": "Track", "categoryItems": [ { - "id": 290606, - "name": "Core Java" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 @@ -5037,27 +6204,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "739051", - "title": "Top Security Flaws Hiding in Your Code Right Now – and How to Fix Them", - "description": "Security vulnerabilities aren’t just hypothetical—they’re real, from the MongoDB attack to the Log4Shell disaster, and they’re hiding in your code right now. In this session, we’ll explore the most common and dangerous flaws: SQL Injection, Deserialization Injection, and Logging Injection. \r\n\r\nWe’ll explain how these vulnerabilities work, why they’re so risky, and how to fix them through examples. \r\n\r\nYou'll leave with practical tips for safeguarding your applications, including best practices for SQL query parameterization, secure deserialization techniques, the importance of sanitizing logs, and how to use tooling to prevent these flaws more easily.\r\n\r\nAudience Takeaways:\r\n\r\nDeep understanding of SQL Injection, Deserialization Injection, and Logging Injection.\r\nPractical code examples and fixes to secure your applications.\r\nInsights into real-world case studies of major security breaches.\r\nTooling that will help us to commit safe code.", - "startsAt": null, - "endsAt": null, + "id": "751799", + "title": "Java and the Internet of Things", + "description": "Java is the powerhouse of enterprise app development, but it's also a player in the world of connected devices. Today's active projects include deep sea fleet management, healthcare interoperability, environmental management, smart home devices, and more.\r\n\r\nIn this session, we present a brief survey of the role of Java in IoT applications. Then, we demonstrate the principles of IoT development with live coding and physical devices. (Yes, we have props!) If the Internet behaves itself, we show you how devices use the cloud to communicate with one another.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f63ba6f7-e39c-426f-b079-55a63c063bda", - "name": "Jonathan Vila" + "id": "4c3fdc08-0216-46a1-a36f-a1b6abe6315f", + "name": "Barry Burd" + }, + { + "id": "c53d0ee3-4ee1-4a19-ac0a-26a38a4c43af", + "name": "Richard Fichtner" } ], "categories": [ @@ -5066,8 +6237,8 @@ "name": "Track", "categoryItems": [ { - "id": 290610, - "name": "Security" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 @@ -5084,27 +6255,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "739820", - "title": "Unlock Lightning-Fast Delivery: Mastering Software Craft for Unrivaled Success", - "description": "Break free from arbitrary workflows and flawed productivity metrics! Join me to discover the secret sauce behind high-performance software delivery.\r\n\r\nTraditional measurements of productivity are a recipe for disaster, focusing on output rather than outcomes. But what if you could measure the true drivers of delivery speed, stability, and quality? In this session, we'll delve into the practices that separate top-performing teams from the rest, including:\r\n\r\n* The art of breaking down work into actionable, meaningful tasks\r\n* Metrics that accurately capture both speed and stability (not just velocity or burn-down charts)\r\n* How to align your delivery processes with your organization's unique context and goals\r\n\r\nYou'll leave this session equipped with actionable insights to transform your team's productivity and unlock unparalleled success. Don't miss this opportunity to elevate your software craft and join the ranks of industry leaders!", - "startsAt": null, - "endsAt": null, + "id": "736664", + "title": "Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode", + "description": "In this session, we will explore the intricate details of Java class files beyond the commonly discussed bytecode. A key focus will be on the invokedynamic instruction and the attributes that enable its advanced capabilities, such as facilitating lambda expressions and optimizing string concatenation. We will also delve into the nestmates feature, which streamlines the interaction between outer and inner classes, enhancing both performance and flexibility in class file structure. Whether you are a seasoned Java developer or new to understanding the depths of the JVM, this session will provide valuable insights into the hidden layers of Java class files.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "3c467866-b387-417c-acc3-0d06a2d64f3f", - "name": "Cody Frenzel" + "id": "4d09d817-b315-488f-8d98-5a18d68ab18f", + "name": "Koichi Sakata" } ], "categories": [ @@ -5113,8 +6284,8 @@ "name": "Track", "categoryItems": [ { - "id": 302778, - "name": "Tech Leadership" + "id": 290606, + "name": "Core Java" } ], "sort": 0 @@ -5131,8 +6302,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5141,17 +6312,17 @@ }, { "questionAnswers": [], - "id": "736664", - "title": "Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode", - "description": "In this session, we will explore the intricate details of Java class files beyond the commonly discussed bytecode. A key focus will be on the invokedynamic instruction and the attributes that enable its advanced capabilities, such as facilitating lambda expressions and optimizing string concatenation. We will also delve into the nestmates feature, which streamlines the interaction between outer and inner classes, enhancing both performance and flexibility in class file structure. Whether you are a seasoned Java developer or new to understanding the depths of the JVM, this session will provide valuable insights into the hidden layers of Java class files.", - "startsAt": null, - "endsAt": null, + "id": "754695", + "title": "Containers All the Way Down!: Optimizing Spring Boot apps for the Modern Cloud", + "description": "In a cloud-native world, containerization is a key enabler for scalable, portable, resilient, and (cost-)effective applications! This session will explore how Spring Boot developers can seamlessly optimize their applications for containerized environments.\r\n\r\nThe presenter will discuss and demonstrate the following pivotal topics and more:\r\n\r\n* Best practices for building efficient, lightweight container images tailored for Spring Boot applications\r\n* How Spring Boot simplifies the creation of these images with built-in support for Docker and Cloud Native Buildpacks (CNB)\r\n* Leveraging Boot's built-in support for TestContainers to create integration tests that best simulate production, vitally important for both development and build pipelines\r\n* Cloud Native Buildpack support for building both traditional JVM-based applications and high-performance native images using GraalVM, customization options, and more\r\n\r\nThrough a lively discussion and live demos, you'll see how to optimize your development workflow and ensure that your Spring Boot applications can handle the demands of production in a containerized world. Come to this session to learn how to unlock the *full* potential of containers for your Spring Boot projects!", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4d09d817-b315-488f-8d98-5a18d68ab18f", - "name": "Koichi Sakata" + "id": "05be364d-a57f-4e08-978d-8043d43db097", + "name": "Mark Heckler" } ], "categories": [ @@ -5160,8 +6331,8 @@ "name": "Track", "categoryItems": [ { - "id": 290606, - "name": "Core Java" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 @@ -5178,27 +6349,27 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "750629", - "title": "Unveiling the Magical Power of Java Virtual Threads", - "description": "Thread-per-request programming limits application scalability, leading developers to adopt thread sharing and asynchronous programming to better utilize hardware, though this introduces additional complexity. Creating reactive pipelines, debugging them, and visualizing their execution can be complicated tasks, compounded by the complexities that arise when exceptions occur.\r\nJava Virtual Threads enable applications to scale while preserving the thread-per-request style programming. Just as operating systems create the illusion of abundant memory by mapping a large virtual address space to limited physical RAM, a Java runtime can create the illusion of many threads by mapping numerous virtual threads to a few OS threads.\r\nLet's explore Java virtual threads, including how they work under the hood, their use cases, and the APIs introduced by Project Loom. We'll also compare traditional threads with virtual threads through a simple programming example to see their benefits in action.", - "startsAt": null, - "endsAt": null, + "id": "769415", + "title": "How to debug: Lessons learnt from 10 years of Spring Boot", + "description": "Debugging is a fundamental skill that's vital for any Java developer, but how many techniques do you really know? 10 years of running the Spring Boot project has given plenty of real-world examples of nasty issues and how to debug them. Lets go beyond simple breakpoints, look at problems raised in the project, and discuss how to actually fix them! Dealing with regressions, using the remote debugger and tips for conditional breakpoints will all be covered. You'll also learn how to open good issues against open source projects to quickly get the fixes you need.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "912ee409-63c5-40c5-82ec-aabe804f526c", - "name": "Anamika Roychowdhury" + "id": "bd435afb-3853-43c0-8dee-cbcda16f7e91", + "name": "Phil Webb" } ], "categories": [ @@ -5207,8 +6378,8 @@ "name": "Track", "categoryItems": [ { - "id": 290606, - "name": "Core Java" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 @@ -5225,27 +6396,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { "questionAnswers": [], - "id": "738256", - "title": "We hate code - The !joy of maintaining dead code", - "description": "Disclaimer: If you love to maintain legacy code than this session is not for you. \r\nYou probably know the hassle of maintaining code that was written long time before you entered the project or company. Often the developers who wrote it are not even in the company anymore. So how do you know if the code is still used? Often you simply don’t know and so you take the code with you…from one release to another…and the codebase is growing.\r\nThis session will give you an idea about what you can do to get rid of legacy code. Which tools are available and how they can help you to male your life easier.", - "startsAt": null, - "endsAt": null, + "id": "751791", + "title": "A developers guide to running Spring Boot applications on Open Liberty", + "description": "SpringBoot is a hugely popular framework for writing applications in today’s development landscape. Choosing Open Liberty as your Java application server to run SpringBoot application offers users several advantages over the default runtimes to increase performance, save memory, and stay up to date with the latest and greatest security fixes.\r\n\r\nIn this talk, you will learn how to run SpringBoot applications on Open Liberty by discussing the following topics:\r\n\r\nThe basics of Open Liberty and how it works as a Java runtime server.\r\n\r\n - How SpringBoot is supported on Open Liberty.\r\n - How to package SpringBoot applications for Open Liberty.\r\n - How to configure a SpringBoot application for Open Liberty.\r\n - How to reduce startup time for SpringBoot applications on Open Liberty with InstantOn support.\r\n", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "71f3abf1-03cf-458b-b385-e10fd110e89a", - "name": "Gerrit Grunwald" + "id": "7bac217c-0b90-4dff-a4ed-b5a7a5f0d495", + "name": "Harry Hoots III" + }, + { + "id": "78106222-a999-4772-b5ac-9c1125681b97", + "name": "Chuck Bridgham" } ], "categories": [ @@ -5254,8 +6429,8 @@ "name": "Track", "categoryItems": [ { - "id": 290606, - "name": "Core Java" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 @@ -5272,8 +6447,8 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5282,17 +6457,36 @@ }, { "questionAnswers": [], - "id": "754616", - "title": "Web Apps and Devices – Yes We Can!", - "description": "Device integrations have for decades been a problem for many business web apps. Input devices, printers, sensors and security gadgets would have their use case in many typical business apps. The \"sandbox\" by browsers has been worked around with several hacks ranging from browser plugins to native wrappers, but native apps have ruled when you need to connect to custom devices. Emerging new web standards may be changing the game forever.\r\n\r\nThis presentation will overview the possibilities (including workarounds and dirty hacks) to connect to various devices from your web apps. As a hands-on code example, we use Web Bluetooth API available in Chrome to collect ECG precise data from a wireless heart monitor belt. The row bytes are then sent over to the Java server for further analysis.", - "startsAt": null, - "endsAt": null, + "id": "d56e0c39-8639-46e7-8159-66fb8aca91d4", + "title": "TBD", + "description": null, + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58705, + "room": "Security", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + { + "questionAnswers": [], + "id": "753218", + "title": "Enhancing Project Integrity: A Modernization for Bug-Free Code", + "description": "Embarking on a Java project involves employing the best strategies, patterns, and architectural decisions, all geared towards a customer-centric.\r\n\r\nYet, there exists an often overlooked facet: quality assurance. While not entirely disregarded, we, as developers, sometimes limit ourselves to performing the basic unity and integration tests, which may leave room for bugs.\r\n\r\nFortunately, there are several straightforward approaches and tools that can be implemented to deliver a bug-free project with minimal effort.\r\n\r\nDuring this presentation, you'll gain practical knowledge of the application of the following tools and approaches:\r\n\r\n- ArchUnit: Ensuring consistent adherence to architectural patterns, even when multiple developers making changes to the project\r\n- FindBugs: Employing static analysis to proactively identify potential bugs in your code, effortlessly.\r\n- SonarQube: Offering a suite of diverse metrics and enabling the establishment of quality gates to maintain a predetermined standard of quality\r\n- PiTest: Enabling the power of mutation testing to uncover bugs that may otherwise remain concealed.\r\n- TestContainers: Streamlining the process of running various components such as databases, services, and extensions, thereby minimizing the need for manual intervention\r\n\r\nThroughout the session, we'll delve into concrete examples, ensuring a hands-on experience", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "5200f95c-75b8-411a-933f-68865fcd42c6", - "name": "Matti Tahvonen" + "id": "f914323b-f3ba-4de7-9069-28974d1c9137", + "name": "Elias Nogueira" } ], "categories": [ @@ -5301,8 +6495,8 @@ "name": "Track", "categoryItems": [ { - "id": 290612, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 @@ -5319,27 +6513,46 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "9f3d5fc8-28ad-4a78-b40e-b85217024915", + "title": "TBD", + "description": null, + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58707, + "room": "Web and front-end", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, "isConfirmed": false }, { "questionAnswers": [], - "id": "750943", - "title": "Write Once, Deploy Everywhere: From Containers to Serverless", - "description": "While Java apps are technically portable across many platforms, it can be tricky to not tightly couple them to specific deployment platforms, severely degrading their portability. Unfortunately containers alone haven’t fully isolated us the myriad of differences across platforms. This session will cover ways that we can build, package, and deploy Java applications so they remain portable. This enables scaling from cost-efficient and developer environments, to massive scale Kubernetes deployments. Using examples with Spring, you’ll learn how to:\r\n\r\n* Abstract service configuration / binding\r\n* Utilize Testcontainers across local dev/test & CI\r\n* Efficiently avoid cold starts with CRaC and other techniques\r\n* Package applications most efficiently for the target platforms", - "startsAt": null, - "endsAt": null, + "id": "760135", + "title": "Case Study: Journey to Cloud with Jakarta EE and MicroProfile", + "description": "The journey to cloud is an ongoing challenge for many enterprises. Some organizations have tackled this endeavor easily, while others have delayed the process, waiting for the right time or technology to get started. In this session, we will describe the migration of a production application from a solo monolith to an application system augmented with MicroProfile microservices. In this case, the application team opted maximize the value of their investment: maintain the original application and enhance it with services that surround it. We will include technical challenges and how we overcame them using Helidon, an open-source framework that makes it easy to write Java microservices, including MicroProfile microservices that easily integrate with Jakarta EE applications.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "5c84d73d-1b13-4383-a7ec-e7ce3151794e", - "name": "James Ward" + "id": "c3739d81-91b9-4c51-b56a-9099c7e02e74", + "name": "David Cabelus" } ], "categories": [ @@ -5348,8 +6561,8 @@ "name": "Track", "categoryItems": [ { - "id": 290605, - "name": "Cloud Technology" + "id": 290617, + "name": "JakartaEE" } ], "sort": 0 @@ -5366,12 +6579,31 @@ "sort": 1 } ], - "roomId": null, - "room": null, + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, + "isConfirmed": true + }, + { + "questionAnswers": [], + "id": "c67ed6bc-34e3-43f9-8615-fa080ad26bb0", + "title": "Conf close and mega raffle!", + "description": null, + "startsAt": "2025-03-06T16:45:00", + "endsAt": "2025-03-06T17:15:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, "isConfirmed": false } ], diff --git a/_data/schedule.json b/_data/schedule.json index 416bb07a..2002e0b0 100644 --- a/_data/schedule.json +++ b/_data/schedule.json @@ -1,78 +1,24 @@ [ { - "date": "2024-04-09T00:00:00", + "date": "2025-03-04T00:00:00", "isDefault": true, "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58709, + "name": "Keynote", "sessions": [ { - "id": "b64cb3c6-56a6-4114-b7e6-f10cfb1a2d48", - "title": "Workshop registration and breakfast", + "id": "88f90b8c-b2aa-4436-bc81-133985c5e2a3", + "title": "Workshop (on 400 level)", "description": null, - "startsAt": "2024-04-09T07:30:00", - "endsAt": "2024-04-09T09:00:00", - "isServiceSession": true, - "isPlenumSession": true, - "speakers": [], - "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", - "liveUrl": null, - "recordingUrl": null, - "status": null, - "isInformed": false, - "isConfirmed": false - }, - { - "id": "29424e2b-1b71-41b8-875f-90145adf902b", - "title": "Morning Break", - "description": null, - "startsAt": "2024-04-09T10:30:00", - "endsAt": "2024-04-09T11:30:00", - "isServiceSession": true, - "isPlenumSession": true, - "speakers": [], - "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", - "liveUrl": null, - "recordingUrl": null, - "status": null, - "isInformed": false, - "isConfirmed": false - }, - { - "id": "3e738a4f-6573-478f-800a-f72c3fde9c2e", - "title": "Lunch", - "description": null, - "startsAt": "2024-04-09T12:00:00", - "endsAt": "2024-04-09T13:00:00", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": true, "isPlenumSession": false, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", - "liveUrl": null, - "recordingUrl": null, - "status": null, - "isInformed": false, - "isConfirmed": false - }, - { - "id": "23ac1e0f-8594-4e86-9759-12d655ba5310", - "title": "Afternoon Break", - "description": null, - "startsAt": "2024-04-09T14:30:00", - "endsAt": "2024-04-09T15:30:00", - "isServiceSession": true, - "isPlenumSession": false, - "speakers": [], - "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -83,102 +29,57 @@ "hasOnlyPlenumSessions": false }, { - "id": 39693, - "name": "Architecture", + "id": 58710, + "name": "Tech Leadership", "sessions": [ { - "id": "547703", - "title": "Architectural Design Patterns Deep Dive", - "description": "In this day-long work workshop, we will review a catalog of all the standard architectural design patterns. For each design pattern, we will run docker-compose files that demonstrate the strengths and weaknesses of those design patterns. So, you have a first-hand, full-on, and highly engaged full-day workshop to give you the knowledge you need to make critical architectural choices.\r\n\r\nAll labs and examples will be using docker-compose. The examples that we will be focusing on in this intensive workshop include:\r\n\r\n* Hexagonal Architecture\r\n* Domain Driven Design\r\n* Circuit Breaker\r\n* Retry\r\n* Bulkhead\r\n* Ambassador\r\n* Event Sourcing\r\n* Competing Consumers\r\n* Claim Check\r\n* Materialized Views\r\n* CQRS (Command-Query Responsibility Segregation)\r\n* Strangler Fig\r\n* Gatekeeper\r\n* Valet Key\r\n* Saga Pattern\r\n* Data Mesh", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", + "id": "751412", + "title": "Practical AI Lab for Enterprise Java Developers: From Zero to Hero", + "description": "This hands-on workshop is designed to equip enterprise Java developers with the essential skills and knowledge needed to harness the power of artificial intelligence in their projects. Developers learn:\r\n\r\nHow to modernize and deploy Java AI-infused applications across teams using internal developer portals\r\n\r\nUnderstand developer AI concepts like prompt engineering, application testing, applying RAG patterns, observing AI-infused applications, and using tools/agents\r\n\r\nExperiment with models and applications directly on the desktop with AI-focused local development tools\r\n\r\nBuilding AI applications with S/W templates and deploying to Kubernetes\r\n\r\nEasy fine-tuning of base models using open source tools", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6f19875d-369e-4b4f-a1f7-2d93725ab36d", - "name": "Daniel Hinojosa" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 207652, - "name": "Architecture" - } - ], - "sort": 0 + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" }, { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207666, - "name": "workshop" - } - ], - "sort": 1 - } - ], - "roomId": 39693, - "room": "Architecture", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - } - ], - "hasOnlyPlenumSessions": false - }, - { - "id": 39694, - "name": "Agile", - "sessions": [ - { - "id": "568265", - "title": "Cruising Along with Java: Making use of the Modern Features", - "description": "Java was once a language that dragged along at snail's pace. Thankfully, that's no longer the case. In the recent years the pace of development has accelerated, both in language features and in the JDK improvements. Come along to dive into some of the recent changes of Java that are both fun and powerful to use, to learn how you can benefit from these, and we'll also discuss where the language is heading in the near future.", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ + "id": "6f672350-1c71-4a6e-a382-2b1db6e631fd", + "name": "Eric Deandrea" + }, { - "id": "b576bdc5-c994-40f5-b1dd-e0f9f7999fa9", - "name": "Venkat Subramaniam" + "id": "b9f343b4-5370-4839-bd53-572b0322882e", + "name": "James Falkner" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207666, + "id": 290620, "name": "workshop" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -189,110 +90,67 @@ "hasOnlyPlenumSessions": false }, { - "id": 42136, - "name": "AI", + "id": 53138, + "name": "Architecture", "sessions": [ { - "id": "557192", - "title": "Fundamentals of Migration Engineering with OpenRewrite", - "description": "How adaptable is your technology stack to changes in business requirements, technological advancements, and the availability of new and better tools (and avoiding vendor lock-in!)?\r\n\r\nWhen you can more easily secure, upgrade, move, or modernize your code, that means you can adapt quickly and efficiently to changes in technology and markets. That’s what Migration Engineering is all about, which we’ll be exploring in this workshop.\r\n\r\nWe’ll discuss and demonstrate how to write custom recipes using OpenRewrite, an open source auto-refactoring tool, to study and analyze your code before planning migration and modernization efforts—and then automate code changes for your teams. \r\n\r\nYou’ll also learn how to write recipes that will automate code search and transformation actions that are custom to your organization. We will assemble these recipes with the visitor pattern, show how to stitch recipes together with YAML, with Refaster-style templates, with Semgrep matchers, etc. \r\n\r\nThis is a comprehensive look at all kinds of recipe development. You will come away fully equipped to plan and exercise large scale code transformations in your organization.\r\n", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "ac15c088-f8fe-44a8-9a82-3b92b39456e1", - "name": "Jonathan Schneider" - }, - { - "id": "35870981-512d-4c0e-b3af-682799a959a3", - "name": "Olga Kundzich" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 207652, - "name": "Architecture" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207666, - "name": "workshop" - } - ], - "sort": 1 - } - ], - "roomId": 42136, - "room": "AI", + "id": "24d930a2-7178-4726-ab11-239015702332", + "title": "Registration and breakfast", + "description": null, + "startsAt": "2025-03-04T07:30:00", + "endsAt": "2025-03-04T09:00:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - } - ], - "hasOnlyPlenumSessions": false - }, - { - "id": 42137, - "name": "Cloud Tech", - "sessions": [ + "status": null, + "isInformed": false, + "isConfirmed": false + }, { - "id": "556271", - "title": "Spring Boot 3 Workshop", - "description": "Spring Boot 3 is the new major revision of Spring Boot. In this workshop, you will learn the fundamentals of the new features available in the Spring portfolio and also application observability mainly with Micrometer. We will cover the latest developments in Spring Framework 6, Spring Boot 3, and Micrometer. You will apply these fundamentals to realistic scenarios in sample applications where having observability is crucial. You will learn how to Migrate from Boot 2.x to 3, what new features are available, how to use the new AOT and GraalVM native-image support, how to effectively handle errors, how to integrate applications over HTTP via the new Interface Clients, how to avoid common issues, how to make these apps observable, what observability signals to watch, and how to integrate metrics with distributed tracing and logs.\r\nThis workshop is for people who want to learn about Spring Boot 3, Spring Framework 6 and observability. What new tools to use and how to use them with the applications they write so that they can face the cruel world of production.\r\n\r\nPrerequisites:\r\n- Very basic Spring Boot knowledge (how to create beans and HTTP endpoints), you can learn these from our online guides quickly, e.g.: https://spring.io/guides/gs/rest-service/\r\n- Docker\r\n- Java 17 (or higher) installed\r\n- A Java IDE", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", + "id": "751053", + "title": "Migration Engineering with OpenRewrite: The Recipe for Success", + "description": "How adaptable is your technology stack to changes in business requirements, technological advancements, and the availability of new and better tools? When you can more easily secure, upgrade, move, or modernize your code, that means you can adapt quickly and efficiently to changes in technology and markets. That’s what Migration Engineering is all about—and what we’ll be exploring in this workshop.\r\n\r\nWe’ll discuss and demonstrate how to create custom recipes using OpenRewrite, an open source auto-refactoring tool that enables large-scale code analysis and transformations. You’ll learn the make-up of recipes as we walk through a number of examples, then we’ll demonstrate how to write code search and transformation actions that are custom to your organization. We will assemble these recipes with the visitor pattern, and show how to stitch recipes together with YAML, with Refaster-style templates, with Semgrep matchers, etc. We’ll also show how Generative AI can be applied to accelerate recipe development. \r\n\r\nThis is a comprehensive look at all kinds of recipe development that will enable you to come away fully equipped to plan and exercise large-scale code transformations in your organization.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8f517aca-8293-4e1f-9360-0ce676531421", - "name": "Jonatan Ivanov" - }, - { - "id": "51b25e57-ea9c-4900-9b0d-32bc7724f2eb", - "name": "Scott Frederick" + "id": "4c5e0fa5-266a-40aa-b27b-c72bc1ce7f9a", + "name": "Jonathan Schneider" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207666, + "id": 290620, "name": "workshop" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -303,53 +161,53 @@ "hasOnlyPlenumSessions": false }, { - "id": 42139, - "name": "Core Java", + "id": 53139, + "name": "AI", "sessions": [ { - "id": "588202", - "title": "Gain new supersonic, subatomic superpowers with Quarkus 3", - "description": "This workshop focuses on Quarkus, supersonic subatomic Kubernetes native Java. The workshop uses a cloud IDE (VS Code) to develop Quarkus apps, deploy them to Kubernetes, and migrate Spring Boot Petclinic to Quarkus. The hands-on lab also covers several other developer topics such as:\r\n\r\n- Dependency Injection\r\n- Testing Quarkus Apps\r\n- Debugging Quarkus Apps\r\n- Building Native Quarkus Apps\r\n- Developing Cloud Native with Quarkus\r\n- Using Quarkus extensions\r\n- Hibernate ORM with Panache\r\n- Event-driven Messaging\r\n- Streaming Data with Quarkus and Kafka\r\n- Monitoring with Prometheus and Grafana\r\n- Tracing Quarkus Apps with Jaeger and MicroProfile Tracing\r\n- Migrate Spring Boot (Petclinic) to Quarkus", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", + "id": "754716", + "title": "Stream Processing As You’ve Never Seen Before (Seriously): Apache Flink for Java Developers", + "description": "You were tasked with building a real-time platform, but traditional tools couldn’t handle the massive data streams, leading to lagging performance and frustrated users. Deadlines were looming, and the team needed a breakthrough.\r\n\r\nAnd when you learned about Apache Flink.\r\n\r\nWe’ll explore how the DataStream API allowed efficient real-time data processing and how the Table API and SQL features simplified complex queries with familiar syntax. Testing became more straightforward, and managing the application state was no longer a headache.\r\n\r\nYou’ll learn:\r\n\r\n\t•\tHarnessing the DataStream API: Process unbounded data streams efficiently to make your applications more responsive.\r\n\t•\tUnlocking Table API and SQL: Use SQL queries within Flink to simplify data processing tasks without learning new languages.\r\n\t•\tEffective Testing Strategies: Implement best practices for testing Flink applications to ensure your code is robust and reliable.\r\n\t•\tStateful Stream Processing: Manage application state effectively for complex event processing and real-time analytics.\r\n\r\nBy the end of this talk, you’ll be equipped to tackle real-time data challenges. Whether you are building analytics dashboards, event-driven systems, or handling data streams, Apache Flink can be the game-changer you’ve been searching for.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", - "name": "Daniel Oh" + "id": "4f858987-1a60-4da8-a4a2-045824a496c7", + "name": "Viktor Gamov" }, { - "id": "b9f343b4-5370-4839-bd53-572b0322882e", - "name": "James Falkner" + "id": "81c2a2e6-f9f4-4acf-abf3-d6a26409bc30", + "name": "Sandon Jacobs" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, + "id": 290607, "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207666, + "id": 290620, "name": "workshop" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -360,53 +218,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 42140, - "name": "Frameworks", + "id": 53140, + "name": "Cloud Native", "sessions": [ { - "id": "557361", - "title": "Building RESTful Web Services with Jakarta EE", - "description": "In this workshop you will examine and work with the Jakarta EE 10 implementation of Jakarta REST 3.1. You will work through several modules that will provide you with experience in developing RESTful services. Not only will you be looking at the traditional hosting of REST services on an application server, but you will also learn how to embed a specialized REST server in most any type of Java application. It does not end there as this workshop will show you how to implement REST clients using JSON-B to go from an object to JSON and then back again. Come prepared to discuss what you will want to do with REST and then workshop your needs.", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", + "id": "744151", + "title": "Developer To Architect", + "description": "Becoming a software architect is a longed-for career upgrade for many software developers. While the job title suggests a work day focused on technical decision-making, the reality is quite different. In this workshop, software architect Nathaniel Schutta constructs a real world job description in which communication trumps coding.\r\n\r\nDiscover the skill sets needed to juggle multiple priorities, meetings, and time demandsLearn why your best team leadership tool is not a hammer, but a shared cup of coffeeHear the best ways to give and take criticismUnderstand the necessity of writing effective email and formal architecture documentsGet tips for delivering confident career-building presentations to any audienceReview essential techniques for stakeholder management and relationship buildingExplore the critical needs for architecture reviews and an effective process for conducting themThrough lecture and small group exercises, Nathaniel will help you understand what it means to be a successful architect. Working through various problems, attendees will have opportunities to think through architectural decisions and patterns, discuss the importance of non functional requirements and why architects cannot afford to practice resume driven design.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "3b93f05b-f376-44fb-9876-d8a84491a6cd", - "name": "Kenneth Fogel" - }, - { - "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27", - "name": "Ivar Grimstad" + "id": "1f3fa71c-0021-4d6e-af47-0013ecbaeb33", + "name": "Nathaniel Schutta" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, - "name": "JakartaEE" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207666, + "id": 290620, "name": "workshop" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -417,122 +271,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 42141, - "name": "Java Platform", - "sessions": [ - { - "id": "603871", - "title": "Apache Pinot Real-Time Analytics Workshop", - "description": "Apache Pinot is a high-performance database designed to serve analytical queries at extremely high concurrency, with latencies as low as tens of milliseconds. It specializes in ingesting streaming data from sources like Apache Kafka. It is an OLAP database but one optimized for user-facing features rather than manager-facing dashboards. \r\nIn this workshop, we will examine the inner workings of Pinot, then work together to set up a local Pinot cluster and put it to use. We will begin by uploading some static data and querying it. Next, we will deploy a local Kafka cluster to feed streaming data into Pinot, allowing us to incorporate real-time data into our analytics. We will join these two data sources in Pinot and explore how to expose our brand-new real-time analytics to an application front-end. \r\n", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "4f858987-1a60-4da8-a4a2-045824a496c7", - "name": "Viktor Gamov" - }, - { - "id": "421c42e7-2da6-4dfd-b7d9-12c6d75ad354", - "name": "Tim Berglund" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 207652, - "name": "Architecture" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207666, - "name": "workshop" - } - ], - "sort": 1 - } - ], - "roomId": 42141, - "room": "Java Platform", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": false, - "isConfirmed": false - } - ], - "hasOnlyPlenumSessions": false - }, - { - "id": 42142, - "name": "Practices and other Tech", + "id": 58711, + "name": "Cloud Tech", "sessions": [ { - "id": "557595", - "title": "The Ultimate One-Day Java Workshop: Deploying AI-Enhanced Applications with Security & Scalability", - "description": "The Ultimate One-Day Java Workshop: Deploying AI-Enhanced Applications with Security and High-Performance on Kubernetes and Serverless Platforms\r\n\r\nIntroduction: Welcome to a comprehensive workshop designed for those eager to master the intricacies of deploying Java applications in cloud environments. As the software development landscape continues to evolve rapidly, the dual needs to integrate Artificial Intelligence (AI) and deliver efficient, secure, and scalable deployment strategies become increasingly critical. This workshop aims to bridge the gap between traditional Java application deployment and modern cloud-based solutions, offering participants a deep dive into the latest technologies, methodologies, and best practices, including the exciting realm of AI.\r\n\r\nObjective: Our goal is to equip you with the knowledge and skills necessary to start navigating the complexities of Java deployment to cloud platforms in a safe, secure, and innovative way. Whether you're looking to deploy Java applications using traditional JAR files, explore the potential of containerization, venture into serverless architectures, or integrate AI to enhance application capabilities, this workshop will provide you with a solid foundation and practical insights to enhance your deployment strategies. Special emphasis will be placed on not only mastering deployment techniques but also on how to incorporate AI into your Java applications and deliver these advanced solutions in a safe manner.\r\n\r\nEnvironment: All code and development will take place online using Google’s platform\r\n\r\nPreReqs: \r\nAttendees should have some familiarity with the Java programming language. \r\nAttendees should bring a laptop with wifi capabilities. \r\n\r\n\r\nAgenda \r\n\r\nPart 1: Introduction and Overview\r\n Setting the stage for an in-depth exploration of Java deployment in cloud environments. We'll provide an overview of the workshop's structure, aiming to equip attendees with a solid understanding of the deployment lifecycle, from packaging to deployment, with a focus on Java applications. The facilitators will introduce themselves, offering insights into their expertise and what attendees can expect to learn, particularly about secure deployment options like JAR, CRaC, native compilation, and containerization.\r\n\r\nPart 2: Java Packaging and Deployment Options\r\nThis segment delves into the technicalities of Java packaging and deployment, offering a comparative analysis of deployment strategies such as JAR deployment, Checkpoint/Restore in Application Continuity (CRaC), and native compilation. We'll explore containerization including using application frameworks for MicroProfile. With hands-on practical demonstrations using Google Cloud, the attendees will be able to use Google’s online development environments to explore the various deployment workflows from JAR to cloud, JAR to container to cloud, and native compilation to serverless architectures. \r\n\r\nPart 3: Ensuring Security in Java Deployment\r\nThis critical section addresses the paramount importance of a secure software supply chain in Java deployment. We begin with an introduction to essential tools like Software Bill of Materials (SBOMs) and dependency scanning, moving on to a detailed discussion on mitigating cyber threats and adopting secure software development practices. We’ll look at commercial options (with a demonstration of Sonatype Nexus and Lifecycle) review relevant open source tools and discuss the various pros-and-cons of each.\r\n\r\nLunch\r\n\r\nPart 4: Extended Architectural Decisions\r\nPost-lunch, the conversation shifts to architectural decisions, contrasting Kubernetes with serverless architectures in terms of cost, scalability, operational management, and security. This part aims to provide a comprehensive understanding of choosing the right architecture for Java applications in the cloud.\r\n\r\nPart 5: AI in Development and Deployment \r\nThe final part of our workshop explores the revolutionary role of AI in development and deployment processes. With examples using HuggingFace, PaLM and GEMINI the attendees will use LangChain4J in a hands-on session to integrate Google’s AI APIs into Java applications. We'll also examine the security implications of AI, including supply chain concerns and legislative impacts, followed by a series of short discussions on the elements of building secure and efficient deployment pipelines. \r\n\r\nClosing\r\nThe workshop concludes with a recap of key learnings, emphasizing the importance of automation, security in the supply chain, and the variety of deployment options available. An open Q&A session offers participants the opportunity to clarify doubts and engage directly with the experts.\r\n\r\n", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", + "id": "754852", + "title": "AI-Driven Development: Enhancing Java with the latest AI Innovations", + "description": "This hands-on workshopn will dive deep into how to build and maintain a Java codebase using AI. I’ll share insights and experience on the best ways to work with AI when building, updating, and deploying java applications. Whether you're an experienced developer looking to broaden your horizons or just curious about the latest in AI, this session will engage and inspire.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7a6d377f-3ce1-4b32-9014-c70c87022fd0", - "name": "Steve Poole" - }, - { - "id": "eb8e3906-8c75-4876-9fe1-0aca5db8ef40", - "name": "Jamie Coleman" - }, - { - "id": "7c534296-8db5-4452-b17f-9249465ea914", - "name": "Grace Jansen" - }, - { - "id": "f2e1dff5-e8b9-4b4b-a8e4-4f5c6c61158f", - "name": "Abdel Sghiouar" - }, - { - "id": "df2764ce-246c-406d-8cba-c3515e254253", - "name": "Mohammed Aboullaite" + "id": "f412fe67-9886-458b-ab9d-8e7f578bd742", + "name": "Brian Benz" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207666, + "id": 290620, "name": "workshop" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -548,27 +329,27 @@ "slotStart": "07:30:00", "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 53138, + "name": "Architecture", "session": { - "id": "b64cb3c6-56a6-4114-b7e6-f10cfb1a2d48", - "title": "Workshop registration and breakfast", + "id": "24d930a2-7178-4726-ab11-239015702332", + "title": "Registration and breakfast", "description": null, - "startsAt": "2024-04-09T07:30:00", - "endsAt": "2024-04-09T09:00:00", + "startsAt": "2025-03-04T07:30:00", + "endsAt": "2025-03-04T09:00:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": null, "isInformed": false, "isConfirmed": false }, - "index": 0 + "index": 2 } ] }, @@ -576,557 +357,319 @@ "slotStart": "09:00:00", "rooms": [ { - "id": 39693, - "name": "Architecture", + "id": 58709, + "name": "Keynote", "session": { - "id": "547703", - "title": "Architectural Design Patterns Deep Dive", - "description": "In this day-long work workshop, we will review a catalog of all the standard architectural design patterns. For each design pattern, we will run docker-compose files that demonstrate the strengths and weaknesses of those design patterns. So, you have a first-hand, full-on, and highly engaged full-day workshop to give you the knowledge you need to make critical architectural choices.\r\n\r\nAll labs and examples will be using docker-compose. The examples that we will be focusing on in this intensive workshop include:\r\n\r\n* Hexagonal Architecture\r\n* Domain Driven Design\r\n* Circuit Breaker\r\n* Retry\r\n* Bulkhead\r\n* Ambassador\r\n* Event Sourcing\r\n* Competing Consumers\r\n* Claim Check\r\n* Materialized Views\r\n* CQRS (Command-Query Responsibility Segregation)\r\n* Strangler Fig\r\n* Gatekeeper\r\n* Valet Key\r\n* Saga Pattern\r\n* Data Mesh", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", - "isServiceSession": false, + "id": "88f90b8c-b2aa-4436-bc81-133985c5e2a3", + "title": "Workshop (on 400 level)", + "description": null, + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", + "isServiceSession": true, "isPlenumSession": false, - "speakers": [ - { - "id": "6f19875d-369e-4b4f-a1f7-2d93725ab36d", - "name": "Daniel Hinojosa" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 207652, - "name": "Architecture" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207666, - "name": "workshop" - } - ], - "sort": 1 - } - ], - "roomId": 39693, - "room": "Architecture", + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true + "status": null, + "isInformed": false, + "isConfirmed": false }, - "index": 1 + "index": 0 }, { - "id": 39694, - "name": "Agile", + "id": 58710, + "name": "Tech Leadership", "session": { - "id": "568265", - "title": "Cruising Along with Java: Making use of the Modern Features", - "description": "Java was once a language that dragged along at snail's pace. Thankfully, that's no longer the case. In the recent years the pace of development has accelerated, both in language features and in the JDK improvements. Come along to dive into some of the recent changes of Java that are both fun and powerful to use, to learn how you can benefit from these, and we'll also discuss where the language is heading in the near future.", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", + "id": "751412", + "title": "Practical AI Lab for Enterprise Java Developers: From Zero to Hero", + "description": "This hands-on workshop is designed to equip enterprise Java developers with the essential skills and knowledge needed to harness the power of artificial intelligence in their projects. Developers learn:\r\n\r\nHow to modernize and deploy Java AI-infused applications across teams using internal developer portals\r\n\r\nUnderstand developer AI concepts like prompt engineering, application testing, applying RAG patterns, observing AI-infused applications, and using tools/agents\r\n\r\nExperiment with models and applications directly on the desktop with AI-focused local development tools\r\n\r\nBuilding AI applications with S/W templates and deploying to Kubernetes\r\n\r\nEasy fine-tuning of base models using open source tools", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b576bdc5-c994-40f5-b1dd-e0f9f7999fa9", - "name": "Venkat Subramaniam" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 207655, - "name": "Core Java" - } - ], - "sort": 0 + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" }, { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207666, - "name": "workshop" - } - ], - "sort": 1 - } - ], - "roomId": 39694, - "room": "Agile", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - }, - "index": 2 - }, - { - "id": 42136, - "name": "AI", - "session": { - "id": "557192", - "title": "Fundamentals of Migration Engineering with OpenRewrite", - "description": "How adaptable is your technology stack to changes in business requirements, technological advancements, and the availability of new and better tools (and avoiding vendor lock-in!)?\r\n\r\nWhen you can more easily secure, upgrade, move, or modernize your code, that means you can adapt quickly and efficiently to changes in technology and markets. That’s what Migration Engineering is all about, which we’ll be exploring in this workshop.\r\n\r\nWe’ll discuss and demonstrate how to write custom recipes using OpenRewrite, an open source auto-refactoring tool, to study and analyze your code before planning migration and modernization efforts—and then automate code changes for your teams. \r\n\r\nYou’ll also learn how to write recipes that will automate code search and transformation actions that are custom to your organization. We will assemble these recipes with the visitor pattern, show how to stitch recipes together with YAML, with Refaster-style templates, with Semgrep matchers, etc. \r\n\r\nThis is a comprehensive look at all kinds of recipe development. You will come away fully equipped to plan and exercise large scale code transformations in your organization.\r\n", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "ac15c088-f8fe-44a8-9a82-3b92b39456e1", - "name": "Jonathan Schneider" + "id": "6f672350-1c71-4a6e-a382-2b1db6e631fd", + "name": "Eric Deandrea" }, { - "id": "35870981-512d-4c0e-b3af-682799a959a3", - "name": "Olga Kundzich" + "id": "b9f343b4-5370-4839-bd53-572b0322882e", + "name": "James Falkner" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207666, + "id": 290620, "name": "workshop" } ], "sort": 1 } ], - "roomId": 42136, - "room": "AI", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 3 + "index": 1 }, { - "id": 42137, - "name": "Cloud Tech", + "id": 53138, + "name": "Architecture", "session": { - "id": "556271", - "title": "Spring Boot 3 Workshop", - "description": "Spring Boot 3 is the new major revision of Spring Boot. In this workshop, you will learn the fundamentals of the new features available in the Spring portfolio and also application observability mainly with Micrometer. We will cover the latest developments in Spring Framework 6, Spring Boot 3, and Micrometer. You will apply these fundamentals to realistic scenarios in sample applications where having observability is crucial. You will learn how to Migrate from Boot 2.x to 3, what new features are available, how to use the new AOT and GraalVM native-image support, how to effectively handle errors, how to integrate applications over HTTP via the new Interface Clients, how to avoid common issues, how to make these apps observable, what observability signals to watch, and how to integrate metrics with distributed tracing and logs.\r\nThis workshop is for people who want to learn about Spring Boot 3, Spring Framework 6 and observability. What new tools to use and how to use them with the applications they write so that they can face the cruel world of production.\r\n\r\nPrerequisites:\r\n- Very basic Spring Boot knowledge (how to create beans and HTTP endpoints), you can learn these from our online guides quickly, e.g.: https://spring.io/guides/gs/rest-service/\r\n- Docker\r\n- Java 17 (or higher) installed\r\n- A Java IDE", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", + "id": "751053", + "title": "Migration Engineering with OpenRewrite: The Recipe for Success", + "description": "How adaptable is your technology stack to changes in business requirements, technological advancements, and the availability of new and better tools? When you can more easily secure, upgrade, move, or modernize your code, that means you can adapt quickly and efficiently to changes in technology and markets. That’s what Migration Engineering is all about—and what we’ll be exploring in this workshop.\r\n\r\nWe’ll discuss and demonstrate how to create custom recipes using OpenRewrite, an open source auto-refactoring tool that enables large-scale code analysis and transformations. You’ll learn the make-up of recipes as we walk through a number of examples, then we’ll demonstrate how to write code search and transformation actions that are custom to your organization. We will assemble these recipes with the visitor pattern, and show how to stitch recipes together with YAML, with Refaster-style templates, with Semgrep matchers, etc. We’ll also show how Generative AI can be applied to accelerate recipe development. \r\n\r\nThis is a comprehensive look at all kinds of recipe development that will enable you to come away fully equipped to plan and exercise large-scale code transformations in your organization.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8f517aca-8293-4e1f-9360-0ce676531421", - "name": "Jonatan Ivanov" - }, - { - "id": "51b25e57-ea9c-4900-9b0d-32bc7724f2eb", - "name": "Scott Frederick" + "id": "4c5e0fa5-266a-40aa-b27b-c72bc1ce7f9a", + "name": "Jonathan Schneider" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207666, + "id": 290620, "name": "workshop" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 4 + "index": 2 }, { - "id": 42139, - "name": "Core Java", + "id": 53139, + "name": "AI", "session": { - "id": "588202", - "title": "Gain new supersonic, subatomic superpowers with Quarkus 3", - "description": "This workshop focuses on Quarkus, supersonic subatomic Kubernetes native Java. The workshop uses a cloud IDE (VS Code) to develop Quarkus apps, deploy them to Kubernetes, and migrate Spring Boot Petclinic to Quarkus. The hands-on lab also covers several other developer topics such as:\r\n\r\n- Dependency Injection\r\n- Testing Quarkus Apps\r\n- Debugging Quarkus Apps\r\n- Building Native Quarkus Apps\r\n- Developing Cloud Native with Quarkus\r\n- Using Quarkus extensions\r\n- Hibernate ORM with Panache\r\n- Event-driven Messaging\r\n- Streaming Data with Quarkus and Kafka\r\n- Monitoring with Prometheus and Grafana\r\n- Tracing Quarkus Apps with Jaeger and MicroProfile Tracing\r\n- Migrate Spring Boot (Petclinic) to Quarkus", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", + "id": "754716", + "title": "Stream Processing As You’ve Never Seen Before (Seriously): Apache Flink for Java Developers", + "description": "You were tasked with building a real-time platform, but traditional tools couldn’t handle the massive data streams, leading to lagging performance and frustrated users. Deadlines were looming, and the team needed a breakthrough.\r\n\r\nAnd when you learned about Apache Flink.\r\n\r\nWe’ll explore how the DataStream API allowed efficient real-time data processing and how the Table API and SQL features simplified complex queries with familiar syntax. Testing became more straightforward, and managing the application state was no longer a headache.\r\n\r\nYou’ll learn:\r\n\r\n\t•\tHarnessing the DataStream API: Process unbounded data streams efficiently to make your applications more responsive.\r\n\t•\tUnlocking Table API and SQL: Use SQL queries within Flink to simplify data processing tasks without learning new languages.\r\n\t•\tEffective Testing Strategies: Implement best practices for testing Flink applications to ensure your code is robust and reliable.\r\n\t•\tStateful Stream Processing: Manage application state effectively for complex event processing and real-time analytics.\r\n\r\nBy the end of this talk, you’ll be equipped to tackle real-time data challenges. Whether you are building analytics dashboards, event-driven systems, or handling data streams, Apache Flink can be the game-changer you’ve been searching for.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", - "name": "Daniel Oh" + "id": "4f858987-1a60-4da8-a4a2-045824a496c7", + "name": "Viktor Gamov" }, { - "id": "b9f343b4-5370-4839-bd53-572b0322882e", - "name": "James Falkner" + "id": "81c2a2e6-f9f4-4acf-abf3-d6a26409bc30", + "name": "Sandon Jacobs" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, + "id": 290607, "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207666, + "id": 290620, "name": "workshop" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 5 + "index": 3 }, { - "id": 42140, - "name": "Frameworks", + "id": 53140, + "name": "Cloud Native", "session": { - "id": "557361", - "title": "Building RESTful Web Services with Jakarta EE", - "description": "In this workshop you will examine and work with the Jakarta EE 10 implementation of Jakarta REST 3.1. You will work through several modules that will provide you with experience in developing RESTful services. Not only will you be looking at the traditional hosting of REST services on an application server, but you will also learn how to embed a specialized REST server in most any type of Java application. It does not end there as this workshop will show you how to implement REST clients using JSON-B to go from an object to JSON and then back again. Come prepared to discuss what you will want to do with REST and then workshop your needs.", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", + "id": "744151", + "title": "Developer To Architect", + "description": "Becoming a software architect is a longed-for career upgrade for many software developers. While the job title suggests a work day focused on technical decision-making, the reality is quite different. In this workshop, software architect Nathaniel Schutta constructs a real world job description in which communication trumps coding.\r\n\r\nDiscover the skill sets needed to juggle multiple priorities, meetings, and time demandsLearn why your best team leadership tool is not a hammer, but a shared cup of coffeeHear the best ways to give and take criticismUnderstand the necessity of writing effective email and formal architecture documentsGet tips for delivering confident career-building presentations to any audienceReview essential techniques for stakeholder management and relationship buildingExplore the critical needs for architecture reviews and an effective process for conducting themThrough lecture and small group exercises, Nathaniel will help you understand what it means to be a successful architect. Working through various problems, attendees will have opportunities to think through architectural decisions and patterns, discuss the importance of non functional requirements and why architects cannot afford to practice resume driven design.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "3b93f05b-f376-44fb-9876-d8a84491a6cd", - "name": "Kenneth Fogel" - }, - { - "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27", - "name": "Ivar Grimstad" + "id": "1f3fa71c-0021-4d6e-af47-0013ecbaeb33", + "name": "Nathaniel Schutta" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, - "name": "JakartaEE" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207666, + "id": 290620, "name": "workshop" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 6 - }, - { - "id": 42141, - "name": "Java Platform", - "session": { - "id": "603871", - "title": "Apache Pinot Real-Time Analytics Workshop", - "description": "Apache Pinot is a high-performance database designed to serve analytical queries at extremely high concurrency, with latencies as low as tens of milliseconds. It specializes in ingesting streaming data from sources like Apache Kafka. It is an OLAP database but one optimized for user-facing features rather than manager-facing dashboards. \r\nIn this workshop, we will examine the inner workings of Pinot, then work together to set up a local Pinot cluster and put it to use. We will begin by uploading some static data and querying it. Next, we will deploy a local Kafka cluster to feed streaming data into Pinot, allowing us to incorporate real-time data into our analytics. We will join these two data sources in Pinot and explore how to expose our brand-new real-time analytics to an application front-end. \r\n", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "4f858987-1a60-4da8-a4a2-045824a496c7", - "name": "Viktor Gamov" - }, - { - "id": "421c42e7-2da6-4dfd-b7d9-12c6d75ad354", - "name": "Tim Berglund" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 207652, - "name": "Architecture" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207666, - "name": "workshop" - } - ], - "sort": 1 - } - ], - "roomId": 42141, - "room": "Java Platform", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": false, - "isConfirmed": false - }, - "index": 7 + "index": 4 }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58711, + "name": "Cloud Tech", "session": { - "id": "557595", - "title": "The Ultimate One-Day Java Workshop: Deploying AI-Enhanced Applications with Security & Scalability", - "description": "The Ultimate One-Day Java Workshop: Deploying AI-Enhanced Applications with Security and High-Performance on Kubernetes and Serverless Platforms\r\n\r\nIntroduction: Welcome to a comprehensive workshop designed for those eager to master the intricacies of deploying Java applications in cloud environments. As the software development landscape continues to evolve rapidly, the dual needs to integrate Artificial Intelligence (AI) and deliver efficient, secure, and scalable deployment strategies become increasingly critical. This workshop aims to bridge the gap between traditional Java application deployment and modern cloud-based solutions, offering participants a deep dive into the latest technologies, methodologies, and best practices, including the exciting realm of AI.\r\n\r\nObjective: Our goal is to equip you with the knowledge and skills necessary to start navigating the complexities of Java deployment to cloud platforms in a safe, secure, and innovative way. Whether you're looking to deploy Java applications using traditional JAR files, explore the potential of containerization, venture into serverless architectures, or integrate AI to enhance application capabilities, this workshop will provide you with a solid foundation and practical insights to enhance your deployment strategies. Special emphasis will be placed on not only mastering deployment techniques but also on how to incorporate AI into your Java applications and deliver these advanced solutions in a safe manner.\r\n\r\nEnvironment: All code and development will take place online using Google’s platform\r\n\r\nPreReqs: \r\nAttendees should have some familiarity with the Java programming language. \r\nAttendees should bring a laptop with wifi capabilities. \r\n\r\n\r\nAgenda \r\n\r\nPart 1: Introduction and Overview\r\n Setting the stage for an in-depth exploration of Java deployment in cloud environments. We'll provide an overview of the workshop's structure, aiming to equip attendees with a solid understanding of the deployment lifecycle, from packaging to deployment, with a focus on Java applications. The facilitators will introduce themselves, offering insights into their expertise and what attendees can expect to learn, particularly about secure deployment options like JAR, CRaC, native compilation, and containerization.\r\n\r\nPart 2: Java Packaging and Deployment Options\r\nThis segment delves into the technicalities of Java packaging and deployment, offering a comparative analysis of deployment strategies such as JAR deployment, Checkpoint/Restore in Application Continuity (CRaC), and native compilation. We'll explore containerization including using application frameworks for MicroProfile. With hands-on practical demonstrations using Google Cloud, the attendees will be able to use Google’s online development environments to explore the various deployment workflows from JAR to cloud, JAR to container to cloud, and native compilation to serverless architectures. \r\n\r\nPart 3: Ensuring Security in Java Deployment\r\nThis critical section addresses the paramount importance of a secure software supply chain in Java deployment. We begin with an introduction to essential tools like Software Bill of Materials (SBOMs) and dependency scanning, moving on to a detailed discussion on mitigating cyber threats and adopting secure software development practices. We’ll look at commercial options (with a demonstration of Sonatype Nexus and Lifecycle) review relevant open source tools and discuss the various pros-and-cons of each.\r\n\r\nLunch\r\n\r\nPart 4: Extended Architectural Decisions\r\nPost-lunch, the conversation shifts to architectural decisions, contrasting Kubernetes with serverless architectures in terms of cost, scalability, operational management, and security. This part aims to provide a comprehensive understanding of choosing the right architecture for Java applications in the cloud.\r\n\r\nPart 5: AI in Development and Deployment \r\nThe final part of our workshop explores the revolutionary role of AI in development and deployment processes. With examples using HuggingFace, PaLM and GEMINI the attendees will use LangChain4J in a hands-on session to integrate Google’s AI APIs into Java applications. We'll also examine the security implications of AI, including supply chain concerns and legislative impacts, followed by a series of short discussions on the elements of building secure and efficient deployment pipelines. \r\n\r\nClosing\r\nThe workshop concludes with a recap of key learnings, emphasizing the importance of automation, security in the supply chain, and the variety of deployment options available. An open Q&A session offers participants the opportunity to clarify doubts and engage directly with the experts.\r\n\r\n", - "startsAt": "2024-04-09T09:00:00", - "endsAt": "2024-04-09T10:00:00", + "id": "754852", + "title": "AI-Driven Development: Enhancing Java with the latest AI Innovations", + "description": "This hands-on workshopn will dive deep into how to build and maintain a Java codebase using AI. I’ll share insights and experience on the best ways to work with AI when building, updating, and deploying java applications. Whether you're an experienced developer looking to broaden your horizons or just curious about the latest in AI, this session will engage and inspire.", + "startsAt": "2025-03-04T09:00:00", + "endsAt": "2025-03-04T17:05:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7a6d377f-3ce1-4b32-9014-c70c87022fd0", - "name": "Steve Poole" - }, - { - "id": "eb8e3906-8c75-4876-9fe1-0aca5db8ef40", - "name": "Jamie Coleman" - }, - { - "id": "7c534296-8db5-4452-b17f-9249465ea914", - "name": "Grace Jansen" - }, - { - "id": "f2e1dff5-e8b9-4b4b-a8e4-4f5c6c61158f", - "name": "Abdel Sghiouar" - }, - { - "id": "df2764ce-246c-406d-8cba-c3515e254253", - "name": "Mohammed Aboullaite" + "id": "f412fe67-9886-458b-ab9d-8e7f578bd742", + "name": "Brian Benz" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207666, + "id": 290620, "name": "workshop" } ], "sort": 1 } - ], - "roomId": 42142, - "room": "Practices and other Tech", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - }, - "index": 8 - } - ] - }, - { - "slotStart": "10:30:00", - "rooms": [ - { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", - "session": { - "id": "29424e2b-1b71-41b8-875f-90145adf902b", - "title": "Morning Break", - "description": null, - "startsAt": "2024-04-09T10:30:00", - "endsAt": "2024-04-09T11:30:00", - "isServiceSession": true, - "isPlenumSession": true, - "speakers": [], - "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", - "liveUrl": null, - "recordingUrl": null, - "status": null, - "isInformed": false, - "isConfirmed": false - }, - "index": 0 - } - ] - }, - { - "slotStart": "12:00:00", - "rooms": [ - { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", - "session": { - "id": "3e738a4f-6573-478f-800a-f72c3fde9c2e", - "title": "Lunch", - "description": null, - "startsAt": "2024-04-09T12:00:00", - "endsAt": "2024-04-09T13:00:00", - "isServiceSession": true, - "isPlenumSession": false, - "speakers": [], - "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", - "liveUrl": null, - "recordingUrl": null, - "status": null, - "isInformed": false, - "isConfirmed": false - }, - "index": 0 - } - ] - }, - { - "slotStart": "14:30:00", - "rooms": [ - { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", - "session": { - "id": "23ac1e0f-8594-4e86-9759-12d655ba5310", - "title": "Afternoon Break", - "description": null, - "startsAt": "2024-04-09T14:30:00", - "endsAt": "2024-04-09T15:30:00", - "isServiceSession": true, - "isPlenumSession": false, - "speakers": [], - "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + ], + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, - "status": null, - "isInformed": false, - "isConfirmed": false + "status": "Accepted", + "isInformed": true, + "isConfirmed": true }, - "index": 0 + "index": 5 } ] } ] }, { - "date": "2024-04-10T00:00:00", + "date": "2025-03-05T00:00:00", "isDefault": false, "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58709, + "name": "Keynote", "sessions": [ { - "id": "a0f92b48-8680-4b4c-86b6-27fcf80423a6", - "title": "Registration & breakfast", + "id": "a54587eb-7be5-4c1b-843c-91a92818ec6a", + "title": "Registration and breakfast", "description": null, - "startsAt": "2024-04-10T07:30:00", - "endsAt": "2024-04-10T09:00:00", + "startsAt": "2025-03-05T07:30:00", + "endsAt": "2025-03-05T09:00:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -1134,113 +677,35 @@ "isConfirmed": false }, { - "id": "582996", - "title": "Welcome to Devnexus 2024!", - "description": "Opening of the conference", - "startsAt": "2024-04-10T09:00:00", - "endsAt": "2024-04-10T09:10:00", - "isServiceSession": false, - "isPlenumSession": true, - "speakers": [ - { - "id": "e87c804d-b551-4614-8891-007f421a683f", - "name": "Pratik Patel" - }, - { - "id": "b72554fc-3fc6-48e3-a268-2ee5187bdb5e", - "name": "Vincent Mayers" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 231062, - "name": "Keynote" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207665, - "name": "session" - } - ], - "sort": 1 - } - ], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - }, - { - "id": "634712", - "title": "What Makes Software Architecture So Intractable?", - "description": " Why can't we make software architecture once and for all? Why do we keep having to make the seemingly same decisions over and over again? This keynote delves into the slippery nature of software architecture decisions and the modern way to do trade-off analysis. I show tips and techniques for assessing architecture trade-offs, as well as some easy-to-fall-into anti-patterns. I also discuss iterative architecture–the faster you can get feedback for your trade-off analysis, the easier you can make architecture decisions based on objective reality, not opinions.", - "startsAt": "2024-04-10T09:10:00", - "endsAt": "2024-04-10T10:00:00", - "isServiceSession": false, + "id": "c36440b9-6e42-4c24-81be-16ae1f9cbf02", + "title": "Opening keynote", + "description": null, + "startsAt": "2025-03-05T09:00:00", + "endsAt": "2025-03-05T10:00:00", + "isServiceSession": true, "isPlenumSession": false, - "speakers": [ - { - "id": "e7343345-6288-4fa5-8b88-086b6e09015d", - "name": "Neal Ford" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 231062, - "name": "Keynote" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207667, - "name": "keynote" - } - ], - "sort": 1 - } - ], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, - "status": "Accepted", + "status": null, "isInformed": false, "isConfirmed": false }, { - "id": "c41b0ef7-7d6b-4abe-869e-373841caa58a", - "title": "Morning break", + "id": "35b93832-1f7c-4421-b198-bd4f2719a9df", + "title": "Morning Break", "description": null, - "startsAt": "2024-04-10T11:00:00", - "endsAt": "2024-04-10T11:30:00", + "startsAt": "2025-03-05T11:00:00", + "endsAt": "2025-03-05T11:30:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -1248,17 +713,17 @@ "isConfirmed": false }, { - "id": "ed3e2693-e630-4ca5-8b61-32f59e7e6208", + "id": "626ef535-b424-485c-8669-8e3cedd2be0c", "title": "Lunch", "description": null, - "startsAt": "2024-04-10T12:30:00", - "endsAt": "2024-04-10T13:30:00", + "startsAt": "2025-03-05T12:30:00", + "endsAt": "2025-03-05T13:30:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -1266,109 +731,17 @@ "isConfirmed": false }, { - "id": "554096", - "title": "Moving Java Forward Together", - "description": "Modern application development is unrecognizable without Java. Rather than resting on our laurels, Oracle’s leadership continues to drive Java innovation forward. Equally important is Oracle's continuing stewardship of the Java ecosystem because without you, the community, Java doesn't move forward. The role you play is critical in ensuring Java's future for today as well as tomorrow and for the next decades ahead of us. In this session, you'll learn about the many ways YOU can help ensure Java remains the leading choice to build the future.", - "startsAt": "2024-04-10T13:30:00", - "endsAt": "2024-04-10T14:00:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "94bab1ab-fa4d-4e5e-bc5b-f0de8c2bb668", - "name": "Sharat Chander" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 231062, - "name": "Keynote" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207667, - "name": "keynote" - } - ], - "sort": 1 - } - ], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - }, - { - "id": "547744", - "title": "Tech Parents Do's and Don'ts for Teaching Your Kids Programming (from the perspective of a kid)", - "description": "I have been teaching workshops for underprivileged kids since I was 13 years old, because I want programming to be fun and engaging just like how I learned to program. Teaching kids programming at a young age is really important to improve diversity in the field of computer science. Studies show that after middle school most students have already made up their mind about a career in computers, so having a positive introduction to computers at a young age is really important.\r\n\r\nI will share some of the techniques I use to get kids excited about technology, which you can use to teach your own kids or others. We will use Phippy and Friends characters to introduce basic programming and cloud-computing concepts in a way that is approachable for kids of all ages.", - "startsAt": "2024-04-10T14:00:00", - "endsAt": "2024-04-10T14:30:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "3d98aed4-4043-4271-816a-961063c448e1", - "name": "Cassandra Chin" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 231062, - "name": "Keynote" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207667, - "name": "keynote" - } - ], - "sort": 1 - } - ], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - }, - { - "id": "c439f0af-55b9-4a0c-8247-53df8b75f3a4", + "id": "cffe3fa0-6081-49d4-81d2-5e2c1be96ff7", "title": "Afternoon Break", "description": null, - "startsAt": "2024-04-10T15:30:00", - "endsAt": "2024-04-10T16:00:00", + "startsAt": "2025-03-05T15:30:00", + "endsAt": "2025-03-05T16:00:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -1376,17 +749,17 @@ "isConfirmed": false }, { - "id": "af3f4652-a707-4ceb-8b19-711b4a7c34e3", - "title": "Happy hour + prizes!", + "id": "22054d3f-c3e8-4ae4-8bcc-c4e5dc917c08", + "title": "Conference Reception (open bar and food!)", "description": null, - "startsAt": "2024-04-10T18:00:00", - "endsAt": "2024-04-10T19:30:00", + "startsAt": "2025-03-05T17:00:00", + "endsAt": "2025-03-05T19:00:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -1397,49 +770,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 39693, - "name": "Architecture", + "id": 58710, + "name": "Tech Leadership", "sessions": [ { - "id": "552788", - "title": "A design pattern goes to the supermarket", - "description": "Everybody knows the term design patterns. Some know the patterns and correct implementation by heart. Others vaguely recognize the pattern names but don’t recall the details. This talk is intended for the latter group. \r\n\r\nI’ll dive into a couple of design patterns using real-life examples. What would a design pattern look like in day-to-day life? We’ll follow Bobby and Billie and discover how a design pattern would behave in a non-digital environment: the supermarket! With the help of drawings and code snippets, this talk will give you a solid understanding of design patterns, so you won't have to look them up ever again!", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "741822", + "title": "Building 10x Organizations with Internal Developer Portals", + "description": "Developer Experience is Dead! Long Live Developer Experience!\r\n\r\nIn this keynote style session, we’ll take a detailed, granular look at the barriers to productivity faced by developers today. 10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’\r\n\r\nRight now, here in early 2024, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience or ‘DevEx.’ It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity productivity philosophies to go alongside them.\r\n\r\nWe have no need to reinvent another productivity approach when effective solutions such as internal developer portals already exist. As business leaders, we just need to invest in and create urgency behind these solutions today, so that we don’t find ourselves having the same discussion again in a decade.\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "88a48ee1-1950-4e3f-8f4d-c5e269c6eeaf", - "name": "Kaya Weers" + "id": "38263e70-6aee-44ff-a2d3-c7d42141cc50", + "name": "Justin Reock" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1447,45 +820,49 @@ "isConfirmed": true }, { - "id": "551330", - "title": "Analyzing and Critiquing Architectures", - "description": "Software architecture is having a moment, from best selling books to packed classes, the software industry acknowledges the importance of the parts of software resistant to internet searches. Ample pixels have been spilt talking about patterns, decomposition, styles, diagrams and more and all to good ends! But when it comes time to review an architecture, what should you do? What factors should you consider? How do you provide constructive feedback? But we won’t just talk theory, we’ll work through real world examples, providing you a chance to practice this vital skill.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "754870", + "title": "Starting with Java in 2025", + "description": "Java is dead. Despite of hearing that a lot, Java is a modern language with impressive new features. We will demo how easy is to start with Java in 2025 and showcase the amazing features available to developers", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1f3fa71c-0021-4d6e-af47-0013ecbaeb33", - "name": "Nathaniel Schutta" + "id": "8983937d-7fc9-4cb4-bdcf-ce009d874531", + "name": "Rodrigo Graciano" + }, + { + "id": "ab1b8b69-f449-4df9-b391-243a391b9d01", + "name": "Chandra Guntur" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1493,45 +870,45 @@ "isConfirmed": true }, { - "id": "540114", - "title": "Architectural Resiliency", - "description": "Regardless of the techniques used to make enterprise solutions Highly Available (HA), failure at some point inevitable. Resiliency is how fast a system reacts and then recovers to such failures. Failure of Highly Available (HA) enterprise solutions is inevitable. This presentation covers a number of architectural resiliency techniques and patterns that help increase Mean Time to Failure (MTTF), a.k.a Fault Tolerance and decrease Mean Time to Recovery (MTTR).", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "753081", + "title": "Mastering the System Design Methodology", + "description": "Mastering the System Design Methodology is a must-attend talk for developers and architects seeking to elevate their system design skills to new heights. In this engaging session, attendees will embark on a comprehensive journey through the foundational principles of the System Design Methodology, with a particular focus on the practical application of the C4 model. This talk is designed to equip professionals with the tools and insights necessary to develop scalable, efficient, and user-friendly systems that stand the test of time.\r\n\r\nWe'll start by exploring the critical importance of understanding business requirements and stakeholder needs, setting the stage for successful system design. From there, we'll delve deep into the methodology stages, from engaging with business stakeholders to refining and finalizing the system design. Each stage will be brought to life with real-world examples, interactive discussions, and practical exercises, ensuring attendees can apply these concepts to their projects immediately.\r\n\r\nSpecial attention will be given to integrating empathy maps, value chain analysis, and customer journey mapping into the system design process. These powerful tools not only enhance the understanding of internal and external personas but also ensure that the final product truly aligns with user needs and business goals.\r\n\r\nWhether you're an experienced architect or a developer keen on expanding your system design capabilities, this talk will provide valuable insights into creating robust, adaptable, and user-centric software systems. Join us to transform your approach to system design and become a key driver of success in your projects and organization.\r\n\r\nThe Importance of System Design\r\n\r\nThe role of system design in software development\r\nExamples of project successes and failures\r\nOverview of System Design Methodology\r\n\r\nIntroduction to System Design Methodology\r\nThe C4 Model: Context, Containers, Components, and Code\r\nDeep Dive into the Methodology Stages\r\n\r\n* Engage with Business Stakeholders\r\n * Techniques for engagement and prioritization\r\n * Case Study: A startup's journey to understand market needs\r\n\r\n* Identify Vital Business Capabilities\r\n * Mapping business capabilities\r\n * Case Study: Streamlining operations for a logistics company\r\n\r\n* Understand the Internal and External Personas\r\n * Using empathy maps and customer journey mapping\r\n * Case Study: Designing a healthcare app with patient and provider personas\r\n\r\n* Develop a New Value Proposition\r\n * Crafting value propositions\r\n * Case Study: Innovating retail experience with a new e-commerce platform\r\n\r\n* Define Solution Architecture\r\n * Detailing architecture and capability modules\r\n * Case Study: Architectural overhaul for a financial services firm\r\n\r\n* Define Component Process Flows\r\n * Visualizing interactions and process flows\r\n * Case Study: Enhancing the order fulfillment process for an online retailer\r\n\r\n* Review, Refine, and Finalize\r\n * Consolidating insights and preparing for implementation\r\n * Case Study: Finalizing and launching a new feature for a social media platform", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "cfeff178-8c6d-45bd-994c-34aa448ac75c", - "name": "Jeremy Deane" + "id": "32cb0f88-b1ad-44c2-8860-86a5ac46c59a", + "name": "Rohit Bhardwaj" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1539,45 +916,45 @@ "isConfirmed": true }, { - "id": "549463", - "title": "Connect the Tables: How to Graph Relational Databases", - "description": "You might have heard about graphs, but what if you already have a relational database? How do you incorporate something new? This session will show you how to translate part or all data from a relational format into a graph.\r\n\r\nWe will cover the basics of migrating the model and practical steps for actually implementing it. We will walk through naming and case conventions for graphs, as well as some principles for a successful graph model. At each step, we will show live code for making this work in the real world. Come to this session to get concrete steps for graphing relational databases.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "748900", + "title": "Navigating Uncertainty in Software Development: Effective Planning Techniques", + "description": "In an ever-changing world, uncertainty is a constant companion, especially in the realm of software development. Traditional heavy planning practices promise certainty and confidence yet fail to deliver results. This session explores practical techniques to help teams effectively plan and navigate through uncertainty, enabling them to move forward despite the presence of unknowns.\r\n\r\nAttendees will gain insights into:\r\n* Models for understanding problems (Cynefin Framework, and Rumsfeld's Known and Unknowns)\r\n* Multi-level approaches to addressing different types of uncertainty\r\n* Strategies for communicating plans and progress with confidence, even in uncertain circumstances\r\n\r\nThrough real-world examples, this session empowers attendees to embrace uncertainty and equips them with the tools necessary to guide their teams towards successful outcomes. Whether you are a developer, team lead, or product manager, this session will provide you with a fresh perspective on planning in the face of uncertainty.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b5ea9e64-ad10-477c-8444-cc00339b8dc5", - "name": "Jennifer Reif" + "id": "f3734903-c73a-4470-b707-fee91b93a7e8", + "name": "Jodi Jones" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1585,45 +962,45 @@ "isConfirmed": true }, { - "id": "548368", - "title": "Death to the Monolith", - "description": "Monolithic architecture has been the traditional approach for building web applications, but it often leads to a rigid, inflexible, and slow development process. Micro-frontends, on the other hand, allows for breaking down large, complex applications into smaller, more manageable pieces that can be developed, tested, and deployed independently. In this talk, we will learn how to say \"death to the monolith\" and embrace micro-frontends as an architecture pattern.\r\n\r\nBy exploring the problems with monolithic architecture we will discuss why it's time to move away from it. A monolithic architecture can lead to a lack of agility, difficulty in scaling, and an increased risk of failure. Meanwhile, a micro-frontend architecture pattern allows for a more flexible, scalable, and efficient development process.\r\n\r\nNext, we will look at how an application composition platform provides a framework for creating and managing micro-frontends, including tools for versioning, testing, and deploying them. We will discuss how an application composition platform can help ensure consistency across micro-frontends by providing a centralized location for managing shared resources.\r\n\r\nFinally, we will learn how embracing micro-frontend architecture with an application composition platform can enable organizations to become more agile and efficient. Additionally, we will explore how micro-frontend architecture can enable rapid prototyping, reduce time to market, and allow for easier scaling of applications.\r\n\r\nAttendees of this talk will leave with a deeper understanding of the problems with monolithic architecture and the benefits of micro-frontend architecture. They will gain practical tips and strategies for building micro-frontends that are flexible, maintainable, and optimized for performance using an application composition platform. They will also learn how embracing micro-frontend architecture can enable organizations to become more agile and efficient in their development process.\r\n", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "751537", + "title": "Recalibrate - How AI Shakes Up Agile Teams", + "description": "According to researchers, a staggering 75% of enterprise software engineers will harness the power of AI code assistants by 2028. This shift will revolutionize not just how we write code but also the very essence of agile software development.\r\n\r\nAgile, a methodology born over 20 years ago, was crafted for a different era with its own unique challenges. While some principles remain timeless, others demand a fresh perspective in the age of AI-native development. Do we still need sprints when AI can prioritize tasks in real-time? And what happens to cross-functional teams when virtual specialists are at our fingertips?\r\n\r\nJoin Sven as he explores the evolving role of developers and the necessity to rethink human-to-human interaction in a world where AI is our primary coding companion. One thing is certain: we must recalibrate our collaboration strategies within software teams.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "3c467866-b387-417c-acc3-0d06a2d64f3f", - "name": "Cody Frenzel" + "id": "7d63385a-e91e-4983-9b08-90ced6c2a05b", + "name": "Sven Peters" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1634,71 +1011,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 39694, - "name": "Agile", + "id": 53138, + "name": "Architecture", "sessions": [ { - "id": "6ccb7f81-8a86-42ed-b663-00d6d6f748a9", - "title": "Women in Tech Breakfast", - "description": null, - "startsAt": "2024-04-10T08:00:00", - "endsAt": "2024-04-10T09:00:00", - "isServiceSession": true, - "isPlenumSession": false, - "speakers": [], - "categories": [], - "roomId": 39694, - "room": "Agile", - "liveUrl": null, - "recordingUrl": null, - "status": null, - "isInformed": false, - "isConfirmed": false - }, - { - "id": "557526", - "title": "How to Conference : A User Guide", - "description": "Are you an introvert who dreads large gatherings? Do you find it challenging to attend tech conferences or user group events? We know how you feel, but the good news is that these gatherings present invaluable opportunities to expand your knowledge, enhance your skills, and even discover your next career move. The key is to navigate them effectively without feeling overwhelmed.\r\n\r\nJoin us as we discuss how introverts can make the most of conferences and user groups without exhausting themselves. In this session, we will explore strategies to ensure your success, from what to bring to these events, to uncovering the most effective learning methods and practices. We'll also delve into techniques and ideas for finding essential breaks to recharge and reveal the optimal places to be for maximum advantage.\r\n\r\nDiscover how introverts and extroverts can thrive in the world of tech conferences and user groups.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "732429", + "title": "CQRS meets modern Java", + "description": "Command Query Responsibility Segregation (CQRS) is a proven design pattern that enables the clear separation of data changes (commands) and data queries (queries). This separation allows these responsibilities to be scaled and optimized independently. The application code is also structured more understandably, which improves maintainability.\r\n\r\nThis talk will deepen our understanding of the practical implementation of the CQRS principles using modern Java language features such as records, sealed classes, switch expressions, and pattern matching. An example application will demonstrate how the theoretical foundations of CQRS can be applied in practice and how this affects application design while increasing data access efficiency.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a6ee49ed-a85d-43bd-8677-bced09824b2c", - "name": "Nerando Johnson" - }, - { - "id": "25b4a764-0ab3-4a6b-b7b6-8e5f5d46dfc6", - "name": "Glenn Renfro" + "id": "8d6bb73e-5451-4e33-a0ab-7b7ffc37a52e", + "name": "Simon Martinelli" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1706,49 +1061,45 @@ "isConfirmed": true }, { - "id": "537809", - "title": "Building a Great Developer Experience", - "description": "If you want to onboard developers quickly, and retain them by providing a frustration-free environment, you need a great developer experience (DX). This goes beyond just providing CI/CD. It requires runtime libraries, build tooling, local environmets, data collection and displays, and migration automation. All of these work together to create a constant two-way stream of information between the platform engineers and their client development teams.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "753635", + "title": "Beyond Static: Building Adaptive Systems with Reinforcement Learning Using Java", + "description": "Imagine a Java application that adapts to new challenges, learns from its experiences, and dynamically alters its behavior to optimize performance. Does this sound futuristic? Welcome to\r\nthe world of reinforcement learning in Java.\r\n\r\nIn today's rapidly changing technological ecosystem, the demand for software that can learn and adapt is skyrocketing across industries. This is where reinforcement learning comes into\r\nplay, offering a powerful framework for creating intelligent, self-improving systems. \r\n\r\nBut why Java? As one of the most widely used programming languages in enterprise environments, Java provides a robust foundation for implementing complex reinforcement learning algorithms. Its object-oriented nature, extensive libraries, and strong community support make it an ideal choice for building scalable and adaptive applications.\r\n\r\nIn this presentation, we will explore how to harness the power of reinforcement learning within Java applications. We will delve into the core concepts, examine practical implementation strategies, and discuss real-world applications. Whether you are looking to optimize resource allocation, improve decision-making processes, or create more responsive user experiences, reinforcement learning in Java opens up a world of possibilities.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "bfc36fe5-4d43-4394-98fe-a5374fc17616", - "name": "John Burns" - }, - { - "id": "0bcff2e0-2a53-4cdb-9301-11cfc4a4041d", - "name": "Samuel Raghunath" + "id": "43a35463-ae3d-4ccd-ba5a-f153b6ea2c49", + "name": "Omakoji Idakwoji" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1756,45 +1107,45 @@ "isConfirmed": true }, { - "id": "557701", - "title": "Approval Testing: When it's too late for Test-Driven Development", - "description": "Approval Testing may seem odd compared to Test-Driven Development, but it’s designed to let you write automated tests when you already have a large codebase (that may already be in production) and/or the business requirements are out of date, incomplete, or completely missing. While this may sound crazy, it’s something most programmers have had to deal with.\r\n\r\nThe Good News is that Approval Testing evolved as a solution for just this kind of problem. It makes the reasonable assumption that the current behavior of production code is correct, and compares it with how the system behaves after you’ve made some changes. If the results are identical then the test passes; if not, then it shows you the differences so you can decide whether the changes are correct or not. With Approval Tests in place, you can safely refactor the existing production code, then start introducing Test-Driven Development when adding new features to the system.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "754404", + "title": "Reverse-engineering architecture diagrams from your Java app", + "description": "You've adopted the C4 model and have a collection of zoomable system context and container diagrams. These are useful for having high-level conversations, but they don't cover the internal implementation details of your Java app. You consider creating a C4 component diagram. Unfortunately the size and complexity of your Java codebase makes manually drawing this out of the question, and reverse-engineering the codebase with a generic tool produces a cluttered diagram that literally shows everything. How do you create useful component level diagrams that remain up to date with minimal effort? Is this even possible?\r\n\r\nJoin me for a discussion of how to tackle this problem, where I'll cover the theory and tactics behind how to reverse-engineer meaningful component diagrams, before presenting a live demo of how to use the open source Structurizr DSL to put the techniques into action.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7d933c95-3f49-48a4-852b-7fc30aa8b977", - "name": "Burk Hufnagel" + "id": "9530c418-5704-4313-a39c-2d027cfa2ad4", + "name": "Simon Brown" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1802,45 +1153,45 @@ "isConfirmed": true }, { - "id": "556761", - "title": "Crafting Code with a Conscience: Your Role in Ethical Data Stewardship", - "description": "Ensuring ethical data handling is not just about compliance; it’s a moral imperative. Dive into this critical session to understand how dev teams can arm themselves with a curated set of tools, insights, and frameworks designed to seamlessly integrate ethics into your development process while championing & influencing ethical data stewardship. ", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "747322", + "title": "AI Ready Data with Apache Iceberg: Unifying, Controlling, and Optimizing Your Data for Effective AI", + "description": "Title: AI Ready Data with Apache Iceberg: Unifying, Controlling, and Optimizing Your Data for Effective Artificial Intelligence\r\n\r\nTarget Audience:\r\nData engineers\r\nData scientists\r\nData architects\r\nTechnical leaders (CTOs, CIOs)\r\nAnyone interested in improving data quality for AI/ML initiatives\r\n\r\nAbstract\r\nIn today's data-driven world, the effectiveness of Artificial Intelligence (AI) and Machine Learning (ML) models depends heavily on the quality and organization of your underlying data. \"AI Ready Data with Apache Iceberg\" addresses this challenge and describes how Apache Iceberg can facilitate unifying, governing, and optimizing your data, making it truly AI ready.\r\n\r\nKey Takeaways:\r\nThe Data Lakehouse Advantage:\r\nExplain how Apache Iceberg, combined with the lakehouse architecture, provides a unified platform for all types of data, breaking down silos and simplifying data management.\r\n\r\nGit-Like Data Governance with Nessie:\r\nIntroduce Nessie and demonstrate how its Git-like functionality brings version control, branching, and collaboration to your data, enabling efficient experimentation and ensuring data reproducibility.\r\n\r\nData Contracts for Quality Assurance:\r\nDiscuss the concept of data contracts and how they can be used to define and enforce quality standards, ensuring that data meets the necessary criteria for AI/ML workloads.\r\n\r\nIceberg's Optimized Data Structures:\r\nHighlight how Iceberg's optimized data layouts (e.g., columnar formats, partitioning, hidden partitioning) improve query performance and resource utilization, leading to faster AI/ML model training and inference.\r\n\r\nReal-World Use Cases:\r\nShare examples of how organizations are using Iceberg, Nessie, and data contracts to build robust data pipelines, enhance data quality, and achieve tangible results with their AI initiatives.\r\n", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "bd133af7-d326-4bdd-b960-dea75e0d6637", - "name": "Nyah Macklin" + "id": "ddb5faab-b590-4335-bf3f-67ca1f5b2005", + "name": "Andrew Madson" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1848,45 +1199,45 @@ "isConfirmed": true }, { - "id": "539474", - "title": "Product Centricity and Agility: Mega Powers combined", - "description": "Abstract:\r\nIn software development two themes run rampant which are complementary yet distinct: Product Centricity and Agility. Even specialists of these areas might not be familiar with how they are different, what their divergent priorities are, and how to align when trying to decide on where to fall on the continuum between the two. Hear about how these Mega Powers can either work together or explode! Learn how organizations like Discover use dojos and academies to helps product leaders and agile coaches align to drive innovation and continuous improvement while staying true to product vision and organizational outcomes.\r\n\r\n\r\nDesired learning outcomes:\r\n\r\n1. Identify key characteristics of a product-centric approach and an agile (user-focused) approach.\r\n2. Evaluate a given product development scenario to assess where on the continuum of product-centricity and agility your team must fall to achieve desired outcomes.\r\nLearn to formulate recommendations for improving a product development strategy by the incorporating the beneficial elements of both product centricity and agility.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "752337", + "title": "Sociotechnical Platform Engineering", + "description": "devOps practices help reduce friction to production for technologists. Once an application has user traffic, user experience should become a priority, but at what cost?\r\n\r\nThis talk will connect human centered devOps & SRE practices across a value stream to explore how platforms balance developer experience against production stability over time, and how process dependencies factor into overall platform success.\r\n\r\nthis talk will Explore:\r\n- How pipelines are value streams\r\n- A general-purpose value stream map for platforms\r\n- Dependency (wardley) maps for platform processes\r\n- Aligning SLIs, SLOs, & SLAs across our platform VSM\r\n- Establishing Error Budgets\r\n- Chaos Engineering & Complexity Science", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "2c2f23ea-2165-4bb3-b1a8-2080da65ff87", - "name": "Robert Clawson" + "id": "0494255d-10a1-4ec1-8c00-b0881c434931", + "name": "Chris Corriere" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -1897,48 +1248,48 @@ "hasOnlyPlenumSessions": false }, { - "id": 42136, + "id": 53139, "name": "AI", "sessions": [ { - "id": "538373", - "title": "LLMs and Spring: Building Smart Chat Applications with Redis", - "description": "Generative AI and the emergence of LLMs are radically changing content retrieval and generation industries. Using a combination of Natural Language Processing (NLP) techniques, foundation Machine Learning models (GPT and friends), and vector databases, chat-driven smart applications are changing the landscape of modern apps. This presentation explores the Retrieval-Augmented Generation (RAG) approach, which leverages semantic search to dynamically infuse factual knowledge into a large language model (LLM) prompt. This technique enables contextual augmentation of the LLM, enhancing its performance in various tasks such as answering questions, summarizing content, or generating new content. Redis, a vector database and full-text search engine, enables RAG workflows. In this session, we'll explore building RAG applications using Redis and Spring Boot.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "734451", + "title": "TDD & generative AI - a perfect pairing?", + "description": "In this talk we will dive into the question whether generative AI can generate working code when we only provide test cases. So we take the main principle from TDD: we write the tests up front. Then we use a generative AI to create the code. If you wrote the tests correctly and they all pass, you should have a working prototype. Even better, if the tests pass and you trust the tests, the code is production ready!\r\n\r\nWith some live coding, we will explore this idea together. Furthermore we will take a look at the implications of this paradigm shift. After attending you should be able to apply this technique to your own project.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4deee821-d54c-4f81-a909-07a61689e41e", - "name": "Brian Sam-Bodden" + "id": "d7af9489-53b9-48ae-837e-0b2f403c6461", + "name": "Bouke Nijhuis" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, @@ -1947,44 +1298,44 @@ "isConfirmed": true }, { - "id": "548614", - "title": "Building Your Own Private GenAI Chatbot with Java Tools - A Step-by-Step Adventure", - "description": "In today's software development world, there are several Machine Learning (ML) tools that empower developers to create specific chatbots that cater to various needs. These chatbots harness the capabilities of Large Language Models (LLMs) trained on confidential, private document sets on your local machine or enterprise data repositories. They enable you to interact and engage with these document sets, from summarizing emails and meeting notes to gauging sentiment, extracting dates and names from websites, pre-screening resumes, and performing many other tasks.\r\n\r\nBut most of these systems are Python-based. While Python serves as a formidable language for ML, many software developers find themselves operating within the Java ecosystem, especially within large organizations that prioritize Java for robust and reliable production deployments. This presentation focuses on Java-centric tools to construct tuned assistant systems using the retrieval-augmented generation (RAG) technique.\r\n\r\nQuick Overview of Neural Networks, Weights, and Embeddings\r\nExploring the Current State of LLMs\r\nImplementing Prompts and Completions via a Java API to ChatGPT\r\nUnderstanding Prompt Structure and Prompt Engineering Techniques\r\nLearn about Instruction-Tuning and Fine-Tuning Techniques\r\nNavigating Vector Databases and Embeddings with Java\r\nCrafting a Private Chatbot Architecture\r\nDemo\r\n", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "750927", + "title": "AI’s Big Leap: From Sidekick to Autonomous, Multi-repo Refactoring Powerhouse", + "description": "Generative AI can be a force multiplier for developers, but it also comes with limitations. Developers are expected to co-create with AI, and check the generated output, or risk hallucinations running wild. This can aid development at a local machine, but what happens when you try to apply these tools on a massive scale?\r\n\r\nFor mass-scale code operations, AI needs to have agency, able to operate with some degree of autonomy. In this session, we’ll cover how you can use use techniques such as retrieval augmented generation (RAG), the richest code data source for Java called the lossless semantic tree (LST), and OpenRewrite rules-based recipes to drive more efficient and accurate AI model output for refactoring and analyzing large codebases.\r\n\r\nWe’ll specifically address how you can use AI embeddings as a powerful tool to visualize, analyze, and even do smarter sampling for your codebase. We’ll demonstrate using embeddings to perform searches, cluster data, get a birds-eye view of your codebase, as well as diagnose issues and recommend OpenRewrite recipes to fix the problem. We'll also show you how GenAI can be helpful at scale: by assisting with writing OpenRewrite deterministic recipes.\r\n\r\nCome learn the technical underpinnings for reliably using AI at scale for code modernization.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a56899b4-eae5-40ac-b71a-5ef5be0945a0", - "name": "Frank Greco" + "id": "e278d34f-eb09-428e-b299-b87098577622", + "name": "Justine Gehring" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, @@ -1993,136 +1344,136 @@ "isConfirmed": true }, { - "id": "557403", - "title": "Counter Attack: Vector Based methods for Detecting Large Language Model Generated Text and Audio", - "description": "The advent of large token width Large Language Models (LLMs) such as ChatGPT and their ilk has significantly increased the problem of reliable detection. Organizations are now using LLMs to generate text content with targeted precision at a massive scale with the objective of artificially amplifying false narratives and negative propaganda. As part of a broader Counter AI research program we have investigated ways for addressing this problem. In this presentation we will discuss and demonstrate one such promising technique called Masked Permutations. \r\n\r\nThis technique removes a subset of the words and phrases from an arbitrary input text and has the targeted LLM model “fill in the blanks” for a nontrivial collection of permutations. These permutations are then clustered using a manifold approximation technique. With the clustered projection of the LLM embedding vectors in hand, a proximity distance measurement from the original text is then used to determine likelihood of LLM generation. \r\n\r\nThis approach has shown great potential in experimentation as being a practical method of detection that has the potential to scale up as LLMs scale while offering an asymmetric cost advantage. The discussion will include a live software demonstration using a JHUAPL developed interactive 3D XAI analysis tool called Trinity.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "752508", + "title": "AI for Busy Java Developers", + "description": "Yep, we know you're knee-deep in production Java deployments and don’t exactly have spare time to learn about AI. But your manager is talking more about AI every day, and you’re reading unsettling posts about how GenAI will take your job. In this session, we’ll fast-track you through AI and Machine Learning concepts—tailored just for Java developers who need to learn the basics without the need to drill down into data science and complicated math. We’ll cover all the basics and explain how AI can be used in the software development process beyond simple code generation. You’ll walk away understanding where AI fits (and doesn’t fit), grasp its ethical concerns, become more valuable, and enhance your career.\r\n\r\n* Why AI Matters to Developers and Your Career\r\n* Importance of Patterns\r\n* Predictive AI (PredAI) vs Generative AI (GenAI)\r\n* GenAI vs. Traditional Search Engines\r\n* Prompt Techniques\r\n* The Importance of Context for GenAI\r\n* Retrieval-Augmented Generation (RAG) Systems\r\n* Fine-tuning vs RAG\r\n* Java Libraries for AI/ML\r\n* AI and the Software Development Process\r\n* Responsible AI and Ethics\r\n", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4b126c39-e57e-4882-9d41-1c78cb6662b5", - "name": "Sean Phillips" + "id": "a56899b4-eae5-40ac-b71a-5ef5be0945a0", + "name": "Frank Greco" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, { - "id": "568379", - "title": "Harnessing the Power of Open Source for Cloud Native Development: Strategies for Success", - "description": "As cloud native architectures become increasingly popular, open source tools have become essential for managing and deploying cloud native applications. Whether you are a developer, architect, or IT professional, this talk will provide valuable insights and guidance for leveraging open source tools in your own cloud native initiatives. Mo Haghighi, will explore some of the most popular open source tools for cloud native development such as Kubernetes, Prometheus and Grafana that work together complementarily to orchestrate, log activities and monitor containers. \r\nWe will begin with an introduction to cloud native architecture and the benefits of microsevices architecture. He will then dig into the key challenges faced by organizations looking to adopt cloud native technologies.\r\nWe will then dive into open source tools that work efficiently with Kubernetes, an open source container orchestration platform that simplifies the management of containerized applications.\r\nMo will specifically discuss open source monitoring systems such as Prometheus and Grafana to get detailed and visualised insights into the health of microservices. \r\nThe main focus of the talk will be to educate attendees on the benefits of using open source tools for cloud native development, and how to leverage them effectively to streamline processes and maximize productivity.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "751775", + "title": "Enhancing LLMs with Graph Technology", + "description": "Large Language Models (LLMs) have revolutionized natural language processing, yet challenges persist in accuracy and explainability. This talk introduces GraphRAG, an innovative framework that integrates Knowledge Graphs (KGs) with LLMs to address these issues. By leveraging the rich, structured data from KGs, GraphRAG refines LLM outputs, providing a robust context that enhances the precision of generated information. This integration not only improves the factual accuracy of responses but also significantly boosts model interpretability. We will demonstrate how GraphRAG utilizes the interconnected nature of KGs to ground LLMs in real-world knowledge, allowing for more reliable and transparent AI systems. Through practical examples and performance evaluations, attendees will see how this approach mitigates common limitations of traditional LLMs, such as ambiguity and information gaps. The session will highlight advancements in both the effectiveness and clarity of AI responses, showcasing the transformative impact of combining Graph Technology with LLMs. Join us to explore how GraphRAG is setting a new standard in enhancing AI's accuracy and explainability.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "21924ec2-96d9-4b4a-b2c8-99dd2efb77a7", - "name": "Mo Haghighi" + "id": "0793b99f-1282-4674-9d21-f88e30c8232e", + "name": "Stephen Chin" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { - "id": "549522", - "title": "Calling AI Tools from Java", - "description": "As far as Java is concerned, most AI tools are just another RESTful web service. In this session, learn how to use modern Java features like records, text blocks, the HTTP Client API and more to access ChatGPT, the Whisper audio-to-text transcription API, and image generators like DALL-E, Stable Diffusion, and Midjourney.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "844129", + "title": "Developer Productivity with Large Language Models", + "description": "The emergence of large language models (LLMs) has transformed how developers approach coding, offering new opportunities to improve productivity and collaboration. The combination of LLMs and Java offers a transformative opportunity to streamline workflows, enhance code quality, and reduce development cycles.\r\n\r\nThis session explores how LLMs, such as OpenAI’s GPT and GitHub Copilot, can empower developers by automating repetitive coding tasks, improving debugging efficiency, and generating optimized, boilerplate-free code. We discuss practical applications of LLMs in Java development, including intelligent code generation, debugging assistance, and documentation creation. Additionally, we explore how LLMs can support the learning curve for new Java developers by providing real-time guidance and best practices. ", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ecda0d84-be59-41c6-8983-b58cd5b3f93c", - "name": "Kenneth Kousen" + "id": "21924ec2-96d9-4b4a-b2c8-99dd2efb77a7", + "name": "Mo Haghighi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, @@ -2134,95 +1485,53 @@ "hasOnlyPlenumSessions": false }, { - "id": 42137, - "name": "Cloud Tech", + "id": 53140, + "name": "Cloud Native", "sessions": [ { - "id": "551553", - "title": "Kubernetes Demystified", - "description": "Have you heard about Kubernetes? Of course you have, is that thing that was created by Google to orchestrate containers. You might have heard some of its features, like auto-scaling, load balancing, zero downtime version releases, etc. And also, you might have heard the new jargon that comes with it. \r\n\r\nPods, nodes, replicasets, deployments, statefulsets, netpols, services, namespaces, kubectl????\r\n\r\nIf you are wondering what all those words mean, you are not alone! (and you probably need to join me in this talk)\r\n\r\nIn this session, we'll start with a quick introduction to Kubernetes and the problems that it is trying to solve. We'll demystify terms like pods, deployments, services, and more. You'll gain the knowledge you need to navigate the Kubernetes landscape confidently, making sense of the buzzwords that have left you scratching your head.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "734811", + "title": "Create AI-Infused Java Apps with LangChain4j", + "description": "Generative AI has taken the world by storm over the last year, and it seems like every executive leader out there is telling us “regular” Java application developers to “add AI” to our applications. Does that mean we need to drop everything we’ve built and become data scientists instead now?\r\n\r\nFortunately, we can infuse AI models built by actual AI experts into our applications fairly straightforwardly, thanks to some new projects. We promise it’s not as complicated as you might think! Thanks to the ease of use and superb developer experience of Quarkus and the nice AI integration capabilities that the LangChain4j libraries offer, it becomes trivial to start working with AI and make your stakeholders happy :)\r\n\r\nIn this session, you’ll explore a variety of AI capabilities. We’ll start from the Quarkus DevUI where you can try out AI models even before writing any code. Then we’ll get our hands dirty with some code and exploring LangChain4j features such as prompting, chaining, and preserving state; agents and function-calling; enriching your AI model’s knowledge with your documents using retrieval augmented generation (RAG); and discovering ways to run (and train) models locally using tools like Ollama and/or Podman AI Lab. In addition, we’ll look at the AI integration's observability and fault tolerance and compile the app to a native binary. Maybe we’ll even try some new features, such as generating images or audio!\r\n\r\nCome to this session to learn how to build AI-infused applications in Java from the actual Quarkus experts and engineers working on the Quarkus LangChain4j extensions. This is also an opportunity to provide feedback to the maintainers of these projects and contribute back to the community.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "90d4149a-7993-407f-a350-a0d7a8a04440", - "name": "Orlando Valdez" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 207654, - "name": "Cloud Technology" - } - ], - "sort": 0 + "id": "a4305a38-d462-482b-9e4a-536eb74ec63c", + "name": "Kevin Dubois" }, { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207665, - "name": "session" - } - ], - "sort": 1 - } - ], - "roomId": 42137, - "room": "Cloud Tech", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - }, - { - "id": "557019", - "title": "A developer’s journey to Kubernetes: a handy guide for developing, deploying, and debugging your app", - "description": "Containers are everywhere nowadays, and they have changed the way we develop, architect, deploy and troubleshoot our apps in production.\r\n\r\nThis talk will cover the most important things you need to know from developing containerized apps, to deploying them into your Kubernetes cluster, and finally, debugging them.\r\n\r\nWe will cover valuable tools to boost your productivity on Kubernetes—like Skaffold, Dart, Buildpacks and Jib—and discuss common deployment patterns and best practices. We know developers need to understand how to manage resources, application lifecycle and which K8s API objects to use for which component, and in this talk we’ll detail these important items. We also know that developers struggle to troubleshoot their deployed applications, because, well, things break and you need to figure out why!\r\n", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "f2e1dff5-e8b9-4b4b-a8e4-4f5c6c61158f", - "name": "Abdel Sghiouar" + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2230,45 +1539,45 @@ "isConfirmed": true }, { - "id": "538002", - "title": "Designing media optimized byte transfer and storage at Netflix", - "description": "Netflix is a media streaming company and a movie studio with data at exabyte scale. Most of the data generated, transferred and stored at Netflix is very media specific, for example, raw camera footage, or data generated as a result of encoding and rendering for different screen types.\r\n\r\nIn this session, I will throw light on how we design a media aware and optimized transfer, storage and presentation layer for data.\r\n\r\nBy leveraging this architecture at Netflix scale, we provide a scalable, reliable, and optimized backend layer for media data.\r\n\r\nMajor takeaways from this session\r\n- Learn about the challenges of designing a scalable object storage layer for data while adhering to the file system POSIX semantics of media applications\r\n- Learn about the optimizations applied to reduce cloud storage footprint, such as chunking, deduplication\r\n- Learn about how different applications expect data to be presented at different locations and in different formats.\r\n", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "740910", + "title": "Embracing the Hybrid Cloud: Unlocking Success with Open Source Technologies", + "description": "Change and adopting Hybrid Cloud solutions are inevitable in today's dynamic business landscape. As companies strive for success, their workloads span diverse landscapes, including public cloud providers and on-premises servers. To thrive in this ever-evolving environment, harnessing the power of open-source technologies becomes imperative.\r\n\r\nJoin us in this enlightening session to discover how cutting-edge tools such as Kubernetes, Knative, and Skupper can tip the scales in your favor. We'll unveil the transformative capabilities of these technologies and demonstrate how they can empower your organization to achieve crucial objectives such as cost management, failover preparedness, resiliency, and more.\r\n\r\nIn an era where agility, efficiency, and resilience are paramount, this session will equip you with the insights and tools to navigate the Hybrid Cloud's complexities successfully. ", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "0e577c69-f95e-4044-a53c-d626732f2bb6", - "name": "Tejas Chopra" + "id": "dedbce11-34e0-466e-a5cb-ea585688d106", + "name": "Alex Soto" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2276,45 +1585,49 @@ "isConfirmed": true }, { - "id": "549436", - "title": "The Wild West…East, North and South: Multi-Region Java Apps in the Cloud", - "description": "Cloud providers allow us to provision our application infrastructure in cloud regions and availability zones around the world. This makes it possible to build Java apps that serve user requests with low latency from nearly anywhere. However, only a few deploy application instances across several distant locations.\r\n\r\nThis hands-on session introduces you to the design patterns of multi-region Java applications in the cloud with a focus on latency and response time. We'll start with a traditional single-region configuration and then switch to a multi-region setting. In the end, we'll have a working prototype of an application that handles user traffic with low latency in North America, Europe, and Australia.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "751289", + "title": "Optimizing Containerized Java Apps with Jib, GraalVM, CDS, and CRaC", + "description": "In today’s cloud-native world, keeping microservices reliable and scalable is essential. Java Java developers and architects often struggle to optimize containerized Java apps because configuring and integrating powerful tools into their build processes is complex. This session explores practical techniques to improve performance in cloud environments, including creating custom JREs, using Jib for easier container builds, and leveraging GraalVM for faster startup times. You’ll learn to use Class Data Sharing (CDS) and CRaC to improve startup times, while evaluating trade-offs to choose the best optimization techniques, ensuring your applications are optimized for scale, reliability, and efficiency in the cloud.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "13f2987c-b5e6-4a8e-a039-e97f93f20670", - "name": "Denis Magda" + "id": "763e5a81-e0ba-4663-8dec-86a46ab80604", + "name": "Fernanda Machado" + }, + { + "id": "058c3cdc-0607-4437-81bb-07a1aed5d05c", + "name": "Elder Moraes" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2322,144 +1635,144 @@ "isConfirmed": true }, { - "id": "549107", - "title": "Wireguard, TLS and Workload Identity: The Backbone of Modern Service Networking", - "description": "Zero Trust Networking has become a standard marketing buzzword but the underlying principles are critical for modern microservice-style architectures. Authentication, authorizations, policy, etc. can be difficult to implement between services and do so in a maintainable way. Google invented their own transparent encryption and authorization protocol called \"ALTS\" back in 2007 to serve the application layer of Google's Borg workload scheduler, but we don't see others using it outside Google.\r\n\r\nIn this session we look at existing technology like TLS and newcomer Wireguard and see how these technologies come together to provide a secure foundation for workload identity and modern service-to-service networking. We will see how to accomplish exactly what Google did with ALTS but in a more open-source friendly way.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "770645", + "title": "Building APIs in the AI Era", + "description": "How can architects and software developers use AI to transform the process of developing APIs? Our discussion in this session will center on how AI is revolutionizing software development, with an emphasis on how AI assistants can be incorporated into the process of creating APIs. We will look at how AI tools can improve testing, speed up code generation, maintain stronger security, and maximize performance. Through a series of demonstrations, attendees will learn how to best incorporate AI-driven solutions into their API projects to maximize output, reduce time-to-market, and maintain quality standards. Come learn how AI is a disruptive force in the evolution of API development, not just a small improvement.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6e160707-beeb-4abc-97de-23d6f2c84056", - "name": "Christian Posta" + "id": "a4305a38-d462-482b-9e4a-536eb74ec63c", + "name": "Kevin Dubois" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - } - ], - "hasOnlyPlenumSessions": false - }, - { - "id": 42139, - "name": "Core Java", - "sessions": [ + }, { - "id": "547871", - "title": "A Glance At The Java Performance Toolbox", - "description": "What's the first step to improving performance?\r\n\r\nIs it tuning the garbage collector? Writing clean(er) code?\r\nNo, the first step is understanding what's going on in your application!\r\n\r\nPerformance tuning starts with analysis, and JDK tools can help you gain insights on classes and threads and can perform live GC analysis or heap dump postprocessing: jcmd, jconsole, jstat, jmap and jfr.\r\n\r\nWe'll examine the functional visibility areas essential to Java and how these tools provide that information. Moreover, will discuss options on how to integrate information gathered from these tools with widespread monitoring systems like Prometheus.\r\n\r\nAfter this talk, you will be ready to understand what your application spends time on and why so you can start improving its performance with complete information.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "769455", + "title": "Containers and Kubernetes made easy: Deep dive into Podman Desktop", + "description": "Dive into the world of containers and Kubernetes with Podman Desktop, an open-source tool to empower your container development workflow, and seamlessly deploy applications to local and remote Kubernetes environments. Podman Desktop provides an intuitive interface compatible with container engines such as Podman, Docker, Lima, and more for developers, operations, and those looking to simplify building and deploying containers. With an interactive live demo showing how to move from containers to Pods, to Kubernetes (all from your local machine), you’ll learn best practices in developing and deploying cloud-native applications. In addition, we’ll introduce the path to infusing your applications with Generative AI using the Podman AI Lab, to serve and inference open-source LLMs such as LLaMA & Mistral for quickly building and prototyping AI-enabled applications. Join us to learn how you can seamlessly adopt containers and ensure predictability in deployments on Kubernetes, through local clusters (with Kind and Minikube) and by leveraging Podman Desktop’s features and security advantages!", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "086de2f4-8bfc-47ab-8f65-c623a5753fcf", - "name": "Ana Maria Mihalceanu" + "id": "7f4dbf3b-9ec9-4d72-a46c-62020903c652", + "name": "Cedric Clyburn" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - }, + } + ], + "hasOnlyPlenumSessions": false + }, + { + "id": 58711, + "name": "Cloud Tech", + "sessions": [ { - "id": "558007", - "title": "To Java 22 and Beyond!", - "description": "Java 21 has come and gone, and the Java release train continues with Java 22!\r\n\r\nStill, we will look over the key changes that have come to Java in recent releases, briefly discuss what has changed from 11-17, and take time to focus on changes in 17+. \r\n\r\nMany key changes have come to Java in recent releases; virtual threads, pattern matching, records, Generational ZGC, and more, understanding the goals of these changes can be key to understanding where Java is now and where it is going in the future!", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "752303", + "title": "Backstage Software Templates for Java Developers", + "description": "As a Java developer you might have a hard time accepting the limitations that you feel being introduced into your development cycles. Let's look at the positives and learn everything important to know to turn Backstag's software templates into a helpful tool you can use to elevate the platform experience for all developers. ", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6f426cb0-6261-4f79-b726-b7ffc3b028ff", - "name": "Billy Korando" + "id": "b4ec38ee-2a62-40f0-85ab-2b4811d2f380", + "name": "Markus Eisele" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2467,45 +1780,45 @@ "isConfirmed": true }, { - "id": "537763", - "title": "Trash Talk - Exploring the memory management in the JVM", - "description": "In the realm of Java programming, understanding memory management and garbage collection mechanisms cannot only be helpful for optimizing performance and resource utilization but also in general will help you to use the right garbage collector for your application. This session will be about memory allocation, object lifecycle, and garbage collection strategies within the Java Virtual Machine (JVM). Attendees will gain insights into memory allocation strategies, object retention policies, and various garbage collection algorithms like generational and concurrent collection. So when you are interested in getting more knowledge about which garbage collector to use best for your application or about memory management in the JVM, this session is for you.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "751905", + "title": "Mastering Canary Releases with Argo Rollouts in Kubernetes", + "description": "Delivering new features without impacting user experience is a challenge for any modern application. Canary releases provide a safe way to gradually roll out changes, ensuring stability while reducing risk. In this session, we’ll explore how to implement fully automated canary releases using Argo Rollouts in Kubernetes.\r\n\r\nWe’ll cover the core concepts of canary deployments, progressive delivery strategies, and how Argo Rollouts integrates seamlessly with Kubernetes to manage traffic shifts and monitor metrics. To bring it all together, there will be a live demo showcasing a fully automated canary release in action—watch as we safely deploy updates in real time!\r\n\r\nJoin us to learn how to leverage canary releases for safer, more reliable software delivery.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "71f3abf1-03cf-458b-b385-e10fd110e89a", - "name": "Gerrit Grunwald" + "id": "90d4149a-7993-407f-a350-a0d7a8a04440", + "name": "Orlando Valdez" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2513,45 +1826,45 @@ "isConfirmed": true }, { - "id": "556916", - "title": "Java's New Powers: Hero or Villain in Your Code?", - "description": "With Java’s six-month release cadence, new features and enhancements appear like superheroes, more frequently than ever before, promising to address our pain points. These Java features are indeed powerful, but their impact depends on how they are used and integrated into our code. A poorly executed implementation can quickly turn a superhero into a villain, undermining the potential benefits.\r\n\r\nJoin me in this live hands-on coding session where I’ll demonstrate the capabilities of Java's latest features and the way they are or could be implemented in a real-world project. Prepare to witness the battle between Java's incredible features and the forces of poor implementation. I’ll talk about multiple use cases with practical strategies and best practices for using Java's latest enhancements, ensuring they shine as true superheroes in your development projects.\r\n\r\nBy the end of this session, you'll learn tips and tricks to utilize Java's new powers like Virtual Threads, String Templates, Pattern Matching, Records, Text Blocks and many more. Join me for an exploration of how Java can be your ally in the battle against code chaos.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "754051", + "title": "Cloud Integration Testing Made Easy for Your Java Apps", + "description": "Integration testing is complicated as it is, even more so when third-party services are involved, but cloud-native AWS applications that rely on managed services are especially tough to test.\r\n\r\nCloud integration tests are particularly challenging due to the high complexity of the interconnected services, dependency management, deployment and provisioning intricacies, and potentially high costs. So how can we bring the ease and speed of unit tests into these integration tests? Ideally, we’d like to use a local setup where we can quickly spin up and deploy our services in an emulated environment that’s as close as possible to the real deal. By simulating real-world scenarios and testing the integration of various parts of the system, these tests help us identify and resolve issues early in the development process. This is where Testcontainers and LocalStack work beautifully together to bring you the best of integration tests and cloud services on your machine. We’ll explore how we can enhance the testability of a Spring Boot application that relies on AWS services and vastly increase the test coverage of our applications without any need for mocking or remote AWS sandbox accounts.\r\n\r\nTesting your AWS-powered Spring Boot app with LocalStack and Testcontainers conveys isolation, speed, cost, and flexibility, making it effortless to get started with writing integration tests for your cloud application.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "16e1da1a-8902-415a-badf-f021d7b888ec", - "name": "Mala Gupta" + "id": "4bcfc433-e955-43c9-b2e2-0d689a7794af", + "name": "Anca Ghenade" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2559,45 +1872,49 @@ "isConfirmed": true }, { - "id": "557685", - "title": "Troubleshooting, Monitoring and Profiling with Java Flight Recorder, Mission Control and Cryostat", - "description": "Java Flight Recorder and JDK Mission Control enable continuous collection of low level, detailed runtime information for incident analysis. JFR is included with the JDK, has a tiny footprint, and \r\n\r\nJava Flight Recorder is a profiling and event collection framework built into the JDK. \r\n\r\nJDK Mission Control contains a set of tools that enable detailed analysis of the data collected by Java Flight Recorder.\r\n\r\nCryotstat enables secure managemant of JFR recordings for containerized Java apps.\r\n\r\nIn this presentation, we will dive into Java Flight Recorder, Java Mission Control, and Cryostat. You will leave knowing how start, stop, and visualize data about your Java applications running in and out of containers.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "750943", + "title": "Write Once, Deploy Everywhere: From Containers to Serverless", + "description": "While Java apps are technically portable across many platforms, it can be tricky to not tightly couple them to specific deployment platforms, severely degrading their portability. Unfortunately containers alone haven’t fully isolated us the myriad of differences across platforms. This session will cover ways that we can build, package, and deploy Java applications so they remain portable. This enables scaling from cost-efficient and developer environments, to massive scale Kubernetes deployments. Using examples with Spring, you’ll learn how to:\r\n\r\n* Abstract service configuration / binding\r\n* Utilize Testcontainers across local dev/test & CI\r\n* Efficiently avoid cold starts with CRaC and other techniques\r\n* Package applications most efficiently for the target platforms", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "943e1c6e-d2db-4829-b701-000eaac0f5cd", - "name": "Jeremy Davis" + "id": "5c84d73d-1b13-4383-a7ec-e7ce3151794e", + "name": "James Ward" + }, + { + "id": "9548c494-2cab-45b9-af37-398f9b6d1f9d", + "name": "Vinicius Senger" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2605,45 +1922,45 @@ "isConfirmed": true }, { - "id": "557537", - "title": "The OffHeap Podcast. Devnexus Edition", - "description": "Coming back for another year, the OffHeap podcast have been a staple of DevNexus. Bringing you interesting conversations, trivia, and fun facts around our favorite JVM language we promise that this session will be another one you are NOT going to forget. Take the time to meet the faces behind the (most awesome) Java podcast out there!", - "startsAt": "2024-04-10T18:00:00", - "endsAt": "2024-04-10T19:30:00", + "id": "740043", + "title": "Home Lab - Private Cloud on a budget", + "description": "Ever wanted to run your own private cloud but thought it was out of reach due to cost? Think again! In this session, we'll show you how to build a powerful, cost-effective private cloud in your own home using Proxmox, TrueNAS, and pfSense—all without breaking the bank.\r\n\r\nWhether you're a developer, a sysadmin, or just a tech enthusiast, this session will walk you through everything you need to know, from acquiring affordable hardware to setting up and managing your home lab. By the end of this session, you'll be well-equipped to create a reliable and secure private cloud at home.\r\n\r\nThis talk offers a step-by-step guide to building a private cloud at home using cost-effective methods, focusing on acquiring affordable hardware, utilizing free software, and managing the setup in a home lab environment.\r\n\r\n- Acquire Cheap Hardware - Learn how to source and select affordable hardware that meets the requirements for running a home lab capable of supporting a private cloud infrastructure.\r\n\r\n- Utilize Free Software - Discover how to leverage Proxmox, TrueNAS, and pfSense—powerful and free tools that allow you to create a fully functional private cloud without costly licenses.\r\n\r\n- Use a Homelab - Understand how to set up, configure, and maintain a home lab environment, turning your inexpensive hardware and free software into a robust private cloud solution.\r\n\r\nAttendees will leave this session with a clear understanding of how to build and manage their own private cloud on a budget. They will learn how to select the right hardware, utilize powerful open-source software, and set up a home lab that enables them to experiment with and deploy cloud-based applications securely and efficiently. Whether for personal projects, learning, or small-scale deployments, attendees will gain the skills to create a reliable private cloud environment at home.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4d4ac30a-3cf4-4c64-99d4-8261e8e966ad", - "name": "Freddy Guime" + "id": "6375582a-11f3-4a89-b783-6e5869a1a217", + "name": "Jared Rhodes" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2654,49 +1971,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 42140, - "name": "Frameworks", + "id": 58701, + "name": "Core Java", "sessions": [ { - "id": "551498", - "title": "Spring Cloud Gateway MVC: Built for Java 21 and Virtual Threads", - "description": "We will provide a brief history of API gateways in Spring Cloud, including Zuul and why we built Spring Cloud Gateway to replace it. Then we will give a short primer on how the gateway routes and filters requests. We will then introduce how Spring Cloud Gateway can work in servlet containers using virtual threads on Java 21. We will compare and contrast this new functionality to the original WebFlux-based Spring Cloud Gateway.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "754668", + "title": "DataFrame - a Swiss Army Knife of Java Data Processing", + "description": "Can we use big data techniques without big data infrastructure? As Java developers, we deal with data processing all the time: analyzing app logs, extracting data from Excel, copying tables between databases, to give some examples. Yet, the “standard” Java falls short in processing capabilities compared to more complex and heavy tools like Spark or Flink.\r\n\r\nThis talk is about “DataFrame” - a 2-dimensional in-memory table structure that provides filtering, column / row operations, joins, aggregations, window functions, etc. I will use an open source DFLib library (https://dflib.org) and a Jupyter notebook to demonstrate how to do data processing and visualization in a Java app with DataFrames without much fuss.\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "bdcf9fac-1a10-416b-9dc9-be50b718e9af", - "name": "Spencer Gibb" + "id": "7a260dc7-19c8-4f8a-a299-66c70d91f4c4", + "name": "Andrus Adamchik" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2704,45 +2021,45 @@ "isConfirmed": true }, { - "id": "537943", - "title": "Do you really need Hibernate?", - "description": "Projects often use Java Persistence API (JPA) by default and, thus, mostly Hibernate. But do all applications need a comprehensive object/relational mapping (ORM) with all conceivable functions?\r\n\r\nThis talk examines the architecture of database-centric applications and discusses whether you always need an object graph for persistence.\r\n\r\nUsing an example application, it is shown how pure SQL, with the help of jOOQ and (nested) Java Records simplifies data access and how common ORM problems, such as the n+1 select problem, can be avoided.\r\nFinally, the possibility of combining jOOQ and JPA/Hibernate and thus using the best of both worlds is discussed.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "753353", + "title": "Keeping Your Java Hot by Solving the JVM Warmup Problem", + "description": "Java bytecodes and class files deliver on the original vision of “write once, run anywhere”. Using a Just-in-Time (JIT) compiler allows JVM-based applications to compile only the code that’s being used frequently and optimise it precisely for how it is being used. Using techniques like speculative optimisation can often deliver better performance than static, Ahead-of-Time (AOT) compiled code.\r\n\r\nHowever, this flexibility and performance comes at a cost. Each time the JVM starts an application, it must perform the same analysis to find hot spots of code and compile them. This is referred to as the application warmup time.\r\n\r\nIn this session, we’ll look at several approaches to how this problem can be alleviated or even eliminated. Specifically:\r\n\r\n•\tGenerating a JIT compiler profile of a running, warmed-up application that can be reused when the same application is restarted, eliminating the need for much of the JIT compilation.\r\n•\tOpenJDK Project Leyden's ahead-of-time class loading, method profiling and code compilation.\r\n•\tDecoupling the JIT compiler from the JVM for a Cloud environment. Providing a centralised JIT-as-a-Service allows caching of compiled code and offloading the compilation work when new code must be compiled.\r\n•\tCreating a checkpoint of a running application. This includes all application state (heap, stack, etc.) in addition to the JIT-compiled code. Project CRaC will be used as an example.\r\n\r\nAt the end of the session, you’ll be all set to keep your Java hot!\r\n", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8d6bb73e-5451-4e33-a0ab-7b7ffc37a52e", - "name": "Simon Martinelli" + "id": "709043d1-5754-4459-a8d5-6dd2f5619874", + "name": "Simon Ritter" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2750,45 +2067,45 @@ "isConfirmed": true }, { - "id": "549542", - "title": "JUnit 5's Best Features", - "description": "The team that rewrote JUnit in version 5 did a fantastic job improving the platform while maintaining backward compatibility. Many Java developers don't realize how many new cool capabilities have been added to the framework since the initial 5.0 release. This talk will cover topics like the set of useful functional interfaces available, how to do parameterized tests with various sources, lazy loading of error messages, and more.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "754901", + "title": "Hands On: Apache Maven 4", + "description": "Frustrated with Apache Maven? Confused about how to control versions in multi-modules? Annoyed at how much of your build information is published to a maven repository when you publish your artifacts? Curious about Apache Maven?\r\n\r\nThis session is for you! Slides are great to share theory, how about live coding? In this session, together, we will pick up difficult use cases that most of us encounter when managing our maven projects for build and deployment, especially with multiple modules. \r\n\r\nApache Maven 4 is a great improvement over previous versions and provides an ease-of-use and follows the \"principle of least astonishment\".\r\n\r\nCome join to see how to solve build woes using the latest (and greatest) version of Apache Maven!", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ecda0d84-be59-41c6-8983-b58cd5b3f93c", - "name": "Kenneth Kousen" + "id": "ab1b8b69-f449-4df9-b391-243a391b9d01", + "name": "Chandra Guntur" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2796,49 +2113,45 @@ "isConfirmed": true }, { - "id": "556492", - "title": "Zero to Implementation in 50 Minutes, No Kidding!", - "description": "If you separate yourself from the distractions you typically see when analyzing business requirements you quickly realize that they are usually fairly simple. You may or may not have to consume some input. You may or may not have to produce some output. That is all! This means that implementing and testing the actual requirements should be significantly more straightforward than what most developers experience in real life. And then there is another set of distractions where many developers come up with a complete design of a solution to a requirement, now treating such a solution as a requirement. Without realizing that their design is not the requirement they miss out on the simpler and better solution. What are those distractions, how to spot them, and how Spring can help you deal with them?", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "755075", + "title": "To Java 24 and Beyond!", + "description": "Java 21 has come and gone, but the Java release train continues with Java 24!\r\n\r\nIn this presentation, we will briefly review key changes between Java 11 and 21, as they form an important foundation for where Java is heading. Once that foundation is laid, we will look at what has changed in Java since 21, updates to Project Loom with a focus on, Scoped Values and Structured Concurrency, and how they will rewrite the Java concurrency story. \r\n\r\nWe will also cover other important changes including: Generational ZGC, the Foreign Function and Memory API, JavaDoc updates, and even take a look into the future of where Java is heading! ", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "61524dab-5ff7-443b-a97f-ae7d6f5690ec", - "name": "Oleg Zhurakousky" - }, - { - "id": "25b4a764-0ab3-4a6b-b7b6-8e5f5d46dfc6", - "name": "Glenn Renfro" + "id": "6f426cb0-6261-4f79-b726-b7ffc3b028ff", + "name": "Billy Korando" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2846,98 +2159,98 @@ "isConfirmed": true }, { - "id": "551437", - "title": "Work Smarter, Not Harder with your AI Coding Companion", - "description": "AI coding companion tools are growing in popularity, and many organizations are asking their development teams to use these tools with the goal of producing code faster and with fewer defects. However, large is the number of developers complaining about not being able to use them because \"they are not smart enough\" to understand their programming intentions. Anecdotally, this happens because, like a new developer during their first day in the job; there is no understanding of the existing code base, they have no clue about which frameworks are being used, and what is the required coding style.\r\n\r\nThis session will get into the weeds about how developers can explore the potential of AI coding companion tools by treating them as a new developer requiring proper onboarding. It will share day-to-day scenarios of developer problems and how these tools can help them if properly used. Examples will use Java, Visual Studio Code, and Amazon CodeWhisperer.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "800468", + "title": "Refactoring to Modernize Java Applications", + "description": "IDEs have provided ways to refactor code for a long time now. In spite of their effectiveness, that journey is arduous and time consuming. Reluctance to refactor increases the cost of development. However, refactoring for the sake of doing so can lead to greater productivity loss as well.\r\n\r\nIn this presentation we will use data driven approach. We will take examples of code, measure code quality, and then use automated code transformation tools to refactor the code, and then, once again, measure the quality of code and see how much we have improved. This can help us to not only refactor faster but also see the benefits realized and motivate us to move faster with greater efficiency.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f69133ba-5f6e-44e7-98e5-84b1dd108991", - "name": "Ricardo Ferreira" + "id": "b576bdc5-c994-40f5-b1dd-e0f9f7999fa9", + "name": "Venkat Subramaniam" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false } ], "hasOnlyPlenumSessions": false }, { - "id": 42141, - "name": "Java Platform", + "id": 58702, + "name": "Frameworks", "sessions": [ { - "id": "540558", - "title": "ML in Java, YES it's possible!", - "description": "When you think about building and/or deploying machine learning models, Java is not within the top 3 languages that we generally think of. Nonetheless Java has a strong community, with millions of developers using it as their main language.\r\nWith the AI buzz spiking in the past month, All developers, and especially Java developers, need to understand how to build and run apps that use ML. In this session we are going to explore what are our options, as java developers, to build, save and run machine learning models.We are also going to discuss and compare the most 3 popular frameworks (Deeplearning4J, djl and Tribuo), along with a real world example to understand capabilities and tradeoffs of each framework. We will also briefly cover JSR381, an open-source, Java-friendly API for ML, specifically visual recognition", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "761780", + "title": "API Toolbox with Spring", + "description": "Have you ever wondered what options are available in the Spring ecosystem to help developers define and build APIs? What protocols and serialization libraries are supported?\r\n\r\nIn this talk, we will go over what options are available to Spring Developers to build APIs. We will cover traditional HTTP APIs as well as alternative protocols for messaging and streaming APIs. We will introduce other projects from the Spring portfolio such as Spring Data and Spring Cloud that can enhance developer productivity in creating APIs and developer experience while consuming them.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "df2764ce-246c-406d-8cba-c3515e254253", - "name": "Mohammed Aboullaite" + "id": "bdcf9fac-1a10-416b-9dc9-be50b718e9af", + "name": "Spencer Gibb" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2945,45 +2258,49 @@ "isConfirmed": true }, { - "id": "555596", - "title": "Enter The Parallel Universe of the Vector API", - "description": "Single Instruction Multiple Data (SIMD) instructions have been available in Intel and other processor instruction sets for over 25 years. The current implementation is Advanced Vector eXtensions (AVX), first introduced in the Sandy Bridge microarchitecture.\r\n\r\nUsing Vector processing through AVX can profoundly improve the performance level of an application that includes numerically intensive operations. The difficulty is that, although the compiler should be responsible for determining their use, code is often too complex to do so effectively.\r\n\r\nIn JDK 16, an incubator module for the Vector API (not to be confused with the Vector collections class) was introduced. This allows a developer to express vector computations that reliably compile at runtime to optimal vector instructions. The API has undergone several revisions resulting in the sixth incubator in JDK 21.\r\n\r\nIn this session, we'll explore how to use the Vector API in different use cases, comparing the code generated by the JIT compiler without the API and with it. We'll also look at what difference this makes to the performance delivered.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "747847", + "title": "Mastering Logging in Java", + "description": "Logging isn’t just about debugging; it’s how you figure out what your application was thinking before it all went wrong. It is important for understanding why your application isn't working properly. This session will compare popular Java logging frameworks like Java Util Logging, Log4J, SLF4J, and Logback, highlighting their strengths and quirks.\r\n\r\nWe’ll also look at the shiny new Log4j 3 and how it stacks up against its predecessor, Log4j 2. Whether you’re trying to improve your logging game or just want fewer “what the heck happened?” moments, this talk should be helpful for you.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "709043d1-5754-4459-a8d5-6dd2f5619874", - "name": "Simon Ritter" + "id": "6631e69f-25c4-47db-9fb2-08576a460048", + "name": "Jeanne Boyarsky" + }, + { + "id": "29076748-33f5-4e17-a392-8a9ec55550c7", + "name": "Victor Grazi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -2991,49 +2308,45 @@ "isConfirmed": true }, { - "id": "557724", - "title": "void main()", - "description": "There are many changes in the Java language aiming to reduce boilerplate and make the language more straightforward and attractive to new developers. This talk will cover recent features by live refactoring an application to the newest Java version. You will learn the benefits and applicability of new features while writing a more readable code.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "736775", + "title": "Functional Spring Boot", + "description": "10 years after the advent of Spring, Spring Boot shifted the paradigm from XML to Annotations. 10 years later, it is time to shift the paradigm again, this time toward functional programming. Spring Boot has been quietly adding functional APIs and DSLs since 2.0. These APIs deliver many benefits such as better performance and easier learning curve. In this talk, we will learn how to uncover these hidden gems in Spring Boot.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8983937d-7fc9-4cb4-bdcf-ce009d874531", - "name": "Rodrigo Graciano" - }, - { - "id": "ab1b8b69-f449-4df9-b391-243a391b9d01", - "name": "Chandra Guntur" + "id": "bfc36fe5-4d43-4394-98fe-a5374fc17616", + "name": "John Burns" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3041,45 +2354,45 @@ "isConfirmed": true }, { - "id": "537960", - "title": "JVM Ergonomics Profiles: Enhancing Resource Consumption and Performance in Dedicated Environments", - "description": "Ergonomics Profiles is a new Java Virtual Machine (JVM) feature proposal aimed at improving resource utilization and performance in dedicated JVM environments, such as containers. The proposal outlines the motivation behind Ergonomics Profiles, highlighting the prevalent usage of dedicated resources in modern cloud-based JVM workloads. It addresses the limitations of default JVM ergonomics designed for shared environments and the resulting resource waste. The proposed solution includes the introduction of two profiles: \"shared\" for traditional environments and \"dedicated\" for systems with dedicated resources. The dedicated profile offers optimized heuristics for maximizing resource consumption, including dynamic heap size allocation, enhanced garbage collector selection, and native memory estimation. The proposal also presents a new flag for profile selection and provides APIs for programmatically identifying the selected profile. By incorporating Ergonomics Profiles, JVMs can better adapt to dedicated environments, reduce resource waste, and increase overall chances of better performance, resulting in more efficient and scalable Java applications.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "758766", + "title": "Runtime Efficiencies and Spring Boot", + "description": "Spring Boot 3 introduces a suite of features designed to enhance runtime performance and optimize resource usage. In this talk, we’ll explore the key innovations in this release that help developers build faster, more efficient applications. We'll begin with Ahead-of-Time (AOT) processing, which accelerates startup times by precomputing application configurations, followed by Class Data Sharing (CDS), which reduces memory usage by allowing JVM processes to share class metadata.\r\n\r\nWe’ll dive into GraalVM native images, highlighting how they drastically improve startup performance and memory consumption, making them ideal for modern cloud-native applications. We’ll also cover Project CRAC (Coordinated Restore at Checkpoint), a game-changer for reducing startup times in containerized environments by allowing JVM applications to be suspended and restored with minimal overhead.\r\n\r\nFinally, we'll wrap up with the integration of Java 21's virtual threads, a revolutionary improvement in how Spring Boot handles high-concurrency tasks, greatly enhancing scalability and efficiency. Through live demos, you'll learn how to leverage these tools and techniques to optimize your Spring Boot applications for maximum runtime performance.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "e0b15676-adb2-4ea7-bb68-ca1af864a14f", - "name": "Bruno Borges" + "id": "345b7e02-c223-49a0-875d-0a3502ee2e82", + "name": "DaShaun Carter" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3087,45 +2400,45 @@ "isConfirmed": true }, { - "id": "554819", - "title": "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.\r\n\r\nJITServer 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.\r\n\r\nWe 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.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "753956", + "title": "Polyglot Pipelines with Apache Nifi", + "description": "Are you feeling lost as a Java Developer in this new age where AI is becoming a part of our everyday toolkit? Are you a Python Developer looking to scale up and distribute your data processing? While Java has always been known for having strong libraries for processing data at scale; much of the advances in LLMs and RAG has been evolving in Python. In this talk, we’ll cover building polyglot data pipelines on Apache Nifi. You’ll see how Apache Nifi can be integrated with Open Source libraries to train and evaluate models that process text and images. You’ll also learn how to integrate these workflows with popular Python libraries to take advantage of the mature libraries in the Python community like PyTorch or Tensorflow. Get the most out of your data by using the best of both the Java and Python communities.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b2f9d832-c42b-452b-bbb6-f642cd43ffea", - "name": "Rich Hagarty" + "id": "7f8e5588-7314-41ac-854a-0ddf6fe867d2", + "name": "Bob Paulin" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3136,49 +2449,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58703, + "name": "Java Platform", "sessions": [ { - "id": "539327", - "title": "\"Getting Along and Getting Things Done: A Guide for Software Leaders Working with Developers\"", - "description": "This session will provide software development leaders and managers with valuable insights and practical strategies for effectively managing and collaborating with developers in their teams. As a software development manager, the ability to lead and inspire a development team is crucial to the success of products and projects. \r\nMy presentation will explore various aspects of team management, including communication, motivation, conflict resolution, and fostering a positive work environment. \r\nAttendees will gain actionable tips and best practices for nurturing productive developer-manager relationships, optimizing workflow processes, and achieving product/project goals while maintaining a harmonious and motivated development team. Whether an experienced manager looking to refine their skills or new to the role, my presentation will equip them with the knowledge and tools to excel in leading their software development team to success.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "753362", + "title": "30 Years of Java - How Did We Get Here?", + "description": "May 23rd, 1995, saw the launch of not just a new programming language but an entire development and deployment platform. Initially targeted at the brand-new world of browsers and the World Wide Web, it quickly became the de facto standard for internet-scale enterprise applications.\r\n\r\nRemarkably, thirty years later, it is still always in the top three most popular languages in use by developers.\r\n\r\nHow did this happen?\r\n\r\nIn this session, we’ll take a whirlwind tour of the history of Java, recalling many of the milestones along the way.\r\n\r\nI started working for Sun Microsystems in February 1996, roughly the same week JDK 1.0 was launched. Through fourteen years at Sun, five at Oracle and nine at Azul, I’ll bring plenty of anecdotes (and some souvenirs). Be prepared for some serious developer nostalgia!\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6f31d407-98ca-4b82-a009-6bb4d80b819c", - "name": "Priya Jayakumar" + "id": "709043d1-5754-4459-a8d5-6dd2f5619874", + "name": "Simon Ritter" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3186,95 +2499,91 @@ "isConfirmed": true }, { - "id": "543941", - "title": "Beware of Survivorship Bias!", - "description": "Most talks on a typical conference schedule contain success stories of technology. This could lead to survivorship bias. Survivorship bias causes you to draw false conclusions because you mostly heard about successes, but hardly ever about failures. Yet failures provide us with lots of valuable knowledge: when not to apply a certain technique, pattern or process.\r\n\r\nSo no success stories in this talk! Just some 'silver bullets' we tried to use to solve our problems, but turned out to be Very Bad Ideas™. We’ll share how survivorship bias can easily influence your ideas and cloud your judgement.\r\n\r\nAfter attending this talk you'll be more aware of survivorship bias and what you can do to keep your head cool, no matter how many 'silver bullets' are fired at you. ", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "751867", + "title": "Project Panama: Unleashing native libraries", + "description": "Many native libraries offer powerful solutions to interesting problems that could greatly benefit Java developers. However, working with native code has traditionally been difficult on the Java platform. One had to contend with the boiler plate of writing JNI code in order to interact with native libraries. And it only got worse when trying to use native types, like structures, that have no java equivalent. Project Panama solves all these issues by introducing an FFI and Memory Access APIs that lets Java developers’ interop with native code seamlessly. Come to this session to learn more about how OpenJDK Project Panama can help you interact with native libraries seamlessly.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a46bbee6-8f57-450a-881f-22291d822ad8", - "name": "Hanno Embregts" - }, - { - "id": "42e68026-7d32-4cf7-8b71-84cfe2096cc2", - "name": "Maarten Mulders" + "id": "d7993bab-ecad-4202-8a76-61b64f27cbf6", + "name": "Tobi Ajila" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, { - "id": "537768", - "title": "Clean code, is it really worth it?", - "description": "As developers, we participate every day in our software life cycle adding new logic, adapting the existing one, and integrating with services or platforms.\r\n\r\nBut, do we put the same effort into making software robust, maintainable, consistent, secure, clear, and tested?\r\n\r\nIn this session, I will show the need for good practices in Clean Code along with the issues of not using it, showing concepts like Clean As You Code (CAYC) using free and open-source tools.\r\n\r\nClean Code goes beyond the produced software and its programming language. Is a fundamental part of a developer's role growth, something that represents us no matter the language and the company where we work. Do not lose the thread.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "756952", + "title": "Debugging Java", + "description": "When trying to track down a bug, the first thing we usually do is jump into the debugger and start stepping through the code. Then we settle in for a long, tedious slog stepping through the code. This session will discuss how bugs are caused, and some great techniques and tools you can use to streamline your debugging sessions.\r\n\r\nWe will be referencing the book \"Why Programs Fail\" by Andreas Zeller and the new book “Troublshooting Java” by Laurențiu Spilcă.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f63ba6f7-e39c-426f-b079-55a63c063bda", - "name": "Jonathan Vila" + "id": "c6d00669-9c07-47fa-88b8-365dbbd10cca", + "name": "Scott Wierschem" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3282,91 +2591,91 @@ "isConfirmed": true }, { - "id": "556795", - "title": "FinOps Tooling is a magic wand for enhancing Performance and Customer Value", - "description": "I knew our journey into adopting FinOps would result in Cloud Cost Savings, but I was surprised to see how effective it could be at finding performance issues, bugs, and even challenging things like our product pricing.\r\n\r\nThis session will walk through what FinOps is, the results of our adoption, and the interesting observations that surprised us along the way.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "800469", + "title": "OOP vs. Data Oriented Programming: Which One to Choose?", + "description": "We rely heavily on polymorphism when programming with the object-oriented paradigm. That has served us really well, especially to create extensible code. However, like any tool and technique, there are times when that may not be the right choice. Java now provides an alternative that is useful in those select situations—the data-oriented programming.\r\n\r\nIn this presentation we will start with an example where the highly useful object hierarchy and polymorphism appears as a misfit and discuss how data-oriented programming solves the problem more elegantly. Get a good understanding of when to use each one of these and how to intermix them in your applications.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a3068189-ae77-404e-abcd-2d18c47adf2b", - "name": "Jeremiah Drysdale" + "id": "b576bdc5-c994-40f5-b1dd-e0f9f7999fa9", + "name": "Venkat Subramaniam" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, { - "id": "538171", - "title": "Coding Fast and Slow: Applying Kahneman's Insights to Improve Development Practices and Efficiency", - "description": "Embark on an exciting journey into the intersection of psychology, software development, and Developer Productivity Engineering (DPE) as we explore how Nobel laureate Daniel Kahneman's groundbreaking work on the psychology of judgment and decision-making can optimize your development practices while conserving cognitive resources. Discover the impact of System 1 and System 2 thinking on the software development process, and learn to strike the perfect balance between \"fast\" intuitive thinking and \"slow\" deliberative reasoning.\r\nWe'll delve into practical DPE strategies for reducing mental fatigue and minimizing context switches, focusing on techniques like build system performance optimization, test parallelization, AI-powered test selection, and developer productivity observability. By leveraging these best practices, you'll enhance your and your team's productivity and maintain focus on high-value tasks.\r\nWhether you're an experienced developer seeking to boost your performance or a curious newcomer eager to learn about the connections between the human mind, software development, and DPE, this talk is for you. Join us for an exhilarating adventure into the fast and slow worlds of coding, and uncover new ways to maximize your cognitive resources.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "733563", + "title": "Frustration-free K8S For Spring Developers", + "description": "Your first experience running a Spring app on Kubernetes likely left you wondering “How can I make this more efficient?”\r\n\r\nJust to get the app to run on Kubernetes, you likely had to: \r\n\r\nWrite a DockerFile to build a container.\r\nUpload that container to a registry your Kubernetes deployment can access. \r\nConstruct multiple lengthy YAML files.\r\nInstall a new CLI to apply those yaml files to the cluster.\r\nCross your fingers and hope that you did everything right and that the application actually started.\r\n\r\nIn the likely scenario where you messed something up your first time, you also needed to go back and try and figure out where it all went wrong!\r\n\r\nAll of that doesn’t even address the fact that your app likely needs some external services, such as databases or message queues. Also, how do you debug the application? How do you even view the logs? How do you securely build a container?\r\n\r\nIf this experience resonates with you, then this session is for you. \r\n\r\nIn this session, we show you a variety of tools and techniques that turn deployments to Kubernetes from a multi-step nightmare into every developer's dream: a single automated process that happens quickly and easily. You will leave this session no longer dreading deploying Spring apps to Kubernetes and instead making your deployments painless and intuitive, unlocking the true power of Kubernetes.\r\n", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1708bdeb-e8d9-4628-a147-e9878198c900", - "name": "Baruch Sadogursky" + "id": "45616863-e285-47ef-b60f-1f0abf63e1f0", + "name": "Ryan Baxter" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3377,49 +2686,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 42143, - "name": "Security", + "id": 58704, + "name": "Practices", "sessions": [ { - "id": "556765", - "title": "Passkeys...Yes Please!", - "description": "\r\nDo you or someone you know reuse passwords? How much entropy do your passwords have? Have you selected passwords that are truly random? Do you and your entire family use a password manager? In 2022, over 24 billion passwords were exposed by hackers. With passwords, attackers can steal your identity, money, and leverage your computing resources to attack other users.\r\n\r\nPasswords are a way of life, but do they have to be? WebAuthn is probably best known for its ability to provide multi factor authentication, but it has more recently gained attention under the name Passkeys as a replacement for passwords.\r\n\r\nIn this session, Rob will teach you all there is to know Passkeys. He will also walk you through a demo Spring application that leverages Passkeys so you can see first hand what it takes to implement Passkeys in your applications.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "751868", + "title": "Delivery Engineering", + "description": "Just as food delivery has evolved and become ubiquitous, the Software Delivery Lifecycle has also made leaps and bounds. We get there by shifting left and taking a platform centric approach.\r\n\r\nIn this session join us as we discuss modern software delivery, ways that Datadog has implemented SDLC internally and enable our user’s production of high-quality software with higher velocity.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "727026b3-6a06-41d7-803d-cc6df0a8802c", - "name": "Rob Winch" + "id": "46d17ddc-1a74-4d59-8906-d6246ac498d4", + "name": "Ajuna Kyaruzi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3427,49 +2736,45 @@ "isConfirmed": true }, { - "id": "557480", - "title": "The Platform Engineer Playbook - 5 Ways to Container Security", - "description": "The infamous Log4Shell vulnerability took the software community by surprise two years ago; it was a perfect storm of the massively popular open-source library with a vulnerability that was fairly trivial to attack. Will there be another massive vulnerability to deal with this year? It’s always possible, but there are things you can do to protect your application.\r\n\r\nAs we address additional layers in our defense-in-depth model, and with many containers requiring scale, an advanced application network with a wide array of security features is required. How do we ensure the right policies are in place to allow communication? What mechanisms exist to ensure that payloads in our network cannot be deciphered or replayed? How do we leverage identity to attest containers and their intent?\r\n\r\nFrom a developer’s shell to a platform engineer moving to a runtime in production, there are many tools and practices available to mitigate and detect would-be attackers and make their lives harder.\r\n\r\nThis session will include a live demo of the Log4Shell remote code exploit (RCE) and effective techniques to defend against vulnerabilities like it such as:\r\n- Code & container image scanning\r\n- Best practices for container runtime configuration\r\n- Policy enforcement in Kubernetes\r\n- Container authentication & authorization\r\n- Encryption & identification for services\r\n\r\nJoin us and protect your organization from an attack on the next critical CVE and make it harder for attackers to leverage it against you!", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "751380", + "title": "TDD: Test-Driven Development vs TAB-Driven Development", + "description": "The rise of AI-powered coding assistants is changing the way we approach code completion, often allowing us to accept suggestions with a simple press of the TAB key, significantly speeding up our workflow. These tools can even generate the necessary tests automatically. \r\nIn this context, is Test-Driven Development (TDD) becoming obsolete? Or does the practice of using tests to drive the design of our applications still hold substantial value in the age of AI? Let's explore the evolving landscape of software development and look at the ongoing relevance of TDD in an AI-enhanced world.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d7100338-7ea1-4f10-84fe-758b7ecbe1e7", - "name": "Marino Wijay" - }, - { - "id": "8256c8df-de2c-46f2-85d3-e8a88e6612e0", - "name": "Eric Smalling" + "id": "9f1e9a11-4022-412d-929c-d80ee4f5d19f", + "name": "Marit van Dijk" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3477,45 +2782,45 @@ "isConfirmed": true }, { - "id": "557446", - "title": "More tales from the Dark Side: How AI is the bad guys new friend", - "description": "The bad guys are clever, motivated, ruthless and armed with AI. What was scary before is now terrifying. So many new ways of tricking you: Learn about sneaky device attacks, amazing attacks-by-post , AI's imitating your coworkers, AI being corrupted, unbelievable physical choreography manipulations, open source taker overs and more!\r\n\r\nIn this talk learn a little about the scale of the challenge developers still face from assaults on our systems. Be prepared to be appalled and frightened. Fainting is not allowed.\r\n\r\nDiscover how to fight back and see how you can change your behaviour and your code to defend against these attacks.\r\n\r\nYour destiny is clear - it’s time to be come a Cyber Defender", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "784396", + "title": "Black Friday Brilliance: Managing a Billion Transactions with Tech, Tactics, and Teamwork", + "description": "The Black Friday and Cyber Monday period is one of the busiest times in the retail calendar, both in stores and online, and our customers rely on our infrastructure to support their businesses at this crucial time. Over this period in 2023 we processed over 1 billion requests to our APIs, and we managed this with greater than 99.99% availability! We've seen our request volume increase over 100x in the last 10 years, and managing this requires the right technologies, careful planning, and a great team of people.\r\n\r\nWith insightful commentary from a cross-section of our brilliant Dev team, I’ll talk you through how we scale our infrastructure on different Clouds, the technologies and processes that are put in place and problems we have had to overcome in the past. I’ll also give some insights into how the team works together over this busy period to keep everything running smoothly.\r\n", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7a6d377f-3ce1-4b32-9014-c70c87022fd0", - "name": "Steve Poole" + "id": "eb8e3906-8c75-4876-9fe1-0aca5db8ef40", + "name": "Jamie Coleman" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3523,45 +2828,45 @@ "isConfirmed": true }, { - "id": "556857", - "title": "The Death Star and the ultimate vulnerability", - "description": "The Death Star from Star Wars was an impressive though fictional feat of engineering, but it had a fatal flaw that was exploited by the rebels. Similarly, modern applications are at risk due to the many open-source dependencies used worldwide that can contain vulnerabilities. Some are just mistakes, and others, like that iconic exhaust port, were deliberately created. \r\n\r\nManaging these components and ensuring their security is crucial to prevent successful attacks. This session will take you to a galaxy far far away, to look at what went wrong in the Empire's supply chain to cause such a vulnerability to be introduced. By understanding the risks and using the right tools, we can avoid a catastrophe like the Death Star’s destruction and put a stop to any rebel scum.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "783614", + "title": "Take the Polar Plunge: A Fearless Introduction to Apache Iceberg®", + "description": "New to Apache Iceberg® or just starting to test the waters? Time to take the plunge! In this beginner-friendly session, we’ll introduce you to the core features of this high-performance table format and what it has to offer your data team as you build out your modern data lakehouse.\r\n\r\nWe’ll start by exploring where Iceberg fits within the context of data warehouses, data lakes, and other data storage formats. From there, you’ll be introduced to some of Iceberg’s key features, like schema evolution, hidden partitioning, and ACID-compliant transactions. You’ll see how these capabilities help to solve real-world challenges in scalability, performance, and data consistency. We won’t stop there, though! Next, we’ll go even deeper beneath the surface and explore the open-source tools, query engines, and catalogs that make up the Iceberg ecosystem. Through an end-to-end demo, you’ll see Iceberg in action and learn how you can leverage its features to streamline your data management and drive better insights.\r\n\r\nBy the end of the session, you’ll have the foundation you need to get started applying Iceberg to solve your own data challenges. So come along, and we’ll take the polar plunge together! ", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "eb8e3906-8c75-4876-9fe1-0aca5db8ef40", - "name": "Jamie Coleman" + "id": "ea7292a0-1a85-4830-af21-00c9484c19fe", + "name": "Danica Fine" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3569,45 +2874,45 @@ "isConfirmed": true }, { - "id": "538515", - "title": "Don't Get Burned! Secure Coding Essentials to protect your application", - "description": "As a developer, you understand the importance of writing code that is functional, scalable, and maintainable. But how about secure code? Even the most seasoned developer can make common security mistakes that leave your code vulnerable to attack. In this session, we'll explore the most common and sometimes unknown security pitfalls made by developers and provide practical tips for avoiding them. We'll cover everything from input validation errors to injection to file overwrites and arbitrary code execution. We'll show real-world examples of insecure code and demonstrate how attackers exploit these vulnerabilities before showing you how to fix these code constructions. By understanding how these mistakes get exploited, you'll be better equipped to write secure, bulletproof code that can withstand attacks. Whether you're a junior developer just starting out or a seasoned pro looking to brush up on your skills, this session is a must-attend for anyone concerned with the security of their applications. Let’s start writing secure code and learn how to avoid security mistakes.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "838546", + "title": "The Human Factor in DevOps: Because Even Robots Need Good Teammates (Almost)", + "description": "Remember when \"DevOps\" meant throwing code (and maybe a few passive-aggressive emails, that thankfully weren’t meetings) over the wall? We’d like to think that the last decade and a half has dispelled us of that notion, but has it really? Often when organizations begin their “DevOps Transformation” they focus so much on automation, but the component that is more often than not overlooked is the human element. Human connection. \r\n\r\nIn this talk, Jeremy will dig into some strategies for building teams that actually work together, and might even come to like each other (though he can’t promise “meetings that are emails” will become a norm). He’ll talk about ways to encourage open communication, resolve conflicts, and create a team culture where everyone feels valued - because even the best automation tools can’t replace a team that actually works together.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "50e931e4-bda7-4065-b4c4-5083683497e6", - "name": "Brian Vermeer" + "id": "56115ae3-406f-47af-818c-20354acc07b2", + "name": "Jeremy Meiss" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3618,49 +2923,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 42144, - "name": "Tools and Techniques", + "id": 58705, + "name": "Security", "sessions": [ { - "id": "551993", - "title": "Effectively Troubleshoot 9 Types of OutOfMemoryError", - "description": "Embark on a journey into the depths of java.lang.OutOfMemoryError as we unravel its complex nature. Discover the nine distinct faces of this memory-related challenge and gain valuable insights into their unique causes and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "753084", + "title": "Securing the Digital Landscape: A Deep Dive into OWASP Top 10 for Applications, APIs, and LLMs", + "description": "Join us for an immersive journey into the heart of modern cybersecurity challenges. In this groundbreaking talk, we delve into the intricacies of securing your digital assets with a focus on three critical domains: applications, APIs, and Large Language Models (LLMs).\r\n\r\nAs developers and architects, you understand the paramount importance of safeguarding your systems against evolving threats. Our session offers an exclusive opportunity to explore the industry-standard OWASP Top 10 vulnerabilities tailored specifically to your domain.\r\n\r\nUncover the vulnerabilities lurking within your applications, APIs, and LLMs, and gain invaluable insights into mitigating risks and fortifying your defenses. Through live demonstrations and real-world examples, you'll witness firsthand the impact of security breaches and learn proactive strategies to combat them.\r\n\r\nWhether you're a seasoned architect seeking to fortify your organization's security posture or a developer striving to build resilient systems, this talk equips you with the knowledge and tools essential for navigating the complex landscape of cybersecurity.\r\n\r\nAgenda\r\n\r\nOWASP Top 10 Overview\r\n\r\nIntroduction to OWASP\r\nSignificance of OWASP Top 10\r\nOverview of OWASP Top 10 for Applications, APIs, and LLMs\r\nOWASP Top 10 for Application Security\r\n\r\nPresentation: Common Vulnerabilities and Mitigation Strategies\r\nDemonstration: Live Examples of Application Security Vulnerabilities\r\nOWASP Top 10 for API Security\r\n\r\nPresentation: Key Challenges in API Security and Best Practices\r\nDemonstration: Illustration of API Security Vulnerabilities and Attacks\r\nOWASP Top 10 for LLM Applications (Large Language Models)\r\n\r\nPresentation: Unique Security Concerns in LLM Applications\r\nDemonstration: Showcase of LLM Security Vulnerabilities and Risks\r\nQ&A and Discussion\r\n\r\nOpen Floor for Questions and Discussion\r\nConclusion\r\n\r\nSummary of Key Takeaways\r\nCall to Action: Implementing Security Best Practices", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "96f21f95-15a9-4bed-a14a-495947087740", - "name": "Ram Lakshmanan" + "id": "32cb0f88-b1ad-44c2-8860-86a5ac46c59a", + "name": "Rohit Bhardwaj" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3668,45 +2973,45 @@ "isConfirmed": true }, { - "id": "555306", - "title": "Reading code", - "description": "As developers, we spend a lot of time learning to write code, while spending little to no time learning to read code. Meanwhile, we often spend more time reading code than actually writing it. Shouldn’t we be spending at least the same amount of time and effort improving this skill? Deliberate practice can help us get better at reading code. Learning how to better read and understand code, can in turn teach us what makes code readable. This might even help us to write code that is easier to read.\r\n\r\nIn this talk we will discuss the benefits of deliberately practicing reading code in a code reading club or session without an IDE, as well as common strategies to navigate a new codebase and familiarise ourselves with the code using the IDE.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "754814", + "title": "Software and AI in the time of Legislation.  New (and old) laws for developers", + "description": "The software development landscape is rapidly changing, with legislation emerging as a key driver of industry trends. As our reliance on software and AI grows, so does its vulnerability to cybercrime – now a staggering $6 trillion problem. This has caught the attention of regulators worldwide. \r\n\r\nThis talk examines the complex interplay between software, AI, and the law, with a particular focus on what this means for Java developers. \r\n\r\nWe'll explore the challenges of securing the software supply chain, examine the reasoning behind recent legislation and see how they come together. \r\n\r\nWe'll look at practical frameworks for weaving compliance into development practices and tackle both the ethical and pragmatic aspects of a developer's role in mitigating cyber risks. By reframing security and compliance not as obstacles, but as catalysts for pushing the boundaries of productivity and technology we can gain insights to what is needed to thrive in an evolving legal environment without stifling innovation. \r\n\r\nAI, Software, and the Law – more opportunity than obstacle\r\n", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "9f1e9a11-4022-412d-929c-d80ee4f5d19f", - "name": "Marit van Dijk" + "id": "7a6d377f-3ce1-4b32-9014-c70c87022fd0", + "name": "Steve Poole" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3714,45 +3019,45 @@ "isConfirmed": true }, { - "id": "557675", - "title": "Keeping your build tool updated in a multi repository world: a Netflix tale", - "description": "Gradle is an open-source build automation tool focused on flexibility, build reproducibility and performance. Over the years, this tool has evolved and introduced new concepts and features around dependency management, publication and other aspects on build and release of artifacts for the Java platform.\r\n\r\nKeeping up to date with all these features across several projects can be challenging. How do you make sure that all your projects can be upgraded to the latest version of Gradle? What if you have thousands of projects and hundreds of engineers? How can you abstract common tasks for them and make sure that new releases work as expected?\r\n\r\nAt Netflix, we built Nebula, a collection of Gradle plugins that helps engineers remove boilerplate in Gradle build files, and makes building software the Netflix way easy. This reduces the cognitive load on developers, allowing them to focus on writing code.\r\n\r\nIn this talk, I’ll share with you our philosophy on how to build JVM artifacts and the pieces that help us boost the productivity of engineers at Netflix. I’ll talk about:\r\n- What is Nebula\r\n- What are the common problems we face and try to solve\r\n- How we distribute it to every JVM engineer\r\n- How we ensure that Nebula/Gradle changes do not break builds so we can ship new features with confidence at Netflix", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "756256", + "title": "There's an Authz for that: Spring Security in 2025", + "description": "Alongside authentication, Spring Security simplifies your authorization, too, specifically helping decouple your authorization and application logic. These days, standards like OpenFGA and OAuth are changing the landscape of authorization like never before.\r\n\r\nSpring Security is ready to anticipate those changes with you.\r\n\r\nIn this talk, we’ll take an existing Spring Boot application and add authorization to its requests, methods, domain objects, and queries. You’ll learn about the many authorization advancements Spring Security has made since you last blinked. By the end, you’ll see how these features are brought to bear on the everyday challenges of local and remote authorization, coarse- and fine-grained authorization, and authorized domain objects.\r\n \r\nNo previous authorization or Spring Security experience is required.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ae7a5785-c916-448e-bf74-7faa54adae66", - "name": "Roberto Perez Alcolea" + "id": "feba8c56-4b68-41e6-8d2d-b2324a5e18c8", + "name": "Josh Cummings" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3760,45 +3065,45 @@ "isConfirmed": true }, { - "id": "552526", - "title": "Apache Maven 102: Best Practices", - "description": "Know enough about Maven to get by, but not enough to thrive? Then this talk is for you. We will review the basics and then dive into the best practices for both Maven single and multi-module projects. You will also walk away with enough knowledge to troubleshoot your builds.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "739051", + "title": "Top Security Flaws Hiding in Your Code Right Now – and How to Fix Them", + "description": "Security vulnerabilities aren’t just hypothetical—they’re real, from the MongoDB attack to the Log4Shell disaster, and they’re hiding in your code right now. In this session, we’ll explore the most common and dangerous flaws: SQL Injection, Deserialization Injection, and Logging Injection. \r\n\r\nWe’ll explain how these vulnerabilities work, why they’re so risky, and how to fix them through examples. \r\n\r\nYou'll leave with practical tips for safeguarding your applications, including best practices for SQL query parameterization, secure deserialization techniques, the importance of sanitizing logs, and how to use tooling to prevent these flaws more easily.\r\n\r\nAudience Takeaways:\r\n\r\nDeep understanding of SQL Injection, Deserialization Injection, and Logging Injection.\r\nPractical code examples and fixes to secure your applications.\r\nInsights into real-world case studies of major security breaches.\r\nTooling that will help us to commit safe code.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "130a4bc5-3b04-4a0c-95e6-62fad0b4d722", - "name": "Brian Demers" + "id": "f63ba6f7-e39c-426f-b079-55a63c063bda", + "name": "Jonathan Vila" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3806,45 +3111,45 @@ "isConfirmed": true }, { - "id": "556270", - "title": "Application Observability like you've never heard before", - "description": "Do you regularly spend sleepless nights desperately trying to make sense of cryptic error messages that seem to have been penned by a particularly grumpy Shakespearean ghostwriter? Are you frequently wondering about what your application is doing in production?\r\nPlease join us on this example-driven journey where we go through some of the more advanced topics of Observability, and we dive into the toolsets available for you today to instrument your application so that it can tell you what it is doing and why. We will explore how to instrument your JVM-based application without vendor lock-in using Micrometer, OpenTelemetry, Grafana, OpenZipkin, Prometheus, OpenMetrics, etc, so you can have a much better sense of what is going on inside of your app.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "738682", + "title": "Software Supply Chain Security with Policy as Code", + "description": "How do you ensure that your Java software supply chain is secure? How do you reliably repeat and automate governance and compliance of your Java applications?\r\n\r\nPolicy as Code (PaC) enables orgs to apply automated controls across multiple policy enforcement points and artifact types. This talk will explore how OSS PaC can be used to validate software supply chain artifacts, focusing on Java ecosystem artifacts. \r\n\r\nThis talk will cover PaC concepts, and how to use PaC to detect and prevent unwanted behaviors. PaC concepts learned in this talk will work at the developer desktop as well as in continuous integration automation, thereby improving governance and compliance of the Java software supply chain.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8f517aca-8293-4e1f-9360-0ce676531421", - "name": "Jonatan Ivanov" + "id": "faeaeb23-20cd-45d0-955a-8a09a170e7f3", + "name": "Jimmy Ray" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3855,49 +3160,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 42145, - "name": "Web and front-end", + "id": 58706, + "name": "Tools and Techniques", "sessions": [ { - "id": "547698", - "title": "Methodically Migrating from JavaScript to TypeScript", - "description": "It's no secret that TypeScript is all the rage in modern web development. With all of the scaffolding tools that exist to support starting a new project with TypeScript, it's never been easier to try it out. However, it can feel very overwhelming to think about the necessary steps to migrate your existing JavaScript project to TypeScript. In this talk we'll explore progressive enhancements you can make to move your JavaScript project to TypeScript without disrupting your team's productivity.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "751190", + "title": "Taking Shortcuts Beyond Your IDE", + "description": "Taking shortcuts in software development is often perceived as risky, but it does not have to be. In this talk, I will show you how adopting smart shortcuts can enhance your productivity without sacrificing code quality. While IDE shortcuts are just the beginning, we will explore ways to streamline your workflow across the entire development process. From key combinations to advanced automation techniques like code generation, I will demonstrate how you can optimize your time and enjoy coding more. Whether you are a seasoned developer or just starting, this talk will help you identify areas where you can work faster and smarter. By the end, you will be equipped with practical strategies to always be on the lookout for opportunities to improve your workflow.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "27a63fc1-2981-4a83-8f13-fa986f36de8d", - "name": "Sean McQuaid" + "id": "ca26f6b4-6211-4491-a8f3-d090c2390c8c", + "name": "Annelore Egger" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3905,45 +3210,45 @@ "isConfirmed": true }, { - "id": "548139", - "title": "Java meets TypeScript: learn to build full-stack web apps with Spring Boot and React", - "description": "As Java developers, we know the benefits of type-safety when building apps. The problem? Usually, that type-safety ends when we leave the server. What if it didn't have to be that way?\r\n\r\nIn this presentation, you'll learn how to build a full-stack reactive web app through live code examples. We'll use Spring Boot and Java on the backend and React with TypeScript on the frontend, connecting the two with the new Hilla framework from Vaadin.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "782799", + "title": "OpenTelemetry and Continuous Feedback - Things you need to know about Spring application at runtime", + "description": "What do you know about the code changes that were just introduced into the codebase? When will you start noticing if something goes wrong? If there are so many accessible observability sources that can tell us what the code is doing, why are we using so little of that in our day-to-day coding?\r\n\r\nContinuous Feedback is a new dev practice that aims to make practical usage of code runtime data to shorten the feedback loop during development. It enables developers to get early data about their code changes and detect issues and regressions as-they-code. At the same time, collecting data from multiple environments, allows developers to instantly understand how their code is performing in the real world.\r\n\r\nIn this session, we'll look past the novelty of using OSS observability tools and technologies, to discuss how we can actually make them useful for developers. We'll take a look at the benefits of enabling OpenTelemetry collection for dev and test data and examine OSS tools to help analyze the application runtime. Throughout the talk, we'll go over code examples of common anti-patterns, code smells, hidden errors, and other types of problems that observability can reveal - prior to merging a PR,\r\n\r\nUltimately, the goal should not be simply observing the application or creating nice-looking dashboards. Rather, success is in leveraging observability data in order to achieve a more effective dev process and write better code.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6c93de4e-0f8c-45bd-b76b-ba868aa81ca7", - "name": "Marcus Hellberg" + "id": "223365e9-c6b0-437a-a028-e69038ad44c0", + "name": "Roni Dover" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3951,45 +3256,49 @@ "isConfirmed": true }, { - "id": "539369", - "title": "How To Make Your JavaScript Accessible Without Losing Your Sanity (Or Your Hair)", - "description": "Accessibility is an important aspect of web development, ensuring that people with disabilities can access and use web applications. However, accessibility can often be an afterthought for developers.\r\n\r\nIn this talk, we will explore how JavaScript developers can build more accessible web applications and start by discussing specific techniques and tools that JavaScript developers can use to ensure their applications are more accessible.\r\n\r\nWe will cover topics such as basic accessibility, using semantic HTML and ARIA attributes, implementing keyboard accessibility, and testing for accessibility issues. We will also discuss how to ensure accessibility when working with popular JavaScript libraries and frameworks and the importance of designing for accessibility from the outset.\r\n\r\nBy the end of this talk, attendees will have a solid understanding of the principles of web accessibility and specific techniques and tools they can use to build more inclusive web applications with JavaScript.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "743493", + "title": "OG Refactoring (Observing Gamma): Patterns to Refactor Towards", + "description": "Erich Gamma, et al's Design Patterns: Elements of Reusable Object-Oriented Software came out in 1994. Martin Fowler’s Refactoring: Improving the Design of Existing Code was first published in 1999. Joshua Kerievsky's Refactoring to Patterns in 2004. \r\n\r\nWhat have we learned since then about refactoring? What do we, as professional software developers, need to know before deciding to do a refactor on a legacy codebase? \r\n \r\nThe audience for this session are software developers and the people that interface with them (product owners, scrum masters, development managers) who need to know the value of this important and often neglected technical practice.\r\n \r\nAt the end of the session, the attendee will be able to identify hidden patterns in their code bases, plan a refactor effort on legacy codebases, write their own refactorings, and recognize accidental code complexity in large codebases.\r\n", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "5a2864c6-5fc4-4ca3-bf60-839888286167", - "name": "Todd Libby" + "id": "83fd871a-3bbe-4d41-92a4-9443e7c66c5f", + "name": "Aaron McClennen" + }, + { + "id": "eaa23bbd-1207-432d-8c52-eed0035f0ddf", + "name": "M. Jeff Wilson" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -3997,45 +3306,45 @@ "isConfirmed": true }, { - "id": "544960", - "title": "Biometric authentication in the browser: an intro to WebAuthn", - "description": "WebAuthn is a standard which allows you to leverage biometric based authentication methods from within your browser. While you can use a variety of hardware to authenticate users, the real benefit of WebAuthn is the fact that it connects users’ browsers to built-in operating system authentication methods.\r\n\r\nWhen you build with WebAuthn, you are benefiting from the security and pervasiveness of FaceID, Fingerprint Scanner, and Windows Hello, among others. WebAuthn is supported by all major browsers, as well as all major desktop and mobile OS platforms.\r\n\r\nIn this talk, we’ll walk through the WebAuthn process, including registration, attestation, and authentication. You’ll learn the difference between platform and cross-platform authenticators, as well as the difference between user verification and user presence.\r\n\r\nAt the end of this talk, you’ll have a grasp of what WebAuthn is, when it makes sense, and how you can leverage it for your next project.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "755869", + "title": "Developer Productivity With IntelliJ IDEA", + "description": "Developer productivity is a hot topic right now, but what does it mean? Is it all just about squeezing more lines of code out of us poor, overworked developers? Or could it, in fact, lead to developer joy?\r\n\r\nIn this session, Trisha will show some of her favorite IntelliJ IDEA tips for improving her own productivity. She'll use these examples to talk about what productivity is, what it is not, and why it's even more important to us as developers than it is to the organizations that pay our salaries. And it's of course important to them, too!\r\n\r\nAttendees will gain a deeper understanding of how IntelliJ IDEA helps them to be effective, productive, and happy. Trisha wants you to look at your toolchain and ask yourself, “Does this enable me to be creative and happy?”", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "30897cf3-d06f-453a-9f83-c6ba7d4b31c9", - "name": "Dan Moore" + "id": "5eff389f-6760-4a05-affb-ec5b6fc2ca36", + "name": "Trisha Gee" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4043,148 +3352,144 @@ "isConfirmed": true }, { - "id": "537984", - "title": "Climbing Up with Alpine.js", - "description": "Every modern web site requires some degree of interactivity, but for many projects large frameworks like React or Vue can be overly complex and unnecessary. Alpine.js offers a much simpler, but still powerful, solution to this that aims to be like \"jQuery for the modern web.\" In this talk, I'll introduce Alpine and explain where it makes the most sense to use it. I'll walk through the basic syntax and then demonstrate examples of how Alpine can progressively enhance web pages to add interactivity. ", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "752306", + "title": "Streamlining Open Source Foundation Operations with Quarkus and GitHub Actions", + "description": "Launching an open source foundation comes with challenges, from establishing governance processes to tracking memberships, maintaining communication, and building consensus across distributed teams.In this case study, I’ll show how we’ve used Quarkus and GitHub Actions to automate key operations, including asynchronous consensus building via reactions on GitHub discussions and pull requests, and simplifying data entry by distributing and synchronizing content across repositories with event hooks. Additionally, I’ll demonstrate how we’ve built a self-service portal for our members using a combination of Quarkus, the GitHub GraphQL and REST APIs, Lume (the static site generator for Deno), and Svelte.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d70d4c74-7ab1-4c08-b421-f4f04535cf34", - "name": "Raymond Camden" + "id": "f6c77911-6612-4b72-9832-63409826e785", + "name": "Erin Schnabel" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false } ], "hasOnlyPlenumSessions": false }, { - "id": 42146, - "name": "Cloud Native", + "id": 58707, + "name": "Web and front-end", "sessions": [ { - "id": "588220", - "title": "How do I see it in Backstage?", - "description": "Software Templates get lots of attention, and they’re a quick model for an introduction to Backstage. But daily development revolves around the Software Catalog. A central location for discovering everything isn’t very useful unless everything is there. How do you describe the elements of your environment in a way that Backstage understands?\r\n\r\nCome to this talk to learn about the basic Kinds of Backstage Entities and how Processors examine and validate them for addition to your Catalog. You’ll leave with a basic platform engineering vocabulary and an understanding of how Backstage models Components, APIs, Locations and other Entities in the catalog-info.yaml file.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "752387", + "title": "Typescript Deep Dive", + "description": "Mapped types, template literals, conditional types with infer: oh my! Come to this talk if you already understand how to use typescript day to day, but want to take a deeper dive and understand the more advanced topics in Typescript through real world examples and usecases.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ac053209-5370-4e01-859e-abb13ca60179", - "name": "Josh Wood" - }, - { - "id": "f40099db-47bc-44af-a1fc-4c7034e5ef98", - "name": "Ryan Jarvinen" + "id": "76cd083c-68f1-46b7-8a4e-9dd9d6d6fd08", + "name": "Waller Goble" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, { - "id": "553347", - "title": "Quarkus and AI. Integrating Java and LLM to build intelligent applications.", - "description": "A Large Language Model (LLM) is a component of artificial intelligence specifically designed to comprehend and generate text that closely resembles human language based on the input it receives. One common scenario where it finds utility is when it needs to generate Java code to address a problem or create Kubernetes manifests with specific features.\r\n\r\nHowever, LLMs can also be employed with your enterprise code to enhance the customer experience, eliminating the need for customers to navigate through an entire website or improving the search process of on-site documentation \r\n\r\nDuring this session, we will explore how to integrate Quarkus with Large Language Models to establish a novel interaction interface for your users so they feel more human than just clicking across links.\r\n\r\nIt's important to note that while Quarkus plays a significant role in this discussion, the concepts presented also apply to other Java frameworks.\r\n\r\nIf you're interested in hands-on experience with Large Language Models and Java, with a focus on practical applications rather than theory, then this session is for you.\r\n", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "749192", + "title": "Fresh Hot CSS Features!", + "description": "Do you use a CSS Framework like bootstrap? Or maybe you've been coasting for a few years on your current knowledge of CSS. You've maybe seen something called CSS Grid and wondered what it was... Maybe you have never seen `var()` used before.\r\n\r\nLet's discuss the latest newest hottest big features in CSS from the last few years, and get you up to speed on what a browser engine is capable of!\r\n\r\nWe'll cover the following topics:\r\n- CSS Grid\r\n- Custom Properties\r\n- the `:has()` selector\r\n- CSS Layers\r\n- Container Queries\r\n\r\n... And more!", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "dedbce11-34e0-466e-a5cb-ea585688d106", - "name": "Alex Soto" + "id": "5c386803-b673-4259-a6ce-d85e1fd0a016", + "name": "Alex Riviere" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4192,45 +3497,45 @@ "isConfirmed": true }, { - "id": "556894", - "title": "Quarkus in the Cloud: Strategies for Teams and Topolgies", - "description": "Java is a powerhouse of a language suitable for use in many environments, footprints, and form-factors. As we collectively learn more about how to write cloud applications, we're seeing more nuanced discussions about how we build applications: should we be using monoliths or microservices? Should I use cloud functions? What is a modular monolith and is it a good idea or not? These choices require thoughtful architectural decisions and optimization strategies, not only at the code level but also in fostering effective teamwork. This talk delves deep into the architectural nuances and trade-offs essential for making informed decisions in these deployment paradigms.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "753663", + "title": "The Problems Micro Frontends Won't Solve That No One Wants to Talk About", + "description": "Everyone wants to ship more software faster, and following the lead of the MicroServices craze the frontend community has begun to reach for Micro Frontends as a silver bullet solution. Micro Frontends promise large teams the ability to independently ship pieces of applications without code collisions, bug creation, that can be team-agnostic, and with Webpack, Vercel, NX, and others leaning in to offer ways to federate code, this seems to be the way of the future.\r\n\r\nBut what problems aren't solved by Micro Frontends? There is a large gap in what large complex teams need to ship better software and what Micro Frontends are able to provide ... and that gap is the basis of this talk. We'll discuss the consequences that arise when attempting to implement MFE architecture that no on seems to want to talk about.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f6c77911-6612-4b72-9832-63409826e785", - "name": "Erin Schnabel" + "id": "e5b9e6c6-1477-4b19-8347-06683a7417de", + "name": "Jennifer Wadella" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4238,49 +3543,45 @@ "isConfirmed": true }, { - "id": "544457", - "title": "Serverless Java in Action: Cloud Agnostic Design Patterns and Tips", - "description": "You've probably seen how to create a Function-as-a-Service with one of the cloud providers, but if this is all you know about Serverless, prepare to have your mind blown!\r\nIn this session we'll show you how to create a production-grade, cloud-agnostic, event-driven serverless solution with Quarkus, a Java stack optimized for fast startup and small footprint; and Knative, an open source community project for deploying, running and managing serverless applications on Kubernetes. Say goodbye to vendor lock-in and hello to Supersonic Subatomic Java-based Serverless bliss!\r\n", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "748220", + "title": "Run to the light Carol Anne: Auditing with Lighthouse", + "description": "Have you heard about Lighthouse? Are you afraid to go into the light like Carol Anne in Poltergeist? Don't be afraid because Lighthouse is an awesome tool to achieve your web experience goals. You can do a bunch of awesome things in Lighthouse like running SEO audits, front-end performance audits, and my favorite, accessibility audits. This talk will explore reasons that audits and testing are necessary, and walk through different types of audits you can run. The end goal is analyzing the results and taking steps to achieve your web experience goals.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a4305a38-d462-482b-9e4a-536eb74ec63c", - "name": "Kevin Dubois" - }, - { - "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", - "name": "Daniel Oh" + "id": "730a789f-e2a8-483d-91bc-6e794f1b44d5", + "name": "Chris DeMars" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4288,45 +3589,45 @@ "isConfirmed": true }, { - "id": "559371", - "title": "Your Java Code in the Kubernetes Native Era: A Live Coding Experience", - "description": "Is your Java code ready for the Kubernetes Native era?\r\n\r\nThere's a lot of hype around this topic. However, modern applications do indeed come with complexities like scalability, containerization, and service mesh, which Kubernetes can undoubtedly address.\r\n\r\nThe question is: Is your Java code ready for all of this? If you make the right choices, the answer is yes!\r\n\r\nQuarkus has been built with a Kubernetes Native approach, and it even allows you to use MicroProfile, Camel, Hibernate, and various other open-source projects among the world's best.\r\n\r\nNow is the time to embrace Kubernetes with Java! And this 100% practical session will show you how to do it today.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "787704", + "title": "Unlocking Machine Learning Potential in JavaScript: A Journey Through Cutting-Edge Tools", + "description": "While synonymous with web development, JavaScript has proven to be a versatile language. Though it may not shine as brightly as Python in the machine learning world, a range of powerful JavaScript tools have emerged to cater to various stages of the machine learning pipeline. Let’s explore a few such as Danfo.js, for efficient data manipulation, and Transformers.js, which empowers developers to integrate pre-trained ML models seamlessly into their applications.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "058c3cdc-0607-4437-81bb-07a1aed5d05c", - "name": "Elder Moraes" + "id": "b09194cd-b9be-44bd-81e5-4346bbf0f39e", + "name": "Danielle Maxwell" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4337,49 +3638,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 42147, - "name": "JakartaEE", + "id": 58708, + "name": "JakarataEE", "sessions": [ { - "id": "538312", - "title": "Jakarta EE 11 - Performance and Developer Productivity", - "description": "With a baseline on Java 21, Jakarta EE 11 has a focus on Performance and Developer Productivity. Built-in support for Virtual Threads and Records are some examples of this.\r\n\r\nWe will back the tape a little and look at how the namespace change from `javax.*` to `jakarta.*` in Jakarta EE 9 impacted the entire Java ecosystem. Then move on to the cool new features introduced in Jakarta EE 10 before embarking on an adventurous journey with Jakarta EE 11. Everything is backed up by live coding demos.\r\n\r\nAfter this session, you will have an understanding of the fundamentals of Jakarta EE, as well as know how to quickly get started with Jakarta EE at your own pace.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "750246", + "title": "A Developer's Guide to Jakarta EE 11", + "description": "Since its introduction in 2018 as Jakarta EE, the platform has evolved from: Jakarta EE 8, an open-source version of Java EE 8; to Jakarta EE 9, the \"big bang\" release; to Jakarta EE 10 that introduced the Core Profile.\r\n\r\nAnd now, Jakarta EE 11, released on { month}, { day }, 2024, focuses on productivity and innovation and delivers: updates to 16 specifications; introduces a new specification, Jakarta Data; and sets the baseline to Java 21, the latest LTS release.\r\n\r\nThis presentation will provide a brief history of JavaEE/Jakarta EE, what's new in Jakarta EE 11, and a review of new and updated specifications with working example applications.\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27", - "name": "Ivar Grimstad" + "id": "9820a802-240a-4fc0-9541-36ff1c2f760b", + "name": "Michael Redlich" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4387,45 +3688,45 @@ "isConfirmed": true }, { - "id": "571596", - "title": "Securing Your Enterprise Apps - Jakarta Security In Jakarta EE 11 And Beyond", - "description": "As security breaches become more commonplace and more complex, your applications constantly have to evolve to stay safe. \r\n\r\nJakarta EE helps you meet the challenge, defining a standard for creating secure enterprise Java applications, and innovating with each release to provide the best measures possible.\r\n\r\nIn this talk, Payara Software Engineer Luis Neto discusses what already exists in Jakarta EE, with a demo of Jakarta Security and Authorization. He also discusses what you can expect from Jakarta EE 11, including Jakarta Authentication 3.1, revealing how this will support the overall goals of Jakarta Security. \r\n", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "751431", + "title": "AI Tools for Jakarta EE", + "description": "Discover how AI-powered tools are reshaping Jakarta EE development by optimizing the entire development lifecycle.\r\n\r\nTraditionally, developers have relied on archetypes, project generators, and visual designers to kickstart projects. But what happens when we add an AI language model to the mix? The result is an intelligent project generator that scaffolds domain-relevant Jakarta EE applications with both backend and frontend functionalities ready to go.\r\n\r\nJoin me to witness how AI-powered tools are transforming enterprise application development through real-world, cutting-edge demonstrations. Discover how AI-powered tools enhance productivity and streamline workflows in Apache NetBeans IDE and beyond, from creating a simple hello-world program to developing full-stack applications.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "fd225e4e-f75a-48c9-97e9-10bb0564d683", - "name": "Luis Neto" + "id": "8a4b2af9-c78f-46b0-b11c-ee7e1fa9c5e1", + "name": "Gaurav Gupta" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4433,45 +3734,45 @@ "isConfirmed": true }, { - "id": "581606", - "title": "Leveraging Jakarta EE 10 Core Profile in Stateful Microservices", - "description": "Integration of Jakarta EE 10 Core Profile -compatible microservices frameworks with in-memory data grids creates a powerful platform for productive development and scalable operation of modern microservice architectures. Developers benefit from Map-based persistence APIs injected into RESTful services, while the resulting architecture exhibits elastic scalability in cloud-native deployments. This session will explore such an integration with Helidon 4 and Coherence CE, and highlight state-of-the-art applications achieved as a result. Java 21 virtual threads and MicroProfile 6 are also implemented in this integration. Join us to learn how the Jakarta EE platform can power your next cloud-native stateful microservices system.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "754875", + "title": "Foundations of Modern Java Server Apps", + "description": "Java has a long history of running on the server. From the early days of servlets, to JSP, Java web frameworks, Java  EE, and Spring, to today’s hip microservice frameworks, the platform has been a strong, solid player, relied upon by thousands of companies, governments, and organizations. But what do these microservice frameworks like Dropwizard, Spring Boot, and Eclipse MicroProfile have in common with the older days of Java? It turns out, there’s quite a lot of foundational tech that made the newer frameworks possible. In this talk, we’ll take a look at different parts of the foundation that you may not even realize you’re using, for everything like handling REST requests, processing JSON, using Web Sockets, talking to a database, performing validation, and more. We’ll also look at how these standards evolve within the Eclipse Jakarta EE, and what’s in store for the future.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1d4bcc79-5cdf-4ea2-8b78-6e2806b54944", - "name": "Aleks Seovic" + "id": "ff0a1dd3-c9f2-48e2-88a8-9c0e429251be", + "name": "Kito Mann" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4479,45 +3780,49 @@ "isConfirmed": true }, { - "id": "538291", - "title": "Optimize your applications to the max with Jakarta EE and MicroProfile", - "description": "When using complementary tools for optimal utilization in containers and scalable infrastructures, you can achieve optimal value when developing and running enterprise software. Jakarta EE’s mechanics and application server runtimes are perfect tools for achieving this goal, especially when complemented with MicroProfile. This applies whether you are building monoliths, microservices, or anything in between.\r\n\r\nAttendees will learn how to optimally build, run and deploy such enterprise applications. Therefore, the session will show little application code, but focus on the concepts, tools, and configurations that are applicable. I will also compare some key concepts with competitors like Spring Framework to emphasize the benefits and downsides.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "751660", + "title": "Java + LLMs: A hands-on guide to building LLM Apps in Java with JakartaEE", + "description": "AI is revolutionizing the software landscape. However, for many Java developers, integrating these powerful AI tools into existing enterprise applications or a new one can feel daunting. In this hands-on session, we'll demystify the process and show you how to build LLM-powered features directly into your Java codebase.\r\n\r\nUsing JakartaEE and the LangChain4j library, we'll dive deep into Retrieval Augmented Generation (RAG), a cutting-edge technique that combines the vast knowledge of LLMs with the precision of your own data. We'll explore how to create both few-shot and zero-shot RAG models, and then add practical features like summarization and similarity search, backed by an Embedding database.\r\n\r\nThrough a live coding demo, we’ll walk you through constructing an AI-powered online store backend and provide practical insights into the architecture and code.\r\n\r\nWhether you're familiar with AI or just getting started, this session will give you the confidence and skills to harness the potential of LLMs in your Java projects. \r\n", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1acc6fe1-fb77-411b-acbb-fef29174c780", - "name": "Edwin Derks" + "id": "79e95ec4-23ec-48ec-9046-98d3e1776283", + "name": "Bazlur Rahman" + }, + { + "id": "4e0f1b70-c9ff-4351-b21e-eee43fdd44df", + "name": "Syed M \"Shaaf\"" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4525,45 +3830,45 @@ "isConfirmed": true }, { - "id": "557712", - "title": "Jakarta EE! The future of enterprise application behind the myths.", - "description": "Most enterprises continue running their Application in a JEE Server. We realize that there are among of code that is not evolving. Throughout this talk, we are showing you by example some real-world experiences of moving forward Applications running JEE 5 & 7 to Jakarta EE 10. At the end of this session, you are going to understand the pitfalls and put away the concerns of updating and evolving your enterprise applications.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "751804", + "title": "Migrating from Java EE - to Spring Boot or something else?", + "description": "Many companies use old and expensive Java EE servers like WebSphere or WebLogic. If you're considering moving away from them, this session is for you. We'll explore three options: the widely used Spring Boot framework, modern open-source Jakarta EE servers like GlassFish, and emerging choices like Quarkus and Piranha Cloud.\r\n\r\nThrough live demos and discussions, we'll compare these options in terms of how easy it is to get started, how straightforward it is to migrate from Java EE, how developer-friendly they are, and what features they offer for production. We'll also look at the evolution of the Jakarta EE ecosystem and how it currently compares to SpringBoot.\r\n\r\nWhether you're a developer, a DevOps engineer, or an architect, this session will give you practical insights and help you make informed choices about your Java stack. Join me in finding out the answer to the question: Should you migrate from Java EE to Spring Boot or something else?\r\n", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "9b9cb6b1-b132-4f4f-8bbc-155e31958220", - "name": "Alberto Salazar" + "id": "a525f812-1f48-41fa-a4cf-cd6c10fb3f69", + "name": "Ondro Mihályi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -4579,20 +3884,20 @@ "slotStart": "07:30:00", "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58709, + "name": "Keynote", "session": { - "id": "a0f92b48-8680-4b4c-86b6-27fcf80423a6", - "title": "Registration & breakfast", + "id": "a54587eb-7be5-4c1b-843c-91a92818ec6a", + "title": "Registration and breakfast", "description": null, - "startsAt": "2024-04-10T07:30:00", - "endsAt": "2024-04-10T09:00:00", + "startsAt": "2025-03-05T07:30:00", + "endsAt": "2025-03-05T09:00:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -4604,194 +3909,129 @@ ] }, { - "slotStart": "08:00:00", + "slotStart": "09:00:00", "rooms": [ { - "id": 39694, - "name": "Agile", + "id": 58709, + "name": "Keynote", "session": { - "id": "6ccb7f81-8a86-42ed-b663-00d6d6f748a9", - "title": "Women in Tech Breakfast", + "id": "c36440b9-6e42-4c24-81be-16ae1f9cbf02", + "title": "Opening keynote", "description": null, - "startsAt": "2024-04-10T08:00:00", - "endsAt": "2024-04-10T09:00:00", + "startsAt": "2025-03-05T09:00:00", + "endsAt": "2025-03-05T10:00:00", "isServiceSession": true, "isPlenumSession": false, "speakers": [], "categories": [], - "roomId": 39694, - "room": "Agile", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, "isInformed": false, "isConfirmed": false }, - "index": 2 + "index": 0 } ] }, { - "slotStart": "09:00:00", + "slotStart": "10:00:00", "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58710, + "name": "Tech Leadership", "session": { - "id": "582996", - "title": "Welcome to Devnexus 2024!", - "description": "Opening of the conference", - "startsAt": "2024-04-10T09:00:00", - "endsAt": "2024-04-10T09:10:00", + "id": "741822", + "title": "Building 10x Organizations with Internal Developer Portals", + "description": "Developer Experience is Dead! Long Live Developer Experience!\r\n\r\nIn this keynote style session, we’ll take a detailed, granular look at the barriers to productivity faced by developers today. 10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’\r\n\r\nRight now, here in early 2024, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience or ‘DevEx.’ It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity productivity philosophies to go alongside them.\r\n\r\nWe have no need to reinvent another productivity approach when effective solutions such as internal developer portals already exist. As business leaders, we just need to invest in and create urgency behind these solutions today, so that we don’t find ourselves having the same discussion again in a decade.\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, - "isPlenumSession": true, + "isPlenumSession": false, "speakers": [ { - "id": "e87c804d-b551-4614-8891-007f421a683f", - "name": "Pratik Patel" - }, - { - "id": "b72554fc-3fc6-48e3-a268-2ee5187bdb5e", - "name": "Vincent Mayers" + "id": "38263e70-6aee-44ff-a2d3-c7d42141cc50", + "name": "Justin Reock" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 231062, - "name": "Keynote" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 0 - } - ] - }, - { - "slotStart": "09:10:00", - "rooms": [ - { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", - "session": { - "id": "634712", - "title": "What Makes Software Architecture So Intractable?", - "description": " Why can't we make software architecture once and for all? Why do we keep having to make the seemingly same decisions over and over again? This keynote delves into the slippery nature of software architecture decisions and the modern way to do trade-off analysis. I show tips and techniques for assessing architecture trade-offs, as well as some easy-to-fall-into anti-patterns. I also discuss iterative architecture–the faster you can get feedback for your trade-off analysis, the easier you can make architecture decisions based on objective reality, not opinions.", - "startsAt": "2024-04-10T09:10:00", - "endsAt": "2024-04-10T10:00:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "e7343345-6288-4fa5-8b88-086b6e09015d", - "name": "Neal Ford" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 231062, - "name": "Keynote" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207667, - "name": "keynote" - } - ], - "sort": 1 - } - ], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": false, - "isConfirmed": false - }, - "index": 0 - } - ] - }, - { - "slotStart": "10:00:00", - "rooms": [ + "index": 1 + }, { - "id": 39693, + "id": 53138, "name": "Architecture", "session": { - "id": "552788", - "title": "A design pattern goes to the supermarket", - "description": "Everybody knows the term design patterns. Some know the patterns and correct implementation by heart. Others vaguely recognize the pattern names but don’t recall the details. This talk is intended for the latter group. \r\n\r\nI’ll dive into a couple of design patterns using real-life examples. What would a design pattern look like in day-to-day life? We’ll follow Bobby and Billie and discover how a design pattern would behave in a non-digital environment: the supermarket! With the help of drawings and code snippets, this talk will give you a solid understanding of design patterns, so you won't have to look them up ever again!", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "732429", + "title": "CQRS meets modern Java", + "description": "Command Query Responsibility Segregation (CQRS) is a proven design pattern that enables the clear separation of data changes (commands) and data queries (queries). This separation allows these responsibilities to be scaled and optimized independently. The application code is also structured more understandably, which improves maintainability.\r\n\r\nThis talk will deepen our understanding of the practical implementation of the CQRS principles using modern Java language features such as records, sealed classes, switch expressions, and pattern matching. An example application will demonstrate how the theoretical foundations of CQRS can be applied in practice and how this affects application design while increasing data access efficiency.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "88a48ee1-1950-4e3f-8f4d-c5e269c6eeaf", - "name": "Kaya Weers" + "id": "8d6bb73e-5451-4e33-a0ab-7b7ffc37a52e", + "name": "Simon Martinelli" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, + "id": 290603, "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, + "roomId": 53138, "room": "Architecture", "liveUrl": null, "recordingUrl": null, @@ -4799,156 +4039,156 @@ "isInformed": true, "isConfirmed": true }, - "index": 1 + "index": 2 }, { - "id": 39694, - "name": "Agile", + "id": 53139, + "name": "AI", "session": { - "id": "557526", - "title": "How to Conference : A User Guide", - "description": "Are you an introvert who dreads large gatherings? Do you find it challenging to attend tech conferences or user group events? We know how you feel, but the good news is that these gatherings present invaluable opportunities to expand your knowledge, enhance your skills, and even discover your next career move. The key is to navigate them effectively without feeling overwhelmed.\r\n\r\nJoin us as we discuss how introverts can make the most of conferences and user groups without exhausting themselves. In this session, we will explore strategies to ensure your success, from what to bring to these events, to uncovering the most effective learning methods and practices. We'll also delve into techniques and ideas for finding essential breaks to recharge and reveal the optimal places to be for maximum advantage.\r\n\r\nDiscover how introverts and extroverts can thrive in the world of tech conferences and user groups.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "734451", + "title": "TDD & generative AI - a perfect pairing?", + "description": "In this talk we will dive into the question whether generative AI can generate working code when we only provide test cases. So we take the main principle from TDD: we write the tests up front. Then we use a generative AI to create the code. If you wrote the tests correctly and they all pass, you should have a working prototype. Even better, if the tests pass and you trust the tests, the code is production ready!\r\n\r\nWith some live coding, we will explore this idea together. Furthermore we will take a look at the implications of this paradigm shift. After attending you should be able to apply this technique to your own project.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a6ee49ed-a85d-43bd-8677-bced09824b2c", - "name": "Nerando Johnson" - }, - { - "id": "25b4a764-0ab3-4a6b-b7b6-8e5f5d46dfc6", - "name": "Glenn Renfro" + "id": "d7af9489-53b9-48ae-837e-0b2f403c6461", + "name": "Bouke Nijhuis" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 2 + "index": 3 }, { - "id": 42136, - "name": "AI", + "id": 53140, + "name": "Cloud Native", "session": { - "id": "538373", - "title": "LLMs and Spring: Building Smart Chat Applications with Redis", - "description": "Generative AI and the emergence of LLMs are radically changing content retrieval and generation industries. Using a combination of Natural Language Processing (NLP) techniques, foundation Machine Learning models (GPT and friends), and vector databases, chat-driven smart applications are changing the landscape of modern apps. This presentation explores the Retrieval-Augmented Generation (RAG) approach, which leverages semantic search to dynamically infuse factual knowledge into a large language model (LLM) prompt. This technique enables contextual augmentation of the LLM, enhancing its performance in various tasks such as answering questions, summarizing content, or generating new content. Redis, a vector database and full-text search engine, enables RAG workflows. In this session, we'll explore building RAG applications using Redis and Spring Boot.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "734811", + "title": "Create AI-Infused Java Apps with LangChain4j", + "description": "Generative AI has taken the world by storm over the last year, and it seems like every executive leader out there is telling us “regular” Java application developers to “add AI” to our applications. Does that mean we need to drop everything we’ve built and become data scientists instead now?\r\n\r\nFortunately, we can infuse AI models built by actual AI experts into our applications fairly straightforwardly, thanks to some new projects. We promise it’s not as complicated as you might think! Thanks to the ease of use and superb developer experience of Quarkus and the nice AI integration capabilities that the LangChain4j libraries offer, it becomes trivial to start working with AI and make your stakeholders happy :)\r\n\r\nIn this session, you’ll explore a variety of AI capabilities. We’ll start from the Quarkus DevUI where you can try out AI models even before writing any code. Then we’ll get our hands dirty with some code and exploring LangChain4j features such as prompting, chaining, and preserving state; agents and function-calling; enriching your AI model’s knowledge with your documents using retrieval augmented generation (RAG); and discovering ways to run (and train) models locally using tools like Ollama and/or Podman AI Lab. In addition, we’ll look at the AI integration's observability and fault tolerance and compile the app to a native binary. Maybe we’ll even try some new features, such as generating images or audio!\r\n\r\nCome to this session to learn how to build AI-infused applications in Java from the actual Quarkus experts and engineers working on the Quarkus LangChain4j extensions. This is also an opportunity to provide feedback to the maintainers of these projects and contribute back to the community.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4deee821-d54c-4f81-a909-07a61689e41e", - "name": "Brian Sam-Bodden" + "id": "a4305a38-d462-482b-9e4a-536eb74ec63c", + "name": "Kevin Dubois" + }, + { + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, - "name": "Artificial Intelligence" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, - "room": "AI", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 3 + "index": 4 }, { - "id": 42137, + "id": 58711, "name": "Cloud Tech", "session": { - "id": "551553", - "title": "Kubernetes Demystified", - "description": "Have you heard about Kubernetes? Of course you have, is that thing that was created by Google to orchestrate containers. You might have heard some of its features, like auto-scaling, load balancing, zero downtime version releases, etc. And also, you might have heard the new jargon that comes with it. \r\n\r\nPods, nodes, replicasets, deployments, statefulsets, netpols, services, namespaces, kubectl????\r\n\r\nIf you are wondering what all those words mean, you are not alone! (and you probably need to join me in this talk)\r\n\r\nIn this session, we'll start with a quick introduction to Kubernetes and the problems that it is trying to solve. We'll demystify terms like pods, deployments, services, and more. You'll gain the knowledge you need to navigate the Kubernetes landscape confidently, making sense of the buzzwords that have left you scratching your head.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "752303", + "title": "Backstage Software Templates for Java Developers", + "description": "As a Java developer you might have a hard time accepting the limitations that you feel being introduced into your development cycles. Let's look at the positives and learn everything important to know to turn Backstag's software templates into a helpful tool you can use to elevate the platform experience for all developers. ", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "90d4149a-7993-407f-a350-a0d7a8a04440", - "name": "Orlando Valdez" + "id": "b4ec38ee-2a62-40f0-85ab-2b4811d2f380", + "name": "Markus Eisele" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, + "id": 290605, "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, + "roomId": 58711, "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, @@ -4956,50 +4196,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 4 + "index": 5 }, { - "id": 42139, + "id": 58701, "name": "Core Java", "session": { - "id": "547871", - "title": "A Glance At The Java Performance Toolbox", - "description": "What's the first step to improving performance?\r\n\r\nIs it tuning the garbage collector? Writing clean(er) code?\r\nNo, the first step is understanding what's going on in your application!\r\n\r\nPerformance tuning starts with analysis, and JDK tools can help you gain insights on classes and threads and can perform live GC analysis or heap dump postprocessing: jcmd, jconsole, jstat, jmap and jfr.\r\n\r\nWe'll examine the functional visibility areas essential to Java and how these tools provide that information. Moreover, will discuss options on how to integrate information gathered from these tools with widespread monitoring systems like Prometheus.\r\n\r\nAfter this talk, you will be ready to understand what your application spends time on and why so you can start improving its performance with complete information.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "754668", + "title": "DataFrame - a Swiss Army Knife of Java Data Processing", + "description": "Can we use big data techniques without big data infrastructure? As Java developers, we deal with data processing all the time: analyzing app logs, extracting data from Excel, copying tables between databases, to give some examples. Yet, the “standard” Java falls short in processing capabilities compared to more complex and heavy tools like Spark or Flink.\r\n\r\nThis talk is about “DataFrame” - a 2-dimensional in-memory table structure that provides filtering, column / row operations, joins, aggregations, window functions, etc. I will use an open source DFLib library (https://dflib.org) and a Jupyter notebook to demonstrate how to do data processing and visualization in a Java app with DataFrames without much fuss.\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "086de2f4-8bfc-47ab-8f65-c623a5753fcf", - "name": "Ana Maria Mihalceanu" + "id": "7a260dc7-19c8-4f8a-a299-66c70d91f4c4", + "name": "Andrus Adamchik" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, + "id": 290606, "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, + "roomId": 58701, "room": "Core Java", "liveUrl": null, "recordingUrl": null, @@ -5007,17 +4247,17 @@ "isInformed": true, "isConfirmed": true }, - "index": 5 + "index": 6 }, { - "id": 42140, + "id": 58702, "name": "Frameworks", "session": { - "id": "551498", - "title": "Spring Cloud Gateway MVC: Built for Java 21 and Virtual Threads", - "description": "We will provide a brief history of API gateways in Spring Cloud, including Zuul and why we built Spring Cloud Gateway to replace it. Then we will give a short primer on how the gateway routes and filters requests. We will then introduce how Spring Cloud Gateway can work in servlet containers using virtual threads on Java 21. We will compare and contrast this new functionality to the original WebFlux-based Spring Cloud Gateway.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "761780", + "title": "API Toolbox with Spring", + "description": "Have you ever wondered what options are available in the Spring ecosystem to help developers define and build APIs? What protocols and serialization libraries are supported?\r\n\r\nIn this talk, we will go over what options are available to Spring Developers to build APIs. We will cover traditional HTTP APIs as well as alternative protocols for messaging and streaming APIs. We will introduce other projects from the Spring portfolio such as Spring Data and Spring Cloud that can enhance developer productivity in creating APIs and developer experience while consuming them.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ @@ -5028,29 +4268,29 @@ ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, + "id": 290607, "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, + "roomId": 58702, "room": "Frameworks", "liveUrl": null, "recordingUrl": null, @@ -5058,50 +4298,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 6 + "index": 7 }, { - "id": 42141, + "id": 58703, "name": "Java Platform", "session": { - "id": "540558", - "title": "ML in Java, YES it's possible!", - "description": "When you think about building and/or deploying machine learning models, Java is not within the top 3 languages that we generally think of. Nonetheless Java has a strong community, with millions of developers using it as their main language.\r\nWith the AI buzz spiking in the past month, All developers, and especially Java developers, need to understand how to build and run apps that use ML. In this session we are going to explore what are our options, as java developers, to build, save and run machine learning models.We are also going to discuss and compare the most 3 popular frameworks (Deeplearning4J, djl and Tribuo), along with a real world example to understand capabilities and tradeoffs of each framework. We will also briefly cover JSR381, an open-source, Java-friendly API for ML, specifically visual recognition", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "753362", + "title": "30 Years of Java - How Did We Get Here?", + "description": "May 23rd, 1995, saw the launch of not just a new programming language but an entire development and deployment platform. Initially targeted at the brand-new world of browsers and the World Wide Web, it quickly became the de facto standard for internet-scale enterprise applications.\r\n\r\nRemarkably, thirty years later, it is still always in the top three most popular languages in use by developers.\r\n\r\nHow did this happen?\r\n\r\nIn this session, we’ll take a whirlwind tour of the history of Java, recalling many of the milestones along the way.\r\n\r\nI started working for Sun Microsystems in February 1996, roughly the same week JDK 1.0 was launched. Through fourteen years at Sun, five at Oracle and nine at Azul, I’ll bring plenty of anecdotes (and some souvenirs). Be prepared for some serious developer nostalgia!\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "df2764ce-246c-406d-8cba-c3515e254253", - "name": "Mohammed Aboullaite" + "id": "709043d1-5754-4459-a8d5-6dd2f5619874", + "name": "Simon Ritter" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, + "id": 290608, "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, + "roomId": 58703, "room": "Java Platform", "liveUrl": null, "recordingUrl": null, @@ -5109,101 +4349,101 @@ "isInformed": true, "isConfirmed": true }, - "index": 7 + "index": 8 }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58704, + "name": "Practices", "session": { - "id": "539327", - "title": "\"Getting Along and Getting Things Done: A Guide for Software Leaders Working with Developers\"", - "description": "This session will provide software development leaders and managers with valuable insights and practical strategies for effectively managing and collaborating with developers in their teams. As a software development manager, the ability to lead and inspire a development team is crucial to the success of products and projects. \r\nMy presentation will explore various aspects of team management, including communication, motivation, conflict resolution, and fostering a positive work environment. \r\nAttendees will gain actionable tips and best practices for nurturing productive developer-manager relationships, optimizing workflow processes, and achieving product/project goals while maintaining a harmonious and motivated development team. Whether an experienced manager looking to refine their skills or new to the role, my presentation will equip them with the knowledge and tools to excel in leading their software development team to success.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "751868", + "title": "Delivery Engineering", + "description": "Just as food delivery has evolved and become ubiquitous, the Software Delivery Lifecycle has also made leaps and bounds. We get there by shifting left and taking a platform centric approach.\r\n\r\nIn this session join us as we discuss modern software delivery, ways that Datadog has implemented SDLC internally and enable our user’s production of high-quality software with higher velocity.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6f31d407-98ca-4b82-a009-6bb4d80b819c", - "name": "Priya Jayakumar" + "id": "46d17ddc-1a74-4d59-8906-d6246ac498d4", + "name": "Ajuna Kyaruzi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, + "id": 290609, "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 8 + "index": 9 }, { - "id": 42143, + "id": 58705, "name": "Security", "session": { - "id": "556765", - "title": "Passkeys...Yes Please!", - "description": "\r\nDo you or someone you know reuse passwords? How much entropy do your passwords have? Have you selected passwords that are truly random? Do you and your entire family use a password manager? In 2022, over 24 billion passwords were exposed by hackers. With passwords, attackers can steal your identity, money, and leverage your computing resources to attack other users.\r\n\r\nPasswords are a way of life, but do they have to be? WebAuthn is probably best known for its ability to provide multi factor authentication, but it has more recently gained attention under the name Passkeys as a replacement for passwords.\r\n\r\nIn this session, Rob will teach you all there is to know Passkeys. He will also walk you through a demo Spring application that leverages Passkeys so you can see first hand what it takes to implement Passkeys in your applications.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "753084", + "title": "Securing the Digital Landscape: A Deep Dive into OWASP Top 10 for Applications, APIs, and LLMs", + "description": "Join us for an immersive journey into the heart of modern cybersecurity challenges. In this groundbreaking talk, we delve into the intricacies of securing your digital assets with a focus on three critical domains: applications, APIs, and Large Language Models (LLMs).\r\n\r\nAs developers and architects, you understand the paramount importance of safeguarding your systems against evolving threats. Our session offers an exclusive opportunity to explore the industry-standard OWASP Top 10 vulnerabilities tailored specifically to your domain.\r\n\r\nUncover the vulnerabilities lurking within your applications, APIs, and LLMs, and gain invaluable insights into mitigating risks and fortifying your defenses. Through live demonstrations and real-world examples, you'll witness firsthand the impact of security breaches and learn proactive strategies to combat them.\r\n\r\nWhether you're a seasoned architect seeking to fortify your organization's security posture or a developer striving to build resilient systems, this talk equips you with the knowledge and tools essential for navigating the complex landscape of cybersecurity.\r\n\r\nAgenda\r\n\r\nOWASP Top 10 Overview\r\n\r\nIntroduction to OWASP\r\nSignificance of OWASP Top 10\r\nOverview of OWASP Top 10 for Applications, APIs, and LLMs\r\nOWASP Top 10 for Application Security\r\n\r\nPresentation: Common Vulnerabilities and Mitigation Strategies\r\nDemonstration: Live Examples of Application Security Vulnerabilities\r\nOWASP Top 10 for API Security\r\n\r\nPresentation: Key Challenges in API Security and Best Practices\r\nDemonstration: Illustration of API Security Vulnerabilities and Attacks\r\nOWASP Top 10 for LLM Applications (Large Language Models)\r\n\r\nPresentation: Unique Security Concerns in LLM Applications\r\nDemonstration: Showcase of LLM Security Vulnerabilities and Risks\r\nQ&A and Discussion\r\n\r\nOpen Floor for Questions and Discussion\r\nConclusion\r\n\r\nSummary of Key Takeaways\r\nCall to Action: Implementing Security Best Practices", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "727026b3-6a06-41d7-803d-cc6df0a8802c", - "name": "Rob Winch" + "id": "32cb0f88-b1ad-44c2-8860-86a5ac46c59a", + "name": "Rohit Bhardwaj" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, + "id": 290610, "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, + "roomId": 58705, "room": "Security", "liveUrl": null, "recordingUrl": null, @@ -5211,50 +4451,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 9 + "index": 10 }, { - "id": 42144, + "id": 58706, "name": "Tools and Techniques", "session": { - "id": "551993", - "title": "Effectively Troubleshoot 9 Types of OutOfMemoryError", - "description": "Embark on a journey into the depths of java.lang.OutOfMemoryError as we unravel its complex nature. Discover the nine distinct faces of this memory-related challenge and gain valuable insights into their unique causes and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "751190", + "title": "Taking Shortcuts Beyond Your IDE", + "description": "Taking shortcuts in software development is often perceived as risky, but it does not have to be. In this talk, I will show you how adopting smart shortcuts can enhance your productivity without sacrificing code quality. While IDE shortcuts are just the beginning, we will explore ways to streamline your workflow across the entire development process. From key combinations to advanced automation techniques like code generation, I will demonstrate how you can optimize your time and enjoy coding more. Whether you are a seasoned developer or just starting, this talk will help you identify areas where you can work faster and smarter. By the end, you will be equipped with practical strategies to always be on the lookout for opportunities to improve your workflow.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "96f21f95-15a9-4bed-a14a-495947087740", - "name": "Ram Lakshmanan" + "id": "ca26f6b4-6211-4491-a8f3-d090c2390c8c", + "name": "Annelore Egger" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, + "id": 290611, "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, + "roomId": 58706, "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, @@ -5262,157 +4502,102 @@ "isInformed": true, "isConfirmed": true }, - "index": 10 + "index": 11 }, { - "id": 42145, + "id": 58707, "name": "Web and front-end", "session": { - "id": "547698", - "title": "Methodically Migrating from JavaScript to TypeScript", - "description": "It's no secret that TypeScript is all the rage in modern web development. With all of the scaffolding tools that exist to support starting a new project with TypeScript, it's never been easier to try it out. However, it can feel very overwhelming to think about the necessary steps to migrate your existing JavaScript project to TypeScript. In this talk we'll explore progressive enhancements you can make to move your JavaScript project to TypeScript without disrupting your team's productivity.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "752387", + "title": "Typescript Deep Dive", + "description": "Mapped types, template literals, conditional types with infer: oh my! Come to this talk if you already understand how to use typescript day to day, but want to take a deeper dive and understand the more advanced topics in Typescript through real world examples and usecases.", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "27a63fc1-2981-4a83-8f13-fa986f36de8d", - "name": "Sean McQuaid" + "id": "76cd083c-68f1-46b7-8a4e-9dd9d6d6fd08", + "name": "Waller Goble" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, + "id": 290612, "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, + "roomId": 58707, "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true - }, - "index": 11 - }, - { - "id": 42146, - "name": "Cloud Native", - "session": { - "id": "588220", - "title": "How do I see it in Backstage?", - "description": "Software Templates get lots of attention, and they’re a quick model for an introduction to Backstage. But daily development revolves around the Software Catalog. A central location for discovering everything isn’t very useful unless everything is there. How do you describe the elements of your environment in a way that Backstage understands?\r\n\r\nCome to this talk to learn about the basic Kinds of Backstage Entities and how Processors examine and validate them for addition to your Catalog. You’ll leave with a basic platform engineering vocabulary and an understanding of how Backstage models Components, APIs, Locations and other Entities in the catalog-info.yaml file.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "ac053209-5370-4e01-859e-abb13ca60179", - "name": "Josh Wood" - }, - { - "id": "f40099db-47bc-44af-a1fc-4c7034e5ef98", - "name": "Ryan Jarvinen" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 207664, - "name": "Cloud Native" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207665, - "name": "session" - } - ], - "sort": 1 - } - ], - "roomId": 42146, - "room": "Cloud Native", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, "index": 12 }, { - "id": 42147, - "name": "JakartaEE", + "id": 58708, + "name": "JakarataEE", "session": { - "id": "538312", - "title": "Jakarta EE 11 - Performance and Developer Productivity", - "description": "With a baseline on Java 21, Jakarta EE 11 has a focus on Performance and Developer Productivity. Built-in support for Virtual Threads and Records are some examples of this.\r\n\r\nWe will back the tape a little and look at how the namespace change from `javax.*` to `jakarta.*` in Jakarta EE 9 impacted the entire Java ecosystem. Then move on to the cool new features introduced in Jakarta EE 10 before embarking on an adventurous journey with Jakarta EE 11. Everything is backed up by live coding demos.\r\n\r\nAfter this session, you will have an understanding of the fundamentals of Jakarta EE, as well as know how to quickly get started with Jakarta EE at your own pace.", - "startsAt": "2024-04-10T10:00:00", - "endsAt": "2024-04-10T11:00:00", + "id": "750246", + "title": "A Developer's Guide to Jakarta EE 11", + "description": "Since its introduction in 2018 as Jakarta EE, the platform has evolved from: Jakarta EE 8, an open-source version of Java EE 8; to Jakarta EE 9, the \"big bang\" release; to Jakarta EE 10 that introduced the Core Profile.\r\n\r\nAnd now, Jakarta EE 11, released on { month}, { day }, 2024, focuses on productivity and innovation and delivers: updates to 16 specifications; introduces a new specification, Jakarta Data; and sets the baseline to Java 21, the latest LTS release.\r\n\r\nThis presentation will provide a brief history of JavaEE/Jakarta EE, what's new in Jakarta EE 11, and a review of new and updated specifications with working example applications.\r\n", + "startsAt": "2025-03-05T10:00:00", + "endsAt": "2025-03-05T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27", - "name": "Ivar Grimstad" + "id": "9820a802-240a-4fc0-9541-36ff1c2f760b", + "name": "Michael Redlich" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5427,20 +4612,20 @@ "slotStart": "11:00:00", "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58709, + "name": "Keynote", "session": { - "id": "c41b0ef7-7d6b-4abe-869e-373841caa58a", - "title": "Morning break", + "id": "35b93832-1f7c-4421-b198-bd4f2719a9df", + "title": "Morning Break", "description": null, - "startsAt": "2024-04-10T11:00:00", - "endsAt": "2024-04-10T11:30:00", + "startsAt": "2025-03-05T11:00:00", + "endsAt": "2025-03-05T11:30:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -5455,48 +4640,52 @@ "slotStart": "11:30:00", "rooms": [ { - "id": 39693, - "name": "Architecture", + "id": 58710, + "name": "Tech Leadership", "session": { - "id": "551330", - "title": "Analyzing and Critiquing Architectures", - "description": "Software architecture is having a moment, from best selling books to packed classes, the software industry acknowledges the importance of the parts of software resistant to internet searches. Ample pixels have been spilt talking about patterns, decomposition, styles, diagrams and more and all to good ends! But when it comes time to review an architecture, what should you do? What factors should you consider? How do you provide constructive feedback? But we won’t just talk theory, we’ll work through real world examples, providing you a chance to practice this vital skill.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "754870", + "title": "Starting with Java in 2025", + "description": "Java is dead. Despite of hearing that a lot, Java is a modern language with impressive new features. We will demo how easy is to start with Java in 2025 and showcase the amazing features available to developers", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1f3fa71c-0021-4d6e-af47-0013ecbaeb33", - "name": "Nathaniel Schutta" + "id": "8983937d-7fc9-4cb4-bdcf-ce009d874531", + "name": "Rodrigo Graciano" + }, + { + "id": "ab1b8b69-f449-4df9-b391-243a391b9d01", + "name": "Chandra Guntur" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5506,52 +4695,48 @@ "index": 1 }, { - "id": 39694, - "name": "Agile", + "id": 53138, + "name": "Architecture", "session": { - "id": "537809", - "title": "Building a Great Developer Experience", - "description": "If you want to onboard developers quickly, and retain them by providing a frustration-free environment, you need a great developer experience (DX). This goes beyond just providing CI/CD. It requires runtime libraries, build tooling, local environmets, data collection and displays, and migration automation. All of these work together to create a constant two-way stream of information between the platform engineers and their client development teams.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "753635", + "title": "Beyond Static: Building Adaptive Systems with Reinforcement Learning Using Java", + "description": "Imagine a Java application that adapts to new challenges, learns from its experiences, and dynamically alters its behavior to optimize performance. Does this sound futuristic? Welcome to\r\nthe world of reinforcement learning in Java.\r\n\r\nIn today's rapidly changing technological ecosystem, the demand for software that can learn and adapt is skyrocketing across industries. This is where reinforcement learning comes into\r\nplay, offering a powerful framework for creating intelligent, self-improving systems. \r\n\r\nBut why Java? As one of the most widely used programming languages in enterprise environments, Java provides a robust foundation for implementing complex reinforcement learning algorithms. Its object-oriented nature, extensive libraries, and strong community support make it an ideal choice for building scalable and adaptive applications.\r\n\r\nIn this presentation, we will explore how to harness the power of reinforcement learning within Java applications. We will delve into the core concepts, examine practical implementation strategies, and discuss real-world applications. Whether you are looking to optimize resource allocation, improve decision-making processes, or create more responsive user experiences, reinforcement learning in Java opens up a world of possibilities.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "bfc36fe5-4d43-4394-98fe-a5374fc17616", - "name": "John Burns" - }, - { - "id": "0bcff2e0-2a53-4cdb-9301-11cfc4a4041d", - "name": "Samuel Raghunath" + "id": "43a35463-ae3d-4ccd-ba5a-f153b6ea2c49", + "name": "Omakoji Idakwoji" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5561,47 +4746,47 @@ "index": 2 }, { - "id": 42136, + "id": 53139, "name": "AI", "session": { - "id": "548614", - "title": "Building Your Own Private GenAI Chatbot with Java Tools - A Step-by-Step Adventure", - "description": "In today's software development world, there are several Machine Learning (ML) tools that empower developers to create specific chatbots that cater to various needs. These chatbots harness the capabilities of Large Language Models (LLMs) trained on confidential, private document sets on your local machine or enterprise data repositories. They enable you to interact and engage with these document sets, from summarizing emails and meeting notes to gauging sentiment, extracting dates and names from websites, pre-screening resumes, and performing many other tasks.\r\n\r\nBut most of these systems are Python-based. While Python serves as a formidable language for ML, many software developers find themselves operating within the Java ecosystem, especially within large organizations that prioritize Java for robust and reliable production deployments. This presentation focuses on Java-centric tools to construct tuned assistant systems using the retrieval-augmented generation (RAG) technique.\r\n\r\nQuick Overview of Neural Networks, Weights, and Embeddings\r\nExploring the Current State of LLMs\r\nImplementing Prompts and Completions via a Java API to ChatGPT\r\nUnderstanding Prompt Structure and Prompt Engineering Techniques\r\nLearn about Instruction-Tuning and Fine-Tuning Techniques\r\nNavigating Vector Databases and Embeddings with Java\r\nCrafting a Private Chatbot Architecture\r\nDemo\r\n", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "750927", + "title": "AI’s Big Leap: From Sidekick to Autonomous, Multi-repo Refactoring Powerhouse", + "description": "Generative AI can be a force multiplier for developers, but it also comes with limitations. Developers are expected to co-create with AI, and check the generated output, or risk hallucinations running wild. This can aid development at a local machine, but what happens when you try to apply these tools on a massive scale?\r\n\r\nFor mass-scale code operations, AI needs to have agency, able to operate with some degree of autonomy. In this session, we’ll cover how you can use use techniques such as retrieval augmented generation (RAG), the richest code data source for Java called the lossless semantic tree (LST), and OpenRewrite rules-based recipes to drive more efficient and accurate AI model output for refactoring and analyzing large codebases.\r\n\r\nWe’ll specifically address how you can use AI embeddings as a powerful tool to visualize, analyze, and even do smarter sampling for your codebase. We’ll demonstrate using embeddings to perform searches, cluster data, get a birds-eye view of your codebase, as well as diagnose issues and recommend OpenRewrite recipes to fix the problem. We'll also show you how GenAI can be helpful at scale: by assisting with writing OpenRewrite deterministic recipes.\r\n\r\nCome learn the technical underpinnings for reliably using AI at scale for code modernization.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a56899b4-eae5-40ac-b71a-5ef5be0945a0", - "name": "Frank Greco" + "id": "e278d34f-eb09-428e-b299-b87098577622", + "name": "Justine Gehring" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, @@ -5612,48 +4797,48 @@ "index": 3 }, { - "id": 42137, - "name": "Cloud Tech", + "id": 53140, + "name": "Cloud Native", "session": { - "id": "557019", - "title": "A developer’s journey to Kubernetes: a handy guide for developing, deploying, and debugging your app", - "description": "Containers are everywhere nowadays, and they have changed the way we develop, architect, deploy and troubleshoot our apps in production.\r\n\r\nThis talk will cover the most important things you need to know from developing containerized apps, to deploying them into your Kubernetes cluster, and finally, debugging them.\r\n\r\nWe will cover valuable tools to boost your productivity on Kubernetes—like Skaffold, Dart, Buildpacks and Jib—and discuss common deployment patterns and best practices. We know developers need to understand how to manage resources, application lifecycle and which K8s API objects to use for which component, and in this talk we’ll detail these important items. We also know that developers struggle to troubleshoot their deployed applications, because, well, things break and you need to figure out why!\r\n", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "740910", + "title": "Embracing the Hybrid Cloud: Unlocking Success with Open Source Technologies", + "description": "Change and adopting Hybrid Cloud solutions are inevitable in today's dynamic business landscape. As companies strive for success, their workloads span diverse landscapes, including public cloud providers and on-premises servers. To thrive in this ever-evolving environment, harnessing the power of open-source technologies becomes imperative.\r\n\r\nJoin us in this enlightening session to discover how cutting-edge tools such as Kubernetes, Knative, and Skupper can tip the scales in your favor. We'll unveil the transformative capabilities of these technologies and demonstrate how they can empower your organization to achieve crucial objectives such as cost management, failover preparedness, resiliency, and more.\r\n\r\nIn an era where agility, efficiency, and resilience are paramount, this session will equip you with the insights and tools to navigate the Hybrid Cloud's complexities successfully. ", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f2e1dff5-e8b9-4b4b-a8e4-4f5c6c61158f", - "name": "Abdel Sghiouar" + "id": "dedbce11-34e0-466e-a5cb-ea585688d106", + "name": "Alex Soto" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5663,48 +4848,48 @@ "index": 4 }, { - "id": 42139, - "name": "Core Java", + "id": 58711, + "name": "Cloud Tech", "session": { - "id": "558007", - "title": "To Java 22 and Beyond!", - "description": "Java 21 has come and gone, and the Java release train continues with Java 22!\r\n\r\nStill, we will look over the key changes that have come to Java in recent releases, briefly discuss what has changed from 11-17, and take time to focus on changes in 17+. \r\n\r\nMany key changes have come to Java in recent releases; virtual threads, pattern matching, records, Generational ZGC, and more, understanding the goals of these changes can be key to understanding where Java is now and where it is going in the future!", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "751905", + "title": "Mastering Canary Releases with Argo Rollouts in Kubernetes", + "description": "Delivering new features without impacting user experience is a challenge for any modern application. Canary releases provide a safe way to gradually roll out changes, ensuring stability while reducing risk. In this session, we’ll explore how to implement fully automated canary releases using Argo Rollouts in Kubernetes.\r\n\r\nWe’ll cover the core concepts of canary deployments, progressive delivery strategies, and how Argo Rollouts integrates seamlessly with Kubernetes to manage traffic shifts and monitor metrics. To bring it all together, there will be a live demo showcasing a fully automated canary release in action—watch as we safely deploy updates in real time!\r\n\r\nJoin us to learn how to leverage canary releases for safer, more reliable software delivery.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6f426cb0-6261-4f79-b726-b7ffc3b028ff", - "name": "Billy Korando" + "id": "90d4149a-7993-407f-a350-a0d7a8a04440", + "name": "Orlando Valdez" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5714,48 +4899,48 @@ "index": 5 }, { - "id": 42140, - "name": "Frameworks", + "id": 58701, + "name": "Core Java", "session": { - "id": "537943", - "title": "Do you really need Hibernate?", - "description": "Projects often use Java Persistence API (JPA) by default and, thus, mostly Hibernate. But do all applications need a comprehensive object/relational mapping (ORM) with all conceivable functions?\r\n\r\nThis talk examines the architecture of database-centric applications and discusses whether you always need an object graph for persistence.\r\n\r\nUsing an example application, it is shown how pure SQL, with the help of jOOQ and (nested) Java Records simplifies data access and how common ORM problems, such as the n+1 select problem, can be avoided.\r\nFinally, the possibility of combining jOOQ and JPA/Hibernate and thus using the best of both worlds is discussed.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "753353", + "title": "Keeping Your Java Hot by Solving the JVM Warmup Problem", + "description": "Java bytecodes and class files deliver on the original vision of “write once, run anywhere”. Using a Just-in-Time (JIT) compiler allows JVM-based applications to compile only the code that’s being used frequently and optimise it precisely for how it is being used. Using techniques like speculative optimisation can often deliver better performance than static, Ahead-of-Time (AOT) compiled code.\r\n\r\nHowever, this flexibility and performance comes at a cost. Each time the JVM starts an application, it must perform the same analysis to find hot spots of code and compile them. This is referred to as the application warmup time.\r\n\r\nIn this session, we’ll look at several approaches to how this problem can be alleviated or even eliminated. Specifically:\r\n\r\n•\tGenerating a JIT compiler profile of a running, warmed-up application that can be reused when the same application is restarted, eliminating the need for much of the JIT compilation.\r\n•\tOpenJDK Project Leyden's ahead-of-time class loading, method profiling and code compilation.\r\n•\tDecoupling the JIT compiler from the JVM for a Cloud environment. Providing a centralised JIT-as-a-Service allows caching of compiled code and offloading the compilation work when new code must be compiled.\r\n•\tCreating a checkpoint of a running application. This includes all application state (heap, stack, etc.) in addition to the JIT-compiled code. Project CRaC will be used as an example.\r\n\r\nAt the end of the session, you’ll be all set to keep your Java hot!\r\n", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8d6bb73e-5451-4e33-a0ab-7b7ffc37a52e", - "name": "Simon Martinelli" + "id": "709043d1-5754-4459-a8d5-6dd2f5619874", + "name": "Simon Ritter" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5765,48 +4950,52 @@ "index": 6 }, { - "id": 42141, - "name": "Java Platform", + "id": 58702, + "name": "Frameworks", "session": { - "id": "555596", - "title": "Enter The Parallel Universe of the Vector API", - "description": "Single Instruction Multiple Data (SIMD) instructions have been available in Intel and other processor instruction sets for over 25 years. The current implementation is Advanced Vector eXtensions (AVX), first introduced in the Sandy Bridge microarchitecture.\r\n\r\nUsing Vector processing through AVX can profoundly improve the performance level of an application that includes numerically intensive operations. The difficulty is that, although the compiler should be responsible for determining their use, code is often too complex to do so effectively.\r\n\r\nIn JDK 16, an incubator module for the Vector API (not to be confused with the Vector collections class) was introduced. This allows a developer to express vector computations that reliably compile at runtime to optimal vector instructions. The API has undergone several revisions resulting in the sixth incubator in JDK 21.\r\n\r\nIn this session, we'll explore how to use the Vector API in different use cases, comparing the code generated by the JIT compiler without the API and with it. We'll also look at what difference this makes to the performance delivered.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "747847", + "title": "Mastering Logging in Java", + "description": "Logging isn’t just about debugging; it’s how you figure out what your application was thinking before it all went wrong. It is important for understanding why your application isn't working properly. This session will compare popular Java logging frameworks like Java Util Logging, Log4J, SLF4J, and Logback, highlighting their strengths and quirks.\r\n\r\nWe’ll also look at the shiny new Log4j 3 and how it stacks up against its predecessor, Log4j 2. Whether you’re trying to improve your logging game or just want fewer “what the heck happened?” moments, this talk should be helpful for you.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "709043d1-5754-4459-a8d5-6dd2f5619874", - "name": "Simon Ritter" + "id": "6631e69f-25c4-47db-9fb2-08576a460048", + "name": "Jeanne Boyarsky" + }, + { + "id": "29076748-33f5-4e17-a392-8a9ec55550c7", + "name": "Victor Grazi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5816,107 +5005,99 @@ "index": 7 }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58703, + "name": "Java Platform", "session": { - "id": "543941", - "title": "Beware of Survivorship Bias!", - "description": "Most talks on a typical conference schedule contain success stories of technology. This could lead to survivorship bias. Survivorship bias causes you to draw false conclusions because you mostly heard about successes, but hardly ever about failures. Yet failures provide us with lots of valuable knowledge: when not to apply a certain technique, pattern or process.\r\n\r\nSo no success stories in this talk! Just some 'silver bullets' we tried to use to solve our problems, but turned out to be Very Bad Ideas™. We’ll share how survivorship bias can easily influence your ideas and cloud your judgement.\r\n\r\nAfter attending this talk you'll be more aware of survivorship bias and what you can do to keep your head cool, no matter how many 'silver bullets' are fired at you. ", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "751867", + "title": "Project Panama: Unleashing native libraries", + "description": "Many native libraries offer powerful solutions to interesting problems that could greatly benefit Java developers. However, working with native code has traditionally been difficult on the Java platform. One had to contend with the boiler plate of writing JNI code in order to interact with native libraries. And it only got worse when trying to use native types, like structures, that have no java equivalent. Project Panama solves all these issues by introducing an FFI and Memory Access APIs that lets Java developers’ interop with native code seamlessly. Come to this session to learn more about how OpenJDK Project Panama can help you interact with native libraries seamlessly.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a46bbee6-8f57-450a-881f-22291d822ad8", - "name": "Hanno Embregts" - }, - { - "id": "42e68026-7d32-4cf7-8b71-84cfe2096cc2", - "name": "Maarten Mulders" + "id": "d7993bab-ecad-4202-8a76-61b64f27cbf6", + "name": "Tobi Ajila" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, "index": 8 }, { - "id": 42143, - "name": "Security", + "id": 58704, + "name": "Practices", "session": { - "id": "557480", - "title": "The Platform Engineer Playbook - 5 Ways to Container Security", - "description": "The infamous Log4Shell vulnerability took the software community by surprise two years ago; it was a perfect storm of the massively popular open-source library with a vulnerability that was fairly trivial to attack. Will there be another massive vulnerability to deal with this year? It’s always possible, but there are things you can do to protect your application.\r\n\r\nAs we address additional layers in our defense-in-depth model, and with many containers requiring scale, an advanced application network with a wide array of security features is required. How do we ensure the right policies are in place to allow communication? What mechanisms exist to ensure that payloads in our network cannot be deciphered or replayed? How do we leverage identity to attest containers and their intent?\r\n\r\nFrom a developer’s shell to a platform engineer moving to a runtime in production, there are many tools and practices available to mitigate and detect would-be attackers and make their lives harder.\r\n\r\nThis session will include a live demo of the Log4Shell remote code exploit (RCE) and effective techniques to defend against vulnerabilities like it such as:\r\n- Code & container image scanning\r\n- Best practices for container runtime configuration\r\n- Policy enforcement in Kubernetes\r\n- Container authentication & authorization\r\n- Encryption & identification for services\r\n\r\nJoin us and protect your organization from an attack on the next critical CVE and make it harder for attackers to leverage it against you!", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "751380", + "title": "TDD: Test-Driven Development vs TAB-Driven Development", + "description": "The rise of AI-powered coding assistants is changing the way we approach code completion, often allowing us to accept suggestions with a simple press of the TAB key, significantly speeding up our workflow. These tools can even generate the necessary tests automatically. \r\nIn this context, is Test-Driven Development (TDD) becoming obsolete? Or does the practice of using tests to drive the design of our applications still hold substantial value in the age of AI? Let's explore the evolving landscape of software development and look at the ongoing relevance of TDD in an AI-enhanced world.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d7100338-7ea1-4f10-84fe-758b7ecbe1e7", - "name": "Marino Wijay" - }, - { - "id": "8256c8df-de2c-46f2-85d3-e8a88e6612e0", - "name": "Eric Smalling" + "id": "9f1e9a11-4022-412d-929c-d80ee4f5d19f", + "name": "Marit van Dijk" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5926,48 +5107,48 @@ "index": 9 }, { - "id": 42144, - "name": "Tools and Techniques", + "id": 58705, + "name": "Security", "session": { - "id": "555306", - "title": "Reading code", - "description": "As developers, we spend a lot of time learning to write code, while spending little to no time learning to read code. Meanwhile, we often spend more time reading code than actually writing it. Shouldn’t we be spending at least the same amount of time and effort improving this skill? Deliberate practice can help us get better at reading code. Learning how to better read and understand code, can in turn teach us what makes code readable. This might even help us to write code that is easier to read.\r\n\r\nIn this talk we will discuss the benefits of deliberately practicing reading code in a code reading club or session without an IDE, as well as common strategies to navigate a new codebase and familiarise ourselves with the code using the IDE.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "754814", + "title": "Software and AI in the time of Legislation.  New (and old) laws for developers", + "description": "The software development landscape is rapidly changing, with legislation emerging as a key driver of industry trends. As our reliance on software and AI grows, so does its vulnerability to cybercrime – now a staggering $6 trillion problem. This has caught the attention of regulators worldwide. \r\n\r\nThis talk examines the complex interplay between software, AI, and the law, with a particular focus on what this means for Java developers. \r\n\r\nWe'll explore the challenges of securing the software supply chain, examine the reasoning behind recent legislation and see how they come together. \r\n\r\nWe'll look at practical frameworks for weaving compliance into development practices and tackle both the ethical and pragmatic aspects of a developer's role in mitigating cyber risks. By reframing security and compliance not as obstacles, but as catalysts for pushing the boundaries of productivity and technology we can gain insights to what is needed to thrive in an evolving legal environment without stifling innovation. \r\n\r\nAI, Software, and the Law – more opportunity than obstacle\r\n", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "9f1e9a11-4022-412d-929c-d80ee4f5d19f", - "name": "Marit van Dijk" + "id": "7a6d377f-3ce1-4b32-9014-c70c87022fd0", + "name": "Steve Poole" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -5977,48 +5158,48 @@ "index": 10 }, { - "id": 42145, - "name": "Web and front-end", + "id": 58706, + "name": "Tools and Techniques", "session": { - "id": "548139", - "title": "Java meets TypeScript: learn to build full-stack web apps with Spring Boot and React", - "description": "As Java developers, we know the benefits of type-safety when building apps. The problem? Usually, that type-safety ends when we leave the server. What if it didn't have to be that way?\r\n\r\nIn this presentation, you'll learn how to build a full-stack reactive web app through live code examples. We'll use Spring Boot and Java on the backend and React with TypeScript on the frontend, connecting the two with the new Hilla framework from Vaadin.", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "782799", + "title": "OpenTelemetry and Continuous Feedback - Things you need to know about Spring application at runtime", + "description": "What do you know about the code changes that were just introduced into the codebase? When will you start noticing if something goes wrong? If there are so many accessible observability sources that can tell us what the code is doing, why are we using so little of that in our day-to-day coding?\r\n\r\nContinuous Feedback is a new dev practice that aims to make practical usage of code runtime data to shorten the feedback loop during development. It enables developers to get early data about their code changes and detect issues and regressions as-they-code. At the same time, collecting data from multiple environments, allows developers to instantly understand how their code is performing in the real world.\r\n\r\nIn this session, we'll look past the novelty of using OSS observability tools and technologies, to discuss how we can actually make them useful for developers. We'll take a look at the benefits of enabling OpenTelemetry collection for dev and test data and examine OSS tools to help analyze the application runtime. Throughout the talk, we'll go over code examples of common anti-patterns, code smells, hidden errors, and other types of problems that observability can reveal - prior to merging a PR,\r\n\r\nUltimately, the goal should not be simply observing the application or creating nice-looking dashboards. Rather, success is in leveraging observability data in order to achieve a more effective dev process and write better code.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6c93de4e-0f8c-45bd-b76b-ba868aa81ca7", - "name": "Marcus Hellberg" + "id": "223365e9-c6b0-437a-a028-e69038ad44c0", + "name": "Roni Dover" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -6028,48 +5209,48 @@ "index": 11 }, { - "id": 42146, - "name": "Cloud Native", + "id": 58707, + "name": "Web and front-end", "session": { - "id": "553347", - "title": "Quarkus and AI. Integrating Java and LLM to build intelligent applications.", - "description": "A Large Language Model (LLM) is a component of artificial intelligence specifically designed to comprehend and generate text that closely resembles human language based on the input it receives. One common scenario where it finds utility is when it needs to generate Java code to address a problem or create Kubernetes manifests with specific features.\r\n\r\nHowever, LLMs can also be employed with your enterprise code to enhance the customer experience, eliminating the need for customers to navigate through an entire website or improving the search process of on-site documentation \r\n\r\nDuring this session, we will explore how to integrate Quarkus with Large Language Models to establish a novel interaction interface for your users so they feel more human than just clicking across links.\r\n\r\nIt's important to note that while Quarkus plays a significant role in this discussion, the concepts presented also apply to other Java frameworks.\r\n\r\nIf you're interested in hands-on experience with Large Language Models and Java, with a focus on practical applications rather than theory, then this session is for you.\r\n", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "749192", + "title": "Fresh Hot CSS Features!", + "description": "Do you use a CSS Framework like bootstrap? Or maybe you've been coasting for a few years on your current knowledge of CSS. You've maybe seen something called CSS Grid and wondered what it was... Maybe you have never seen `var()` used before.\r\n\r\nLet's discuss the latest newest hottest big features in CSS from the last few years, and get you up to speed on what a browser engine is capable of!\r\n\r\nWe'll cover the following topics:\r\n- CSS Grid\r\n- Custom Properties\r\n- the `:has()` selector\r\n- CSS Layers\r\n- Container Queries\r\n\r\n... And more!", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "dedbce11-34e0-466e-a5cb-ea585688d106", - "name": "Alex Soto" + "id": "5c386803-b673-4259-a6ce-d85e1fd0a016", + "name": "Alex Riviere" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -6079,48 +5260,48 @@ "index": 12 }, { - "id": 42147, - "name": "JakartaEE", + "id": 58708, + "name": "JakarataEE", "session": { - "id": "571596", - "title": "Securing Your Enterprise Apps - Jakarta Security In Jakarta EE 11 And Beyond", - "description": "As security breaches become more commonplace and more complex, your applications constantly have to evolve to stay safe. \r\n\r\nJakarta EE helps you meet the challenge, defining a standard for creating secure enterprise Java applications, and innovating with each release to provide the best measures possible.\r\n\r\nIn this talk, Payara Software Engineer Luis Neto discusses what already exists in Jakarta EE, with a demo of Jakarta Security and Authorization. He also discusses what you can expect from Jakarta EE 11, including Jakarta Authentication 3.1, revealing how this will support the overall goals of Jakarta Security. \r\n", - "startsAt": "2024-04-10T11:30:00", - "endsAt": "2024-04-10T12:30:00", + "id": "751431", + "title": "AI Tools for Jakarta EE", + "description": "Discover how AI-powered tools are reshaping Jakarta EE development by optimizing the entire development lifecycle.\r\n\r\nTraditionally, developers have relied on archetypes, project generators, and visual designers to kickstart projects. But what happens when we add an AI language model to the mix? The result is an intelligent project generator that scaffolds domain-relevant Jakarta EE applications with both backend and frontend functionalities ready to go.\r\n\r\nJoin me to witness how AI-powered tools are transforming enterprise application development through real-world, cutting-edge demonstrations. Discover how AI-powered tools enhance productivity and streamline workflows in Apache NetBeans IDE and beyond, from creating a simple hello-world program to developing full-stack applications.", + "startsAt": "2025-03-05T11:30:00", + "endsAt": "2025-03-05T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "fd225e4e-f75a-48c9-97e9-10bb0564d683", - "name": "Luis Neto" + "id": "8a4b2af9-c78f-46b0-b11c-ee7e1fa9c5e1", + "name": "Gaurav Gupta" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -6135,20 +5316,20 @@ "slotStart": "12:30:00", "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58709, + "name": "Keynote", "session": { - "id": "ed3e2693-e630-4ca5-8b61-32f59e7e6208", + "id": "626ef535-b424-485c-8669-8e3cedd2be0c", "title": "Lunch", "description": null, - "startsAt": "2024-04-10T12:30:00", - "endsAt": "2024-04-10T13:30:00", + "startsAt": "2025-03-05T12:30:00", + "endsAt": "2025-03-05T13:30:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -6163,159 +5344,98 @@ "slotStart": "13:30:00", "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", - "session": { - "id": "554096", - "title": "Moving Java Forward Together", - "description": "Modern application development is unrecognizable without Java. Rather than resting on our laurels, Oracle’s leadership continues to drive Java innovation forward. Equally important is Oracle's continuing stewardship of the Java ecosystem because without you, the community, Java doesn't move forward. The role you play is critical in ensuring Java's future for today as well as tomorrow and for the next decades ahead of us. In this session, you'll learn about the many ways YOU can help ensure Java remains the leading choice to build the future.", - "startsAt": "2024-04-10T13:30:00", - "endsAt": "2024-04-10T14:00:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "94bab1ab-fa4d-4e5e-bc5b-f0de8c2bb668", - "name": "Sharat Chander" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 231062, - "name": "Keynote" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207667, - "name": "keynote" - } - ], - "sort": 1 - } - ], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - }, - "index": 0 - } - ] - }, - { - "slotStart": "14:00:00", - "rooms": [ - { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58710, + "name": "Tech Leadership", "session": { - "id": "547744", - "title": "Tech Parents Do's and Don'ts for Teaching Your Kids Programming (from the perspective of a kid)", - "description": "I have been teaching workshops for underprivileged kids since I was 13 years old, because I want programming to be fun and engaging just like how I learned to program. Teaching kids programming at a young age is really important to improve diversity in the field of computer science. Studies show that after middle school most students have already made up their mind about a career in computers, so having a positive introduction to computers at a young age is really important.\r\n\r\nI will share some of the techniques I use to get kids excited about technology, which you can use to teach your own kids or others. We will use Phippy and Friends characters to introduce basic programming and cloud-computing concepts in a way that is approachable for kids of all ages.", - "startsAt": "2024-04-10T14:00:00", - "endsAt": "2024-04-10T14:30:00", + "id": "753081", + "title": "Mastering the System Design Methodology", + "description": "Mastering the System Design Methodology is a must-attend talk for developers and architects seeking to elevate their system design skills to new heights. In this engaging session, attendees will embark on a comprehensive journey through the foundational principles of the System Design Methodology, with a particular focus on the practical application of the C4 model. This talk is designed to equip professionals with the tools and insights necessary to develop scalable, efficient, and user-friendly systems that stand the test of time.\r\n\r\nWe'll start by exploring the critical importance of understanding business requirements and stakeholder needs, setting the stage for successful system design. From there, we'll delve deep into the methodology stages, from engaging with business stakeholders to refining and finalizing the system design. Each stage will be brought to life with real-world examples, interactive discussions, and practical exercises, ensuring attendees can apply these concepts to their projects immediately.\r\n\r\nSpecial attention will be given to integrating empathy maps, value chain analysis, and customer journey mapping into the system design process. These powerful tools not only enhance the understanding of internal and external personas but also ensure that the final product truly aligns with user needs and business goals.\r\n\r\nWhether you're an experienced architect or a developer keen on expanding your system design capabilities, this talk will provide valuable insights into creating robust, adaptable, and user-centric software systems. Join us to transform your approach to system design and become a key driver of success in your projects and organization.\r\n\r\nThe Importance of System Design\r\n\r\nThe role of system design in software development\r\nExamples of project successes and failures\r\nOverview of System Design Methodology\r\n\r\nIntroduction to System Design Methodology\r\nThe C4 Model: Context, Containers, Components, and Code\r\nDeep Dive into the Methodology Stages\r\n\r\n* Engage with Business Stakeholders\r\n * Techniques for engagement and prioritization\r\n * Case Study: A startup's journey to understand market needs\r\n\r\n* Identify Vital Business Capabilities\r\n * Mapping business capabilities\r\n * Case Study: Streamlining operations for a logistics company\r\n\r\n* Understand the Internal and External Personas\r\n * Using empathy maps and customer journey mapping\r\n * Case Study: Designing a healthcare app with patient and provider personas\r\n\r\n* Develop a New Value Proposition\r\n * Crafting value propositions\r\n * Case Study: Innovating retail experience with a new e-commerce platform\r\n\r\n* Define Solution Architecture\r\n * Detailing architecture and capability modules\r\n * Case Study: Architectural overhaul for a financial services firm\r\n\r\n* Define Component Process Flows\r\n * Visualizing interactions and process flows\r\n * Case Study: Enhancing the order fulfillment process for an online retailer\r\n\r\n* Review, Refine, and Finalize\r\n * Consolidating insights and preparing for implementation\r\n * Case Study: Finalizing and launching a new feature for a social media platform", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "3d98aed4-4043-4271-816a-961063c448e1", - "name": "Cassandra Chin" + "id": "32cb0f88-b1ad-44c2-8860-86a5ac46c59a", + "name": "Rohit Bhardwaj" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 231062, - "name": "Keynote" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207667, - "name": "keynote" + "id": 290619, + "name": "session" } ], "sort": 1 } ], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 0 - } - ] - }, - { - "slotStart": "14:30:00", - "rooms": [ + "index": 1 + }, { - "id": 39693, + "id": 53138, "name": "Architecture", "session": { - "id": "540114", - "title": "Architectural Resiliency", - "description": "Regardless of the techniques used to make enterprise solutions Highly Available (HA), failure at some point inevitable. Resiliency is how fast a system reacts and then recovers to such failures. Failure of Highly Available (HA) enterprise solutions is inevitable. This presentation covers a number of architectural resiliency techniques and patterns that help increase Mean Time to Failure (MTTF), a.k.a Fault Tolerance and decrease Mean Time to Recovery (MTTR).", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "754404", + "title": "Reverse-engineering architecture diagrams from your Java app", + "description": "You've adopted the C4 model and have a collection of zoomable system context and container diagrams. These are useful for having high-level conversations, but they don't cover the internal implementation details of your Java app. You consider creating a C4 component diagram. Unfortunately the size and complexity of your Java codebase makes manually drawing this out of the question, and reverse-engineering the codebase with a generic tool produces a cluttered diagram that literally shows everything. How do you create useful component level diagrams that remain up to date with minimal effort? Is this even possible?\r\n\r\nJoin me for a discussion of how to tackle this problem, where I'll cover the theory and tactics behind how to reverse-engineer meaningful component diagrams, before presenting a live demo of how to use the open source Structurizr DSL to put the techniques into action.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "cfeff178-8c6d-45bd-994c-34aa448ac75c", - "name": "Jeremy Deane" + "id": "9530c418-5704-4313-a39c-2d027cfa2ad4", + "name": "Simon Brown" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, + "id": 290603, "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, + "roomId": 53138, "room": "Architecture", "liveUrl": null, "recordingUrl": null, @@ -6323,152 +5443,156 @@ "isInformed": true, "isConfirmed": true }, - "index": 1 + "index": 2 }, { - "id": 39694, - "name": "Agile", + "id": 53139, + "name": "AI", "session": { - "id": "557701", - "title": "Approval Testing: When it's too late for Test-Driven Development", - "description": "Approval Testing may seem odd compared to Test-Driven Development, but it’s designed to let you write automated tests when you already have a large codebase (that may already be in production) and/or the business requirements are out of date, incomplete, or completely missing. While this may sound crazy, it’s something most programmers have had to deal with.\r\n\r\nThe Good News is that Approval Testing evolved as a solution for just this kind of problem. It makes the reasonable assumption that the current behavior of production code is correct, and compares it with how the system behaves after you’ve made some changes. If the results are identical then the test passes; if not, then it shows you the differences so you can decide whether the changes are correct or not. With Approval Tests in place, you can safely refactor the existing production code, then start introducing Test-Driven Development when adding new features to the system.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "752508", + "title": "AI for Busy Java Developers", + "description": "Yep, we know you're knee-deep in production Java deployments and don’t exactly have spare time to learn about AI. But your manager is talking more about AI every day, and you’re reading unsettling posts about how GenAI will take your job. In this session, we’ll fast-track you through AI and Machine Learning concepts—tailored just for Java developers who need to learn the basics without the need to drill down into data science and complicated math. We’ll cover all the basics and explain how AI can be used in the software development process beyond simple code generation. You’ll walk away understanding where AI fits (and doesn’t fit), grasp its ethical concerns, become more valuable, and enhance your career.\r\n\r\n* Why AI Matters to Developers and Your Career\r\n* Importance of Patterns\r\n* Predictive AI (PredAI) vs Generative AI (GenAI)\r\n* GenAI vs. Traditional Search Engines\r\n* Prompt Techniques\r\n* The Importance of Context for GenAI\r\n* Retrieval-Augmented Generation (RAG) Systems\r\n* Fine-tuning vs RAG\r\n* Java Libraries for AI/ML\r\n* AI and the Software Development Process\r\n* Responsible AI and Ethics\r\n", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7d933c95-3f49-48a4-852b-7fc30aa8b977", - "name": "Burk Hufnagel" + "id": "a56899b4-eae5-40ac-b71a-5ef5be0945a0", + "name": "Frank Greco" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, - "index": 2 + "index": 3 }, { - "id": 42136, - "name": "AI", + "id": 53140, + "name": "Cloud Native", "session": { - "id": "557403", - "title": "Counter Attack: Vector Based methods for Detecting Large Language Model Generated Text and Audio", - "description": "The advent of large token width Large Language Models (LLMs) such as ChatGPT and their ilk has significantly increased the problem of reliable detection. Organizations are now using LLMs to generate text content with targeted precision at a massive scale with the objective of artificially amplifying false narratives and negative propaganda. As part of a broader Counter AI research program we have investigated ways for addressing this problem. In this presentation we will discuss and demonstrate one such promising technique called Masked Permutations. \r\n\r\nThis technique removes a subset of the words and phrases from an arbitrary input text and has the targeted LLM model “fill in the blanks” for a nontrivial collection of permutations. These permutations are then clustered using a manifold approximation technique. With the clustered projection of the LLM embedding vectors in hand, a proximity distance measurement from the original text is then used to determine likelihood of LLM generation. \r\n\r\nThis approach has shown great potential in experimentation as being a practical method of detection that has the potential to scale up as LLMs scale while offering an asymmetric cost advantage. The discussion will include a live software demonstration using a JHUAPL developed interactive 3D XAI analysis tool called Trinity.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "751289", + "title": "Optimizing Containerized Java Apps with Jib, GraalVM, CDS, and CRaC", + "description": "In today’s cloud-native world, keeping microservices reliable and scalable is essential. Java Java developers and architects often struggle to optimize containerized Java apps because configuring and integrating powerful tools into their build processes is complex. This session explores practical techniques to improve performance in cloud environments, including creating custom JREs, using Jib for easier container builds, and leveraging GraalVM for faster startup times. You’ll learn to use Class Data Sharing (CDS) and CRaC to improve startup times, while evaluating trade-offs to choose the best optimization techniques, ensuring your applications are optimized for scale, reliability, and efficiency in the cloud.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4b126c39-e57e-4882-9d41-1c78cb6662b5", - "name": "Sean Phillips" + "id": "763e5a81-e0ba-4663-8dec-86a46ab80604", + "name": "Fernanda Machado" + }, + { + "id": "058c3cdc-0607-4437-81bb-07a1aed5d05c", + "name": "Elder Moraes" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, - "name": "Artificial Intelligence" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, - "room": "AI", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 3 + "index": 4 }, { - "id": 42137, + "id": 58711, "name": "Cloud Tech", "session": { - "id": "538002", - "title": "Designing media optimized byte transfer and storage at Netflix", - "description": "Netflix is a media streaming company and a movie studio with data at exabyte scale. Most of the data generated, transferred and stored at Netflix is very media specific, for example, raw camera footage, or data generated as a result of encoding and rendering for different screen types.\r\n\r\nIn this session, I will throw light on how we design a media aware and optimized transfer, storage and presentation layer for data.\r\n\r\nBy leveraging this architecture at Netflix scale, we provide a scalable, reliable, and optimized backend layer for media data.\r\n\r\nMajor takeaways from this session\r\n- Learn about the challenges of designing a scalable object storage layer for data while adhering to the file system POSIX semantics of media applications\r\n- Learn about the optimizations applied to reduce cloud storage footprint, such as chunking, deduplication\r\n- Learn about how different applications expect data to be presented at different locations and in different formats.\r\n", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "754051", + "title": "Cloud Integration Testing Made Easy for Your Java Apps", + "description": "Integration testing is complicated as it is, even more so when third-party services are involved, but cloud-native AWS applications that rely on managed services are especially tough to test.\r\n\r\nCloud integration tests are particularly challenging due to the high complexity of the interconnected services, dependency management, deployment and provisioning intricacies, and potentially high costs. So how can we bring the ease and speed of unit tests into these integration tests? Ideally, we’d like to use a local setup where we can quickly spin up and deploy our services in an emulated environment that’s as close as possible to the real deal. By simulating real-world scenarios and testing the integration of various parts of the system, these tests help us identify and resolve issues early in the development process. This is where Testcontainers and LocalStack work beautifully together to bring you the best of integration tests and cloud services on your machine. We’ll explore how we can enhance the testability of a Spring Boot application that relies on AWS services and vastly increase the test coverage of our applications without any need for mocking or remote AWS sandbox accounts.\r\n\r\nTesting your AWS-powered Spring Boot app with LocalStack and Testcontainers conveys isolation, speed, cost, and flexibility, making it effortless to get started with writing integration tests for your cloud application.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "0e577c69-f95e-4044-a53c-d626732f2bb6", - "name": "Tejas Chopra" + "id": "4bcfc433-e955-43c9-b2e2-0d689a7794af", + "name": "Anca Ghenade" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, + "id": 290605, "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, + "roomId": 58711, "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, @@ -6476,50 +5600,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 4 + "index": 5 }, { - "id": 42139, + "id": 58701, "name": "Core Java", "session": { - "id": "537763", - "title": "Trash Talk - Exploring the memory management in the JVM", - "description": "In the realm of Java programming, understanding memory management and garbage collection mechanisms cannot only be helpful for optimizing performance and resource utilization but also in general will help you to use the right garbage collector for your application. This session will be about memory allocation, object lifecycle, and garbage collection strategies within the Java Virtual Machine (JVM). Attendees will gain insights into memory allocation strategies, object retention policies, and various garbage collection algorithms like generational and concurrent collection. So when you are interested in getting more knowledge about which garbage collector to use best for your application or about memory management in the JVM, this session is for you.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "754901", + "title": "Hands On: Apache Maven 4", + "description": "Frustrated with Apache Maven? Confused about how to control versions in multi-modules? Annoyed at how much of your build information is published to a maven repository when you publish your artifacts? Curious about Apache Maven?\r\n\r\nThis session is for you! Slides are great to share theory, how about live coding? In this session, together, we will pick up difficult use cases that most of us encounter when managing our maven projects for build and deployment, especially with multiple modules. \r\n\r\nApache Maven 4 is a great improvement over previous versions and provides an ease-of-use and follows the \"principle of least astonishment\".\r\n\r\nCome join to see how to solve build woes using the latest (and greatest) version of Apache Maven!", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "71f3abf1-03cf-458b-b385-e10fd110e89a", - "name": "Gerrit Grunwald" + "id": "ab1b8b69-f449-4df9-b391-243a391b9d01", + "name": "Chandra Guntur" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, + "id": 290606, "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, + "roomId": 58701, "room": "Core Java", "liveUrl": null, "recordingUrl": null, @@ -6527,50 +5651,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 5 + "index": 6 }, { - "id": 42140, + "id": 58702, "name": "Frameworks", "session": { - "id": "549542", - "title": "JUnit 5's Best Features", - "description": "The team that rewrote JUnit in version 5 did a fantastic job improving the platform while maintaining backward compatibility. Many Java developers don't realize how many new cool capabilities have been added to the framework since the initial 5.0 release. This talk will cover topics like the set of useful functional interfaces available, how to do parameterized tests with various sources, lazy loading of error messages, and more.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "736775", + "title": "Functional Spring Boot", + "description": "10 years after the advent of Spring, Spring Boot shifted the paradigm from XML to Annotations. 10 years later, it is time to shift the paradigm again, this time toward functional programming. Spring Boot has been quietly adding functional APIs and DSLs since 2.0. These APIs deliver many benefits such as better performance and easier learning curve. In this talk, we will learn how to uncover these hidden gems in Spring Boot.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ecda0d84-be59-41c6-8983-b58cd5b3f93c", - "name": "Kenneth Kousen" + "id": "bfc36fe5-4d43-4394-98fe-a5374fc17616", + "name": "John Burns" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, + "id": 290607, "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, + "roomId": 58702, "room": "Frameworks", "liveUrl": null, "recordingUrl": null, @@ -6578,54 +5702,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 6 + "index": 7 }, { - "id": 42141, + "id": 58703, "name": "Java Platform", "session": { - "id": "557724", - "title": "void main()", - "description": "There are many changes in the Java language aiming to reduce boilerplate and make the language more straightforward and attractive to new developers. This talk will cover recent features by live refactoring an application to the newest Java version. You will learn the benefits and applicability of new features while writing a more readable code.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "756952", + "title": "Debugging Java", + "description": "When trying to track down a bug, the first thing we usually do is jump into the debugger and start stepping through the code. Then we settle in for a long, tedious slog stepping through the code. This session will discuss how bugs are caused, and some great techniques and tools you can use to streamline your debugging sessions.\r\n\r\nWe will be referencing the book \"Why Programs Fail\" by Andreas Zeller and the new book “Troublshooting Java” by Laurențiu Spilcă.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8983937d-7fc9-4cb4-bdcf-ce009d874531", - "name": "Rodrigo Graciano" - }, - { - "id": "ab1b8b69-f449-4df9-b391-243a391b9d01", - "name": "Chandra Guntur" + "id": "c6d00669-9c07-47fa-88b8-365dbbd10cca", + "name": "Scott Wierschem" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, + "id": 290608, "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, + "roomId": 58703, "room": "Java Platform", "liveUrl": null, "recordingUrl": null, @@ -6633,101 +5753,101 @@ "isInformed": true, "isConfirmed": true }, - "index": 7 + "index": 8 }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58704, + "name": "Practices", "session": { - "id": "537768", - "title": "Clean code, is it really worth it?", - "description": "As developers, we participate every day in our software life cycle adding new logic, adapting the existing one, and integrating with services or platforms.\r\n\r\nBut, do we put the same effort into making software robust, maintainable, consistent, secure, clear, and tested?\r\n\r\nIn this session, I will show the need for good practices in Clean Code along with the issues of not using it, showing concepts like Clean As You Code (CAYC) using free and open-source tools.\r\n\r\nClean Code goes beyond the produced software and its programming language. Is a fundamental part of a developer's role growth, something that represents us no matter the language and the company where we work. Do not lose the thread.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "784396", + "title": "Black Friday Brilliance: Managing a Billion Transactions with Tech, Tactics, and Teamwork", + "description": "The Black Friday and Cyber Monday period is one of the busiest times in the retail calendar, both in stores and online, and our customers rely on our infrastructure to support their businesses at this crucial time. Over this period in 2023 we processed over 1 billion requests to our APIs, and we managed this with greater than 99.99% availability! We've seen our request volume increase over 100x in the last 10 years, and managing this requires the right technologies, careful planning, and a great team of people.\r\n\r\nWith insightful commentary from a cross-section of our brilliant Dev team, I’ll talk you through how we scale our infrastructure on different Clouds, the technologies and processes that are put in place and problems we have had to overcome in the past. I’ll also give some insights into how the team works together over this busy period to keep everything running smoothly.\r\n", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f63ba6f7-e39c-426f-b079-55a63c063bda", - "name": "Jonathan Vila" + "id": "eb8e3906-8c75-4876-9fe1-0aca5db8ef40", + "name": "Jamie Coleman" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, + "id": 290609, "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 8 + "index": 9 }, { - "id": 42143, + "id": 58705, "name": "Security", "session": { - "id": "557446", - "title": "More tales from the Dark Side: How AI is the bad guys new friend", - "description": "The bad guys are clever, motivated, ruthless and armed with AI. What was scary before is now terrifying. So many new ways of tricking you: Learn about sneaky device attacks, amazing attacks-by-post , AI's imitating your coworkers, AI being corrupted, unbelievable physical choreography manipulations, open source taker overs and more!\r\n\r\nIn this talk learn a little about the scale of the challenge developers still face from assaults on our systems. Be prepared to be appalled and frightened. Fainting is not allowed.\r\n\r\nDiscover how to fight back and see how you can change your behaviour and your code to defend against these attacks.\r\n\r\nYour destiny is clear - it’s time to be come a Cyber Defender", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "756256", + "title": "There's an Authz for that: Spring Security in 2025", + "description": "Alongside authentication, Spring Security simplifies your authorization, too, specifically helping decouple your authorization and application logic. These days, standards like OpenFGA and OAuth are changing the landscape of authorization like never before.\r\n\r\nSpring Security is ready to anticipate those changes with you.\r\n\r\nIn this talk, we’ll take an existing Spring Boot application and add authorization to its requests, methods, domain objects, and queries. You’ll learn about the many authorization advancements Spring Security has made since you last blinked. By the end, you’ll see how these features are brought to bear on the everyday challenges of local and remote authorization, coarse- and fine-grained authorization, and authorized domain objects.\r\n \r\nNo previous authorization or Spring Security experience is required.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7a6d377f-3ce1-4b32-9014-c70c87022fd0", - "name": "Steve Poole" + "id": "feba8c56-4b68-41e6-8d2d-b2324a5e18c8", + "name": "Josh Cummings" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, + "id": 290610, "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, + "roomId": 58705, "room": "Security", "liveUrl": null, "recordingUrl": null, @@ -6735,50 +5855,54 @@ "isInformed": true, "isConfirmed": true }, - "index": 9 + "index": 10 }, { - "id": 42144, + "id": 58706, "name": "Tools and Techniques", "session": { - "id": "557675", - "title": "Keeping your build tool updated in a multi repository world: a Netflix tale", - "description": "Gradle is an open-source build automation tool focused on flexibility, build reproducibility and performance. Over the years, this tool has evolved and introduced new concepts and features around dependency management, publication and other aspects on build and release of artifacts for the Java platform.\r\n\r\nKeeping up to date with all these features across several projects can be challenging. How do you make sure that all your projects can be upgraded to the latest version of Gradle? What if you have thousands of projects and hundreds of engineers? How can you abstract common tasks for them and make sure that new releases work as expected?\r\n\r\nAt Netflix, we built Nebula, a collection of Gradle plugins that helps engineers remove boilerplate in Gradle build files, and makes building software the Netflix way easy. This reduces the cognitive load on developers, allowing them to focus on writing code.\r\n\r\nIn this talk, I’ll share with you our philosophy on how to build JVM artifacts and the pieces that help us boost the productivity of engineers at Netflix. I’ll talk about:\r\n- What is Nebula\r\n- What are the common problems we face and try to solve\r\n- How we distribute it to every JVM engineer\r\n- How we ensure that Nebula/Gradle changes do not break builds so we can ship new features with confidence at Netflix", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "743493", + "title": "OG Refactoring (Observing Gamma): Patterns to Refactor Towards", + "description": "Erich Gamma, et al's Design Patterns: Elements of Reusable Object-Oriented Software came out in 1994. Martin Fowler’s Refactoring: Improving the Design of Existing Code was first published in 1999. Joshua Kerievsky's Refactoring to Patterns in 2004. \r\n\r\nWhat have we learned since then about refactoring? What do we, as professional software developers, need to know before deciding to do a refactor on a legacy codebase? \r\n \r\nThe audience for this session are software developers and the people that interface with them (product owners, scrum masters, development managers) who need to know the value of this important and often neglected technical practice.\r\n \r\nAt the end of the session, the attendee will be able to identify hidden patterns in their code bases, plan a refactor effort on legacy codebases, write their own refactorings, and recognize accidental code complexity in large codebases.\r\n", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ae7a5785-c916-448e-bf74-7faa54adae66", - "name": "Roberto Perez Alcolea" + "id": "83fd871a-3bbe-4d41-92a4-9443e7c66c5f", + "name": "Aaron McClennen" + }, + { + "id": "eaa23bbd-1207-432d-8c52-eed0035f0ddf", + "name": "M. Jeff Wilson" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, + "id": 290611, "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, + "roomId": 58706, "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, @@ -6786,50 +5910,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 10 + "index": 11 }, { - "id": 42145, + "id": 58707, "name": "Web and front-end", "session": { - "id": "539369", - "title": "How To Make Your JavaScript Accessible Without Losing Your Sanity (Or Your Hair)", - "description": "Accessibility is an important aspect of web development, ensuring that people with disabilities can access and use web applications. However, accessibility can often be an afterthought for developers.\r\n\r\nIn this talk, we will explore how JavaScript developers can build more accessible web applications and start by discussing specific techniques and tools that JavaScript developers can use to ensure their applications are more accessible.\r\n\r\nWe will cover topics such as basic accessibility, using semantic HTML and ARIA attributes, implementing keyboard accessibility, and testing for accessibility issues. We will also discuss how to ensure accessibility when working with popular JavaScript libraries and frameworks and the importance of designing for accessibility from the outset.\r\n\r\nBy the end of this talk, attendees will have a solid understanding of the principles of web accessibility and specific techniques and tools they can use to build more inclusive web applications with JavaScript.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "753663", + "title": "The Problems Micro Frontends Won't Solve That No One Wants to Talk About", + "description": "Everyone wants to ship more software faster, and following the lead of the MicroServices craze the frontend community has begun to reach for Micro Frontends as a silver bullet solution. Micro Frontends promise large teams the ability to independently ship pieces of applications without code collisions, bug creation, that can be team-agnostic, and with Webpack, Vercel, NX, and others leaning in to offer ways to federate code, this seems to be the way of the future.\r\n\r\nBut what problems aren't solved by Micro Frontends? There is a large gap in what large complex teams need to ship better software and what Micro Frontends are able to provide ... and that gap is the basis of this talk. We'll discuss the consequences that arise when attempting to implement MFE architecture that no on seems to want to talk about.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "5a2864c6-5fc4-4ca3-bf60-839888286167", - "name": "Todd Libby" + "id": "e5b9e6c6-1477-4b19-8347-06683a7417de", + "name": "Jennifer Wadella" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, + "id": 290612, "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, + "roomId": 58707, "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, @@ -6837,102 +5961,51 @@ "isInformed": true, "isConfirmed": true }, - "index": 11 - }, - { - "id": 42146, - "name": "Cloud Native", - "session": { - "id": "556894", - "title": "Quarkus in the Cloud: Strategies for Teams and Topolgies", - "description": "Java is a powerhouse of a language suitable for use in many environments, footprints, and form-factors. As we collectively learn more about how to write cloud applications, we're seeing more nuanced discussions about how we build applications: should we be using monoliths or microservices? Should I use cloud functions? What is a modular monolith and is it a good idea or not? These choices require thoughtful architectural decisions and optimization strategies, not only at the code level but also in fostering effective teamwork. This talk delves deep into the architectural nuances and trade-offs essential for making informed decisions in these deployment paradigms.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "f6c77911-6612-4b72-9832-63409826e785", - "name": "Erin Schnabel" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 207664, - "name": "Cloud Native" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207665, - "name": "session" - } - ], - "sort": 1 - } - ], - "roomId": 42146, - "room": "Cloud Native", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - }, "index": 12 }, { - "id": 42147, - "name": "JakartaEE", + "id": 58708, + "name": "JakarataEE", "session": { - "id": "581606", - "title": "Leveraging Jakarta EE 10 Core Profile in Stateful Microservices", - "description": "Integration of Jakarta EE 10 Core Profile -compatible microservices frameworks with in-memory data grids creates a powerful platform for productive development and scalable operation of modern microservice architectures. Developers benefit from Map-based persistence APIs injected into RESTful services, while the resulting architecture exhibits elastic scalability in cloud-native deployments. This session will explore such an integration with Helidon 4 and Coherence CE, and highlight state-of-the-art applications achieved as a result. Java 21 virtual threads and MicroProfile 6 are also implemented in this integration. Join us to learn how the Jakarta EE platform can power your next cloud-native stateful microservices system.", - "startsAt": "2024-04-10T14:30:00", - "endsAt": "2024-04-10T15:30:00", + "id": "754875", + "title": "Foundations of Modern Java Server Apps", + "description": "Java has a long history of running on the server. From the early days of servlets, to JSP, Java web frameworks, Java  EE, and Spring, to today’s hip microservice frameworks, the platform has been a strong, solid player, relied upon by thousands of companies, governments, and organizations. But what do these microservice frameworks like Dropwizard, Spring Boot, and Eclipse MicroProfile have in common with the older days of Java? It turns out, there’s quite a lot of foundational tech that made the newer frameworks possible. In this talk, we’ll take a look at different parts of the foundation that you may not even realize you’re using, for everything like handling REST requests, processing JSON, using Web Sockets, talking to a database, performing validation, and more. We’ll also look at how these standards evolve within the Eclipse Jakarta EE, and what’s in store for the future.", + "startsAt": "2025-03-05T13:30:00", + "endsAt": "2025-03-05T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1d4bcc79-5cdf-4ea2-8b78-6e2806b54944", - "name": "Aleks Seovic" + "id": "ff0a1dd3-c9f2-48e2-88a8-9c0e429251be", + "name": "Kito Mann" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -6944,79 +6017,51 @@ ] }, { - "slotStart": "15:30:00", - "rooms": [ - { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", - "session": { - "id": "c439f0af-55b9-4a0c-8247-53df8b75f3a4", - "title": "Afternoon Break", - "description": null, - "startsAt": "2024-04-10T15:30:00", - "endsAt": "2024-04-10T16:00:00", - "isServiceSession": true, - "isPlenumSession": true, - "speakers": [], - "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", - "liveUrl": null, - "recordingUrl": null, - "status": null, - "isInformed": false, - "isConfirmed": false - }, - "index": 0 - } - ] - }, - { - "slotStart": "16:00:00", + "slotStart": "14:30:00", "rooms": [ { - "id": 39693, - "name": "Architecture", + "id": 58710, + "name": "Tech Leadership", "session": { - "id": "549463", - "title": "Connect the Tables: How to Graph Relational Databases", - "description": "You might have heard about graphs, but what if you already have a relational database? How do you incorporate something new? This session will show you how to translate part or all data from a relational format into a graph.\r\n\r\nWe will cover the basics of migrating the model and practical steps for actually implementing it. We will walk through naming and case conventions for graphs, as well as some principles for a successful graph model. At each step, we will show live code for making this work in the real world. Come to this session to get concrete steps for graphing relational databases.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "748900", + "title": "Navigating Uncertainty in Software Development: Effective Planning Techniques", + "description": "In an ever-changing world, uncertainty is a constant companion, especially in the realm of software development. Traditional heavy planning practices promise certainty and confidence yet fail to deliver results. This session explores practical techniques to help teams effectively plan and navigate through uncertainty, enabling them to move forward despite the presence of unknowns.\r\n\r\nAttendees will gain insights into:\r\n* Models for understanding problems (Cynefin Framework, and Rumsfeld's Known and Unknowns)\r\n* Multi-level approaches to addressing different types of uncertainty\r\n* Strategies for communicating plans and progress with confidence, even in uncertain circumstances\r\n\r\nThrough real-world examples, this session empowers attendees to embrace uncertainty and equips them with the tools necessary to guide their teams towards successful outcomes. Whether you are a developer, team lead, or product manager, this session will provide you with a fresh perspective on planning in the face of uncertainty.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b5ea9e64-ad10-477c-8444-cc00339b8dc5", - "name": "Jennifer Reif" + "id": "f3734903-c73a-4470-b707-fee91b93a7e8", + "name": "Jodi Jones" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7026,48 +6071,48 @@ "index": 1 }, { - "id": 39694, - "name": "Agile", + "id": 53138, + "name": "Architecture", "session": { - "id": "556761", - "title": "Crafting Code with a Conscience: Your Role in Ethical Data Stewardship", - "description": "Ensuring ethical data handling is not just about compliance; it’s a moral imperative. Dive into this critical session to understand how dev teams can arm themselves with a curated set of tools, insights, and frameworks designed to seamlessly integrate ethics into your development process while championing & influencing ethical data stewardship. ", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "747322", + "title": "AI Ready Data with Apache Iceberg: Unifying, Controlling, and Optimizing Your Data for Effective AI", + "description": "Title: AI Ready Data with Apache Iceberg: Unifying, Controlling, and Optimizing Your Data for Effective Artificial Intelligence\r\n\r\nTarget Audience:\r\nData engineers\r\nData scientists\r\nData architects\r\nTechnical leaders (CTOs, CIOs)\r\nAnyone interested in improving data quality for AI/ML initiatives\r\n\r\nAbstract\r\nIn today's data-driven world, the effectiveness of Artificial Intelligence (AI) and Machine Learning (ML) models depends heavily on the quality and organization of your underlying data. \"AI Ready Data with Apache Iceberg\" addresses this challenge and describes how Apache Iceberg can facilitate unifying, governing, and optimizing your data, making it truly AI ready.\r\n\r\nKey Takeaways:\r\nThe Data Lakehouse Advantage:\r\nExplain how Apache Iceberg, combined with the lakehouse architecture, provides a unified platform for all types of data, breaking down silos and simplifying data management.\r\n\r\nGit-Like Data Governance with Nessie:\r\nIntroduce Nessie and demonstrate how its Git-like functionality brings version control, branching, and collaboration to your data, enabling efficient experimentation and ensuring data reproducibility.\r\n\r\nData Contracts for Quality Assurance:\r\nDiscuss the concept of data contracts and how they can be used to define and enforce quality standards, ensuring that data meets the necessary criteria for AI/ML workloads.\r\n\r\nIceberg's Optimized Data Structures:\r\nHighlight how Iceberg's optimized data layouts (e.g., columnar formats, partitioning, hidden partitioning) improve query performance and resource utilization, leading to faster AI/ML model training and inference.\r\n\r\nReal-World Use Cases:\r\nShare examples of how organizations are using Iceberg, Nessie, and data contracts to build robust data pipelines, enhance data quality, and achieve tangible results with their AI initiatives.\r\n", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "bd133af7-d326-4bdd-b960-dea75e0d6637", - "name": "Nyah Macklin" + "id": "ddb5faab-b590-4335-bf3f-67ca1f5b2005", + "name": "Andrew Madson" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7077,99 +6122,99 @@ "index": 2 }, { - "id": 42136, + "id": 53139, "name": "AI", "session": { - "id": "568379", - "title": "Harnessing the Power of Open Source for Cloud Native Development: Strategies for Success", - "description": "As cloud native architectures become increasingly popular, open source tools have become essential for managing and deploying cloud native applications. Whether you are a developer, architect, or IT professional, this talk will provide valuable insights and guidance for leveraging open source tools in your own cloud native initiatives. Mo Haghighi, will explore some of the most popular open source tools for cloud native development such as Kubernetes, Prometheus and Grafana that work together complementarily to orchestrate, log activities and monitor containers. \r\nWe will begin with an introduction to cloud native architecture and the benefits of microsevices architecture. He will then dig into the key challenges faced by organizations looking to adopt cloud native technologies.\r\nWe will then dive into open source tools that work efficiently with Kubernetes, an open source container orchestration platform that simplifies the management of containerized applications.\r\nMo will specifically discuss open source monitoring systems such as Prometheus and Grafana to get detailed and visualised insights into the health of microservices. \r\nThe main focus of the talk will be to educate attendees on the benefits of using open source tools for cloud native development, and how to leverage them effectively to streamline processes and maximize productivity.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "751775", + "title": "Enhancing LLMs with Graph Technology", + "description": "Large Language Models (LLMs) have revolutionized natural language processing, yet challenges persist in accuracy and explainability. This talk introduces GraphRAG, an innovative framework that integrates Knowledge Graphs (KGs) with LLMs to address these issues. By leveraging the rich, structured data from KGs, GraphRAG refines LLM outputs, providing a robust context that enhances the precision of generated information. This integration not only improves the factual accuracy of responses but also significantly boosts model interpretability. We will demonstrate how GraphRAG utilizes the interconnected nature of KGs to ground LLMs in real-world knowledge, allowing for more reliable and transparent AI systems. Through practical examples and performance evaluations, attendees will see how this approach mitigates common limitations of traditional LLMs, such as ambiguity and information gaps. The session will highlight advancements in both the effectiveness and clarity of AI responses, showcasing the transformative impact of combining Graph Technology with LLMs. Join us to explore how GraphRAG is setting a new standard in enhancing AI's accuracy and explainability.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "21924ec2-96d9-4b4a-b2c8-99dd2efb77a7", - "name": "Mo Haghighi" + "id": "0793b99f-1282-4674-9d21-f88e30c8232e", + "name": "Stephen Chin" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, "index": 3 }, { - "id": 42137, - "name": "Cloud Tech", + "id": 53140, + "name": "Cloud Native", "session": { - "id": "549436", - "title": "The Wild West…East, North and South: Multi-Region Java Apps in the Cloud", - "description": "Cloud providers allow us to provision our application infrastructure in cloud regions and availability zones around the world. This makes it possible to build Java apps that serve user requests with low latency from nearly anywhere. However, only a few deploy application instances across several distant locations.\r\n\r\nThis hands-on session introduces you to the design patterns of multi-region Java applications in the cloud with a focus on latency and response time. We'll start with a traditional single-region configuration and then switch to a multi-region setting. In the end, we'll have a working prototype of an application that handles user traffic with low latency in North America, Europe, and Australia.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "770645", + "title": "Building APIs in the AI Era", + "description": "How can architects and software developers use AI to transform the process of developing APIs? Our discussion in this session will center on how AI is revolutionizing software development, with an emphasis on how AI assistants can be incorporated into the process of creating APIs. We will look at how AI tools can improve testing, speed up code generation, maintain stronger security, and maximize performance. Through a series of demonstrations, attendees will learn how to best incorporate AI-driven solutions into their API projects to maximize output, reduce time-to-market, and maintain quality standards. Come learn how AI is a disruptive force in the evolution of API development, not just a small improvement.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "13f2987c-b5e6-4a8e-a039-e97f93f20670", - "name": "Denis Magda" + "id": "a4305a38-d462-482b-9e4a-536eb74ec63c", + "name": "Kevin Dubois" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7179,48 +6224,52 @@ "index": 4 }, { - "id": 42139, - "name": "Core Java", + "id": 58711, + "name": "Cloud Tech", "session": { - "id": "556916", - "title": "Java's New Powers: Hero or Villain in Your Code?", - "description": "With Java’s six-month release cadence, new features and enhancements appear like superheroes, more frequently than ever before, promising to address our pain points. These Java features are indeed powerful, but their impact depends on how they are used and integrated into our code. A poorly executed implementation can quickly turn a superhero into a villain, undermining the potential benefits.\r\n\r\nJoin me in this live hands-on coding session where I’ll demonstrate the capabilities of Java's latest features and the way they are or could be implemented in a real-world project. Prepare to witness the battle between Java's incredible features and the forces of poor implementation. I’ll talk about multiple use cases with practical strategies and best practices for using Java's latest enhancements, ensuring they shine as true superheroes in your development projects.\r\n\r\nBy the end of this session, you'll learn tips and tricks to utilize Java's new powers like Virtual Threads, String Templates, Pattern Matching, Records, Text Blocks and many more. Join me for an exploration of how Java can be your ally in the battle against code chaos.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "750943", + "title": "Write Once, Deploy Everywhere: From Containers to Serverless", + "description": "While Java apps are technically portable across many platforms, it can be tricky to not tightly couple them to specific deployment platforms, severely degrading their portability. Unfortunately containers alone haven’t fully isolated us the myriad of differences across platforms. This session will cover ways that we can build, package, and deploy Java applications so they remain portable. This enables scaling from cost-efficient and developer environments, to massive scale Kubernetes deployments. Using examples with Spring, you’ll learn how to:\r\n\r\n* Abstract service configuration / binding\r\n* Utilize Testcontainers across local dev/test & CI\r\n* Efficiently avoid cold starts with CRaC and other techniques\r\n* Package applications most efficiently for the target platforms", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "16e1da1a-8902-415a-badf-f021d7b888ec", - "name": "Mala Gupta" + "id": "5c84d73d-1b13-4383-a7ec-e7ce3151794e", + "name": "James Ward" + }, + { + "id": "9548c494-2cab-45b9-af37-398f9b6d1f9d", + "name": "Vinicius Senger" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7230,52 +6279,48 @@ "index": 5 }, { - "id": 42140, - "name": "Frameworks", + "id": 58701, + "name": "Core Java", "session": { - "id": "556492", - "title": "Zero to Implementation in 50 Minutes, No Kidding!", - "description": "If you separate yourself from the distractions you typically see when analyzing business requirements you quickly realize that they are usually fairly simple. You may or may not have to consume some input. You may or may not have to produce some output. That is all! This means that implementing and testing the actual requirements should be significantly more straightforward than what most developers experience in real life. And then there is another set of distractions where many developers come up with a complete design of a solution to a requirement, now treating such a solution as a requirement. Without realizing that their design is not the requirement they miss out on the simpler and better solution. What are those distractions, how to spot them, and how Spring can help you deal with them?", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "755075", + "title": "To Java 24 and Beyond!", + "description": "Java 21 has come and gone, but the Java release train continues with Java 24!\r\n\r\nIn this presentation, we will briefly review key changes between Java 11 and 21, as they form an important foundation for where Java is heading. Once that foundation is laid, we will look at what has changed in Java since 21, updates to Project Loom with a focus on, Scoped Values and Structured Concurrency, and how they will rewrite the Java concurrency story. \r\n\r\nWe will also cover other important changes including: Generational ZGC, the Foreign Function and Memory API, JavaDoc updates, and even take a look into the future of where Java is heading! ", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "61524dab-5ff7-443b-a97f-ae7d6f5690ec", - "name": "Oleg Zhurakousky" - }, - { - "id": "25b4a764-0ab3-4a6b-b7b6-8e5f5d46dfc6", - "name": "Glenn Renfro" + "id": "6f426cb0-6261-4f79-b726-b7ffc3b028ff", + "name": "Billy Korando" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7285,48 +6330,48 @@ "index": 6 }, { - "id": 42141, - "name": "Java Platform", + "id": 58702, + "name": "Frameworks", "session": { - "id": "537960", - "title": "JVM Ergonomics Profiles: Enhancing Resource Consumption and Performance in Dedicated Environments", - "description": "Ergonomics Profiles is a new Java Virtual Machine (JVM) feature proposal aimed at improving resource utilization and performance in dedicated JVM environments, such as containers. The proposal outlines the motivation behind Ergonomics Profiles, highlighting the prevalent usage of dedicated resources in modern cloud-based JVM workloads. It addresses the limitations of default JVM ergonomics designed for shared environments and the resulting resource waste. The proposed solution includes the introduction of two profiles: \"shared\" for traditional environments and \"dedicated\" for systems with dedicated resources. The dedicated profile offers optimized heuristics for maximizing resource consumption, including dynamic heap size allocation, enhanced garbage collector selection, and native memory estimation. The proposal also presents a new flag for profile selection and provides APIs for programmatically identifying the selected profile. By incorporating Ergonomics Profiles, JVMs can better adapt to dedicated environments, reduce resource waste, and increase overall chances of better performance, resulting in more efficient and scalable Java applications.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "758766", + "title": "Runtime Efficiencies and Spring Boot", + "description": "Spring Boot 3 introduces a suite of features designed to enhance runtime performance and optimize resource usage. In this talk, we’ll explore the key innovations in this release that help developers build faster, more efficient applications. We'll begin with Ahead-of-Time (AOT) processing, which accelerates startup times by precomputing application configurations, followed by Class Data Sharing (CDS), which reduces memory usage by allowing JVM processes to share class metadata.\r\n\r\nWe’ll dive into GraalVM native images, highlighting how they drastically improve startup performance and memory consumption, making them ideal for modern cloud-native applications. We’ll also cover Project CRAC (Coordinated Restore at Checkpoint), a game-changer for reducing startup times in containerized environments by allowing JVM applications to be suspended and restored with minimal overhead.\r\n\r\nFinally, we'll wrap up with the integration of Java 21's virtual threads, a revolutionary improvement in how Spring Boot handles high-concurrency tasks, greatly enhancing scalability and efficiency. Through live demos, you'll learn how to leverage these tools and techniques to optimize your Spring Boot applications for maximum runtime performance.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "e0b15676-adb2-4ea7-bb68-ca1af864a14f", - "name": "Bruno Borges" + "id": "345b7e02-c223-49a0-875d-0a3502ee2e82", + "name": "DaShaun Carter" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7336,99 +6381,99 @@ "index": 7 }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58703, + "name": "Java Platform", "session": { - "id": "556795", - "title": "FinOps Tooling is a magic wand for enhancing Performance and Customer Value", - "description": "I knew our journey into adopting FinOps would result in Cloud Cost Savings, but I was surprised to see how effective it could be at finding performance issues, bugs, and even challenging things like our product pricing.\r\n\r\nThis session will walk through what FinOps is, the results of our adoption, and the interesting observations that surprised us along the way.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "800469", + "title": "OOP vs. Data Oriented Programming: Which One to Choose?", + "description": "We rely heavily on polymorphism when programming with the object-oriented paradigm. That has served us really well, especially to create extensible code. However, like any tool and technique, there are times when that may not be the right choice. Java now provides an alternative that is useful in those select situations—the data-oriented programming.\r\n\r\nIn this presentation we will start with an example where the highly useful object hierarchy and polymorphism appears as a misfit and discuss how data-oriented programming solves the problem more elegantly. Get a good understanding of when to use each one of these and how to intermix them in your applications.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a3068189-ae77-404e-abcd-2d18c47adf2b", - "name": "Jeremiah Drysdale" + "id": "b576bdc5-c994-40f5-b1dd-e0f9f7999fa9", + "name": "Venkat Subramaniam" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, "index": 8 }, { - "id": 42143, - "name": "Security", + "id": 58704, + "name": "Practices", "session": { - "id": "556857", - "title": "The Death Star and the ultimate vulnerability", - "description": "The Death Star from Star Wars was an impressive though fictional feat of engineering, but it had a fatal flaw that was exploited by the rebels. Similarly, modern applications are at risk due to the many open-source dependencies used worldwide that can contain vulnerabilities. Some are just mistakes, and others, like that iconic exhaust port, were deliberately created. \r\n\r\nManaging these components and ensuring their security is crucial to prevent successful attacks. This session will take you to a galaxy far far away, to look at what went wrong in the Empire's supply chain to cause such a vulnerability to be introduced. By understanding the risks and using the right tools, we can avoid a catastrophe like the Death Star’s destruction and put a stop to any rebel scum.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "783614", + "title": "Take the Polar Plunge: A Fearless Introduction to Apache Iceberg®", + "description": "New to Apache Iceberg® or just starting to test the waters? Time to take the plunge! In this beginner-friendly session, we’ll introduce you to the core features of this high-performance table format and what it has to offer your data team as you build out your modern data lakehouse.\r\n\r\nWe’ll start by exploring where Iceberg fits within the context of data warehouses, data lakes, and other data storage formats. From there, you’ll be introduced to some of Iceberg’s key features, like schema evolution, hidden partitioning, and ACID-compliant transactions. You’ll see how these capabilities help to solve real-world challenges in scalability, performance, and data consistency. We won’t stop there, though! Next, we’ll go even deeper beneath the surface and explore the open-source tools, query engines, and catalogs that make up the Iceberg ecosystem. Through an end-to-end demo, you’ll see Iceberg in action and learn how you can leverage its features to streamline your data management and drive better insights.\r\n\r\nBy the end of the session, you’ll have the foundation you need to get started applying Iceberg to solve your own data challenges. So come along, and we’ll take the polar plunge together! ", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "eb8e3906-8c75-4876-9fe1-0aca5db8ef40", - "name": "Jamie Coleman" + "id": "ea7292a0-1a85-4830-af21-00c9484c19fe", + "name": "Danica Fine" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7438,48 +6483,48 @@ "index": 9 }, { - "id": 42144, - "name": "Tools and Techniques", + "id": 58705, + "name": "Security", "session": { - "id": "552526", - "title": "Apache Maven 102: Best Practices", - "description": "Know enough about Maven to get by, but not enough to thrive? Then this talk is for you. We will review the basics and then dive into the best practices for both Maven single and multi-module projects. You will also walk away with enough knowledge to troubleshoot your builds.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "739051", + "title": "Top Security Flaws Hiding in Your Code Right Now – and How to Fix Them", + "description": "Security vulnerabilities aren’t just hypothetical—they’re real, from the MongoDB attack to the Log4Shell disaster, and they’re hiding in your code right now. In this session, we’ll explore the most common and dangerous flaws: SQL Injection, Deserialization Injection, and Logging Injection. \r\n\r\nWe’ll explain how these vulnerabilities work, why they’re so risky, and how to fix them through examples. \r\n\r\nYou'll leave with practical tips for safeguarding your applications, including best practices for SQL query parameterization, secure deserialization techniques, the importance of sanitizing logs, and how to use tooling to prevent these flaws more easily.\r\n\r\nAudience Takeaways:\r\n\r\nDeep understanding of SQL Injection, Deserialization Injection, and Logging Injection.\r\nPractical code examples and fixes to secure your applications.\r\nInsights into real-world case studies of major security breaches.\r\nTooling that will help us to commit safe code.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "130a4bc5-3b04-4a0c-95e6-62fad0b4d722", - "name": "Brian Demers" + "id": "f63ba6f7-e39c-426f-b079-55a63c063bda", + "name": "Jonathan Vila" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7489,48 +6534,48 @@ "index": 10 }, { - "id": 42145, - "name": "Web and front-end", + "id": 58706, + "name": "Tools and Techniques", "session": { - "id": "544960", - "title": "Biometric authentication in the browser: an intro to WebAuthn", - "description": "WebAuthn is a standard which allows you to leverage biometric based authentication methods from within your browser. While you can use a variety of hardware to authenticate users, the real benefit of WebAuthn is the fact that it connects users’ browsers to built-in operating system authentication methods.\r\n\r\nWhen you build with WebAuthn, you are benefiting from the security and pervasiveness of FaceID, Fingerprint Scanner, and Windows Hello, among others. WebAuthn is supported by all major browsers, as well as all major desktop and mobile OS platforms.\r\n\r\nIn this talk, we’ll walk through the WebAuthn process, including registration, attestation, and authentication. You’ll learn the difference between platform and cross-platform authenticators, as well as the difference between user verification and user presence.\r\n\r\nAt the end of this talk, you’ll have a grasp of what WebAuthn is, when it makes sense, and how you can leverage it for your next project.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "755869", + "title": "Developer Productivity With IntelliJ IDEA", + "description": "Developer productivity is a hot topic right now, but what does it mean? Is it all just about squeezing more lines of code out of us poor, overworked developers? Or could it, in fact, lead to developer joy?\r\n\r\nIn this session, Trisha will show some of her favorite IntelliJ IDEA tips for improving her own productivity. She'll use these examples to talk about what productivity is, what it is not, and why it's even more important to us as developers than it is to the organizations that pay our salaries. And it's of course important to them, too!\r\n\r\nAttendees will gain a deeper understanding of how IntelliJ IDEA helps them to be effective, productive, and happy. Trisha wants you to look at your toolchain and ask yourself, “Does this enable me to be creative and happy?”", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "30897cf3-d06f-453a-9f83-c6ba7d4b31c9", - "name": "Dan Moore" + "id": "5eff389f-6760-4a05-affb-ec5b6fc2ca36", + "name": "Trisha Gee" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7540,52 +6585,48 @@ "index": 11 }, { - "id": 42146, - "name": "Cloud Native", + "id": 58707, + "name": "Web and front-end", "session": { - "id": "544457", - "title": "Serverless Java in Action: Cloud Agnostic Design Patterns and Tips", - "description": "You've probably seen how to create a Function-as-a-Service with one of the cloud providers, but if this is all you know about Serverless, prepare to have your mind blown!\r\nIn this session we'll show you how to create a production-grade, cloud-agnostic, event-driven serverless solution with Quarkus, a Java stack optimized for fast startup and small footprint; and Knative, an open source community project for deploying, running and managing serverless applications on Kubernetes. Say goodbye to vendor lock-in and hello to Supersonic Subatomic Java-based Serverless bliss!\r\n", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "748220", + "title": "Run to the light Carol Anne: Auditing with Lighthouse", + "description": "Have you heard about Lighthouse? Are you afraid to go into the light like Carol Anne in Poltergeist? Don't be afraid because Lighthouse is an awesome tool to achieve your web experience goals. You can do a bunch of awesome things in Lighthouse like running SEO audits, front-end performance audits, and my favorite, accessibility audits. This talk will explore reasons that audits and testing are necessary, and walk through different types of audits you can run. The end goal is analyzing the results and taking steps to achieve your web experience goals.", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "a4305a38-d462-482b-9e4a-536eb74ec63c", - "name": "Kevin Dubois" - }, - { - "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", - "name": "Daniel Oh" + "id": "730a789f-e2a8-483d-91bc-6e794f1b44d5", + "name": "Chris DeMars" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7595,48 +6636,52 @@ "index": 12 }, { - "id": 42147, - "name": "JakartaEE", + "id": 58708, + "name": "JakarataEE", "session": { - "id": "538291", - "title": "Optimize your applications to the max with Jakarta EE and MicroProfile", - "description": "When using complementary tools for optimal utilization in containers and scalable infrastructures, you can achieve optimal value when developing and running enterprise software. Jakarta EE’s mechanics and application server runtimes are perfect tools for achieving this goal, especially when complemented with MicroProfile. This applies whether you are building monoliths, microservices, or anything in between.\r\n\r\nAttendees will learn how to optimally build, run and deploy such enterprise applications. Therefore, the session will show little application code, but focus on the concepts, tools, and configurations that are applicable. I will also compare some key concepts with competitors like Spring Framework to emphasize the benefits and downsides.", - "startsAt": "2024-04-10T16:00:00", - "endsAt": "2024-04-10T17:00:00", + "id": "751660", + "title": "Java + LLMs: A hands-on guide to building LLM Apps in Java with JakartaEE", + "description": "AI is revolutionizing the software landscape. However, for many Java developers, integrating these powerful AI tools into existing enterprise applications or a new one can feel daunting. In this hands-on session, we'll demystify the process and show you how to build LLM-powered features directly into your Java codebase.\r\n\r\nUsing JakartaEE and the LangChain4j library, we'll dive deep into Retrieval Augmented Generation (RAG), a cutting-edge technique that combines the vast knowledge of LLMs with the precision of your own data. We'll explore how to create both few-shot and zero-shot RAG models, and then add practical features like summarization and similarity search, backed by an Embedding database.\r\n\r\nThrough a live coding demo, we’ll walk you through constructing an AI-powered online store backend and provide practical insights into the architecture and code.\r\n\r\nWhether you're familiar with AI or just getting started, this session will give you the confidence and skills to harness the potential of LLMs in your Java projects. \r\n", + "startsAt": "2025-03-05T14:30:00", + "endsAt": "2025-03-05T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1acc6fe1-fb77-411b-acbb-fef29174c780", - "name": "Edwin Derks" + "id": "79e95ec4-23ec-48ec-9046-98d3e1776283", + "name": "Bazlur Rahman" + }, + { + "id": "4e0f1b70-c9ff-4351-b21e-eee43fdd44df", + "name": "Syed M \"Shaaf\"" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7648,51 +6693,79 @@ ] }, { - "slotStart": "17:00:00", + "slotStart": "15:30:00", "rooms": [ { - "id": 39693, - "name": "Architecture", + "id": 58709, + "name": "Keynote", + "session": { + "id": "cffe3fa0-6081-49d4-81d2-5e2c1be96ff7", + "title": "Afternoon Break", + "description": null, + "startsAt": "2025-03-05T15:30:00", + "endsAt": "2025-03-05T16:00:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + "index": 0 + } + ] + }, + { + "slotStart": "16:00:00", + "rooms": [ + { + "id": 58710, + "name": "Tech Leadership", "session": { - "id": "548368", - "title": "Death to the Monolith", - "description": "Monolithic architecture has been the traditional approach for building web applications, but it often leads to a rigid, inflexible, and slow development process. Micro-frontends, on the other hand, allows for breaking down large, complex applications into smaller, more manageable pieces that can be developed, tested, and deployed independently. In this talk, we will learn how to say \"death to the monolith\" and embrace micro-frontends as an architecture pattern.\r\n\r\nBy exploring the problems with monolithic architecture we will discuss why it's time to move away from it. A monolithic architecture can lead to a lack of agility, difficulty in scaling, and an increased risk of failure. Meanwhile, a micro-frontend architecture pattern allows for a more flexible, scalable, and efficient development process.\r\n\r\nNext, we will look at how an application composition platform provides a framework for creating and managing micro-frontends, including tools for versioning, testing, and deploying them. We will discuss how an application composition platform can help ensure consistency across micro-frontends by providing a centralized location for managing shared resources.\r\n\r\nFinally, we will learn how embracing micro-frontend architecture with an application composition platform can enable organizations to become more agile and efficient. Additionally, we will explore how micro-frontend architecture can enable rapid prototyping, reduce time to market, and allow for easier scaling of applications.\r\n\r\nAttendees of this talk will leave with a deeper understanding of the problems with monolithic architecture and the benefits of micro-frontend architecture. They will gain practical tips and strategies for building micro-frontends that are flexible, maintainable, and optimized for performance using an application composition platform. They will also learn how embracing micro-frontend architecture can enable organizations to become more agile and efficient in their development process.\r\n", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "751537", + "title": "Recalibrate - How AI Shakes Up Agile Teams", + "description": "According to researchers, a staggering 75% of enterprise software engineers will harness the power of AI code assistants by 2028. This shift will revolutionize not just how we write code but also the very essence of agile software development.\r\n\r\nAgile, a methodology born over 20 years ago, was crafted for a different era with its own unique challenges. While some principles remain timeless, others demand a fresh perspective in the age of AI-native development. Do we still need sprints when AI can prioritize tasks in real-time? And what happens to cross-functional teams when virtual specialists are at our fingertips?\r\n\r\nJoin Sven as he explores the evolving role of developers and the necessity to rethink human-to-human interaction in a world where AI is our primary coding companion. One thing is certain: we must recalibrate our collaboration strategies within software teams.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "3c467866-b387-417c-acc3-0d06a2d64f3f", - "name": "Cody Frenzel" + "id": "7d63385a-e91e-4983-9b08-90ced6c2a05b", + "name": "Sven Peters" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7702,48 +6775,48 @@ "index": 1 }, { - "id": 39694, - "name": "Agile", + "id": 53138, + "name": "Architecture", "session": { - "id": "539474", - "title": "Product Centricity and Agility: Mega Powers combined", - "description": "Abstract:\r\nIn software development two themes run rampant which are complementary yet distinct: Product Centricity and Agility. Even specialists of these areas might not be familiar with how they are different, what their divergent priorities are, and how to align when trying to decide on where to fall on the continuum between the two. Hear about how these Mega Powers can either work together or explode! Learn how organizations like Discover use dojos and academies to helps product leaders and agile coaches align to drive innovation and continuous improvement while staying true to product vision and organizational outcomes.\r\n\r\n\r\nDesired learning outcomes:\r\n\r\n1. Identify key characteristics of a product-centric approach and an agile (user-focused) approach.\r\n2. Evaluate a given product development scenario to assess where on the continuum of product-centricity and agility your team must fall to achieve desired outcomes.\r\nLearn to formulate recommendations for improving a product development strategy by the incorporating the beneficial elements of both product centricity and agility.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "752337", + "title": "Sociotechnical Platform Engineering", + "description": "devOps practices help reduce friction to production for technologists. Once an application has user traffic, user experience should become a priority, but at what cost?\r\n\r\nThis talk will connect human centered devOps & SRE practices across a value stream to explore how platforms balance developer experience against production stability over time, and how process dependencies factor into overall platform success.\r\n\r\nthis talk will Explore:\r\n- How pipelines are value streams\r\n- A general-purpose value stream map for platforms\r\n- Dependency (wardley) maps for platform processes\r\n- Aligning SLIs, SLOs, & SLAs across our platform VSM\r\n- Establishing Error Budgets\r\n- Chaos Engineering & Complexity Science", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "2c2f23ea-2165-4bb3-b1a8-2080da65ff87", - "name": "Robert Clawson" + "id": "0494255d-10a1-4ec1-8c00-b0881c434931", + "name": "Chris Corriere" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7753,47 +6826,47 @@ "index": 2 }, { - "id": 42136, + "id": 53139, "name": "AI", "session": { - "id": "549522", - "title": "Calling AI Tools from Java", - "description": "As far as Java is concerned, most AI tools are just another RESTful web service. In this session, learn how to use modern Java features like records, text blocks, the HTTP Client API and more to access ChatGPT, the Whisper audio-to-text transcription API, and image generators like DALL-E, Stable Diffusion, and Midjourney.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "844129", + "title": "Developer Productivity with Large Language Models", + "description": "The emergence of large language models (LLMs) has transformed how developers approach coding, offering new opportunities to improve productivity and collaboration. The combination of LLMs and Java offers a transformative opportunity to streamline workflows, enhance code quality, and reduce development cycles.\r\n\r\nThis session explores how LLMs, such as OpenAI’s GPT and GitHub Copilot, can empower developers by automating repetitive coding tasks, improving debugging efficiency, and generating optimized, boilerplate-free code. We discuss practical applications of LLMs in Java development, including intelligent code generation, debugging assistance, and documentation creation. Additionally, we explore how LLMs can support the learning curve for new Java developers by providing real-time guidance and best practices. ", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ecda0d84-be59-41c6-8983-b58cd5b3f93c", - "name": "Kenneth Kousen" + "id": "21924ec2-96d9-4b4a-b2c8-99dd2efb77a7", + "name": "Mo Haghighi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, @@ -7804,48 +6877,48 @@ "index": 3 }, { - "id": 42137, - "name": "Cloud Tech", + "id": 53140, + "name": "Cloud Native", "session": { - "id": "549107", - "title": "Wireguard, TLS and Workload Identity: The Backbone of Modern Service Networking", - "description": "Zero Trust Networking has become a standard marketing buzzword but the underlying principles are critical for modern microservice-style architectures. Authentication, authorizations, policy, etc. can be difficult to implement between services and do so in a maintainable way. Google invented their own transparent encryption and authorization protocol called \"ALTS\" back in 2007 to serve the application layer of Google's Borg workload scheduler, but we don't see others using it outside Google.\r\n\r\nIn this session we look at existing technology like TLS and newcomer Wireguard and see how these technologies come together to provide a secure foundation for workload identity and modern service-to-service networking. We will see how to accomplish exactly what Google did with ALTS but in a more open-source friendly way.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "769455", + "title": "Containers and Kubernetes made easy: Deep dive into Podman Desktop", + "description": "Dive into the world of containers and Kubernetes with Podman Desktop, an open-source tool to empower your container development workflow, and seamlessly deploy applications to local and remote Kubernetes environments. Podman Desktop provides an intuitive interface compatible with container engines such as Podman, Docker, Lima, and more for developers, operations, and those looking to simplify building and deploying containers. With an interactive live demo showing how to move from containers to Pods, to Kubernetes (all from your local machine), you’ll learn best practices in developing and deploying cloud-native applications. In addition, we’ll introduce the path to infusing your applications with Generative AI using the Podman AI Lab, to serve and inference open-source LLMs such as LLaMA & Mistral for quickly building and prototyping AI-enabled applications. Join us to learn how you can seamlessly adopt containers and ensure predictability in deployments on Kubernetes, through local clusters (with Kind and Minikube) and by leveraging Podman Desktop’s features and security advantages!", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6e160707-beeb-4abc-97de-23d6f2c84056", - "name": "Christian Posta" + "id": "7f4dbf3b-9ec9-4d72-a46c-62020903c652", + "name": "Cedric Clyburn" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7855,48 +6928,48 @@ "index": 4 }, { - "id": 42139, - "name": "Core Java", + "id": 58711, + "name": "Cloud Tech", "session": { - "id": "557685", - "title": "Troubleshooting, Monitoring and Profiling with Java Flight Recorder, Mission Control and Cryostat", - "description": "Java Flight Recorder and JDK Mission Control enable continuous collection of low level, detailed runtime information for incident analysis. JFR is included with the JDK, has a tiny footprint, and \r\n\r\nJava Flight Recorder is a profiling and event collection framework built into the JDK. \r\n\r\nJDK Mission Control contains a set of tools that enable detailed analysis of the data collected by Java Flight Recorder.\r\n\r\nCryotstat enables secure managemant of JFR recordings for containerized Java apps.\r\n\r\nIn this presentation, we will dive into Java Flight Recorder, Java Mission Control, and Cryostat. You will leave knowing how start, stop, and visualize data about your Java applications running in and out of containers.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "740043", + "title": "Home Lab - Private Cloud on a budget", + "description": "Ever wanted to run your own private cloud but thought it was out of reach due to cost? Think again! In this session, we'll show you how to build a powerful, cost-effective private cloud in your own home using Proxmox, TrueNAS, and pfSense—all without breaking the bank.\r\n\r\nWhether you're a developer, a sysadmin, or just a tech enthusiast, this session will walk you through everything you need to know, from acquiring affordable hardware to setting up and managing your home lab. By the end of this session, you'll be well-equipped to create a reliable and secure private cloud at home.\r\n\r\nThis talk offers a step-by-step guide to building a private cloud at home using cost-effective methods, focusing on acquiring affordable hardware, utilizing free software, and managing the setup in a home lab environment.\r\n\r\n- Acquire Cheap Hardware - Learn how to source and select affordable hardware that meets the requirements for running a home lab capable of supporting a private cloud infrastructure.\r\n\r\n- Utilize Free Software - Discover how to leverage Proxmox, TrueNAS, and pfSense—powerful and free tools that allow you to create a fully functional private cloud without costly licenses.\r\n\r\n- Use a Homelab - Understand how to set up, configure, and maintain a home lab environment, turning your inexpensive hardware and free software into a robust private cloud solution.\r\n\r\nAttendees will leave this session with a clear understanding of how to build and manage their own private cloud on a budget. They will learn how to select the right hardware, utilize powerful open-source software, and set up a home lab that enables them to experiment with and deploy cloud-based applications securely and efficiently. Whether for personal projects, learning, or small-scale deployments, attendees will gain the skills to create a reliable private cloud environment at home.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "943e1c6e-d2db-4829-b701-000eaac0f5cd", - "name": "Jeremy Davis" + "id": "6375582a-11f3-4a89-b783-6e5869a1a217", + "name": "Jared Rhodes" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -7906,99 +6979,99 @@ "index": 5 }, { - "id": 42140, - "name": "Frameworks", + "id": 58701, + "name": "Core Java", "session": { - "id": "551437", - "title": "Work Smarter, Not Harder with your AI Coding Companion", - "description": "AI coding companion tools are growing in popularity, and many organizations are asking their development teams to use these tools with the goal of producing code faster and with fewer defects. However, large is the number of developers complaining about not being able to use them because \"they are not smart enough\" to understand their programming intentions. Anecdotally, this happens because, like a new developer during their first day in the job; there is no understanding of the existing code base, they have no clue about which frameworks are being used, and what is the required coding style.\r\n\r\nThis session will get into the weeds about how developers can explore the potential of AI coding companion tools by treating them as a new developer requiring proper onboarding. It will share day-to-day scenarios of developer problems and how these tools can help them if properly used. Examples will use Java, Visual Studio Code, and Amazon CodeWhisperer.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "800468", + "title": "Refactoring to Modernize Java Applications", + "description": "IDEs have provided ways to refactor code for a long time now. In spite of their effectiveness, that journey is arduous and time consuming. Reluctance to refactor increases the cost of development. However, refactoring for the sake of doing so can lead to greater productivity loss as well.\r\n\r\nIn this presentation we will use data driven approach. We will take examples of code, measure code quality, and then use automated code transformation tools to refactor the code, and then, once again, measure the quality of code and see how much we have improved. This can help us to not only refactor faster but also see the benefits realized and motivate us to move faster with greater efficiency.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f69133ba-5f6e-44e7-98e5-84b1dd108991", - "name": "Ricardo Ferreira" + "id": "b576bdc5-c994-40f5-b1dd-e0f9f7999fa9", + "name": "Venkat Subramaniam" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, "index": 6 }, { - "id": 42141, - "name": "Java Platform", + "id": 58702, + "name": "Frameworks", "session": { - "id": "554819", - "title": "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.\r\n\r\nJITServer 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.\r\n\r\nWe 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.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "753956", + "title": "Polyglot Pipelines with Apache Nifi", + "description": "Are you feeling lost as a Java Developer in this new age where AI is becoming a part of our everyday toolkit? Are you a Python Developer looking to scale up and distribute your data processing? While Java has always been known for having strong libraries for processing data at scale; much of the advances in LLMs and RAG has been evolving in Python. In this talk, we’ll cover building polyglot data pipelines on Apache Nifi. You’ll see how Apache Nifi can be integrated with Open Source libraries to train and evaluate models that process text and images. You’ll also learn how to integrate these workflows with popular Python libraries to take advantage of the mature libraries in the Python community like PyTorch or Tensorflow. Get the most out of your data by using the best of both the Java and Python communities.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b2f9d832-c42b-452b-bbb6-f642cd43ffea", - "name": "Rich Hagarty" + "id": "7f8e5588-7314-41ac-854a-0ddf6fe867d2", + "name": "Bob Paulin" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -8008,48 +7081,48 @@ "index": 7 }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58703, + "name": "Java Platform", "session": { - "id": "538171", - "title": "Coding Fast and Slow: Applying Kahneman's Insights to Improve Development Practices and Efficiency", - "description": "Embark on an exciting journey into the intersection of psychology, software development, and Developer Productivity Engineering (DPE) as we explore how Nobel laureate Daniel Kahneman's groundbreaking work on the psychology of judgment and decision-making can optimize your development practices while conserving cognitive resources. Discover the impact of System 1 and System 2 thinking on the software development process, and learn to strike the perfect balance between \"fast\" intuitive thinking and \"slow\" deliberative reasoning.\r\nWe'll delve into practical DPE strategies for reducing mental fatigue and minimizing context switches, focusing on techniques like build system performance optimization, test parallelization, AI-powered test selection, and developer productivity observability. By leveraging these best practices, you'll enhance your and your team's productivity and maintain focus on high-value tasks.\r\nWhether you're an experienced developer seeking to boost your performance or a curious newcomer eager to learn about the connections between the human mind, software development, and DPE, this talk is for you. Join us for an exhilarating adventure into the fast and slow worlds of coding, and uncover new ways to maximize your cognitive resources.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "733563", + "title": "Frustration-free K8S For Spring Developers", + "description": "Your first experience running a Spring app on Kubernetes likely left you wondering “How can I make this more efficient?”\r\n\r\nJust to get the app to run on Kubernetes, you likely had to: \r\n\r\nWrite a DockerFile to build a container.\r\nUpload that container to a registry your Kubernetes deployment can access. \r\nConstruct multiple lengthy YAML files.\r\nInstall a new CLI to apply those yaml files to the cluster.\r\nCross your fingers and hope that you did everything right and that the application actually started.\r\n\r\nIn the likely scenario where you messed something up your first time, you also needed to go back and try and figure out where it all went wrong!\r\n\r\nAll of that doesn’t even address the fact that your app likely needs some external services, such as databases or message queues. Also, how do you debug the application? How do you even view the logs? How do you securely build a container?\r\n\r\nIf this experience resonates with you, then this session is for you. \r\n\r\nIn this session, we show you a variety of tools and techniques that turn deployments to Kubernetes from a multi-step nightmare into every developer's dream: a single automated process that happens quickly and easily. You will leave this session no longer dreading deploying Spring apps to Kubernetes and instead making your deployments painless and intuitive, unlocking the true power of Kubernetes.\r\n", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1708bdeb-e8d9-4628-a147-e9878198c900", - "name": "Baruch Sadogursky" + "id": "45616863-e285-47ef-b60f-1f0abf63e1f0", + "name": "Ryan Baxter" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -8059,48 +7132,48 @@ "index": 8 }, { - "id": 42143, - "name": "Security", + "id": 58704, + "name": "Practices", "session": { - "id": "538515", - "title": "Don't Get Burned! Secure Coding Essentials to protect your application", - "description": "As a developer, you understand the importance of writing code that is functional, scalable, and maintainable. But how about secure code? Even the most seasoned developer can make common security mistakes that leave your code vulnerable to attack. In this session, we'll explore the most common and sometimes unknown security pitfalls made by developers and provide practical tips for avoiding them. We'll cover everything from input validation errors to injection to file overwrites and arbitrary code execution. We'll show real-world examples of insecure code and demonstrate how attackers exploit these vulnerabilities before showing you how to fix these code constructions. By understanding how these mistakes get exploited, you'll be better equipped to write secure, bulletproof code that can withstand attacks. Whether you're a junior developer just starting out or a seasoned pro looking to brush up on your skills, this session is a must-attend for anyone concerned with the security of their applications. Let’s start writing secure code and learn how to avoid security mistakes.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "838546", + "title": "The Human Factor in DevOps: Because Even Robots Need Good Teammates (Almost)", + "description": "Remember when \"DevOps\" meant throwing code (and maybe a few passive-aggressive emails, that thankfully weren’t meetings) over the wall? We’d like to think that the last decade and a half has dispelled us of that notion, but has it really? Often when organizations begin their “DevOps Transformation” they focus so much on automation, but the component that is more often than not overlooked is the human element. Human connection. \r\n\r\nIn this talk, Jeremy will dig into some strategies for building teams that actually work together, and might even come to like each other (though he can’t promise “meetings that are emails” will become a norm). He’ll talk about ways to encourage open communication, resolve conflicts, and create a team culture where everyone feels valued - because even the best automation tools can’t replace a team that actually works together.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "50e931e4-bda7-4065-b4c4-5083683497e6", - "name": "Brian Vermeer" + "id": "56115ae3-406f-47af-818c-20354acc07b2", + "name": "Jeremy Meiss" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -8110,48 +7183,48 @@ "index": 9 }, { - "id": 42144, - "name": "Tools and Techniques", + "id": 58705, + "name": "Security", "session": { - "id": "556270", - "title": "Application Observability like you've never heard before", - "description": "Do you regularly spend sleepless nights desperately trying to make sense of cryptic error messages that seem to have been penned by a particularly grumpy Shakespearean ghostwriter? Are you frequently wondering about what your application is doing in production?\r\nPlease join us on this example-driven journey where we go through some of the more advanced topics of Observability, and we dive into the toolsets available for you today to instrument your application so that it can tell you what it is doing and why. We will explore how to instrument your JVM-based application without vendor lock-in using Micrometer, OpenTelemetry, Grafana, OpenZipkin, Prometheus, OpenMetrics, etc, so you can have a much better sense of what is going on inside of your app.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "738682", + "title": "Software Supply Chain Security with Policy as Code", + "description": "How do you ensure that your Java software supply chain is secure? How do you reliably repeat and automate governance and compliance of your Java applications?\r\n\r\nPolicy as Code (PaC) enables orgs to apply automated controls across multiple policy enforcement points and artifact types. This talk will explore how OSS PaC can be used to validate software supply chain artifacts, focusing on Java ecosystem artifacts. \r\n\r\nThis talk will cover PaC concepts, and how to use PaC to detect and prevent unwanted behaviors. PaC concepts learned in this talk will work at the developer desktop as well as in continuous integration automation, thereby improving governance and compliance of the Java software supply chain.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8f517aca-8293-4e1f-9360-0ce676531421", - "name": "Jonatan Ivanov" + "id": "faeaeb23-20cd-45d0-955a-8a09a170e7f3", + "name": "Jimmy Ray" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -8161,261 +7234,210 @@ "index": 10 }, { - "id": 42145, - "name": "Web and front-end", + "id": 58706, + "name": "Tools and Techniques", "session": { - "id": "537984", - "title": "Climbing Up with Alpine.js", - "description": "Every modern web site requires some degree of interactivity, but for many projects large frameworks like React or Vue can be overly complex and unnecessary. Alpine.js offers a much simpler, but still powerful, solution to this that aims to be like \"jQuery for the modern web.\" In this talk, I'll introduce Alpine and explain where it makes the most sense to use it. I'll walk through the basic syntax and then demonstrate examples of how Alpine can progressively enhance web pages to add interactivity. ", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "752306", + "title": "Streamlining Open Source Foundation Operations with Quarkus and GitHub Actions", + "description": "Launching an open source foundation comes with challenges, from establishing governance processes to tracking memberships, maintaining communication, and building consensus across distributed teams.In this case study, I’ll show how we’ve used Quarkus and GitHub Actions to automate key operations, including asynchronous consensus building via reactions on GitHub discussions and pull requests, and simplifying data entry by distributing and synchronizing content across repositories with event hooks. Additionally, I’ll demonstrate how we’ve built a self-service portal for our members using a combination of Quarkus, the GitHub GraphQL and REST APIs, Lume (the static site generator for Deno), and Svelte.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d70d4c74-7ab1-4c08-b421-f4f04535cf34", - "name": "Raymond Camden" + "id": "f6c77911-6612-4b72-9832-63409826e785", + "name": "Erin Schnabel" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, "index": 11 }, { - "id": 42146, - "name": "Cloud Native", - "session": { - "id": "559371", - "title": "Your Java Code in the Kubernetes Native Era: A Live Coding Experience", - "description": "Is your Java code ready for the Kubernetes Native era?\r\n\r\nThere's a lot of hype around this topic. However, modern applications do indeed come with complexities like scalability, containerization, and service mesh, which Kubernetes can undoubtedly address.\r\n\r\nThe question is: Is your Java code ready for all of this? If you make the right choices, the answer is yes!\r\n\r\nQuarkus has been built with a Kubernetes Native approach, and it even allows you to use MicroProfile, Camel, Hibernate, and various other open-source projects among the world's best.\r\n\r\nNow is the time to embrace Kubernetes with Java! And this 100% practical session will show you how to do it today.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", - "isServiceSession": false, - "isPlenumSession": false, - "speakers": [ - { - "id": "058c3cdc-0607-4437-81bb-07a1aed5d05c", - "name": "Elder Moraes" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 207664, - "name": "Cloud Native" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207665, - "name": "session" - } - ], - "sort": 1 - } - ], - "roomId": 42146, - "room": "Cloud Native", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - }, - "index": 12 - }, - { - "id": 42147, - "name": "JakartaEE", + "id": 58707, + "name": "Web and front-end", "session": { - "id": "557712", - "title": "Jakarta EE! The future of enterprise application behind the myths.", - "description": "Most enterprises continue running their Application in a JEE Server. We realize that there are among of code that is not evolving. Throughout this talk, we are showing you by example some real-world experiences of moving forward Applications running JEE 5 & 7 to Jakarta EE 10. At the end of this session, you are going to understand the pitfalls and put away the concerns of updating and evolving your enterprise applications.", - "startsAt": "2024-04-10T17:00:00", - "endsAt": "2024-04-10T18:00:00", + "id": "787704", + "title": "Unlocking Machine Learning Potential in JavaScript: A Journey Through Cutting-Edge Tools", + "description": "While synonymous with web development, JavaScript has proven to be a versatile language. Though it may not shine as brightly as Python in the machine learning world, a range of powerful JavaScript tools have emerged to cater to various stages of the machine learning pipeline. Let’s explore a few such as Danfo.js, for efficient data manipulation, and Transformers.js, which empowers developers to integrate pre-trained ML models seamlessly into their applications.", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "9b9cb6b1-b132-4f4f-8bbc-155e31958220", - "name": "Alberto Salazar" + "id": "b09194cd-b9be-44bd-81e5-4346bbf0f39e", + "name": "Danielle Maxwell" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, - "name": "JakartaEE" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", - "liveUrl": null, - "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true - }, - "index": 13 - } - ] - }, - { - "slotStart": "18:00:00", - "rooms": [ - { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", - "session": { - "id": "af3f4652-a707-4ceb-8b19-711b4a7c34e3", - "title": "Happy hour + prizes!", - "description": null, - "startsAt": "2024-04-10T18:00:00", - "endsAt": "2024-04-10T19:30:00", - "isServiceSession": true, - "isPlenumSession": true, - "speakers": [], - "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, - "status": null, - "isInformed": false, - "isConfirmed": false + "status": "Accepted", + "isInformed": true, + "isConfirmed": true }, - "index": 0 + "index": 12 }, { - "id": 42139, - "name": "Core Java", + "id": 58708, + "name": "JakarataEE", "session": { - "id": "557537", - "title": "The OffHeap Podcast. Devnexus Edition", - "description": "Coming back for another year, the OffHeap podcast have been a staple of DevNexus. Bringing you interesting conversations, trivia, and fun facts around our favorite JVM language we promise that this session will be another one you are NOT going to forget. Take the time to meet the faces behind the (most awesome) Java podcast out there!", - "startsAt": "2024-04-10T18:00:00", - "endsAt": "2024-04-10T19:30:00", + "id": "751804", + "title": "Migrating from Java EE - to Spring Boot or something else?", + "description": "Many companies use old and expensive Java EE servers like WebSphere or WebLogic. If you're considering moving away from them, this session is for you. We'll explore three options: the widely used Spring Boot framework, modern open-source Jakarta EE servers like GlassFish, and emerging choices like Quarkus and Piranha Cloud.\r\n\r\nThrough live demos and discussions, we'll compare these options in terms of how easy it is to get started, how straightforward it is to migrate from Java EE, how developer-friendly they are, and what features they offer for production. We'll also look at the evolution of the Jakarta EE ecosystem and how it currently compares to SpringBoot.\r\n\r\nWhether you're a developer, a DevOps engineer, or an architect, this session will give you practical insights and help you make informed choices about your Java stack. Join me in finding out the answer to the question: Should you migrate from Java EE to Spring Boot or something else?\r\n", + "startsAt": "2025-03-05T16:00:00", + "endsAt": "2025-03-05T17:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4d4ac30a-3cf4-4c64-99d4-8261e8e966ad", - "name": "Freddy Guime" + "id": "a525f812-1f48-41fa-a4cf-cd6c10fb3f69", + "name": "Ondro Mihályi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290617, + "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 5 + "index": 13 + } + ] + }, + { + "slotStart": "17:00:00", + "rooms": [ + { + "id": 58709, + "name": "Keynote", + "session": { + "id": "22054d3f-c3e8-4ae4-8bcc-c4e5dc917c08", + "title": "Conference Reception (open bar and food!)", + "description": null, + "startsAt": "2025-03-05T17:00:00", + "endsAt": "2025-03-05T19:00:00", + "isServiceSession": true, + "isPlenumSession": true, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + "index": 0 } ] } ] }, { - "date": "2024-04-11T00:00:00", + "date": "2025-03-06T00:00:00", "isDefault": false, "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58709, + "name": "Keynote", "sessions": [ { - "id": "236a0817-b43e-4d4d-8956-c963fa1dff33", - "title": "Registration & breakfast", + "id": "b75cc5cd-d2c6-48a4-93b9-5d4d1e7d6073", + "title": "Registration and Breakfast", "description": null, - "startsAt": "2024-04-11T08:15:00", - "endsAt": "2024-04-11T09:00:00", + "startsAt": "2025-03-06T08:00:00", + "endsAt": "2025-03-06T09:00:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -8423,63 +7445,35 @@ "isConfirmed": false }, { - "id": "557220", - "title": "Knowledge Management for the Technically Inclined", - "description": "Knowledge sharing and creation is foundational to technical professionals' work, and yet is one of the most overlooked areas of modern business. When you cannot find the information you need, or it is hard to understand, your productivity and your end customer are going to be affected.\r\n\r\nYou can use effective knowledge management principles and techniques to get your time back for your important work. Discover:\r\n- techniques for organising your personal, team, and organisation knowledge so it can be found\r\n- how to present information so it can be more easily consumed by the reader\r\n- how to work together with your peers to improve your documentation\r\n- how to align your documentation to your audience to optimise communication\r\n\r\nLearn how to optimise the knowledge and understanding that underpins what you do.", - "startsAt": "2024-04-11T09:00:00", - "endsAt": "2024-04-11T10:00:00", - "isServiceSession": false, + "id": "45040691-b23e-4acb-9320-331e1f983559", + "title": "Day 2 keynote", + "description": null, + "startsAt": "2025-03-06T09:00:00", + "endsAt": "2025-03-06T10:00:00", + "isServiceSession": true, "isPlenumSession": true, - "speakers": [ - { - "id": "1b56e49d-1702-4a54-9cf7-433c38632ebe", - "name": "Jacqui Read" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 231062, - "name": "Keynote" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207667, - "name": "keynote" - } - ], - "sort": 1 - } - ], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true + "status": null, + "isInformed": false, + "isConfirmed": false }, { - "id": "9087bdf4-5cc4-42e5-8093-587e4b761f95", + "id": "a6c6ec2f-b705-47bb-8d03-a8b6930b36d4", "title": "Morning Break", "description": null, - "startsAt": "2024-04-11T11:00:00", - "endsAt": "2024-04-11T11:30:00", + "startsAt": "2025-03-06T11:00:00", + "endsAt": "2025-03-06T11:30:00", "isServiceSession": true, - "isPlenumSession": true, + "isPlenumSession": false, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -8487,17 +7481,17 @@ "isConfirmed": false }, { - "id": "17a98df5-0234-4269-a4b3-cee7cff575a4", + "id": "30fba086-ad81-4279-981b-000d0ed71caf", "title": "Lunch", "description": null, - "startsAt": "2024-04-11T12:30:00", - "endsAt": "2024-04-11T13:30:00", + "startsAt": "2025-03-06T12:30:00", + "endsAt": "2025-03-06T13:30:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -8505,17 +7499,17 @@ "isConfirmed": false }, { - "id": "f2d0ceb6-835d-46e2-8c7b-8f2908eb5e29", - "title": "Mega Raffle and conf close!", + "id": "285e3b2a-1df8-4c18-81ed-165e66ec4325", + "title": "Afternoon break", "description": null, - "startsAt": "2024-04-11T17:00:00", - "endsAt": "2024-04-11T17:25:00", + "startsAt": "2025-03-06T15:30:00", + "endsAt": "2025-03-06T15:45:00", "isServiceSession": true, - "isPlenumSession": true, + "isPlenumSession": false, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -8523,17 +7517,17 @@ "isConfirmed": false }, { - "id": "ab1d4ddd-e4ae-4796-bcd8-ef323d5a04de", - "title": "CONF AFTER PARTY", + "id": "c67ed6bc-34e3-43f9-8615-fa080ad26bb0", + "title": "Conf close and mega raffle!", "description": null, - "startsAt": "2024-04-11T19:30:00", - "endsAt": "2024-04-11T20:00:00", + "startsAt": "2025-03-06T16:45:00", + "endsAt": "2025-03-06T17:15:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -8541,52 +7535,52 @@ "isConfirmed": false } ], - "hasOnlyPlenumSessions": true + "hasOnlyPlenumSessions": false }, { - "id": 39693, - "name": "Architecture", + "id": 58710, + "name": "Tech Leadership", "sessions": [ { - "id": "577755", - "title": "Enhancing Software Design with Spring Modulith", - "description": "Having more tools in your tool belt and knowing when to use each one is a crucial aspect of modern design and architecture. In this talk, I want to introduce you to a new tool: Spring Modulith. This innovative tool is reshaping how we approach software structure, especially in the debate between using Microservices or a Monolithic framework. The central question we'll explore is how to create software that's flexible and can adapt to the evolving needs of a business.\r\n\r\nSpring Modulith is designed for those working with Spring Boot, offering a way to efficiently organize and evolve software projects. Here’s what we’ll delve into:\r\n\r\nDefining and managing logical modules within Spring Boot applications using Spring Modulith.\r\n\r\nUtilizing Spring Modulith’s tools for structural validation tests, ensuring each component functions correctly and cohesively.\r\n\r\nDocumenting the architecture of your application, facilitating better collaboration and future modifications.\r\n\r\nImplementing interactions between modules in a way that maintains their independence yet allows for effective communication.\r\n\r\nMonitoring real-time interactions between modules during the software’s operation.\r\n\r\nA highlight of this talk is a live coding demonstration, where I’ll show Spring Modulith in action. This will be insightful for both seasoned Spring Boot users and newcomers alike.\r\n\r\nJoin us to discover how Spring Modulith can enhance your toolkit, making your software projects more adaptable and aligned with the dynamic landscape of business requirements.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "738302", + "title": "Conway’s Law and Digital Transformation", + "description": "Conway’s Law posits that the design of a system mirrors the communication structure of the organization that created it. As businesses increasingly adopt modern technologies to enhance operations and deliver value, the alignment between organizational structures and system architectures becomes critical. Let's explore the implications of Conway’s Law in the context of digital transformation, examining how traditional, hierarchical structures often hinder the agility and innovation required for modern, scalable systems.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "345b7e02-c223-49a0-875d-0a3502ee2e82", - "name": "DaShaun Carter" + "id": "78100ec6-45ab-4076-8911-266bfc4c376b", + "name": "Dennis Ruzeski" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -8594,45 +7588,45 @@ "isConfirmed": true }, { - "id": "556701", - "title": "Micro Frontends for Java Microservices", - "description": "You've figured out how to split up your backend services into microservices and scale your teams to the moon, right? But what about the front end? Are you still building monoliths for your UI? If so, you might want to check out micro frontends—basically extensions to the microservices pattern, where the concept is extended to the front end.\r\n\r\nFind out how to package and deploy your microservices and their UIs in the same artifact, as well as make it possible to test and develop them independently.\r\n\r\nIn this live session, Matt will show you how to build a microservices and micro frontends architecture using React, Spring Boot, and Spring Cloud.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "753446", + "title": "Complex Problems... and other ways to disappoint your friends.", + "description": "Most developers have heard of \"Big O notation\" but it stops there. One step further is a cliff. If you don't know it's there, welp, it was nice knowing ya. *Pirate accent* THAR BE SEA DRAGONS *end dramatic accent*\r\n\r\nIt's hard to make computer science interesting, or even relevant, but in this talk I focus on the key aspects that you can't ignore. It's important to know when you stumble across an NP-Complete problem, and what you can do. I promise short journey into the jungle of PSPACE for developers who have never even heard these terms.\r\n", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "55118daf-09db-4e61-a5b6-c2661640c3d2", - "name": "Matt Raible" + "id": "56225543-85a5-428d-9ab7-3556a051296d", + "name": "Gant Laborde" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -8640,45 +7634,45 @@ "isConfirmed": true }, { - "id": "556927", - "title": "How to choose the right database for your application", - "description": "In this talk, we will review the strengths and qualities of each database type from their particular use-case perspectives. Although having everything in one database seems like the straightforward path, it is not always the most cost or time effective path. Many Databases have become more specialized for the types of data they handle. Learn how to make the right choice for your workloads with this walkthrough of a set of distinct database types (graph, in-memory, search, columnar, document, relational, key-value, and time series databases). Learn about current trends in the database ecosystem and then learn about a number of different specialized databases and their strengths and weaknesses. This presentation will go over some of the fastest growing segments in the database space.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "754152", + "title": "How Not To Be Mentored", + "description": "How to does one get the best out of a mentor-ship, while providing value to both the mentee and the mentor in times of time spent and growth? \r\n\r\nThe mentee/mentor relationship in tech tends to be wrought with issues if not structured properly on both ends. This talk hopes to provide actionable steps learned from my wins and losses based on my experience being a part of a learn-to-code mentorship group for 1 year period. This talk will include : \r\n=> Understanding the value propositions of the participants [mentee vs mentor]), etc.\r\n=> Setting relationship fundamentals/foundations and expectations/results.\r\n=> Time and task management suggestions.\r\n=> How to deal with challenges as they come up. \r\n=> Content to read ( books, articles, and people to follow on Twitter).\r\n=> Etc ( Anything else that can come to mind when writing this talk based on the theme of the audience/ conference ). ", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8908ee3e-c72a-4125-b71d-98e39ce27c0b", - "name": "zoe Steinkamp" + "id": "a6ee49ed-a85d-43bd-8677-bced09824b2c", + "name": "Nerando Johnson" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -8686,109 +7680,91 @@ "isConfirmed": true }, { - "id": "f4ac1d09-c1f8-48e2-8a68-e32cddc5fabd", - "title": "Afternoon break", - "description": "Afternoon break", - "startsAt": "2024-04-11T14:30:00", - "endsAt": "2024-04-11T15:00:00", - "isServiceSession": true, - "isPlenumSession": true, - "speakers": [], - "categories": [], - "roomId": 39693, - "room": "Architecture", - "liveUrl": null, - "recordingUrl": null, - "status": null, - "isInformed": false, - "isConfirmed": false - }, - { - "id": "560139", - "title": "Architecting for Resiliency: Shuffle sharding for Workload Isolation", - "description": "Multi-tenant, cloud-based architectures have a set of resiliency requirements that are often at odds with customer satisfaction and cost requirements.\r\n\r\nOne 'bad actor' can impact all your other clients, or exceed your budget models. This talk will introduce the architectural pattern of Shuffle Sharding, discuss the situations it can help mitigate, the pros and cons of the pattern, and review some examples of its use.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "751652", + "title": "Managing Your AI-Driven Manager", + "description": "The threat to your job isn’t that an AI can replace you — it’s that a manager will think AI can replace you. This talk covers how to build a relationship with your manager that makes you their primary technical ally. The idea is to become the person they trust to evaluate both the benefits — and the costs — of using AI tools, showing where they can help and where you really need to be careful using them. In a rapidly changing world, you can become the person your manager relies on to give them good advice, all while you get to enjoy playing with the latest toys.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "db3f7afe-0214-49a6-853e-e40ea87a6b5a", - "name": "Christopher Curtin" + "id": "ecda0d84-be59-41c6-8983-b58cd5b3f93c", + "name": "Kenneth Kousen" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, { - "id": "557603", - "title": "Sociotechnical Platform Engineering", - "description": "devOps practices help reduce friction to production for technologists. Once an application has user traffic, user experience should become a priority, but at what cost?\r\n\r\nThis talk will connect human centered devOps & SRE practices across a value stream to explore how platforms balance developer experience against production stability over time, and how process dependencies factor into overall platform success. \r\n\r\nthis talk will Explore:\r\n- How pipelines are value streams\r\n- A general-purpose value stream map for platforms\r\n- Dependency (wardley) maps for platform processes\r\n- Aligning SLIs, SLOs, & SLAs across our platform VSM\r\n- Establishing Error Budgets\r\n- Chaos Engineering & Complexity Science\r\n", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "739820", + "title": "Unlock Lightning-Fast Delivery: Mastering Software Craft for Unrivaled Success", + "description": "Break free from arbitrary workflows and flawed productivity metrics! Join me to discover the secret sauce behind high-performance software delivery.\r\n\r\nTraditional measurements of productivity are a recipe for disaster, focusing on output rather than outcomes. But what if you could measure the true drivers of delivery speed, stability, and quality? In this session, we'll delve into the practices that separate top-performing teams from the rest, including:\r\n\r\n* The art of breaking down work into actionable, meaningful tasks\r\n* Metrics that accurately capture both speed and stability (not just velocity or burn-down charts)\r\n* How to align your delivery processes with your organization's unique context and goals\r\n\r\nYou'll leave this session equipped with actionable insights to transform your team's productivity and unlock unparalleled success. Don't miss this opportunity to elevate your software craft and join the ranks of industry leaders!", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "0494255d-10a1-4ec1-8c00-b0881c434931", - "name": "Chris Corriere" + "id": "3c467866-b387-417c-acc3-0d06a2d64f3f", + "name": "Cody Frenzel" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -8799,53 +7775,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 39694, - "name": "Agile", + "id": 53138, + "name": "Architecture", "sessions": [ { - "id": "555341", - "title": "Refactoring AF (After Fowler): Some Large Refactoring Patterns", - "description": "Martin Fowler’s Refactoring: Improving the Design of Existing Code was first published in 1999. What have we learned since then about refactoring? What should we, as professional software developers, know before deciding to do a refactor on a legacy codebase? What is the thought process we need to apply when choosing a new design for existing code? This talk will delve into these questions with examples and humor.\r\n\r\nThe audience for this session is software developers and the people that interface with them (product owners, scrum masters, development managers) who need to know the value of this important and often neglected technical practice.\r\n\r\nAt the end of the session, the attendee will be able to plan a refactoring effort on legacy codebases, apply refactoring techniques beyond those listed in Fowler, and recognize accidental code complexity in large codebases.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "734821", + "title": "Documenting your architecture", + "description": "We've all learned that documenting your code is a good idea. But what about your architecture? What should we be thinking about when we document architecture? What tools and techniques can we reach for as we pursue this endeavor? Can we even make this a sustainable activity, or are we forever doomed to architectural documentation getting outdated before the ink is even dry? \r\n\r\nIn this session we will discuss a range of techniques that will not only help document your architecture, but even provide a mechanism to think about architecture upfront, and make it more predictable. You'll walk away armed with everything you need to know about documenting your current, and future architectures. ", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "83fd871a-3bbe-4d41-92a4-9443e7c66c5f", - "name": "Aaron McClennen" - }, - { - "id": "eaa23bbd-1207-432d-8c52-eed0035f0ddf", - "name": "M. Jeff Wilson" + "id": "d017112e-f5b1-4594-aee9-cdac1403e0f1", + "name": "Raju Gandhi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -8853,45 +7825,49 @@ "isConfirmed": true }, { - "id": "544499", - "title": "Battling your Biased Brain", - "description": "Ever heard of the IKEA effect or the bandwagon-effect? In our efforts to delivering great software, there are numerous occasions where our brain tries to trick us. Don’t fall for them!\r\n\r\nIn this talk we will dive into some well-known and researched cognitive biases that impact our judgments in our day-to-day jobs as software creators.\r\nWhen do they typically occur? And why are we falling into these traps from time to time?\r\n\r\nAfter this talk you'll have a better understanding of how your brain tricks you, how to make better decisions and in the end how to deliver some great software.\r\n\r\nA word of warning; during this talk you may get tricked!", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "755446", + "title": "Cache Smarter, Not Harder: A Practical Guide to Choosing the Best Caching Strategy", + "description": "In today's rapidly evolving digital landscape, ensuring application performance at scale requires efficient caching solutions. How can developers reduce latency, alleviate database load, and make the right architectural decisions to ensure scalability and cost-effectiveness? This talk offers a comprehensive overview of modern caching mechanisms, including in-memory, distributed, and hybrid solutions, with key technologies such as Redis, Memcached, Apache Ignite, and CDNs. \r\n\r\nParticipants will explore the fundamental principles behind these technologies and learn to navigate the trade-offs in scalability, data consistency, and performance. Through real-world use cases like session management, distributed data processing, and big data applications, this session provides actionable insights on how to select and integrate the most suitable caching mechanism for specific application demands.\r\n\r\nBy the end, attendees will walk away with a clear framework for evaluating caching solutions and practical strategies to optimize their architecture for high performance and scalability. ", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "719a72a0-c85f-476b-b9fc-23c4c816ca61", - "name": "Peter Wessels" + "id": "f7d03f66-8402-4926-ba4c-aade6a3f7817", + "name": "Medha Chakraborty" + }, + { + "id": "616f816d-a777-4392-a9cd-f93bf93ddab9", + "name": "Eswaran Rathinam" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -8899,45 +7875,49 @@ "isConfirmed": true }, { - "id": "600115", - "title": "Developer Experience is central to DevOps success", - "description": "Developer Experience (DX) is not just describing the \"frontend\" experience - it's about every aspect of the experience your developers (internal and external) have with your product, tooling, systems, etc. Platform engineering has emerged as this general way to remove developer toil, but DX is more than that, encompassing everything from deployment pipelines to IaC practices to developer efficiencies to even UI/UX. In this talk we will seek to bring into focus some of the principles of DevOps (collaboration, communication, shared responsibility) and how a strong DX mindset can bring Dev and Ops together. ", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "751195", + "title": "REST vs GraphQL vs gRPC", + "description": "For many years REST has been the only way to implement API-endpoints. However in recent years, we are seeing its limitations. GraphQL and gRPC have emerged to address these limitations, but they are not the silver bullet, they have their own shortcomings. What is the best way to implement an API endpoint? We will try to answer these questions in this session. We will look at industry examples to understand the Pros/Cons of each of them. We will have a live demo where we will be using these API styles to interact with an actual application.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "56115ae3-406f-47af-818c-20354acc07b2", - "name": "Jeremy Meiss" + "id": "0bf01427-5704-4bf4-9409-0087807eda9a", + "name": "Chetan Galgali" + }, + { + "id": "34b5127e-3fb1-4506-813a-3cd68f86bf22", + "name": "Ben Westmoreland" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -8945,101 +7925,165 @@ "isConfirmed": true }, { - "id": "557183", - "title": "Automated software refactoring with OpenRewrite and Generative AI", - "description": "The software industrial revolution has arrived. Software is now 80% open source and third-party\r\nand 20% proprietary code that stitches it together into business-critical applications. In these large and diversely composed codebases, dependencies change frequently at their own pace and security vulnerabilities can be introduced at any time by anyone. Not updating software regularly leads to critical bugs, performance, and security issues (plus your code can just get harder to work with!).\r\n\r\nMass code refactoring in these massive codebases is a multi-point operation that requires accuracy and consistency. It’s about affecting change across many individual cursor positions in thousands of repositories representing tens or hundreds of millions of lines of code. Whether you’re migrating frameworks or guarding against vulnerabilities, this requires coordination, tracking, and accuracy. \r\n\r\nThis is not a problem AI can solve alone. AI, like many humans, is not good at math and programming. AI needs a computer just like a human does.\r\n\r\nIn this talk, we’ll discuss automated code remediation with the deterministic OpenRewrite refactoring engine, a technology born at Netflix in 2016. It’s built on manipulating the Lossless Semantic Tree (LST) representation of code with recipes (programs) that result in 100% accurate style-preserving code transformations. It is a rule-based, authoritative system.\r\n\r\nThen we’ll show how to couple the precision of a rules-based system with the power of AI.\r\nWe'll demonstrate a generative AI procedure that samples source code to identify defects and uses OpenRewrite to fix them. This is a general purpose pattern you're going to start seeing a lot of — \"ChatGPT gets a computer\" (with OpenRewrite as the computer in this case).", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "763722", + "title": "Bootiful Spring Boot: A DOGumentary", + "description": "Spring Boot 3.x and Java 21 have arrived, making it an exciting time to be a Java developer! Join me, Josh Long (@starbuxman), as we dive into the future of Spring Boot with Java 21. Discover how to scale your applications and codebases effortlessly. We'll explore the robust Spring Boot ecosystem, featuring AI, modularity, seamless data access, and cutting-edge production optimizations like Project Loom's virtual threads, GraalVM, AppCDS, and more. Let's explore the latest-and-greatest in Spring Boot to build faster, more scalable, more efficient, more modular, more secure, and more intelligent systems and services.\r\n", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ac15c088-f8fe-44a8-9a82-3b92b39456e1", - "name": "Jonathan Schneider" - }, - { - "id": "b51a2283-5d04-438c-93a2-3474d6491c55", - "name": "Justine Gehring" + "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", + "name": "Josh Long" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true + }, + { + "id": "11fff9b0-51fd-42af-87c7-344e34bef6c2", + "title": "TBD", + "description": null, + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 53138, + "room": "Architecture", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false } ], "hasOnlyPlenumSessions": false }, { - "id": 42136, + "id": 53139, "name": "AI", "sessions": [ { - "id": "541466", - "title": "Contextual search with vector search: exploring your options with open source tools.", - "description": "Have you noticed the recent improvement in how our searches have become smarter? It's fascinating how vector search technology has enhanced our contextual search experience.\r\n\r\nThe underlying idea is quite straightforward. For example, let's consider an example of a movie recommendation system. The idea is to represent each movie in our catalog as a vector, a numerical representation of a piece of text.\r\n\r\nOnce we're done with that and also converted the search phrase into a vector, we step into a whole new realm — a multidimensional space where these vectors replace the original text values. Through some mathematical techniques, we can determine which movie representations are closest to the vector representing our search query!\r\n\r\nHow do we create such vector representations? We need an AI model trained on vast amounts of data to recognize patterns and effectively convert text phrases into vectors. \r\n\r\nAll of this you’ll learn in this session. We'll try out different data solutions - ClickHouse, OpenSearch and PGVector. We'll also explore different models available depending on your language preference and skills, or, in case you 'd rather not run the model locally, what APIs you can use to do data inference for free.\r\n\r\nPlenty of demos and a bit of coding for each of the options. This session will be useful for anyone who is intrigued by contextual search and usage of AI, but might find themselves overwhelmed by the complexities to get started.\r\n", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "771631", + "title": "Spring AI: Seamlessly Integrating AI into Your Enterprise Java Applications", + "description": "As artificial intelligence becomes increasingly important in enterprise software development, Java developers need practical ways to integrate AI capabilities into their applications. Spring AI provides a familiar and pragmatic approach to this challenge, allowing developers to incorporate AI features while leveraging the established patterns and practices of the Spring ecosystem.\r\n\r\nThis session demonstrates Spring AI's portable APIs that enable developers to switch seamlessly between different AI models and vector stores. We'll show how this abstraction layer allows you to write code once and run it with providers like OpenAI, Azure OpenAI, or local models, as well as vector stores such as Postgres, Chroma, or Weaviate.\r\n\r\nThrough live coding demonstrations, we'll showcase:\r\n* RAG (Retrieval-Augmented Generation) implementation using vector databases for intelligent document processing\r\n* Function Calling patterns that enable AI models to interact with your business logic\r\n* Evaluation techniques to measure LLM response accuracy and mitigate hallucination\r\n* Observability features to monitor your AI application's behavior in production\r\n", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "247ec778-0f81-4b84-b25d-48893a6302ad", + "name": "Mark Pollack" + }, + { + "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", + "name": "Josh Long" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290615, + "name": "Artificial Intelligence" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 53139, + "room": "AI", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": false + }, + { + "id": "753366", + "title": "Generative DevOps", + "description": "AI’s capabilities for software development through code generation have become well known, with 81% of devs reporting using a coding assistant. However, this shift in the way developers write software has implications across the software development lifecycle. This talk highlights the importance of leveraging AI across all of your DevOps process – not just code. We’ll look at some exciting new use cases for testing, monitoring and observability, and continuous deployments, as well as strategies for ensuring a successful approach to integrating AI into DevOps on your team.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "5ecff6ff-7704-433e-a38f-a057d05eacec", - "name": "Olena Kutsenko" + "id": "85becfa6-8765-4c3c-b805-e393ed3dd954", + "name": "Cecelia Martinez" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, @@ -9048,44 +8092,44 @@ "isConfirmed": true }, { - "id": "557732", - "title": "AI Proof Your Career With Software Architecture", - "description": "The rapid rise of AI tools such as ChatGPT, Bard, GitHub Copilot, and others has many developers worried about their careers, and whether these tools will replace programmers. This session will reassure those developers and provide some guidance on staying employable in the age of AI.\r\n\r\nWe will begin by looking at some areas in software development that are least likely to be impacted by AI, such as embedded software, fintech, legal systems, and avionics, but then we will concentrate on software design and architecture.\r\n\r\nYes, you can ask ChatGPT to write a REST API in Spring Boot with a JUnit test suite. But can you ask it to create an entire enterprise software system? With OpenID security, unit and integration tests, a deployment pipeline, management APIs, backup and rollover processes, an SLA of less than 100ms while supporting 100K concurrent users, providing localization for North American, South American, and European markets, handling PII (personally identifiable information), conform to Sarbanes-Oxley standards, and provide documentation? No. And probably not for the foreseeable future.\r\n\r\nWe will look at areas of software architecture and design to learn to provide job security. We will see how existing AI tools may coexist with human guided software architecture development. \r\n\r\nWe will wrap up with a brief look at ArchUnit - a library for testing the architecture of a Java application, and how it may be used to guide junior developers who use AI tools to generate the \"street level\" code in a project.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "746227", + "title": "Don't Call it a Comeback: SQL in Cloud AI and ML", + "description": "While Python and specialized ML libraries dominate the AI/ML landscape, SQL's simplicity and power remain invaluable for developers. This session will demonstrate how SQL seamlessly integrates with Google Cloud Platform's AI/ML tools, enabling developers to leverage their existing SQL skills for efficient data handling and model building. We'll cover techniques for data exploration, feature engineering, and model training directly within BigQuery, and showcase how to deploy and manage models at scale using Vertex AI's SQL interface. Through hands-on examples and code demonstrations, you'll gain practical insights into harnessing SQL's capabilities to streamline your Cloud AI/ML development process. ", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b765d60f-4717-4116-b9f2-002c8a10bd88", - "name": "Kelly Morrison" + "id": "6899d8db-4ad2-4599-934a-08d37dcc250e", + "name": "Amy Russ" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, @@ -9094,44 +8138,44 @@ "isConfirmed": true }, { - "id": "537786", - "title": "Building Intelligent Applications with ChatGPT", - "description": "As software engineers, we have the incredible opportunity to harness the power of ChatGPT to elevate our applications to new heights of interactivity and intelligence. Join this conference talk to dive into the world of the ChatGPT/OpenAI API and ChatGPT Plugins. Learn how to use the API in your Java projects and integrate your existing Java APIs into the ChatGPT UI. You'll learn to use ChatGPT's conversational capabilities and create innovative applications that understand, respond, and engage with users in natural language. Unleash the power of AI-driven interactions and take your applications to the next level.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "742963", + "title": "Modern Problems Require Modern Solutions: Finding Your Meme Twin with Embeddings & Vector Databases", + "description": "Do you look like a famous meme character? Does someone you know? Knowing this information is vital—both for your career and your personal life. After all, am I the only one around here who wants to avoid [Angry Walter](https://knowyourmeme.com/memes/am-i-the-only-one-around-here)? And who *wouldn't* want to work with [Success Kid](https://knowyourmeme.com/memes/success-kid-i-hate-sandcastles).\r\n\r\nBut can we even find out if we have a meme twin? There are lots of memes. And lots of people. How could we possibly search them all? Well, it's easier than you think if we turn those memes into embeddings and search them with a vector database!\r\n\r\nBut what's an embedding? And what's a vector database? Well, that's what I'll cover in this session. I'll begin by exploring embeddings, showing how unstructured data, such as text and images, can be translated into hyper-dimensional arrays—called vectors—using both common and custom AI models. Then I'll talk about vector databases, covering what they are and how you can use them to store and search those embeddings with embeddings of your own.\r\n\r\nOf course, we'll do this all by example. I've turned all the big memes—from [Ancient Aliens Guy](https://knowyourmeme.com/memes/ancient-aliens) to [Zombie Boy](https://imgflip.com/memegenerator/184608242/zombie-boy)—into embeddings and have loaded them into a vector database. I've built an application around these embeddings and that database. I'll show you the code and the queries of this application so that you can build something similar for yourself. And, most importantly, we'll take some photos during the session and use it all to find your meme twin!\r\n\r\nSo, are you ready to find your meme twin? Or are you ready to learn how to use this technology? I say, [Why Not Both](https://knowyourmeme.com/memes/why-not-both-why-dont-we-have-both).", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "140644c4-887a-4227-84e3-4f737ab9d428", - "name": "Kesha Williams" + "id": "520bf4ca-b2d3-47c3-8475-c25bb2b257f7", + "name": "Guy Royse" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, @@ -9140,44 +8184,48 @@ "isConfirmed": true }, { - "id": "537726", - "title": "Introducing Spring AI", - "description": "By now, you've no doubt noticed that Generative AI is making waves across many industries. In between all of the hype and doubt, there are several use cases for Generative AI in many software projects. Whether it be as simple as building a live chat to help your users or using AI to analyze data and provide recommendations, Generative AI is becoming a key piece of software architecture.\r\n\r\nSo how can you implement Generative AI in your projects? Let me introduce you to Spring AI.\r\n\r\nFor over two decades, the Spring Framework and its immense portfolio of projects has been making complex problems easy for Java developers. And now with the new Spring AI project, adding Generative AI to your Spring Boot projects couldn't be easier! Spring AI brings an AI client and templated prompting that handles all of the ceremony necessary to communicate with common AI APIs (such as OpenAI and Azure OpenAI). And with Spring Boot auto-configuration, you'll be able to get straight to the point of asking questions and getting answers your application needs.\r\n\r\nIn this session, we'll consider a handful of use cases for Generative AI and see how to implement them with Spring AI. We'll start simple, then build up to some more advanced uses of Spring AI that employ your application's own data when generating answers.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "825095", + "title": "Unlock the Power of Generative AI: Simplifying Ad Creation", + "description": "In this insightful session, Amazon Ads experts will unveil how they leverage generative AI technologies to revolutionize multimedia creation, and elevate the advertising creative process. Discover how Amazon Ads generates millions of images, videos, and ads across multiple channels, drastically simplifying the experience of building advertising campaigns. Deep dive in the generative AI inference processes which enable advertisers to create ad creatives in seconds, virtually at no cost. This session offers a deep dive into advanced generative AI inference use cases, technical best practices, and valuable lessons learned from research and serving thousands of customers.\r\n", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6baa8ae0-aa56-42e3-8ab8-6c511a55c2bc", - "name": "Craig Walls" + "id": "b1c4a924-b6db-453f-91d2-16b0fcf3bafd", + "name": "Nikhil Nanivadekar" + }, + { + "id": "9e911c91-495e-4dd3-a06a-0eaa3be9c3f7", + "name": "Garry Galinsky" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, @@ -9189,99 +8237,99 @@ "hasOnlyPlenumSessions": false }, { - "id": 42137, - "name": "Cloud Tech", + "id": 53140, + "name": "Cloud Native", "sessions": [ { - "id": "547437", - "title": "Unlocking Dramatic Savings: Optimize your App and Database Footprint with Serverless Java", - "description": "In the dynamic world of cloud-native apps, efficient microservices are crucial. This talk introduces a groundbreaking blend of serverless computing. Serverless architecture simplify containerized app deployment and scaling, letting developers focus on coding, not infrastructure. EclipseStore is a high-performance, in-memory data platform. This combination offers: 1) Seamless Scalability: Dynamic microservice scaling with Serverless optimizes resource use, minimizes overhead. 2) Data Efficiency: EclipseStore's in-memory data processing boosts data access speed, reduces latency. 3) Cost Savings: serverless computing cuts infrastructure costs, eliminates server management. EclipseStore eliminates data storage costs.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "751398", + "title": "Supercharge Agentic AI Projects: A DevEx-Driven Approach to Cloud-Native Scaffolding", + "description": "In the rapidly evolving landscape of artificial intelligence, agentic AI has emerged as a powerful paradigm for creating intelligent agents capable of interacting with the real world. However, building and deploying such agents can be a complex and time-consuming process. This demo-driven talk will introduce a new approach to cloud-native scaffolding using software templates that significantly simplify the development of agentic AI projects, providing a streamlined and efficient experience for app developers.\r\n\r\nThrough a series of live demonstrations, attendees will witness firsthand how this innovative scaffolding framework can accelerate the development lifecycle of agentic AI applications. We will explore key features such as automated code generation, pre-configured infrastructure, and integration with popular AI libraries, demonstrating how these tools can save developers valuable time and effort.\r\n\r\nBy the end of this talk, participants will have a clear understanding of how this new approach to cloud-native scaffolding can revolutionize the development of agentic AI projects. They will be equipped with the knowledge and practical skills needed to build intelligent agents more efficiently and effectively, driving innovation in the field of artificial intelligence.\r\n", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f465d18e-ff85-47b9-9997-f00a602ac48d", - "name": "Markus Kett" + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" }, { - "id": "c53d0ee3-4ee1-4a19-ac0a-26a38a4c43af", - "name": "Richard Fichtner" + "id": "b9f343b4-5370-4839-bd53-572b0322882e", + "name": "James Falkner" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { - "id": "603870", - "title": "Real-Time Dashboards in the Corporate World: How Apache Pinot® Powers Industry Leaders", - "description": "This isn't your typical tech talk—it's a story of the journey into how big players like LinkedIn, Uber Eats, and Stripe are mastering the art of real-time data.\r\nViktor is here to demystify Apache Pinot's superpowers, showing you how it instantly transforms mountains of data into actionable insights. Business decision-makers have long had access to dashboards and reports, but now analytics can be made available to users as features of stickier, more engaging applications. With stories, insights, and a touch of humor, Viktor will unpack the cool features of Apache Pinot, including the Star-Tree Index, and show you why it’s a game-changer in data strategy.\r\nThis session is for everyone, whether you're a data geek, a business guru, or just curious about the future of tech. Viktor's dynamic style will keep you on the edge of your seat, eager to put these insights into action. So, buckle up and get ready to be wowed by the power of real-time analytics with Apache Pinot – it will be a blast!", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "770490", + "title": "Shield your Java code: Practical guides for trusted software", + "description": "In today's interconnected software landscape, securing your Java code is paramount to protecting your organization's assets and reputation. This session will delve into practical strategies for building trusted Java applications, focusing on the critical aspects of the software supply chain. We will explore best practices for vulnerability management, dependency analysis, secure coding practices, and effective security testing methodologies. Discover how to identify and mitigate common vulnerabilities, protect your applications from external threats, and ensure the integrity of your software development process. By the end of this session, you will have a comprehensive understanding of the essential steps to shield your Java code and build resilient, secure applications.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4f858987-1a60-4da8-a4a2-045824a496c7", - "name": "Viktor Gamov" + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -9289,45 +8337,95 @@ "isConfirmed": true }, { - "id": "549984", - "title": "Your Cloud-Native Toolbox for Java", - "description": "What does it mean to have cloud-native Java applications? What do you need to think about to be a good Cloud citizen?\r\n\r\nIt is not about the platform you run it on or the library/framework you want to use. It is about how you build scalable, observable, resilient applications while keeping in mind the application architecture, containers, builds, testing, automation, and standards.\r\n\r\nJoin us in exploring different tools for creating cloud-native Java apps. We will go through the whole life-cycle of an application – from the first lines of code to a fully operational and containerized application.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "750111", + "title": "Test-Driven Development: It's easier than you think!", + "description": "Everyone loves writing tests, don’t they? How do you write good tests? What tools are available for you to write good tests?\r\n\r\nIn this session, I will dive into the many features of Quarkus that help developers write good tests. I will highlight some of the features of Quarkus, Dev Services and Continuous Testing, which help make testing easier. Additionally, I will live code some tests for common use cases developers encounter, including unit, integration, and “black box” testing of imperative and reactive RESTful and event-driven applications that use common services, such as databases and Kafka brokers. I will discuss techniques such as mocking, spying, and interaction-based testing/verification.\r\n\r\nI'll even spend some time showing how IDE-based AI assistants can help!\r\n\r\nOnce you see how easy TDD really can be there isn't a reason to not do it!", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ad998165-d26a-4c98-8aac-ee60a16c638a", - "name": "Rustam Mehmandarov" + "id": "6f672350-1c71-4a6e-a382-2b1db6e631fd", + "name": "Eric Deandrea" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 53140, + "room": "Cloud Native", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + { + "id": "750788", + "title": "ML Ops for Java Developers: A Hands-On Guide with Kubeflow and Quarkus", + "description": "Machine learning is becoming a must-have skill in today's world. But do Java developers know how an ML Ops platform works under the hood? Do they know the best practices for integrating ML models into their Java applications?\r\nThis session is your go-to guide for understanding how ML Ops works and the best practices for consuming it within the Java ecosystem. We'll explore how Kubeflow, a powerful ML platform, simplifies the entire machine learning lifecycle—from model training to serving at scale. You’ll also discover how Quarkus, the Kubernetes-native Java framework, can efficiently deploy these models, making them easy to consume within your Java applications.\r\nDon’t miss this chance to elevate your Java skills and dive into the future of ML Ops. Join us and learn how to integrate machine learning into your Java projects with Kubeflow and Quarkus. Your journey to becoming a Java ML Ops expert starts here! \r\n", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "ac4674f3-5f5f-4b2c-ad7f-01073acf6b0f", + "name": "Eder Ignatowicz" + }, + { + "id": "058c3cdc-0607-4437-81bb-07a1aed5d05c", + "name": "Elder Moraes" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -9335,194 +8433,198 @@ "isConfirmed": true }, { - "id": "557373", - "title": "Wiring Cloud Native applications for local development", - "description": "Despite the quality of modern cloud-native tools, the user experience for the inner and outer loops are still radically different, which introduces friction and slows down developer productivity. \r\n\r\nDevelopment setups are application-centric, while production environments deal with deployments and tools required for operations teams to keep applications up and running. In this session, we explore tools to simplify both sides to improve developer productivity by following a platform engineering and polyglot approach. \r\n\r\nThis session demonstrates and provides hands-on experience on:\r\nHow to enable developers with standard application-level APIs to solve common distributed application challenges by using Dapr.\r\nHow to equip developers and product managers with consistent and polyglot feature flags with OpenFeature.\r\nAnd how to develop locally with these tools, outside of a Kubernetes Cluster, by using Testcontainers. \r\n", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "743625", + "title": "Platform Engineering 101: Building Internal Developer Platforms", + "description": "Tell us what you want, what you really, really want… Developer productivity and reduced cognitive load, of course!\r\n\r\nIn our world of cloud-native Java development and shift-left mentality, developers are now drowning! They have an endless flood of tasks and responsibilities on their shoulders, whilst battling an ever-increasing sea of potential technologies and tools to use. Change is needed! So, build a dam with us through platform engineering and IDPs.\r\n\r\nIn this workshop, we’ll explore the concepts of platform engineering and Internal Developer Platforms (IDPs) and how they can help to relieve the cognitive load on developers, help to standardize technologies and tools used throughout an organization, streamline CI/CD pipelines and in essence enable greater developer productivity. We’ll investigate how this can all be achieved in the cloud, with example applications running in OpenShift, with Red Hat Developer Hub as the basis of our IDP. Throughout this workshop, you’ll learn how to utilize Red Hat Developer Hub, an implementation of the Backstage CNCF project, to create an IDP and then how this can be shared with development teams to enable rapid, easy deployment of their applications. We’ll demo this with a range of technologies, runtimes and tools to really showcase just how flexible and personalised these IDPs can be to your own organization and application needs.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "3ef92880-b80a-4305-b75c-35650d1259c8", - "name": "Oleg Šelajev" - }, - { - "id": "f44f5308-1287-4e6c-8f48-6ed26ea9f9d3", - "name": "Mauricio \"Salaboy\" Salatino" + "id": "7c534296-8db5-4452-b17f-9249465ea914", + "name": "Grace Jansen" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - }, + } + ], + "hasOnlyPlenumSessions": false + }, + { + "id": 58711, + "name": "Cloud Tech", + "sessions": [ { - "id": "557699", - "title": "Not a Kubernetes fan? The state of PaaS in 2024", - "description": "Kubernetes won the containers orchestration war. But has it made deploying your apps easier?\r\nLet's explore some of Kubernetes extensive app developer tooling, but mainly what the PaaS space looks like in 2024; 17 years after Heroku made it popular.\r\nIs Heroku still around? What about Cloud Foundry? \r\nAnd what are those new comers (fly.io, repl.it) worth?\r\nDid the Cloud giants replace them all?", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "750836", + "title": "AMP-ing Your Java with AArch64/Arm64 Servers", + "description": "\r\nAs the world of server architecture evolves, ARM64 servers are becoming increasingly prominent in the data center and cloud environments. This session explores how Java applications can leverage the performance and efficiency benefits of ARM64 servers.\r\n\r\nJoin us as we dive into:\r\n\r\nIntroduction to ARM64 Architecture: Understand the key features of ARM64 and why it’s gaining traction in modern server environments.\r\n\r\nJava on ARM64: Discover how the Java Virtual Machine (JVM) performs on ARM64 servers and what optimizations are available.\r\n\r\nPerformance Tuning: Learn practical tips and techniques to fine-tune your Java applications for ARM64, including JIT compiler settings and garbage collection adjustments.\r\n\r\nCase Studies and Real-World Examples: Hear about successful migrations and performance improvements from organizations that have embraced ARM64 for their Java workloads.\r\nFuture Trends: Explore upcoming advancements in ARM64 architecture and how they might impact Java development.\r\n\r\nThis talk is ideal for Java developers, system administrators, and DevOps professionals looking to harness the power of ARM64 servers and optimize their applications for the future. Whether you’re considering a transition to ARM64 or simply curious about its benefits, this session will provide valuable insights and practical guidance.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "781d5601-1f81-4d31-940c-e54f12b2de6b", - "name": "Anthony Dahanne" + "id": "bceafbd1-53f7-4888-a891-72955eab9077", + "name": "Aaron Williams" + }, + { + "id": "f9e44c9c-823d-47dc-9853-924dcb375b96", + "name": "Dave Neary" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, + "id": 290605, "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, + "roomId": 58711, "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - } - ], - "hasOnlyPlenumSessions": false - }, - { - "id": 42139, - "name": "Core Java", - "sessions": [ + }, { - "id": "539216", - "title": "Loom is more than virtual threads: Structured Concurrency and Scoped Values", - "description": "Most of the talk about Project Loom as been about JEP 425: Virtual Threads. That's great because virtual threads are incredibly useful and will revolutionize how we write high-throughput applications. But did you know there are two more JEPs associated with Project Loom that are also very useful? First we'll learn about JEP 428: Structured Concurrency and how it will simplify multithreaded programming on the JVM. Next, we'll learn about JEP 429: Scoped Values which aims to solve some problems that ThreadLocals have had since their introduction way back in Java 1.2! Come to this talk and we'll learn why these projects are useful additions to the JVM, and write some code to illustrate where you'll be able to use them effectively. ", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "750567", + "title": "Are you crazy? hosting 25 years old java code on a brand-new cloud?", + "description": "Hosting legacy Java code on a modern cloud platform poses unique challenges. The age gap between the legacy code and the cutting-edge cloud environment requires careful consideration of compatibility, capability, performance, debuggability, observability, and security. If we are looking for a first-class cloud-native experience, then we need to focus on re-architecting, refactoring, and retargeting the code. On a positive note, this process provides an opportunity to enhance the system’s scalability, resilience, and maintainability using the latest cloud technologies. Enter application modernization! This session presents a practical approach to bridging the gap between legacy systems and modern execution environments. Attendees will learn not only best practices around application modernisation but also gain insights into how this approach turns challenges into opportunities for innovation, resulting in a more agile, scalable, and future-proof system.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "172a6669-38c5-46ec-b262-3290e8aa41e3", - "name": "Todd Ginsberg" + "id": "40bb5fa8-ff71-437e-b3e6-49189208e664", + "name": "Elsa Zacharia" + }, + { + "id": "06008a63-f49b-451e-b0ae-44ccaf9bf0cc", + "name": "Akula Harshitha" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, { - "id": "557560", - "title": "Just-in-time Compilation Isn’t Magic", - "description": "Just-in-time Compilation Isn’t Magic\r\n\r\nFortunately for most Java developers the just-in-time compiler just works and appears to work by magic. And yet sometimes, we find ourselves facing a performance problem, so what do we when the magic stops?\r\n\r\nIn this talk, we’ll learn a few key concepts behind the magic of modern optimizing compilers: intrinsics, basic blocks, static single assignment, and inlining. By the learning these concepts, you’ll learn to save time not trying to optimize the things that the compiler can already do for you and focus on things that matter most.\r\n", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "753141", + "title": "Optimize cold starts for Java functions using AWS Lambda SnapStart", + "description": "In this session, we will explore advanced techniques for optimizing cold starts in Java functions using AWS Lambda SnapStart. Cold starts, a common challenge in serverless architectures, can significantly impact the performance and responsiveness of Java applications. AWS Lambda SnapStart offers a robust solution by creating snapshots of function execution environments, which can be quickly restored during function invocations. This session will delve into the mechanics of Lambda SnapStart, highlighting how it reduces initialization times. Attendees will gain practical insights into configuring SnapStart for Java functions and best practices for minimizing latency. Whether you are a developer, architect, or DevOps engineer, this session will equip you with the knowledge to leverage AWS Lambda SnapStart for seamless and efficient serverless applications.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d0e56066-fb6c-4d1f-a65c-2c7b71ede47c", - "name": "Douglas Hawkins" + "id": "f309415d-e050-4c6a-912e-55030a999d12", + "name": "Abel Fresnillo Silva" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -9530,45 +8632,45 @@ "isConfirmed": true }, { - "id": "577478", - "title": "Choose Your Own Performance; a Project Leyden Update!", - "description": "Project Leyden allows developers to selectively improve startup time, time to peak performance, and the footprint of Java programs, by doubling down on Java's super power of speculative optimization using capabilities built directly into the JDK. See how speculative optimizations allow AOT (ahead-of-time compilation) code to make tradeoffs between Java's static and dynamic nature as well as how new tools like Condensers and ComputedConstants may play role in further improvements.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "733495", + "title": "Crafting the Ultimate Docker Image for Spring Applications", + "description": "Docker is the cornerstone of today's development! Let's overview quickly how we use it in JVM development, and then transition to practical examples. We will start with a simple Docker image containing a popular \"one fat JAR\" and look into its downsides (deployment speed, traffic volume). To address them, we will discuss the strategy of splitting the JAR into multiple layers and using multistage Dockerfiles, gradually improving our image. Join me to learn how to build the ultimate Docker image for Spring applications.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "00018bec-730b-4775-bfb5-67cb589c7042", - "name": "Dan Heidinga" + "id": "c77a2591-3a95-4285-ab0e-c06aae180730", + "name": "Pasha Finkelshteyn" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -9576,144 +8678,148 @@ "isConfirmed": true }, { - "id": "557266", - "title": "What is Looming in Java", - "description": "In the evolving landscape of software development, Java continues to be a stalwart choice for building reliable, scalable, and performant applications. The language and its ecosystem have evolved, incorporating modern paradigms and tools that cater specifically to the needs of high-scale applications. In JDK 21, java released Virtual Thread, which is known as Project Loom.\r\n\r\nProject Loom introduces lightweight and efficient virtual threads called fibers, massively increasing resource efficiency while preserving the same simple thread abstraction for developers. In this talk we will introduce how Fibers can reduce the effort of developing and managing high throughput applications. We’ll take a quick peak at asynchronous coding styles, and then look at how Loom fits in today’s Java applications.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "751799", + "title": "Java and the Internet of Things", + "description": "Java is the powerhouse of enterprise app development, but it's also a player in the world of connected devices. Today's active projects include deep sea fleet management, healthcare interoperability, environmental management, smart home devices, and more.\r\n\r\nIn this session, we present a brief survey of the role of Java in IoT applications. Then, we demonstrate the principles of IoT development with live coding and physical devices. (Yes, we have props!) If the Internet behaves itself, we show you how devices use the cloud to communicate with one another.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f7d03f66-8402-4926-ba4c-aade6a3f7817", - "name": "Medha Chakraborty" + "id": "4c3fdc08-0216-46a1-a36f-a1b6abe6315f", + "name": "Barry Burd" + }, + { + "id": "c53d0ee3-4ee1-4a19-ac0a-26a38a4c43af", + "name": "Richard Fichtner" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - }, + } + ], + "hasOnlyPlenumSessions": false + }, + { + "id": 58701, + "name": "Core Java", + "sessions": [ { - "id": "547157", - "title": "Preparing for the Java 21 cert and learning new features", - "description": "Looking to learn about features in the language added after Java 17 in more detail? As programmers we are used to dealing with edge cases. But what about edge cases in the language? As certification book authors, we encounter lots of interesting and/or surprising behavior. After a brief overview of the cert, we will explain these features and walk through lots of tricky questions. Come to this session and walk away with an increased awareness in these Java topics.", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "738256", + "title": "We hate code - The !joy of maintaining dead code", + "description": "Disclaimer: If you love to maintain legacy code than this session is not for you. \r\nYou probably know the hassle of maintaining code that was written long time before you entered the project or company. Often the developers who wrote it are not even in the company anymore. So how do you know if the code is still used? Often you simply don’t know and so you take the code with you…from one release to another…and the codebase is growing.\r\nThis session will give you an idea about what you can do to get rid of legacy code. Which tools are available and how they can help you to male your life easier.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6631e69f-25c4-47db-9fb2-08576a460048", - "name": "Jeanne Boyarsky" + "id": "71f3abf1-03cf-458b-b385-e10fd110e89a", + "name": "Gerrit Grunwald" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, + "id": 290606, "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, + "roomId": 58701, "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - } - ], - "hasOnlyPlenumSessions": false - }, - { - "id": 42140, - "name": "Frameworks", - "sessions": [ + }, { - "id": "567652", - "title": "Crossing The Streams - leveraging Pulsar IO + Pulsar Functions together with Spring Cloud Stream", - "description": "Apache® Pulsar™ is an open-source, distributed messaging and streaming platform built for the cloud. It provides Pulsar Functions and Pulsar IO connectors which can be leveraged to build Pulsar message processing applications.\r\nSpring Cloud Stream is a framework for building message-driven micro-service applications. It provides a Pulsar binder implementation that can be used to build Pulsar message-processing applications.\r\nBoth of these solutions share a high degree of feature overlap and either could be used to solve the same problem. However, it need not be an ‘either-or’ proposition, they can actually be used in tandem.\r\nIn this talk, we will demonstrate Pulsar Functions and Pulsar IO connectors and show how Spring for Apache Pulsar simplifies their usage. We will also show how to use the Spring Cloud Stream Pulsar Binder in your application. Finally, we will “cross the streams” and leverage these technologies together to build a Pulsar message processing application.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "750629", + "title": "Unveiling the Magical Power of Java Virtual Threads", + "description": "Thread-per-request programming limits application scalability, leading developers to adopt thread sharing and asynchronous programming to better utilize hardware, though this introduces additional complexity. Creating reactive pipelines, debugging them, and visualizing their execution can be complicated tasks, compounded by the complexities that arise when exceptions occur.\r\nJava Virtual Threads enable applications to scale while preserving the thread-per-request style programming. Just as operating systems create the illusion of abundant memory by mapping a large virtual address space to limited physical RAM, a Java runtime can create the illusion of many threads by mapping numerous virtual threads to a few OS threads.\r\nLet's explore Java virtual threads, including how they work under the hood, their use cases, and the APIs introduced by Project Loom. We'll also compare traditional threads with virtual threads through a simple programming example to see their benefits in action.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "974e24f5-044f-4552-a362-fdefd445dabc", - "name": "Chris Bono" + "id": "912ee409-63c5-40c5-82ec-aabe804f526c", + "name": "Anamika Roychowdhury" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -9721,45 +8827,45 @@ "isConfirmed": true }, { - "id": "556029", - "title": "Bootiful Spring Boot 3.x", - "description": "Spring Framework 6.x and Spring Boot 3.x are almost here and you know what that means? New .jars! And also new baselines and new possibilities! Spring Framework implies a Java 17 and Jakarta EE baseline, and offers new support for building GraalVM-native images. It also offers a new observability layer, an amalgamation of some of the work in the Micrometer project and Spring Cloud Sleuth. Spring Boot 3 builds upon all of this, and integrates all of this into our application. Join me, Spring Developer Advocate Josh Long (@starbuxman), and we'll look at next-gen Spring and learn why, with Spring taken together with Java 21, there's never been a better time to Java developer.\r\n\r\n", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "758773", + "title": "Testing Your Way to Production Confidence with Native Images", + "description": "For Spring developers, GraalVM native images offer exciting potential: smaller footprint, faster startup, and improved performance. However, confidently deploying these images requires verifying they produce the same results as your JVM-based application. This talk shares a practical pattern for testing Spring Boot native images, ensuring a smooth transition from development to production.\r\n\r\nKey Takeaways:\r\n\r\n- Leveraging Testcontainers for external resource validation: Learn how to use Testcontainers to ensure your native image interacts seamlessly with external systems like databases, queues, and caches.\r\n\r\n-Testing native images with RestAssured: See how to use the same RestAssured tests against both your JVM and native image builds, guaranteeing functional parity.\r\n\r\n- Efficient testing strategy: Learn how to save time and resources by focusing native image testing in your CICD pipeline, while ensuring confidence through earlier-stage validations.\r\n\r\nJoin this talk to gain practical insights and a step-by-step approach for testing Spring Boot native images with confidence. Feel the freedom to deploy with performance gains without sacrificing reliability.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", - "name": "Josh Long" + "id": "345b7e02-c223-49a0-875d-0a3502ee2e82", + "name": "DaShaun Carter" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -9767,45 +8873,45 @@ "isConfirmed": true }, { - "id": "551464", - "title": "Spring off the HTTP High Dive into an Optimized Connection Pool", - "description": "In this session, I will explore different Spring libraries used for HTTP calls like RestTemplate, WebClient, and RestClient-which is a new feature in Spring Framework 6.1. I’ll then dive into the multitude of settings that are available along with what defaults are present when nothing is given, focusing in on connection pool settings. I’ll use observability tools and logs to show what’s happening under the covers and showcase some gotchas for things like TTL settings and DNS caching. ", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "753038", + "title": "Testing Legacy Code & Refactoring Patterns", + "description": "Our jobs don't deal with new code, but old crufty and evil code. How do we test such code? How do we get through it? How can we surgically remove some of this harmful code and make it testable? How can we move away from excessive mocking?\r\n\r\nThis presentation looks at harmful code and discusses some strategies we can use to diagnose, test, apply, and finally refactor to produce something that promotes some sanity in your development process. The content of this course is all in Java and Junit. We discuss the following maneuvers:\r\n\r\n* Extract Delegate\r\n* Extract Interface\r\n* Parameterize Method\r\n* Parameterize Constructor\r\n* Sprout Method and Class\r\n* Wrap Method and Class\r\n", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "c5adff32-ef90-48f3-b1ef-14fcd2d9132c", - "name": "John Coyne" + "id": "6f19875d-369e-4b4f-a1f7-2d93725ab36d", + "name": "Daniel Hinojosa" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -9813,45 +8919,45 @@ "isConfirmed": true }, { - "id": "551429", - "title": "Build next generation Big Data applications with Delta Lake", - "description": " Delta Lake (https://delta.io/) is an open-source storage framework that enables building a Lakehouse architecture with compute engines including Spark and also APIs for Scala/Java, Python and Rust. A Lakehouse is a modern data architecture that reimagines data warehouses in response to the availability of affordable and highly reliable storage solutions. \r\n\r\n Delta Lake provides key benefits and will fit perfectly in your Big Data architecture:\r\n - ACID Transactions\r\n - Schema Evolution\r\n - Time Travel\r\n - Audit History\r\n - Handle petabyte-scale tables\r\n - Platform Agnostic (Cloud, On-prem, or locally)\r\n - DML operations through its SQL and Spark API \r\n\r\n \r\n\r\n In this presentation, I will provide an introduction to Delta Lake, explaining how it works, and its key features and benefits. Whether you're a data scientist, data engineer, or business analyst, this session is for you.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "736664", + "title": "Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode", + "description": "In this session, we will explore the intricate details of Java class files beyond the commonly discussed bytecode. A key focus will be on the invokedynamic instruction and the attributes that enable its advanced capabilities, such as facilitating lambda expressions and optimizing string concatenation. We will also delve into the nestmates feature, which streamlines the interaction between outer and inner classes, enhancing both performance and flexibility in class file structure. Whether you are a seasoned Java developer or new to understanding the depths of the JVM, this session will provide valuable insights into the hidden layers of Java class files.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "10246aaa-5ac0-4a8c-b0f5-0c4d69e54ca1", - "name": "Theo Lebrun" + "id": "4d09d817-b315-488f-8d98-5a18d68ab18f", + "name": "Koichi Sakata" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -9862,49 +8968,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 42141, - "name": "Java Platform", + "id": 58702, + "name": "Frameworks", "sessions": [ { - "id": "555595", - "title": "Keeping Your Java Hot by Solving the JVM Warmup Problem", - "description": "Java bytecodes and class files deliver on the original vision of “write once, run anywhere”. Using a Just-in-Time (JIT) compiler allows JVM-based applications to compile only the code that’s being used frequently and optimise it precisely for how it is being used. Using techniques like speculative optimisation can often deliver better performance than static, Ahead-of-Time (AOT) compiled code.\r\n\r\nHowever, this flexibility and performance comes at a cost. Each time the JVM starts an application, it must perform the same analysis to find hot spots of code and compile them. This is referred to as the application warmup time.\r\n\r\nIn this session, we’ll look at several approaches to how this problem can be alleviated or even eliminated. Specifically:\r\n\r\n•\tGenerating a JIT compiler profile of a running, warmed-up application that can be reused when the same application is restarted, eliminating the need for much of the JIT compilation.\r\n•\tDecoupling the JIT compiler from the JVM for a Cloud environment. Providing a centralised JIT-as-a-Service allows caching of compiled code and offloading the compilation work when new code must be compiled.\r\n•\tCreating a checkpoint of a running application. This includes all application state (heap, stack, etc.) in addition to the JIT-compiled code. Project CRaC will be used as an example.\r\n\r\nAt the end of the session, you’ll be all set to keep your Java hot!\r\n", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "779565", + "title": "Spring Batch 5.2 and beyond: What's new and what's coming next", + "description": "Spring Batch 5.2 has been out for 6 months by now, and Spring Batch 6.0 will be out in 6 months from now.. What a great time to get an update of the current status of the project and what's coming next!\r\n\r\nThis talk walks you through all the new features introduced in Spring Batch 5.2 and what the team is planning to work on for the next generation of the framework.\r\n\r\nIf you use Spring Batch in some capacity, this talk is a must-see to get an update on the current state of things and how to prepare the upgrade to the next major version.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "709043d1-5754-4459-a8d5-6dd2f5619874", - "name": "Simon Ritter" + "id": "b7081806-6f1d-4d53-803a-b5f7ecabc1b0", + "name": "Mahmoud Ben Hassine" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -9912,45 +9018,45 @@ "isConfirmed": true }, { - "id": "549597", - "title": "Cache Me If You Can: Speed Up Your JVM With Project Valhalla", - "description": "OpenJDK’s Project Valhalla is set to revolutionize how the JVM handles data objects in memory. By bringing the characteristics of primitives to Java objects and classes you’ll see denser memory layouts that can lead to many advantages such as improved cache performance and a smaller memory footprint.\r\nThis talk offers an exploration of Valhalla's objectives, progress, and its potential impact on the Java ecosystem with examples throughout. Come discover how Project Valhalla is on the verge of reshaping the landscape of Java, paving the way for a more efficient and high-performing future.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "800031", + "title": "Building Scalable Systems and Services with Spring Boot 3.4 ", + "description": "Hi, Spring fans! In this installment we're going to look at how to build scalable systems and services using the amazing Spring Boot 3.4 release and all the umbrella projects that accompany it. \r\n\r\nWe'll look at the basics - a sort of desk check for the wayward Spring developer - to ensure that development itself is scalable when using Spring.\r\n\r\nWe'll look at the basics of data access and web programming with Spring. We'll look at data processing strategies, too.\r\n\r\nWe'll look at how to build modular, intelligent applications with Spring Modulith and Spring AI. \r\n\r\nWe'll look at how to build messaging and integration into our system. \r\n\r\nWe'll look at how to integrate security into the system, making passwords safe and then - ideally - avoiding them altogether. \r\n\r\nAnd we'll look at scaling and optimizing Spring applications, too. \r\n\r\nProduction is the happiest place on earth! Join me for this workshop and we'll learn how to get there with aplomb. ", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "5b876b41-adcf-4322-ade7-e55aaf1d004e", - "name": "Theresa Mammarella" + "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", + "name": "Josh Long" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, - "name": "session" + "id": 290620, + "name": "workshop" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -9958,91 +9064,95 @@ "isConfirmed": true }, { - "id": "557746", - "title": "What Time Is It, Anyway? A Practical Guide To Using Dates And Times Correctly In Java", - "description": "The most poorly understood and incorrectly used APIs in Java that I have seen in my years as a consultant at multiple companies is the Java Date-Time APIs. Even though the APIs were introduced 10 years ago in Java 8, I still see programmers using the older Date class, I've seen horrific misuse of the Java 8 Date Time APIs, and I have had to correct issues with both production code and test code due to fundamental understandings of the APIs. This presentation gives a crash course into the proper use of the Java Date-Time APIs, why they are needed, and how (and when) to properly apply them.\r\n\r\nAttendees will learn the basics of how to properly specify a date and time in Java. They will learn when to use local date/times and when to use zoned date/times. They will be introduced to ISO 8601 and see how to properly parse and format dates in a thread safe manner. The use of ZoneIds and OffsetDateTimes will be explained. Attendees will learn to use the Period and Duration classes to calculate the difference between two dates or times. Finally, some pointers will be given on properly using dates and times in unit tests.\r\n\r\nThe goal for this presentation is for attendees to be able to confidently and correctly use dates and times in Java instead of blindly copying and pasting code from the Internet.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "759124", + "title": "The Overwhelmed Spring Developer's Guide To AI", + "description": "What is the antidote when a Spring developer hears you hear, “Hey, can you just add some AI to that?” Can you leverage the tools you’ve been using for years to help us build this solution? This talk strips away the jargon and intimidation, offering a no-nonsense path to integrating AI into your Spring applications utilizing Spring tools like Spring Boot, Spring Batch, and Spring Pulsar to help you to populate your favorite vector store with the data necessary help reduce those pesky hallucinations provided for free from our favorite AI models. ", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b765d60f-4717-4116-b9f2-002c8a10bd88", - "name": "Kelly Morrison" + "id": "25b4a764-0ab3-4a6b-b7b6-8e5f5d46dfc6", + "name": "Glenn Renfro" + }, + { + "id": "974e24f5-044f-4552-a362-fdefd445dabc", + "name": "Chris Bono" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, { - "id": "557568", - "title": "Modern Testing Tools for Java Developers", - "description": "New versions of the API framework appear, adding the last trending and here we go again: changing our code to adopt these new things. How awesome it is! We are improving!\r\n\r\nHow about one of the most important and, sometimes, missed things: quality! How the quality evolves within the adoption of new versions of development frameworks and libraries?\r\n\r\nThis talk will show you 5 libraries you can use, as a Java Developer, to improve the application quality with real-world examples.\r\n\r\nAssertJ will give you infinity assertion possibilities compared to JUnit internals and Hamcrest matches, enabling you to easily use any kind of assertion, even creating your own.\r\n\r\nYou will learn how to use these tools with real-world examples!\r\n\r\nPiTest will increase, even more, the coverage of your tests by applying the mutation testing technique and creating bullet-proof unit tests.\r\n\r\nRestAssured will take your API tests to the next level where, using it as a \"hard user\", can ease the test creation based on an OpenAPI specification.\r\n\r\nAwaitability will solve one of the biggest problems in the API tests: asynchronous calls/messages (mainly in a messaging system). We will be able to wait for the request to be completed to assert any result.\r\n\r\nWiremock will give you the ability not only restricted as a mock solution for your unit and integration test but as a service virtualization tool solving common problems in an integrated environment.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "734869", + "title": "BoxLang - The Future is Dynamic", + "description": "Just like life, our code must evolve to meet the demands of an ever-changing world. Adaptability is key in developing for the web, tablets, APIs, or serverless applications. Multi-runtime development is the future, and that future is dynamic. Enter BoxLang: Dynamic. Modular. Productive. (www.boxlang.io)\r\n\r\nBoxLang transforms development with its dynamic design, enabling developers to write expressive, functional code effortlessly. Its modular architecture ensures flexibility, allowing easy integration into your existing ecosystems.\r\n\r\nInteroperability at Its Core\r\n\r\nBoxLang boasts 100% interoperability with Java, seamlessly blending traditional and modern development practices. This opens up new possibilities for innovation and collaboration.\r\n\r\nMulti-Runtime Versatility\r\n\r\nFrom a compact 6MB OS binary to running on our pure Java web server, CommandBox, Jakarta EE, AWS Lambda, Microsoft Functions, WebAssembly, Android, and more, BoxLang is designed to adapt to any runtime environment. BoxLang combines modern features from CFML, Node, Ruby, Kotlin, Java, and Clojure with the familiarity of Java bytecode compilation. This makes it the go-to language for developers looking to the future while building a solid foundation.\r\n\r\nEmpowering Creativity with IDE Tools\r\n\r\nUnlock your creative potential with powerful IDE tools designed for BoxLang, offering an intuitive development experience that streamlines your workflow. Join us as we redefine JVM development and step into the era of BoxLang. Welcome to the future.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f914323b-f3ba-4de7-9069-28974d1c9137", - "name": "Elias Nogueira" + "id": "01ad1e48-e43b-4af2-b3f3-e65232d55ff1", + "name": "Luis Majano" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10050,45 +9160,45 @@ "isConfirmed": true }, { - "id": "557363", - "title": "The future of Java runs on Arm", - "description": "Java and Arm have always gone together, from the very early days all the way through the smartphone revolution. Now with Arm64 CPUs taking over the cloud and datacenter, keeping Java performant on this architecture is more important than ever. In this talk we will look at the various optimizations being made to Core Java, JITs and the rest of the Java Platform to take advantage of advances in the Arm architecture.", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "754695", + "title": "Containers All the Way Down!: Optimizing Spring Boot apps for the Modern Cloud", + "description": "In a cloud-native world, containerization is a key enabler for scalable, portable, resilient, and (cost-)effective applications! This session will explore how Spring Boot developers can seamlessly optimize their applications for containerized environments.\r\n\r\nThe presenter will discuss and demonstrate the following pivotal topics and more:\r\n\r\n* Best practices for building efficient, lightweight container images tailored for Spring Boot applications\r\n* How Spring Boot simplifies the creation of these images with built-in support for Docker and Cloud Native Buildpacks (CNB)\r\n* Leveraging Boot's built-in support for TestContainers to create integration tests that best simulate production, vitally important for both development and build pipelines\r\n* Cloud Native Buildpack support for building both traditional JVM-based applications and high-performance native images using GraalVM, customization options, and more\r\n\r\nThrough a lively discussion and live demos, you'll see how to optimize your development workflow and ensure that your Spring Boot applications can handle the demands of production in a containerized world. Come to this session to learn how to unlock the *full* potential of containers for your Spring Boot projects!", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "41866ef7-180d-462a-93c1-fbcaa07e3db0", - "name": "Michael Hall" + "id": "05be364d-a57f-4e08-978d-8043d43db097", + "name": "Mark Heckler" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10099,49 +9209,49 @@ "hasOnlyPlenumSessions": false }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58703, + "name": "Java Platform", "sessions": [ { - "id": "540546", - "title": "Are Your Tests Slowing You Down?", - "description": "Testing is a Good Thing, right? Especially automated testing. But \"Good things come to those who wait\" is not something that's going to appeal to the busy developer. You want results, and you want them now. You're in The Zone working on a problem, and the last thing you want is to break your flow wrestling with your testing framework or waiting for the tests to finish running.\r\n\r\nMore code means more tests. More coverage means more tests. More tests mean more time. Time that you want to spend being productive, creative, innovative. How can you balance the need for quality with the need for speed?\r\n\r\nIn this talk, Trisha will identify issues that slow down developers when writing, running and debugging tests, and look at tools that can help developers with each of these problems. There will be live coding, analysis of social media poll results, an overview of solutions in this space, \"best practice\" recommendations, and machine learning will be mentioned at some point.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "752500", + "title": "Micrometer Mastery: Unleash Advanced Observability in your JVM Apps", + "description": "Is your application a black box? Is your current observability instrumentation not good enough? Do you want to add more to your metrics and distributed tracing? Join us and unlock the full potential of Micrometer and its cutting-edge observability features!\r\n\r\nDive into:\r\n\r\n- Micrometer Observation API: Instrument once and have multiple benefits out of it.\r\n- Observation Conventions: Instrumentation with standardized naming and tagging.\r\n- Automated Documentation: Effortlessly generate rich observability descriptions from your code.\r\n\r\nWe'll showcase:\r\n\r\n- Practical code examples for instrumenting real-world applications.\r\n- Advanced techniques to extract deeper insights and troubleshoot issues faster.\r\n- Real-world use cases demonstrating the power of Micrometer's observability toolkit.\r\n\r\nReady to elevate your observability game using the industry’s golden standard? This talk is your one-stop shop for Micrometer mastery!", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "5eff389f-6760-4a05-affb-ec5b6fc2ca36", - "name": "Trisha Gee" + "id": "8f517aca-8293-4e1f-9360-0ce676531421", + "name": "Jonatan Ivanov" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10149,45 +9259,45 @@ "isConfirmed": true }, { - "id": "537982", - "title": "Focus on software, not code", - "description": "There is a recent trend to focus too much on code, sometimes losing sight of the end goal, which is running software, and it's costing everybody precious time and money.\r\nI will talk about the difference between code and software, and why it's so important to focus on the latter, without dismissing the former, using real-life examples and situations to illustrate the benefits of focusing on software and not just code, such as prioritizing optimizations, improving performance, fixing bugs, and even keeping tech debt under control.\r\n", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "741181", + "title": "Setting up data driven tests with Java tools", + "description": "Everyone knows that performing tests during development is the Right Thing to do. But how do we test data driven test cases? How can we ensure clean environments, reproducible outcomes, setting the database with the correct state, ensuring results match expectations, and so on? The Java ecosystem offers several options that we can leverage to answer these questions. In this session we'll cover how to configure data driven testcases with Testcontainers, setup database state and verify results with DbUnit and Database Rider, even test PL/SQL statements.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "2b16e922-4d90-4637-8a92-9030591a8ef9", - "name": "Enrique Zamudio" + "id": "720cdc7d-0ae6-44d3-af2a-eebc0a086508", + "name": "Andres Almiray" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10195,45 +9305,49 @@ "isConfirmed": true }, { - "id": "573390", - "title": "Community hacks to enhance your career", - "description": "Do you feel it’s no longer enough to just be a great developer? Does advancing your career mean you have to be blogging, speaking at conferences, engaging on social media, committing to open source and other things distracting you from actually building software?\r\n\r\nYou’ll do well to ensure that the people making decisions about your career are hearing and seeing your name and associating it with progress and other cool and positive things (and truth, they probably aren’t looking at your code).\r\n\r\nIn this session we’ll explore some of the best practices that assist in not having to do it all from scratch. Knowing what you are doing can give you an easier path to visible contributions to the community.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "734173", + "title": "Code coverage MythBusters", + "description": "Code coverage is a compelling set of metrics that can help you improve the quality of your software, prevent potential bugs, and even help you investigate the issues.\r\n\r\nAnd as we know with great power comes great responsibility. When applied in the wrong way code coverage can easily transform from your best friend that can boost a developer’s productivity into your worst enemy that throws the sand in the wheels of your developers' productivity machine.\r\n\r\nAfter many years of answering community questions about code coverage in the JaCoCo mailing list, StackOverflow, and in the Sonar community forum we learned that most software engineers don’t understand the purpose of code coverage and how to apply it correctly. \r\n\r\nIn this talk, we will dispel the most popular myths built around code coverage. This talk will help you understand the concept of code coverage, how it should be used, and how to boost your productivity with code coverage.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1038e701-f663-46f8-a01b-925f2f74d004", - "name": "Sam Hepburn" + "id": "eeb25beb-5d37-4fb7-acac-170357a1d89b", + "name": "Marharyta Nedzelska" + }, + { + "id": "d2ddc9e3-35b6-44a9-8daa-144d89cabaff", + "name": "Evgeny Mandrikov" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10241,144 +9355,148 @@ "isConfirmed": true }, { - "id": "596932", - "title": "Learning Kafka in 2024", - "description": "Apache Kafka is one of the leading streaming platform. It is highly versatile in it's application. In this session, Nikhil will explain the basic concepts of Zookeeper, Broker, Producer, and Subscriber. He will live code a data processing system to explain certain gotchas while using Kafka. The session is designed to be an interactive hands-on session without any slides.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "755076", + "title": "Taking off With JDK Flight Recorder", + "description": "Are you running into problems with Java applications in production? Not understanding what is eating up all your system resources? And throwing a bunch of System.out messages in your code is not helping? You should check out the JDK Flight Recorder (JFR). JFR is a powerful and low-overhead observability tool built into the JVM that can help you track down those performance issues and difficult-to-understand bugs. In this presentation, we will go through the basics of using JFR in your Java applications.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b1c4a924-b6db-453f-91d2-16b0fcf3bafd", - "name": "Nikhil Nanivadekar" + "id": "6f426cb0-6261-4f79-b726-b7ffc3b028ff", + "name": "Billy Korando" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - } - ], - "hasOnlyPlenumSessions": false - }, - { - "id": 42143, - "name": "Security", - "sessions": [ + }, { - "id": "551307", - "title": "Breaking AI: Live coding and hacking applications with Generative AI", - "description": "Is your organisation ready to revolutionize your coding experience with generative AI tools, like copilot, ChatGPT, or code whisperer? Do you know how to code safely with generative AI tools increasing your delivery speed without compromising security? In this session, we’ll discuss some of the dangers of generative AI, including hallucinations and security risks. We’ll live code a Spring coffee shop application using copilot, and ChatGPT, and live hack the results, showing how the generated code can be exploited in a running app. We’ll uncover generated SQL injections, Cross site scripting, directory traversal and more. Don't miss this electrifying opportunity to explore the cutting edge of coding technology. Join us and embark on a journey where velocity meets security, and innovation knows no bounds. Secure your spot now and get ready to code like never before! In this session you'll learn how you can leverage the power of AI to increase your velocity while mitigating risks and staying secure.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "769415", + "title": "How to debug: Lessons learnt from 10 years of Spring Boot", + "description": "Debugging is a fundamental skill that's vital for any Java developer, but how many techniques do you really know? 10 years of running the Spring Boot project has given plenty of real-world examples of nasty issues and how to debug them. Lets go beyond simple breakpoints, look at problems raised in the project, and discuss how to actually fix them! Dealing with regressions, using the remote debugger and tips for conditional breakpoints will all be covered. You'll also learn how to open good issues against open source projects to quickly get the fixes you need.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "e5aad250-139d-4a16-9c6e-d3534bbe1fc6", - "name": "Micah Silverman" + "id": "bd435afb-3853-43c0-8dee-cbcda16f7e91", + "name": "Phil Webb" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - }, + } + ], + "hasOnlyPlenumSessions": false + }, + { + "id": 58704, + "name": "Practices", + "sessions": [ { - "id": "552455", - "title": "Configuration security as a game of pursuit intercept", - "description": "In this session we will take a look at the emerging field of cloud security posture management and how we can approach the problem space using a class of board games known as pursuit/intercept. Using the game Scotland Yard as a visual illustration we'll explore the cognitive and technical limitations that all CSPM systems face and what you should look for when evaluating the strengths and weakness of CSPM vendors.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "735884", + "title": "Testing on Thin Ice: Chipping Away at Test Unpredictability", + "description": "Ever tried to catch melting snowflakes? That's the challenge of dealing with flaky tests - those annoying, unpredictable tests that fail randomly and pass when rerun. In this talk, we'll slide down the slippery slope of why flaky tests are more than just a nuisance. They're time-sinks, morale crushers, and silent code quality killers.\r\n\r\nWe'll skate across real-life scenarios to understand how flaky tests can freeze your development in its tracks, and why sweeping them under the rug is like ignoring a crack in the ice. From delayed releases to lurking bugs, the stakes are high, and the costs are real.\r\n\r\nBut don't pack your parkas just yet! We're here to share expert strategies and insights on how to identify, analyze, and ultimately melt away these flaky tests. Through our combined experience, we'll provide actionable techniques and tools to make sure snow is the only flakiness you experience, ensuring a smoother, more reliable journey in software development.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "9f4c5484-3a97-4a43-9410-05b2007f83bb", - "name": "Wes Widner" + "id": "2f4018fc-6f1a-484c-9297-383fb1a5c4ae", + "name": "François Martin" + }, + { + "id": "130a4bc5-3b04-4a0c-95e6-62fad0b4d722", + "name": "Brian Demers" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10386,45 +9504,45 @@ "isConfirmed": true }, { - "id": "538024", - "title": "The Art of Vulnerability Disclosure", - "description": "Properly disclosing a vulnerability you found on a website, open source project, or app is not an easy task, especially not the first time. There are a lot of things to pay attention to and that can go wrong. But if done properly, it can be very rewarding, as most companies are very grateful. Whether you want to learn how to disclose your first vulnerability in the easiest way possible, or you want to hear about best practices and suggestions on what to do when things do not go as planned, this talk is for you.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "751558", + "title": "Nurturing OpenJDK distribution: Eclipse Temurin Success History and Plan", + "description": "Join me as we explore the pillars that make Eclipse Temurin one of the most widely adopted, enterprise-ready OpenJDK Runtime (over 20M monthly downloads) and also delve into the future of Adoptium and explore the goals set for 2025. \r\nAs we navigate the landscape of open source Java runtimes, Adoptium is committed to fostering vibrant, healthy projects that thrive with the support of robust communities. In this talk, we will also shine a spotlight on our dedication to delivering quality and outstanding performance, with a special focus on our AQAvit project and Security Effort.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "2f4018fc-6f1a-484c-9297-383fb1a5c4ae", - "name": "François Martin" + "id": "b9c86848-8925-4ca8-b33f-933532e6c3ef", + "name": "Carmen Delgado" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10432,45 +9550,45 @@ "isConfirmed": true }, { - "id": "537983", - "title": "Know Your Ingredients: Security Starts With the Source", - "description": "One of the most neglected parts of application security is the ingredients that go into developing software. Over 80 percent of code used in enterprise applications comes from open source dependencies, but how much attention goes towards the provenance and security of those packages. And in the pursuit of accelerated software development, developers are leveraging more and more libraries and also code “created” by generative AI algorithms, so how do you prevent defects or malicious payloads from compromising your security?\r\n\r\nThis is analogous to a restaurant where you invest in modern decor, professional chefs, and world class service. But if you don’t get fresh, quality ingredients delivered daily, the taste and hygiene of the food will suffer. Securing the software supply chain is a huge undertaking for the entire tech industry, and we will talk about some of the ongoing efforts by open source projects, foundations, and corporations to help us all know our ingredients.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "751874", + "title": "Developer’s Guide to Test-Driven Development and Approval Testing", + "description": "In this session you’ll learn about Test-Driven Development (TDD), Approval Testing, and how using them can help you deliver better code in less time. \r\n\r\nTDD is a great way to ensure your code meets the business requirements and is easy for other developers to understand and modify. Writing automated tests before you write the associated production code, and refactoring both the test and production code once the test passes, is a key part of TDD. So if you’re working on a project that is in production (or has lots of production code) but no automated tests, TDD can’t help much — but that’s where Approval Testing shines.\r\n\r\nApproval Testing compares the current behavior of existing code with it’s previously approved of behavior, and lets you know what (if anything) has changed. Instead of asserting that a number, or a simple string were returned, an approval test might compare a complex object with it’s approved version and let you know when things change.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "0793b99f-1282-4674-9d21-f88e30c8232e", - "name": "Stephen Chin" + "id": "7d933c95-3f49-48a4-852b-7fc30aa8b977", + "name": "Burk Hufnagel" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10478,148 +9596,152 @@ "isConfirmed": true }, { - "id": "557734", - "title": "Don’t Expect Developers to be Security Experts!", - "description": "Developers are not security experts! Why not? And should they be?\r\n\r\nWe’re still learning — sometimes through trial and error — the best way to tackle security issues that won’t negatively interfere with delivering functional (and secure) software.\r\n\r\nOne thing is sure, there is only a subset of prevention and mitigation strategies that make sense to put on a developer’s plate. Even then, assuming all devs are equipped to handle this additional workload is unreasonable.\r\n\r\nMelissa will define common security related terms and lingo; share typical places to shore up applications when it comes to dependencies, packaging, and supply chain concerns; and discuss the plethora of scanning tools available today and how they actually work. Learn how to integrate a measure of security that makes sense in existing development processes and how to introduce a security culture to your team in a healthy way without exhausting your developers.", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "750765", + "title": "Technical Enshittification: Why Everything in IT is Horrible Right Now and How to Fix It", + "description": "Did you notice how everything in IT is crap right now? Services are bloated, slow, and buggy, and the hardware requirements to run even the simplest applications are enormous. It’s not just me, right? Everything is full of bugs, support is clueless, nothing works as described, and don’t even get me started on IoT protocols and the Cloud Native space. Oh, and how about taking half of the world’s air traffic offline because of a null pointer exception pushed to production without verification?\r\n\r\nAnd on top of what’s broken, the pace of innovation has crawled to a stop (except maybe in the AI space). There’s nothing materially new in the last ten versions of Android and iOS or the last hundred versions of Chrome and Firefox. Google spent months hyping a new login screen that ended up being just a rearrangement, and can you name one new exciting feature in any software older than five years (plugging in a ChatGPT bot doesn’t count)? When Facebook was bragging about breaking things, at least it was to move faster. What’s their excuse now?\r\n\r\nThis talk will dig into the reasons behind this technical decline, which we call “Technical Enshittification.” We’ll explore how technical debt, poor innovation practices, and stagnation in core products are dragging us down.\r\n\r\nWhile this talk probably won’t be able to fix the Googles, the Apples, and the Metas, we will focus on what you can do to prevent this decline in your own projects and companies.\r\n\r\nWe’ll discuss practical strategies to combat and prevent this mess, focusing on Developer Productivity Engineering (DPE), user-centered design, robust testing, and effective project management. Real-world examples will show how to keep IT services efficient, innovative, and user-friendly.\r\n\r\nJoin us to learn how to turn things around and ensure long-term success in today’s digital landscape.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "2718989a-00fd-4ea2-b459-d4b4116e8b12", - "name": "Melissa McKay" + "id": "1708bdeb-e8d9-4628-a147-e9878198c900", + "name": "Baruch Sadogursky" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - } - ], - "hasOnlyPlenumSessions": false - }, - { - "id": 42144, - "name": "Tools and Techniques", - "sessions": [ + }, { - "id": "556719", - "title": "Java, JavaFX, and Life on Jupiter’s Europa", - "description": "NASA’s deep space Clipper mission will launch in 2024 and travel to Jupiter’s icy moon Europa searching for the conditions and evidence of organic life. The mission’s success hinges on innumerable technical trials, from evaluating spacecraft trajectories to prioritizing surface observation targets. To help the Europa Clipper team navigate these complex challenges, we developed a Java-based visualization, planning, and analysis tool, named Cadmus.\r\n\r\nThe planning and analysis of the Europa Clipper mission requires highly precise spatial geometries, as the spacecraft will be flying at a speed of kilometers per seconds, while targeting small features on the Europa surface. At nearly 1 billion kilometers away from Earth, precision in planning is paramount. For this, the Cadmus tool uses a combination of Java spatial geometry toolkits and JavaFX to display the precise positions of the spacecraft, planets, moons, stars, surface features, flyby paths, and many more. This effect must be both high performance and interactive so that scientists and engineers can quickly prioritize and plan upcoming observations. \r\n\r\nTo achieve this, we created an infrastructure in Java that allows us to responsively render and interact with maps and space views by combining JavaFX and AWT in a multi-threaded approach. This approach has been extremely successful, and now supports missions outside of Europa Clipper, analyzing spacecraft and data around Saturn, Venus, the Moon, and all the way back to Earth. This presentation will review the NASA Clipper use case, provide a live demo of the software while discussing code segments that are insightful or tricky for such an implementation.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "751791", + "title": "A developers guide to running Spring Boot applications on Open Liberty", + "description": "SpringBoot is a hugely popular framework for writing applications in today’s development landscape. Choosing Open Liberty as your Java application server to run SpringBoot application offers users several advantages over the default runtimes to increase performance, save memory, and stay up to date with the latest and greatest security fixes.\r\n\r\nIn this talk, you will learn how to run SpringBoot applications on Open Liberty by discussing the following topics:\r\n\r\nThe basics of Open Liberty and how it works as a Java runtime server.\r\n\r\n - How SpringBoot is supported on Open Liberty.\r\n - How to package SpringBoot applications for Open Liberty.\r\n - How to configure a SpringBoot application for Open Liberty.\r\n - How to reduce startup time for SpringBoot applications on Open Liberty with InstantOn support.\r\n", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1c0d52b2-0edc-4419-917f-b10fbf1c0d54", - "name": "Jordi Turner" + "id": "7bac217c-0b90-4dff-a4ed-b5a7a5f0d495", + "name": "Harry Hoots III" }, { - "id": "98f13279-4870-419d-bc75-01444e9c3da5", - "name": "Scott Turner" + "id": "78106222-a999-4772-b5ac-9c1125681b97", + "name": "Chuck Bridgham" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - }, + } + ], + "hasOnlyPlenumSessions": false + }, + { + "id": 58705, + "name": "Security", + "sessions": [ { - "id": "539882", - "title": "Dude, what happened to my developer-first cloud? Production-easy Spring Cloud", - "description": "Dude, what happened to my developer-first cloud? Production-easy Spring Cloud\r\n\r\nIf you've used Spring Boot & Spring Cloud to build robust production systems, you know you love how it makes your microservices more stable, resilient, scalable, and manageable.\r\n\r\nOnce upon a time, certain cloud environments took a similar, developer-first approach. Getting to production was as easy as pushing a JAR to the platform and letting it do all the heavy lifting, letting you focus on creating and delivering mission-critical features to your users.\r\n\r\nRemember, no one ever got praise and a raise for crafting the perfect Kubernetes YAML file...which is the universe's way of reminding you that you want -- you need -- to focus on writing great code, not on endlessly tweaking infrastructure.\r\n\r\nIn this session, the presenter will examine the pieces needed for a Spring Boot developer-first cloud and then demonstrate how to unlock those pieces using intelligent deployment options that allow you to focus on what you do best: creating mission critical, game changing applications while the platform takes care of the rest. \r\n\r\nCome to this session to learn how to increase your company's -- and your -- value by getting back to what you do best and what brings you greatest joy: writing amazing code and delivering needed features to your users!", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "740966", + "title": "Securing LLM-Powered Applications: Overcoming Security and Privacy Challenges", + "description": "LLMs accessing the database and intelligent agents that perform online purchases? The possibilities for AI in applications seem endless but so are their security and data privacy risks. In this session, we’ll address common issues such as prompt injection, key leakage, abuse of private customer data for model training, legal restrictions, and more. In addition, we will show that general security issues in your systems can also influence the behavior and outcome of LLMs. \r\nDuring this session, you’ll get a solid overview of the vulnerabilities to avoid, strategies to ensure data privacy compliance and best practices for building secure LLM-powered applications.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "05be364d-a57f-4e08-978d-8043d43db097", - "name": "Mark Heckler" + "id": "50e931e4-bda7-4065-b4c4-5083683497e6", + "name": "Brian Vermeer" + }, + { + "id": "3aa1b5bf-3169-48e9-afe2-708f50426f3b", + "name": "Lize Raes" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10627,45 +9749,45 @@ "isConfirmed": true }, { - "id": "553009", - "title": "Thriving in the cloud: Going beyond the 12 factors", - "description": "Enabling applications to really thrive (and not just survive) in cloud environments can be challenging. The original 12 factor app methodology helped to lay out some of the key characteristics needed for cloud-native applications... but... as our cloud infrastructure and tooling has progressed, so too have these factors.\r\nIn this session we'll dive into the extended and updated 15 factors needed to build cloud native applications that are able to thrive in this environment, and we'll take a look at open source technologies and tools that can help us achieve this.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "750525", + "title": "Shadow Vulnerabilities in AI/ML Data Stacks - What You Don’t Know CAN Hurt You", + "description": "The adoption of open-source AI software introduces a new family of vulnerabilities to organizations. Some components in AI, like model serving, include Remote Code Execution (RCE) by design, like when loading pre-trained models from external sources.\r\n\r\nTraditional SCA and SAST approaches are not built for the AI ecosystem leaving a huge & insecure attack surface. \r\n\r\nAI models are often downloaded from the public web, from untrusted sources in common platforms like HuggingFace using the “trust_remote_code=True” flag when loading models.  So how do we better secure our AI stacks?\r\n\r\nIn this talk, we’ll examine some of the common security anti-patterns prevalent in AI engineering, such as security issues that are not classified as CVEs by design, or patched security issues that introduce breaking changes.\r\n\r\nWe’ll review the methods introduced for better security hygiene such as new checkpoint formats (model files on disk) - like SavedModel and SafeTensors. While SCA, SAST, and traditional approaches don't analyze model checkpoints, leaving these silent vulnerabilities in your stacks, we’ll demo through real code examples, why the runtime context is crucial to detect these security issues.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7c534296-8db5-4452-b17f-9249465ea914", - "name": "Grace Jansen" + "id": "dea86363-2e13-4dfa-996a-200e6feb8749", + "name": "Gal Elbaz" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10673,98 +9795,91 @@ "isConfirmed": true }, { - "id": "557439", - "title": "Best Practices For Java in Cloud Native Architectures", - "description": "In this session, we'll explore the challenges of optimizing Java deployments in dynamic scaling, container, and cloud function environments. \r\nWe'll dig into resource management, garbage collection, cold start issues, classpath and dependency management, performance monitoring, and potential security issues.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "738670", + "title": "Long Live Short Lived Credentials - Auto-rotating Secrets At Scale", + "description": "By now, you are very likely aware of the problem of secrets sprawl. Millions of hardcoded plaintext credentials keep showing up online in easy-to-scan places year after year. Worse yet, adversaries have gotten very good at exfiltrating and validating these secrets. Rotating the key or password after an attack is far too late. \r\n\r\nWhat if every credential that an adversary could find expired before they could exploit it? What if keys, just a few hours old, no longer worked? \r\n\r\nLet's embrace a future of proper secrets management and auto-rotating secrets. It might seem overwhelming at first to consider accomplishing this, especially if you have never tackled secrets management before, but for many systems, this is easier to achieve than you might realize.\r\n\r\nIn this session, you will \r\n- Get an update on the state of secrets sprawl\r\n- Diagram auto-rotation architectures\r\n- Plan a secrets audit and code refactor strategy\r\n- Start the email that will help you convince the team\r\n", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "78100ec6-45ab-4076-8911-266bfc4c376b", - "name": "Dennis Ruzeski" + "id": "053bf183-629a-4dd5-b66e-e2b1d7142a49", + "name": "Dwayne McDaniel" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - } - ], - "hasOnlyPlenumSessions": false - }, - { - "id": 42145, - "name": "Web and front-end", - "sessions": [ + }, { - "id": "555434", - "title": "Simple Ways to Make Webhook Security Better", - "description": "Webhooks are a simple and powerful way for services to notify each other that something interesting has happened. So much so that it became the most popular mechanism for communicating events. While webhooks give us power and flexibility, they rely heavily on the listener to enforce security. In this session, we will learn the most common, interesting, and challenging patterns across 100+ webhook implementations, and learn some simple ways to make webhook security better (for providers and consumers).", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "750953", + "title": "Let OpenID Connect secure your applications", + "description": "Implementing the correct security patterns is a common challenge that most application developers and consultants can get wrong in even the most common of scenarios. Reinventing the wheel is a common pattern that DevOps engineers do when integrating security solutions inside their applications (authentication, password validation, identity management, correct storage of user data, etc.).\r\nOpenID Connect is an open security standard that can be used to solve most of these concerns in a reliable and scalable way for modern cloud applications, in a way that most developers are unaware of!\r\n\r\nThis talk will focus on the benefits of securing an enterprise application using OpenID Connect concepts with multiple Java Framworks, with a live demonstration of a small application that uses standard frameworks (Jakarta EE and Eclipse MicroProfile) in tandem with an external OpenID Connect provider.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f0f1fa39-eb24-4ab6-866c-b8645975bd75", - "name": "Scott McAllister" + "id": "9278401c-4b54-4e61-b9c2-ee65c9007dbf", + "name": "Fabio Turizo" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10772,45 +9887,70 @@ "isConfirmed": true }, { - "id": "556248", - "title": "From Mosaic to Modern: The Evolution of Web App Architectures", - "description": "The introduction of the NCSA Mosaic browser in 1993 marked the inception of the modern web. What began as a platform for static hypertext documents rapidly evolved, embracing dynamic content, interactive functionality, and eventually the extensive capabilities of today's rich web applications. In this session, we will:\r\n\r\n* Explore the pivotal shifts in web application architectures from the early 1990s to the present.\r\n* Highlight the successful strategies, acknowledge the missteps, and identify the driving factors behind each architectural choice.\r\n* Offer insights into the repeated patterns and lessons learned from history.\r\n\r\nWith a keen understanding of the past, attendees will be better poised to approach future web development challenges with clarity and confidence. Join this journey through time to gain a deeper appreciation of the web's evolution and prepare for what lies ahead.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "d56e0c39-8639-46e7-8159-66fb8aca91d4", + "title": "TBD", + "description": null, + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58705, + "room": "Security", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + } + ], + "hasOnlyPlenumSessions": false + }, + { + "id": 58706, + "name": "Tools and Techniques", + "sessions": [ + { + "id": "750660", + "title": "Codebase Resurrection: Revive and Refactor with AI", + "description": "Is your codebase in need of a major overhaul? Do you find yourself wrestling with tangled code, uncertain about the consequences of each refactor? Join us at this Java conference session to discover how AI can be your secret weapon in the battle against subpar code.\r\nIn this enlightening talk, our seasoned Principal Software Developer will guide you through the transformative journey of leveraging AI tools to bring your codebase back to life. We'll demonstrate the incredible power of a AI plugins in your IDE, which combines the best practices and methodologies from industry experts with the precision of artificial intelligence.\r\nYou'll learn how to harness AI's capabilities to:\r\nAnalyze Code Health: Understand the current state of your codebase and identify areas in need of improvement.\r\nAI-Powered Testing: Utilize AI-driven testing to gain confidence in your refactoring efforts, reducing the risk of introducing new bugs.\r\nRefactor with Precision: Apply expert-recommended refactorings to untangle complex code structures and improve maintainability.\r\nMeasure Success: Evaluate the impact of your refactorings and track improvements in code quality and performance.\r\nBy the end of this session, you'll be equipped with the knowledge and tools to breathe new life into your codebase, making it more efficient, robust, and future-proof. Don't miss this opportunity to revolutionize your coding practices and elevate your software architecture to new heights with Codium.AI. Join us and embark on your journey towards code excellence!\r\n", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ff0a1dd3-c9f2-48e2-88a8-9c0e429251be", - "name": "Kito Mann" + "id": "7f7eb959-dfdc-4d7f-a6a0-bd64b2710282", + "name": "David Parry" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10818,144 +9958,137 @@ "isConfirmed": true }, { - "id": "551473", - "title": "Fullstack from the back! Better business application development", - "description": "This session will guide attendees through building data-rich business applications in an efficient way through the use of Hilla and Flow, two web frameworks written by the company, Vaadin. Flow Vaadin Flow is a unique full-stack framework that lets you build web apps without writing HTML or JavaScript. You compose the UI from components, connect it to a data source and react to user events. The UI runs on the JVM without the need to expose REST services or come up with other ways to move data to the browser.\r\nThe other framework, Hilla, is an open source framework that integrates a Spring Boot Java backend with a reactive TypeScript frontend. It works with React or Lit and helps you build business apps faster with type-safe server communication, included UI components, and integrated tooling.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "754866", + "title": "An All Code Introduction to Domain Driven Design and Hexagonal Architecture", + "description": "Domain Driven Design is designed for implementing complicated business logic and is an excellent fit for microservices development.\r\n\r\nDomain Driven Design provides a repeatable, logical structure that makes implementing business logic easier, faster, and more maintainable. Hexagonal Architecture (or Ports and Adapters) excels at producing loosely coupled, interchangeable components that fit well with DDD.\r\n\r\nIn this presentation I will introduce the Domain Driven Design and dive into the DDD concepts of Aggregates, Repositories, Value Objects, Services, Ubiquitous Language, Adapters, and Shared Kernels. I will also build an application using these patterns and leverage Hexagonal Architecture for easy extensibility. Testing will of course be included.\r\n\r\nYou will leave this presentation with a basic knowledge of Domain Driven Design, how to structure and test your application to implement DDD and how to use Hexagonal Architecture to extend your applications.\r\n\r\nNo slides; just live code.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "453dc8ab-94d9-4858-923a-ecddaa493949", - "name": "Lawrence Lockhart" + "id": "943e1c6e-d2db-4829-b701-000eaac0f5cd", + "name": "Jeremy Davis" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, { - "id": "559338", - "title": "What the Heck are Server Sent Events?", - "description": "Web applications frequently need to open a channel of communication with a server to get real-time updates. This is often done using two-way communication via WebSockets, but they can be complex to implement and, in many cases, are overkill. Server Sent Events (SSEs) offer an easy-to-implement alternative for many common use cases where an application only needs to receive updates.\r\n\r\nIn this session, we'll explore what the SSE spec is and how to implement it in a web application using JavaScript. We'll also take a quick look at a number of open source libraries LaunchDarkly maintains for implementing SSEs in Python, .NET, Go and more for server-to-server SSEs.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "734820", + "title": "Git features you aren’t using", + "description": "In this session we'll take a tour of some features that you might or might not have heard of, but can significantly improve your workflow and day-to-day interaction with Git.\r\n\r\nGit continues to see improvements daily. However, work (and life) can take over, and we often miss the changelog. This means we don't know what changed, and consequently fail to see how we can incorporate those in our usage of Git.\r\n\r\nIn this session we will look at some features you are probably aware of, but haven't used, alongside new features that Git has brought to the table. Examples include:\r\n\r\n- Rebase and interactive rebase\r\n- `restore`/`switch` and when to use them\r\n- worktrees\r\n- shallow-clones\r\n- Git's filesystem monitor\r\n\r\nBy the end of this session, you will walk away with a slew of new tools in your arsenal, and a new perspective on how this can help you and your colleagues get the most out of Git.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b67a2f49-17ea-4918-b1c4-56f997b6a097", - "name": "Brian Rinaldi" + "id": "d017112e-f5b1-4594-aee9-cdac1403e0f1", + "name": "Raju Gandhi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - } - ], - "hasOnlyPlenumSessions": false - }, - { - "id": 42146, - "name": "Cloud Native", - "sessions": [ + }, { - "id": "557496", - "title": "API Management as Code: A declarative approach to handling API artifacts", - "description": "Every day software development relies more and more on APIs. Using it as part of digital transformation or just to connect some microservices, developers use APIs to connect applications and devices. API management is now a mature discipline covering the different aspects of the API lifecycle. However, managing efficiently the surge of APIs in the organization could be a challenge. Using a declarative approach makes it easier to understand and automate the desired state of APIs. It makes it easier to version, review and share with other members of the team. Some projects have started to complement their capabilities to add this declarative approach, usually in environments like Kubernetes. \r\n\r\nJoin this session to learn more about:\r\n\r\nCommon API management artifacts\r\nAn introduction to declarative vs imperative management\r\nThe operator pattern and how it helps with declarative management\r\nAn example from the 3scale operator\r\nOther projects using Kubernetes custom resources.\r\n", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "741176", + "title": "Going beyond ORMs", + "description": "For some time now JSON has been the preferred format for exchanging data between client (browsers) and servers. Often times developers had to configure data marshalling options to transform data into business objects, into persistent data, and back again. Perhaps it would make more sense to use JSON across the business pipeline without sacrificing performance nor missing benefits from the relational data world. this is what JSON Duality Views propose. In this session we'll explore options to enhance data driven applications written with Spring Boot, Quarkus, and Micronaut, enhancing your developer experience and increasing customer satisfaction.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "e546ec56-9837-46b5-b3fa-4f79381b5aaa", - "name": "Hugo Guerrero" + "id": "720cdc7d-0ae6-44d3-af2a-eebc0a086508", + "name": "Andres Almiray" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -10963,95 +10096,98 @@ "isConfirmed": true }, { - "id": "551434", - "title": "Going from containers, to pods, to Kubernetes – help for your developer environments!", - "description": "Today, Kubernetes is the undisputed go-to platform for scaling containers. But for developers, Kubernetes can be daunting, particularly when working with the discrepancies between local and production environments. Podman and Podman Desktop bridges this gap. In this talk, you’ll be introduced to Podman and witness the unveiling of Podman Desktop, an open-source GUI tool that streamlines container workflows and is compatible with Podman, Lima, Docker, and more. Podman Desktop serves as a beginner-friendly launch pad to Kubernetes, enabling developers to spin up local clusters (with Kind and Minikube) or work with remote environments. A demo will be given that helps you navigate the paths necessary to transition from app to containers, to pods, and ultimately to Kubernetes, highlighting how it reduces discrepancies and enables predictability in your deployments by leveraging Podman and Podman Desktop's perks and security advantages. You'll also learn how you can benefit from Podman Desktop to streamline your container development processes!", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "753218", + "title": "Enhancing Project Integrity: A Modernization for Bug-Free Code", + "description": "Embarking on a Java project involves employing the best strategies, patterns, and architectural decisions, all geared towards a customer-centric.\r\n\r\nYet, there exists an often overlooked facet: quality assurance. While not entirely disregarded, we, as developers, sometimes limit ourselves to performing the basic unity and integration tests, which may leave room for bugs.\r\n\r\nFortunately, there are several straightforward approaches and tools that can be implemented to deliver a bug-free project with minimal effort.\r\n\r\nDuring this presentation, you'll gain practical knowledge of the application of the following tools and approaches:\r\n\r\n- ArchUnit: Ensuring consistent adherence to architectural patterns, even when multiple developers making changes to the project\r\n- FindBugs: Employing static analysis to proactively identify potential bugs in your code, effortlessly.\r\n- SonarQube: Offering a suite of diverse metrics and enabling the establishment of quality gates to maintain a predetermined standard of quality\r\n- PiTest: Enabling the power of mutation testing to uncover bugs that may otherwise remain concealed.\r\n- TestContainers: Streamlining the process of running various components such as databases, services, and extensions, thereby minimizing the need for manual intervention\r\n\r\nThroughout the session, we'll delve into concrete examples, ensuring a hands-on experience", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "78cedbd4-1408-4625-ab2e-44559814885b", - "name": "Cedric Clyburn" + "id": "f914323b-f3ba-4de7-9069-28974d1c9137", + "name": "Elias Nogueira" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true - }, + } + ], + "hasOnlyPlenumSessions": false + }, + { + "id": 58707, + "name": "Web and front-end", + "sessions": [ { - "id": "557741", - "title": "Java automation for yesterday, today and tomorrow", - "description": "Consistency, repeatability and simplicity are core tenants to being successful in today’s face paced, highly competitive industry. Infrastructure and development teams configuring systems that run Java workloads as well as the workloads themselves can achieve these principles through the use of automation.\r\n\r\nAnsible Middleware is an Open Source Project that leverages the power of Ansible automation to provide solutions for infrastructure teams managing Java based application servers and systems as well as integrations for developers running Java frameworks. Concerns shared among these groups include Middleware as GitOps, Compliance as Code, the underlying infrastructure, the application server configuration, patching, upgrades and integration between each of the systems, to name a few.\r\n\r\nRegardless if the systems and workloads were developed using legacy components or the next generation technologies, utilize a suite of tools that automates your Java based estate. \r\n\r\nIn this session, attendees will:\r\n* Learn the importance of automation at scale\r\n*Understand the tools and solutions provided by the Ansible Middleware project\r\n* Automate Java application servers regardless of their location: on premise, in the cloud, or at the edge\r\n* See how easy it is to build and deploy Quarkus based applications using automation\r\n* Leverage a suite of assets that development and operations teams can leverage in their own environment\r\n", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "751546", + "title": "A Java Developers Guide to Navigating the Frontend Landscape", + "description": "This is a beginner-friendly session designed for Java developers who are trying to navigate the landscape of frontend development. When you need to develop a new frontend for your application, what approach do you take? Do you leverage your existing Java skills and create it using a Java framework? Or do you opt for a modern JavaScript framework like React, Angular, or Vue? Different requirements may call for different solutions, and in this session, we will explore this topic in depth. By the end of this talk, you will be up to date with the latest techniques for building frontend applications.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6aa1e85f-84ea-4607-9f9e-2275e78f494b", - "name": "Andrew Block" - }, - { - "id": "0df0c22e-c340-4414-aa16-12623cd9b948", - "name": "Harsha Cherukuri" + "id": "c2745a9d-1b7d-4cc3-a620-46afb9337f6d", + "name": "Dan Vega" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11059,45 +10195,45 @@ "isConfirmed": false }, { - "id": "537819", - "title": "Quarkus 3: The Road to Virtual Threads for Cheaper, Faster, and Easier Concurrent Applications", - "description": "Developers have had extraordinary experiences and taken stunning capabilities while they were developing Java microservices from local to the cloud using Quarkus for the past 5 years. But there is more to come with their journey since we have just arrived in Quarkus 3 which provides good, better, and even excellent features and capabilities in terms of developer experience, performance, scalability, and cloud integration. Especially, Quarkus 3 on Java 21 simplifies asynchronous concurrent applications using virtual threads (Project Loom) for high scalability. In this session, we take you through how Quarkus integrates Loom on Java 21 for developers to make concurrent applications easier, have cheaper memory, and have high performance using virtual threads. You can also learn about what’s new in Quarkus 3 such as JakartaEE 10, MicroProfile 6, Hibernate ORM 6, and more.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "751886", + "title": "Architecting a Front-End Project for Longevity", + "description": "Building software is hard enough, but sculpting a sustainable, maintainable front-end project is an art form. In this talk, we'll dive into pivotal concepts for establishing a new project or revitalizing an existing one. We will discuss strategies that empower you and your team to engineer projects with the adaptability crucial for their long-term success.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", - "name": "Daniel Oh" + "id": "27a63fc1-2981-4a83-8f13-fa986f36de8d", + "name": "Sean McQuaid" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11105,102 +10241,134 @@ "isConfirmed": true }, { - "id": "545764", - "title": "Supersonic, Subatomic GitHub", - "description": "You've seen GitHub Actions, but did you know about GitHub Apps? \"GitHub Apps are tools that extend GitHub's functionality.\" A GitHub app lets you interact with GitHub -- or a third party system, or both! -- when certain things happen in a repository. Things like someone pushing to the repository, creating a pull request or issue, commenting on or editing pull requests, issues, etc. The official docs show you how to write an App using JavaScript, which is fine, but then you have to use JavaScript! \r\n\r\nIn this presentation, we'll look at how we can use our Java and Quarkus experience to write an application. We'll register the application with GitHub, set up the project for the application, and react to various events. At the end, we'll have a working GitHub application, written in Java (or Kotlin!) that is supersonic, subatomic awesomeness.", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "754616", + "title": "Web Apps and Devices – Yes We Can!", + "description": "Device integrations have for decades been a problem for many business web apps. Input devices, printers, sensors and security gadgets would have their use case in many typical business apps. The \"sandbox\" by browsers has been worked around with several hacks ranging from browser plugins to native wrappers, but native apps have ruled when you need to connect to custom devices. Emerging new web standards may be changing the game forever.\r\n\r\nThis presentation will overview the possibilities (including workarounds and dirty hacks) to connect to various devices from your web apps. As a hands-on code example, we use Web Bluetooth API available in Chrome to collect ECG precise data from a wireless heart monitor belt. The row bytes are then sent over to the Java server for further analysis.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "72b630b0-9ef2-4e5f-86f2-ba2f357df49f", - "name": "Jason Lee" + "id": "5200f95c-75b8-411a-933f-68865fcd42c6", + "name": "Matti Tahvonen" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true + }, + { + "id": "1edace2b-f58c-4248-815d-dfc9d8e032b9", + "title": "TBD", + "description": null, + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58707, + "room": "Web and front-end", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + { + "id": "9f3d5fc8-28ad-4a78-b40e-b85217024915", + "title": "TBD", + "description": null, + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58707, + "room": "Web and front-end", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false } ], "hasOnlyPlenumSessions": false }, { - "id": 42147, - "name": "JakartaEE", + "id": 58708, + "name": "JakarataEE", "sessions": [ { - "id": "551596", - "title": "Making the best of Jakarta EE, Kubernetes, WebSphere and the cloud with AI", - "description": "This hands-on session will show you how to enable deployments of Jakarta EE applications using Open Liberty or WebSphere Liberty to the cloud with AI. Attendees will explore how to set up a Liberty deployment on Kubernetes, and how to streamline the containerization, deployment and provisioning of resources using AI. We’ll also cover how to establish a SQL Database connection to the deployed application. We’ll be using GitHub Copilot and Copilot Chat to access generative AI, enabling smooth, secure deployments while saving time. By the end, participants will have a comprehensive understanding of how to optimize, test, and deploy their Java applications on the cloud using Open/WebSphere Liberty and Kubernetes.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "746924", + "title": "Jakarta EE meets AI: Beyond the chatbot with LangChain4j", + "description": "LLMs are getting smarter every day, but they still don’t get the ins and outs of your business.\r\n\r\nIn this session, we’ll explore a demo project built with Jakarta EE and LangChain4j. We’ll supercharge the LLMs by hooking them up to your backend. The result? An LLM that not only chats but also follows your business rules, making it a real game-changer for your applications.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f412fe67-9886-458b-ab9d-8e7f578bd742", - "name": "Brian Benz" - }, - { - "id": "fd61aaae-755a-4c22-9e72-ab751cbe2b63", - "name": "Emily Jiang" + "id": "14c0c531-8f58-4be9-a878-c38517d03afe", + "name": "Jorge Cajas" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11208,45 +10376,49 @@ "isConfirmed": true }, { - "id": "550866", - "title": "Exploring the Data Universe: Portability with Jakarta Data and Open Liberty", - "description": "We live on a data-driven planet where data can be accessed from relational databases, non-relational databases, message streams, and more. Often our enterprise Java applications are restricted by the back-end datastore they were written to access. Let us explore a new universe where data is captured, accessed, and persisted without such restrictions.\r\n\r\nThe unity and standardization of data access and persistence was the catalyst for the Jakarta Data project. The Jakarta Data specification provides a modern persistence model focused on the stable and portable needs of the modern enterprise application developer. Using Jakarta Data on Open Liberty offers developers a cloud-native platform to prototype, test, and deploy applications.\r\n\r\nIn this session, we will showcase the domain-driven repository pattern of the Jakarta Data project to persist data to the relational database. We will highlight the query mechanism to utilize sorting, streaming, and paging. Once our application is written, we will swap out the relational database for a non-relational database to highlight just how easy this can now be with Jakarta Data.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "755597", + "title": "Duke on CRaC with Jakarta EE", + "description": "Have you heard of Coordinated Restore at Checkpoint (CRaC)? The short version is that it is a super fast way to start your Java applications. Did you know that you can do that with Jakarta EE as well? \r\n\r\nJoin us in this session and follow Duke’s adventures of building modern and quick Jakarta EE applications with even faster start-up time. You will learn the basics of CRaC as well as gain an understanding of why it is a particularly good fit for Jakarta EE.\r\n", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d09139fc-ca39-47ec-a66c-31f68b6bc49f", - "name": "Kyle Aure" + "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27", + "name": "Ivar Grimstad" + }, + { + "id": "ad998165-d26a-4c98-8aac-ee60a16c638a", + "name": "Rustam Mehmandarov" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11254,95 +10426,95 @@ "isConfirmed": true }, { - "id": "547420", - "title": "Databaseless Data Processing with EclipseStore and WebSphere Liberty InstantOn", - "description": "More and more companies and organizations are using AI, ML, VR and big data in the cloud. 3 factors are most critical for all of them: high performance, low data storage costs, and simple, fast and cost-efficient implementation and maintenance. Traditional databases and persistence frameworks worked well so far, however for the beginning AI age they are too slow, implementing is complex, and databases are too expensive in the cloud. That's why many innovative companies such as online banks or gaming companies have built their individual high-performance systems with pure Java with high effort to meet their requirements. Now, with EclipseStore there is a leight-weight and easy to use framework. EclipseStore enables databaseless high-performance in-memory data processing for modern cloud-native Java applications and microservices. It lets you store any Java object graph of any size and complexity seamlessly into any cloud binary data storage. Users benefit from ultra-fast in-memory data processing, up to 1000x faster queries, up to 99% cloud database cost savings, and unrivaled simplicity. WebSphere Liberty InstantOn enables EclipseStore cluster nodes starting in milliseconds without the need for using GraalVM native images. ", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "751261", + "title": "Concurrency redefined: what’s new in Jakarta Concurrency 3.1", + "description": "While java natively supports multi-threading, there are detrminents that impede massive parallelism: thread overhead, task granularity, mixed I/O bound work, algorithmic limitations etc. to name a few. Enter Jakarta Concurrency and discover the powerful features and enhancements! designed to boost performance and streamline development, Jakarta Concurrency 3.1 introduces significant improvements in asynchronous task execution, thread management, and resource optimization. We'll demonstrate practical examples and best practices to leverage these features effectively within Open Liberty, showcasing how they can be seamlessly incorporated into your existing Java EE applications to achieve more scalable and responsive systems. Whether you are a seasoned developer or new to Jakarta EE, this session will equip you with the knowledge and tools to take full advantage of Jakarta Concurrency 3.1.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f465d18e-ff85-47b9-9997-f00a602ac48d", - "name": "Markus Kett" + "id": "02757751-2055-43a0-afb7-a8654d46bffe", + "name": "Ashwin M S" }, { - "id": "fd61aaae-755a-4c22-9e72-ab751cbe2b63", - "name": "Emily Jiang" + "id": "8fc26242-b3ec-4e47-b3e2-3e2fc6f9d459", + "name": "Madhuvanthi V" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, { - "id": "549583", - "title": "Hyperscale Jakarta EE PaaS on Azure", - "description": "Azure is the only top tier public cloud with a fully managed Jakarta EE service - JBoss EAP on App Service. \r\n\r\nIn this fast-faced, demo-heavy, and mostly slide-free session we will show first-hand how to run Jakarta EE on Azure using JBoss EAP on App Service. We will demo in real time how to stand up an instance very quickly and deploy a realistic Jakarta EE application that integrates with some services on the cloud such as database, directory server, cache or log aggregator. We will also see how things like load-balancing, automatic redeployment, auto-scaling, and monitoring work in a hyperscale PaaS.\r\n\r\nAt the end of the session, you will have all the demos available on GitHub so you can explore them on your own!", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "750035", + "title": "Jakarta EE: Connected Industries with an Edge", + "description": "Manufacturing facilities, production lines, and industrial automation units have traditionally been disconnected from the internet. However, to stay competitive in the digital era, these systems must evolve into smart, interconnected networks by integrating key technologies such as digital twins and the Industrial Internet of Things (IIoT), which require internet connectivity and the cloud. As data volumes generated by industrial equipment are substantial, relying solely on cloud infrastructure becomes insufficient due to bandwidth limitations, latency issues, and the inability to handle real-time data processing effectively. Even more, it poses key security challenges. This is where edge computing becomes critical. Edge computing brings data processing closer to the source, reducing latency and bandwidth strain, enabling faster decision-making and seamless operations. This talk explores how industrial automation can safely and efficiently move online by leveraging Jakarta EE applications as edge computing units. The presentation will also highlights the features that application servers for Jakarta EE apps should offer to meet the demands of operational technologies and factory environments, such as security, reliability, scalability, and long-term support. The presentation showcase these opportunities through a demo build with Payara Platform.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8a4b1a5b-575a-402f-9ab1-417c1c1f08e0", - "name": "Reza Rahman" + "id": "162782a2-35a0-45af-9983-17e5920586d0", + "name": "Petr Aubrecht" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11350,45 +10522,45 @@ "isConfirmed": true }, { - "id": "537737", - "title": "Jakarta EE 11: Going Beyond the Era of Java EE", - "description": "Since its introduction in 2018 as Jakarta EE, the platform has evolved from: Jakarta EE 8, an open-source version of Java EE 8; to Jakarta EE 9, the \"big bang\" release; to Jakarta EE 10 that introduced the Core Profile.\r\n\r\nJakarta EE 11, scheduled for a GA release in 1Q2024, will introduce new specifications, provide updated specifications, and set the baseline to Java 21, the latest LTS release.\r\n\r\nThis presentation will provide a brief history of JavaEE/Jakarta EE and a review of new and updated specifications with code examples.", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "760135", + "title": "Case Study: Journey to Cloud with Jakarta EE and MicroProfile", + "description": "The journey to cloud is an ongoing challenge for many enterprises. Some organizations have tackled this endeavor easily, while others have delayed the process, waiting for the right time or technology to get started. In this session, we will describe the migration of a production application from a solo monolith to an application system augmented with MicroProfile microservices. In this case, the application team opted maximize the value of their investment: maintain the original application and enhance it with services that surround it. We will include technical challenges and how we overcame them using Helidon, an open-source framework that makes it easy to write Java microservices, including MicroProfile microservices that easily integrate with Jakarta EE applications.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "9820a802-240a-4fc0-9541-36ff1c2f760b", - "name": "Michael Redlich" + "id": "c3739d81-91b9-4c51-b56a-9099c7e02e74", + "name": "David Cabelus" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11401,23 +10573,23 @@ ], "timeSlots": [ { - "slotStart": "08:15:00", + "slotStart": "08:00:00", "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58709, + "name": "Keynote", "session": { - "id": "236a0817-b43e-4d4d-8956-c963fa1dff33", - "title": "Registration & breakfast", + "id": "b75cc5cd-d2c6-48a4-93b9-5d4d1e7d6073", + "title": "Registration and Breakfast", "description": null, - "startsAt": "2024-04-11T08:15:00", - "endsAt": "2024-04-11T09:00:00", + "startsAt": "2025-03-06T08:00:00", + "endsAt": "2025-03-06T09:00:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -11432,53 +10604,25 @@ "slotStart": "09:00:00", "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58709, + "name": "Keynote", "session": { - "id": "557220", - "title": "Knowledge Management for the Technically Inclined", - "description": "Knowledge sharing and creation is foundational to technical professionals' work, and yet is one of the most overlooked areas of modern business. When you cannot find the information you need, or it is hard to understand, your productivity and your end customer are going to be affected.\r\n\r\nYou can use effective knowledge management principles and techniques to get your time back for your important work. Discover:\r\n- techniques for organising your personal, team, and organisation knowledge so it can be found\r\n- how to present information so it can be more easily consumed by the reader\r\n- how to work together with your peers to improve your documentation\r\n- how to align your documentation to your audience to optimise communication\r\n\r\nLearn how to optimise the knowledge and understanding that underpins what you do.", - "startsAt": "2024-04-11T09:00:00", - "endsAt": "2024-04-11T10:00:00", - "isServiceSession": false, + "id": "45040691-b23e-4acb-9320-331e1f983559", + "title": "Day 2 keynote", + "description": null, + "startsAt": "2025-03-06T09:00:00", + "endsAt": "2025-03-06T10:00:00", + "isServiceSession": true, "isPlenumSession": true, - "speakers": [ - { - "id": "1b56e49d-1702-4a54-9cf7-433c38632ebe", - "name": "Jacqui Read" - } - ], - "categories": [ - { - "id": 59536, - "name": "Track", - "categoryItems": [ - { - "id": 231062, - "name": "Keynote" - } - ], - "sort": 0 - }, - { - "id": 59537, - "name": "Session Format", - "categoryItems": [ - { - "id": 207667, - "name": "keynote" - } - ], - "sort": 1 - } - ], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, - "status": "Accepted", - "isInformed": true, - "isConfirmed": true + "status": null, + "isInformed": false, + "isConfirmed": false }, "index": 0 } @@ -11488,48 +10632,48 @@ "slotStart": "10:00:00", "rooms": [ { - "id": 39693, - "name": "Architecture", + "id": 58710, + "name": "Tech Leadership", "session": { - "id": "577755", - "title": "Enhancing Software Design with Spring Modulith", - "description": "Having more tools in your tool belt and knowing when to use each one is a crucial aspect of modern design and architecture. In this talk, I want to introduce you to a new tool: Spring Modulith. This innovative tool is reshaping how we approach software structure, especially in the debate between using Microservices or a Monolithic framework. The central question we'll explore is how to create software that's flexible and can adapt to the evolving needs of a business.\r\n\r\nSpring Modulith is designed for those working with Spring Boot, offering a way to efficiently organize and evolve software projects. Here’s what we’ll delve into:\r\n\r\nDefining and managing logical modules within Spring Boot applications using Spring Modulith.\r\n\r\nUtilizing Spring Modulith’s tools for structural validation tests, ensuring each component functions correctly and cohesively.\r\n\r\nDocumenting the architecture of your application, facilitating better collaboration and future modifications.\r\n\r\nImplementing interactions between modules in a way that maintains their independence yet allows for effective communication.\r\n\r\nMonitoring real-time interactions between modules during the software’s operation.\r\n\r\nA highlight of this talk is a live coding demonstration, where I’ll show Spring Modulith in action. This will be insightful for both seasoned Spring Boot users and newcomers alike.\r\n\r\nJoin us to discover how Spring Modulith can enhance your toolkit, making your software projects more adaptable and aligned with the dynamic landscape of business requirements.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "738302", + "title": "Conway’s Law and Digital Transformation", + "description": "Conway’s Law posits that the design of a system mirrors the communication structure of the organization that created it. As businesses increasingly adopt modern technologies to enhance operations and deliver value, the alignment between organizational structures and system architectures becomes critical. Let's explore the implications of Conway’s Law in the context of digital transformation, examining how traditional, hierarchical structures often hinder the agility and innovation required for modern, scalable systems.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "345b7e02-c223-49a0-875d-0a3502ee2e82", - "name": "DaShaun Carter" + "id": "78100ec6-45ab-4076-8911-266bfc4c376b", + "name": "Dennis Ruzeski" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11539,52 +10683,48 @@ "index": 1 }, { - "id": 39694, - "name": "Agile", + "id": 53138, + "name": "Architecture", "session": { - "id": "555341", - "title": "Refactoring AF (After Fowler): Some Large Refactoring Patterns", - "description": "Martin Fowler’s Refactoring: Improving the Design of Existing Code was first published in 1999. What have we learned since then about refactoring? What should we, as professional software developers, know before deciding to do a refactor on a legacy codebase? What is the thought process we need to apply when choosing a new design for existing code? This talk will delve into these questions with examples and humor.\r\n\r\nThe audience for this session is software developers and the people that interface with them (product owners, scrum masters, development managers) who need to know the value of this important and often neglected technical practice.\r\n\r\nAt the end of the session, the attendee will be able to plan a refactoring effort on legacy codebases, apply refactoring techniques beyond those listed in Fowler, and recognize accidental code complexity in large codebases.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "734821", + "title": "Documenting your architecture", + "description": "We've all learned that documenting your code is a good idea. But what about your architecture? What should we be thinking about when we document architecture? What tools and techniques can we reach for as we pursue this endeavor? Can we even make this a sustainable activity, or are we forever doomed to architectural documentation getting outdated before the ink is even dry? \r\n\r\nIn this session we will discuss a range of techniques that will not only help document your architecture, but even provide a mechanism to think about architecture upfront, and make it more predictable. You'll walk away armed with everything you need to know about documenting your current, and future architectures. ", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "83fd871a-3bbe-4d41-92a4-9443e7c66c5f", - "name": "Aaron McClennen" - }, - { - "id": "eaa23bbd-1207-432d-8c52-eed0035f0ddf", - "name": "M. Jeff Wilson" + "id": "d017112e-f5b1-4594-aee9-cdac1403e0f1", + "name": "Raju Gandhi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11594,154 +10734,162 @@ "index": 2 }, { - "id": 42136, + "id": 53139, "name": "AI", "session": { - "id": "541466", - "title": "Contextual search with vector search: exploring your options with open source tools.", - "description": "Have you noticed the recent improvement in how our searches have become smarter? It's fascinating how vector search technology has enhanced our contextual search experience.\r\n\r\nThe underlying idea is quite straightforward. For example, let's consider an example of a movie recommendation system. The idea is to represent each movie in our catalog as a vector, a numerical representation of a piece of text.\r\n\r\nOnce we're done with that and also converted the search phrase into a vector, we step into a whole new realm — a multidimensional space where these vectors replace the original text values. Through some mathematical techniques, we can determine which movie representations are closest to the vector representing our search query!\r\n\r\nHow do we create such vector representations? We need an AI model trained on vast amounts of data to recognize patterns and effectively convert text phrases into vectors. \r\n\r\nAll of this you’ll learn in this session. We'll try out different data solutions - ClickHouse, OpenSearch and PGVector. We'll also explore different models available depending on your language preference and skills, or, in case you 'd rather not run the model locally, what APIs you can use to do data inference for free.\r\n\r\nPlenty of demos and a bit of coding for each of the options. This session will be useful for anyone who is intrigued by contextual search and usage of AI, but might find themselves overwhelmed by the complexities to get started.\r\n", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "771631", + "title": "Spring AI: Seamlessly Integrating AI into Your Enterprise Java Applications", + "description": "As artificial intelligence becomes increasingly important in enterprise software development, Java developers need practical ways to integrate AI capabilities into their applications. Spring AI provides a familiar and pragmatic approach to this challenge, allowing developers to incorporate AI features while leveraging the established patterns and practices of the Spring ecosystem.\r\n\r\nThis session demonstrates Spring AI's portable APIs that enable developers to switch seamlessly between different AI models and vector stores. We'll show how this abstraction layer allows you to write code once and run it with providers like OpenAI, Azure OpenAI, or local models, as well as vector stores such as Postgres, Chroma, or Weaviate.\r\n\r\nThrough live coding demonstrations, we'll showcase:\r\n* RAG (Retrieval-Augmented Generation) implementation using vector databases for intelligent document processing\r\n* Function Calling patterns that enable AI models to interact with your business logic\r\n* Evaluation techniques to measure LLM response accuracy and mitigate hallucination\r\n* Observability features to monitor your AI application's behavior in production\r\n", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "5ecff6ff-7704-433e-a38f-a057d05eacec", - "name": "Olena Kutsenko" + "id": "247ec778-0f81-4b84-b25d-48893a6302ad", + "name": "Mark Pollack" + }, + { + "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", + "name": "Josh Long" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, "index": 3 }, { - "id": 42137, - "name": "Cloud Tech", + "id": 53140, + "name": "Cloud Native", "session": { - "id": "547437", - "title": "Unlocking Dramatic Savings: Optimize your App and Database Footprint with Serverless Java", - "description": "In the dynamic world of cloud-native apps, efficient microservices are crucial. This talk introduces a groundbreaking blend of serverless computing. Serverless architecture simplify containerized app deployment and scaling, letting developers focus on coding, not infrastructure. EclipseStore is a high-performance, in-memory data platform. This combination offers: 1) Seamless Scalability: Dynamic microservice scaling with Serverless optimizes resource use, minimizes overhead. 2) Data Efficiency: EclipseStore's in-memory data processing boosts data access speed, reduces latency. 3) Cost Savings: serverless computing cuts infrastructure costs, eliminates server management. EclipseStore eliminates data storage costs.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "751398", + "title": "Supercharge Agentic AI Projects: A DevEx-Driven Approach to Cloud-Native Scaffolding", + "description": "In the rapidly evolving landscape of artificial intelligence, agentic AI has emerged as a powerful paradigm for creating intelligent agents capable of interacting with the real world. However, building and deploying such agents can be a complex and time-consuming process. This demo-driven talk will introduce a new approach to cloud-native scaffolding using software templates that significantly simplify the development of agentic AI projects, providing a streamlined and efficient experience for app developers.\r\n\r\nThrough a series of live demonstrations, attendees will witness firsthand how this innovative scaffolding framework can accelerate the development lifecycle of agentic AI applications. We will explore key features such as automated code generation, pre-configured infrastructure, and integration with popular AI libraries, demonstrating how these tools can save developers valuable time and effort.\r\n\r\nBy the end of this talk, participants will have a clear understanding of how this new approach to cloud-native scaffolding can revolutionize the development of agentic AI projects. They will be equipped with the knowledge and practical skills needed to build intelligent agents more efficiently and effectively, driving innovation in the field of artificial intelligence.\r\n", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f465d18e-ff85-47b9-9997-f00a602ac48d", - "name": "Markus Kett" + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" }, { - "id": "c53d0ee3-4ee1-4a19-ac0a-26a38a4c43af", - "name": "Richard Fichtner" + "id": "b9f343b4-5370-4839-bd53-572b0322882e", + "name": "James Falkner" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, "index": 4 }, { - "id": 42139, - "name": "Core Java", + "id": 58711, + "name": "Cloud Tech", "session": { - "id": "539216", - "title": "Loom is more than virtual threads: Structured Concurrency and Scoped Values", - "description": "Most of the talk about Project Loom as been about JEP 425: Virtual Threads. That's great because virtual threads are incredibly useful and will revolutionize how we write high-throughput applications. But did you know there are two more JEPs associated with Project Loom that are also very useful? First we'll learn about JEP 428: Structured Concurrency and how it will simplify multithreaded programming on the JVM. Next, we'll learn about JEP 429: Scoped Values which aims to solve some problems that ThreadLocals have had since their introduction way back in Java 1.2! Come to this talk and we'll learn why these projects are useful additions to the JVM, and write some code to illustrate where you'll be able to use them effectively. ", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "750836", + "title": "AMP-ing Your Java with AArch64/Arm64 Servers", + "description": "\r\nAs the world of server architecture evolves, ARM64 servers are becoming increasingly prominent in the data center and cloud environments. This session explores how Java applications can leverage the performance and efficiency benefits of ARM64 servers.\r\n\r\nJoin us as we dive into:\r\n\r\nIntroduction to ARM64 Architecture: Understand the key features of ARM64 and why it’s gaining traction in modern server environments.\r\n\r\nJava on ARM64: Discover how the Java Virtual Machine (JVM) performs on ARM64 servers and what optimizations are available.\r\n\r\nPerformance Tuning: Learn practical tips and techniques to fine-tune your Java applications for ARM64, including JIT compiler settings and garbage collection adjustments.\r\n\r\nCase Studies and Real-World Examples: Hear about successful migrations and performance improvements from organizations that have embraced ARM64 for their Java workloads.\r\nFuture Trends: Explore upcoming advancements in ARM64 architecture and how they might impact Java development.\r\n\r\nThis talk is ideal for Java developers, system administrators, and DevOps professionals looking to harness the power of ARM64 servers and optimize their applications for the future. Whether you’re considering a transition to ARM64 or simply curious about its benefits, this session will provide valuable insights and practical guidance.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "172a6669-38c5-46ec-b262-3290e8aa41e3", - "name": "Todd Ginsberg" + "id": "bceafbd1-53f7-4888-a891-72955eab9077", + "name": "Aaron Williams" + }, + { + "id": "f9e44c9c-823d-47dc-9853-924dcb375b96", + "name": "Dave Neary" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11751,48 +10899,48 @@ "index": 5 }, { - "id": 42140, - "name": "Frameworks", + "id": 58701, + "name": "Core Java", "session": { - "id": "567652", - "title": "Crossing The Streams - leveraging Pulsar IO + Pulsar Functions together with Spring Cloud Stream", - "description": "Apache® Pulsar™ is an open-source, distributed messaging and streaming platform built for the cloud. It provides Pulsar Functions and Pulsar IO connectors which can be leveraged to build Pulsar message processing applications.\r\nSpring Cloud Stream is a framework for building message-driven micro-service applications. It provides a Pulsar binder implementation that can be used to build Pulsar message-processing applications.\r\nBoth of these solutions share a high degree of feature overlap and either could be used to solve the same problem. However, it need not be an ‘either-or’ proposition, they can actually be used in tandem.\r\nIn this talk, we will demonstrate Pulsar Functions and Pulsar IO connectors and show how Spring for Apache Pulsar simplifies their usage. We will also show how to use the Spring Cloud Stream Pulsar Binder in your application. Finally, we will “cross the streams” and leverage these technologies together to build a Pulsar message processing application.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "738256", + "title": "We hate code - The !joy of maintaining dead code", + "description": "Disclaimer: If you love to maintain legacy code than this session is not for you. \r\nYou probably know the hassle of maintaining code that was written long time before you entered the project or company. Often the developers who wrote it are not even in the company anymore. So how do you know if the code is still used? Often you simply don’t know and so you take the code with you…from one release to another…and the codebase is growing.\r\nThis session will give you an idea about what you can do to get rid of legacy code. Which tools are available and how they can help you to male your life easier.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "974e24f5-044f-4552-a362-fdefd445dabc", - "name": "Chris Bono" + "id": "71f3abf1-03cf-458b-b385-e10fd110e89a", + "name": "Gerrit Grunwald" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11802,48 +10950,48 @@ "index": 6 }, { - "id": 42141, - "name": "Java Platform", + "id": 58702, + "name": "Frameworks", "session": { - "id": "555595", - "title": "Keeping Your Java Hot by Solving the JVM Warmup Problem", - "description": "Java bytecodes and class files deliver on the original vision of “write once, run anywhere”. Using a Just-in-Time (JIT) compiler allows JVM-based applications to compile only the code that’s being used frequently and optimise it precisely for how it is being used. Using techniques like speculative optimisation can often deliver better performance than static, Ahead-of-Time (AOT) compiled code.\r\n\r\nHowever, this flexibility and performance comes at a cost. Each time the JVM starts an application, it must perform the same analysis to find hot spots of code and compile them. This is referred to as the application warmup time.\r\n\r\nIn this session, we’ll look at several approaches to how this problem can be alleviated or even eliminated. Specifically:\r\n\r\n•\tGenerating a JIT compiler profile of a running, warmed-up application that can be reused when the same application is restarted, eliminating the need for much of the JIT compilation.\r\n•\tDecoupling the JIT compiler from the JVM for a Cloud environment. Providing a centralised JIT-as-a-Service allows caching of compiled code and offloading the compilation work when new code must be compiled.\r\n•\tCreating a checkpoint of a running application. This includes all application state (heap, stack, etc.) in addition to the JIT-compiled code. Project CRaC will be used as an example.\r\n\r\nAt the end of the session, you’ll be all set to keep your Java hot!\r\n", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "779565", + "title": "Spring Batch 5.2 and beyond: What's new and what's coming next", + "description": "Spring Batch 5.2 has been out for 6 months by now, and Spring Batch 6.0 will be out in 6 months from now.. What a great time to get an update of the current status of the project and what's coming next!\r\n\r\nThis talk walks you through all the new features introduced in Spring Batch 5.2 and what the team is planning to work on for the next generation of the framework.\r\n\r\nIf you use Spring Batch in some capacity, this talk is a must-see to get an update on the current state of things and how to prepare the upgrade to the next major version.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "709043d1-5754-4459-a8d5-6dd2f5619874", - "name": "Simon Ritter" + "id": "b7081806-6f1d-4d53-803a-b5f7ecabc1b0", + "name": "Mahmoud Ben Hassine" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11853,48 +11001,48 @@ "index": 7 }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58703, + "name": "Java Platform", "session": { - "id": "540546", - "title": "Are Your Tests Slowing You Down?", - "description": "Testing is a Good Thing, right? Especially automated testing. But \"Good things come to those who wait\" is not something that's going to appeal to the busy developer. You want results, and you want them now. You're in The Zone working on a problem, and the last thing you want is to break your flow wrestling with your testing framework or waiting for the tests to finish running.\r\n\r\nMore code means more tests. More coverage means more tests. More tests mean more time. Time that you want to spend being productive, creative, innovative. How can you balance the need for quality with the need for speed?\r\n\r\nIn this talk, Trisha will identify issues that slow down developers when writing, running and debugging tests, and look at tools that can help developers with each of these problems. There will be live coding, analysis of social media poll results, an overview of solutions in this space, \"best practice\" recommendations, and machine learning will be mentioned at some point.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "752500", + "title": "Micrometer Mastery: Unleash Advanced Observability in your JVM Apps", + "description": "Is your application a black box? Is your current observability instrumentation not good enough? Do you want to add more to your metrics and distributed tracing? Join us and unlock the full potential of Micrometer and its cutting-edge observability features!\r\n\r\nDive into:\r\n\r\n- Micrometer Observation API: Instrument once and have multiple benefits out of it.\r\n- Observation Conventions: Instrumentation with standardized naming and tagging.\r\n- Automated Documentation: Effortlessly generate rich observability descriptions from your code.\r\n\r\nWe'll showcase:\r\n\r\n- Practical code examples for instrumenting real-world applications.\r\n- Advanced techniques to extract deeper insights and troubleshoot issues faster.\r\n- Real-world use cases demonstrating the power of Micrometer's observability toolkit.\r\n\r\nReady to elevate your observability game using the industry’s golden standard? This talk is your one-stop shop for Micrometer mastery!", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "5eff389f-6760-4a05-affb-ec5b6fc2ca36", - "name": "Trisha Gee" + "id": "8f517aca-8293-4e1f-9360-0ce676531421", + "name": "Jonatan Ivanov" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11904,48 +11052,52 @@ "index": 8 }, { - "id": 42143, - "name": "Security", + "id": 58704, + "name": "Practices", "session": { - "id": "551307", - "title": "Breaking AI: Live coding and hacking applications with Generative AI", - "description": "Is your organisation ready to revolutionize your coding experience with generative AI tools, like copilot, ChatGPT, or code whisperer? Do you know how to code safely with generative AI tools increasing your delivery speed without compromising security? In this session, we’ll discuss some of the dangers of generative AI, including hallucinations and security risks. We’ll live code a Spring coffee shop application using copilot, and ChatGPT, and live hack the results, showing how the generated code can be exploited in a running app. We’ll uncover generated SQL injections, Cross site scripting, directory traversal and more. Don't miss this electrifying opportunity to explore the cutting edge of coding technology. Join us and embark on a journey where velocity meets security, and innovation knows no bounds. Secure your spot now and get ready to code like never before! In this session you'll learn how you can leverage the power of AI to increase your velocity while mitigating risks and staying secure.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "735884", + "title": "Testing on Thin Ice: Chipping Away at Test Unpredictability", + "description": "Ever tried to catch melting snowflakes? That's the challenge of dealing with flaky tests - those annoying, unpredictable tests that fail randomly and pass when rerun. In this talk, we'll slide down the slippery slope of why flaky tests are more than just a nuisance. They're time-sinks, morale crushers, and silent code quality killers.\r\n\r\nWe'll skate across real-life scenarios to understand how flaky tests can freeze your development in its tracks, and why sweeping them under the rug is like ignoring a crack in the ice. From delayed releases to lurking bugs, the stakes are high, and the costs are real.\r\n\r\nBut don't pack your parkas just yet! We're here to share expert strategies and insights on how to identify, analyze, and ultimately melt away these flaky tests. Through our combined experience, we'll provide actionable techniques and tools to make sure snow is the only flakiness you experience, ensuring a smoother, more reliable journey in software development.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "e5aad250-139d-4a16-9c6e-d3534bbe1fc6", - "name": "Micah Silverman" + "id": "2f4018fc-6f1a-484c-9297-383fb1a5c4ae", + "name": "François Martin" + }, + { + "id": "130a4bc5-3b04-4a0c-95e6-62fad0b4d722", + "name": "Brian Demers" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -11955,52 +11107,52 @@ "index": 9 }, { - "id": 42144, - "name": "Tools and Techniques", + "id": 58705, + "name": "Security", "session": { - "id": "556719", - "title": "Java, JavaFX, and Life on Jupiter’s Europa", - "description": "NASA’s deep space Clipper mission will launch in 2024 and travel to Jupiter’s icy moon Europa searching for the conditions and evidence of organic life. The mission’s success hinges on innumerable technical trials, from evaluating spacecraft trajectories to prioritizing surface observation targets. To help the Europa Clipper team navigate these complex challenges, we developed a Java-based visualization, planning, and analysis tool, named Cadmus.\r\n\r\nThe planning and analysis of the Europa Clipper mission requires highly precise spatial geometries, as the spacecraft will be flying at a speed of kilometers per seconds, while targeting small features on the Europa surface. At nearly 1 billion kilometers away from Earth, precision in planning is paramount. For this, the Cadmus tool uses a combination of Java spatial geometry toolkits and JavaFX to display the precise positions of the spacecraft, planets, moons, stars, surface features, flyby paths, and many more. This effect must be both high performance and interactive so that scientists and engineers can quickly prioritize and plan upcoming observations. \r\n\r\nTo achieve this, we created an infrastructure in Java that allows us to responsively render and interact with maps and space views by combining JavaFX and AWT in a multi-threaded approach. This approach has been extremely successful, and now supports missions outside of Europa Clipper, analyzing spacecraft and data around Saturn, Venus, the Moon, and all the way back to Earth. This presentation will review the NASA Clipper use case, provide a live demo of the software while discussing code segments that are insightful or tricky for such an implementation.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "740966", + "title": "Securing LLM-Powered Applications: Overcoming Security and Privacy Challenges", + "description": "LLMs accessing the database and intelligent agents that perform online purchases? The possibilities for AI in applications seem endless but so are their security and data privacy risks. In this session, we’ll address common issues such as prompt injection, key leakage, abuse of private customer data for model training, legal restrictions, and more. In addition, we will show that general security issues in your systems can also influence the behavior and outcome of LLMs. \r\nDuring this session, you’ll get a solid overview of the vulnerabilities to avoid, strategies to ensure data privacy compliance and best practices for building secure LLM-powered applications.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1c0d52b2-0edc-4419-917f-b10fbf1c0d54", - "name": "Jordi Turner" + "id": "50e931e4-bda7-4065-b4c4-5083683497e6", + "name": "Brian Vermeer" }, { - "id": "98f13279-4870-419d-bc75-01444e9c3da5", - "name": "Scott Turner" + "id": "3aa1b5bf-3169-48e9-afe2-708f50426f3b", + "name": "Lize Raes" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12010,48 +11162,48 @@ "index": 10 }, { - "id": 42145, - "name": "Web and front-end", + "id": 58706, + "name": "Tools and Techniques", "session": { - "id": "555434", - "title": "Simple Ways to Make Webhook Security Better", - "description": "Webhooks are a simple and powerful way for services to notify each other that something interesting has happened. So much so that it became the most popular mechanism for communicating events. While webhooks give us power and flexibility, they rely heavily on the listener to enforce security. In this session, we will learn the most common, interesting, and challenging patterns across 100+ webhook implementations, and learn some simple ways to make webhook security better (for providers and consumers).", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "750660", + "title": "Codebase Resurrection: Revive and Refactor with AI", + "description": "Is your codebase in need of a major overhaul? Do you find yourself wrestling with tangled code, uncertain about the consequences of each refactor? Join us at this Java conference session to discover how AI can be your secret weapon in the battle against subpar code.\r\nIn this enlightening talk, our seasoned Principal Software Developer will guide you through the transformative journey of leveraging AI tools to bring your codebase back to life. We'll demonstrate the incredible power of a AI plugins in your IDE, which combines the best practices and methodologies from industry experts with the precision of artificial intelligence.\r\nYou'll learn how to harness AI's capabilities to:\r\nAnalyze Code Health: Understand the current state of your codebase and identify areas in need of improvement.\r\nAI-Powered Testing: Utilize AI-driven testing to gain confidence in your refactoring efforts, reducing the risk of introducing new bugs.\r\nRefactor with Precision: Apply expert-recommended refactorings to untangle complex code structures and improve maintainability.\r\nMeasure Success: Evaluate the impact of your refactorings and track improvements in code quality and performance.\r\nBy the end of this session, you'll be equipped with the knowledge and tools to breathe new life into your codebase, making it more efficient, robust, and future-proof. Don't miss this opportunity to revolutionize your coding practices and elevate your software architecture to new heights with Codium.AI. Join us and embark on your journey towards code excellence!\r\n", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f0f1fa39-eb24-4ab6-866c-b8645975bd75", - "name": "Scott McAllister" + "id": "7f7eb959-dfdc-4d7f-a6a0-bd64b2710282", + "name": "David Parry" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12061,103 +11213,99 @@ "index": 11 }, { - "id": 42146, - "name": "Cloud Native", + "id": 58707, + "name": "Web and front-end", "session": { - "id": "557496", - "title": "API Management as Code: A declarative approach to handling API artifacts", - "description": "Every day software development relies more and more on APIs. Using it as part of digital transformation or just to connect some microservices, developers use APIs to connect applications and devices. API management is now a mature discipline covering the different aspects of the API lifecycle. However, managing efficiently the surge of APIs in the organization could be a challenge. Using a declarative approach makes it easier to understand and automate the desired state of APIs. It makes it easier to version, review and share with other members of the team. Some projects have started to complement their capabilities to add this declarative approach, usually in environments like Kubernetes. \r\n\r\nJoin this session to learn more about:\r\n\r\nCommon API management artifacts\r\nAn introduction to declarative vs imperative management\r\nThe operator pattern and how it helps with declarative management\r\nAn example from the 3scale operator\r\nOther projects using Kubernetes custom resources.\r\n", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "751546", + "title": "A Java Developers Guide to Navigating the Frontend Landscape", + "description": "This is a beginner-friendly session designed for Java developers who are trying to navigate the landscape of frontend development. When you need to develop a new frontend for your application, what approach do you take? Do you leverage your existing Java skills and create it using a Java framework? Or do you opt for a modern JavaScript framework like React, Angular, or Vue? Different requirements may call for different solutions, and in this session, we will explore this topic in depth. By the end of this talk, you will be up to date with the latest techniques for building frontend applications.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "e546ec56-9837-46b5-b3fa-4f79381b5aaa", - "name": "Hugo Guerrero" + "id": "c2745a9d-1b7d-4cc3-a620-46afb9337f6d", + "name": "Dan Vega" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, "index": 12 }, { - "id": 42147, - "name": "JakartaEE", + "id": 58708, + "name": "JakarataEE", "session": { - "id": "551596", - "title": "Making the best of Jakarta EE, Kubernetes, WebSphere and the cloud with AI", - "description": "This hands-on session will show you how to enable deployments of Jakarta EE applications using Open Liberty or WebSphere Liberty to the cloud with AI. Attendees will explore how to set up a Liberty deployment on Kubernetes, and how to streamline the containerization, deployment and provisioning of resources using AI. We’ll also cover how to establish a SQL Database connection to the deployed application. We’ll be using GitHub Copilot and Copilot Chat to access generative AI, enabling smooth, secure deployments while saving time. By the end, participants will have a comprehensive understanding of how to optimize, test, and deploy their Java applications on the cloud using Open/WebSphere Liberty and Kubernetes.", - "startsAt": "2024-04-11T10:00:00", - "endsAt": "2024-04-11T11:00:00", + "id": "746924", + "title": "Jakarta EE meets AI: Beyond the chatbot with LangChain4j", + "description": "LLMs are getting smarter every day, but they still don’t get the ins and outs of your business.\r\n\r\nIn this session, we’ll explore a demo project built with Jakarta EE and LangChain4j. We’ll supercharge the LLMs by hooking them up to your backend. The result? An LLM that not only chats but also follows your business rules, making it a real game-changer for your applications.", + "startsAt": "2025-03-06T10:00:00", + "endsAt": "2025-03-06T11:00:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f412fe67-9886-458b-ab9d-8e7f578bd742", - "name": "Brian Benz" - }, - { - "id": "fd61aaae-755a-4c22-9e72-ab751cbe2b63", - "name": "Emily Jiang" + "id": "14c0c531-8f58-4be9-a878-c38517d03afe", + "name": "Jorge Cajas" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12172,20 +11320,20 @@ "slotStart": "11:00:00", "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58709, + "name": "Keynote", "session": { - "id": "9087bdf4-5cc4-42e5-8093-587e4b761f95", + "id": "a6c6ec2f-b705-47bb-8d03-a8b6930b36d4", "title": "Morning Break", "description": null, - "startsAt": "2024-04-11T11:00:00", - "endsAt": "2024-04-11T11:30:00", + "startsAt": "2025-03-06T11:00:00", + "endsAt": "2025-03-06T11:30:00", "isServiceSession": true, - "isPlenumSession": true, + "isPlenumSession": false, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -12200,48 +11348,48 @@ "slotStart": "11:30:00", "rooms": [ { - "id": 39693, - "name": "Architecture", + "id": 58710, + "name": "Tech Leadership", "session": { - "id": "556701", - "title": "Micro Frontends for Java Microservices", - "description": "You've figured out how to split up your backend services into microservices and scale your teams to the moon, right? But what about the front end? Are you still building monoliths for your UI? If so, you might want to check out micro frontends—basically extensions to the microservices pattern, where the concept is extended to the front end.\r\n\r\nFind out how to package and deploy your microservices and their UIs in the same artifact, as well as make it possible to test and develop them independently.\r\n\r\nIn this live session, Matt will show you how to build a microservices and micro frontends architecture using React, Spring Boot, and Spring Cloud.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "753446", + "title": "Complex Problems... and other ways to disappoint your friends.", + "description": "Most developers have heard of \"Big O notation\" but it stops there. One step further is a cliff. If you don't know it's there, welp, it was nice knowing ya. *Pirate accent* THAR BE SEA DRAGONS *end dramatic accent*\r\n\r\nIt's hard to make computer science interesting, or even relevant, but in this talk I focus on the key aspects that you can't ignore. It's important to know when you stumble across an NP-Complete problem, and what you can do. I promise short journey into the jungle of PSPACE for developers who have never even heard these terms.\r\n", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "55118daf-09db-4e61-a5b6-c2661640c3d2", - "name": "Matt Raible" + "id": "56225543-85a5-428d-9ab7-3556a051296d", + "name": "Gant Laborde" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12251,48 +11399,52 @@ "index": 1 }, { - "id": 39694, - "name": "Agile", + "id": 53138, + "name": "Architecture", "session": { - "id": "544499", - "title": "Battling your Biased Brain", - "description": "Ever heard of the IKEA effect or the bandwagon-effect? In our efforts to delivering great software, there are numerous occasions where our brain tries to trick us. Don’t fall for them!\r\n\r\nIn this talk we will dive into some well-known and researched cognitive biases that impact our judgments in our day-to-day jobs as software creators.\r\nWhen do they typically occur? And why are we falling into these traps from time to time?\r\n\r\nAfter this talk you'll have a better understanding of how your brain tricks you, how to make better decisions and in the end how to deliver some great software.\r\n\r\nA word of warning; during this talk you may get tricked!", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "755446", + "title": "Cache Smarter, Not Harder: A Practical Guide to Choosing the Best Caching Strategy", + "description": "In today's rapidly evolving digital landscape, ensuring application performance at scale requires efficient caching solutions. How can developers reduce latency, alleviate database load, and make the right architectural decisions to ensure scalability and cost-effectiveness? This talk offers a comprehensive overview of modern caching mechanisms, including in-memory, distributed, and hybrid solutions, with key technologies such as Redis, Memcached, Apache Ignite, and CDNs. \r\n\r\nParticipants will explore the fundamental principles behind these technologies and learn to navigate the trade-offs in scalability, data consistency, and performance. Through real-world use cases like session management, distributed data processing, and big data applications, this session provides actionable insights on how to select and integrate the most suitable caching mechanism for specific application demands.\r\n\r\nBy the end, attendees will walk away with a clear framework for evaluating caching solutions and practical strategies to optimize their architecture for high performance and scalability. ", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "719a72a0-c85f-476b-b9fc-23c4c816ca61", - "name": "Peter Wessels" + "id": "f7d03f66-8402-4926-ba4c-aade6a3f7817", + "name": "Medha Chakraborty" + }, + { + "id": "616f816d-a777-4392-a9cd-f93bf93ddab9", + "name": "Eswaran Rathinam" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12302,47 +11454,47 @@ "index": 2 }, { - "id": 42136, + "id": 53139, "name": "AI", "session": { - "id": "557732", - "title": "AI Proof Your Career With Software Architecture", - "description": "The rapid rise of AI tools such as ChatGPT, Bard, GitHub Copilot, and others has many developers worried about their careers, and whether these tools will replace programmers. This session will reassure those developers and provide some guidance on staying employable in the age of AI.\r\n\r\nWe will begin by looking at some areas in software development that are least likely to be impacted by AI, such as embedded software, fintech, legal systems, and avionics, but then we will concentrate on software design and architecture.\r\n\r\nYes, you can ask ChatGPT to write a REST API in Spring Boot with a JUnit test suite. But can you ask it to create an entire enterprise software system? With OpenID security, unit and integration tests, a deployment pipeline, management APIs, backup and rollover processes, an SLA of less than 100ms while supporting 100K concurrent users, providing localization for North American, South American, and European markets, handling PII (personally identifiable information), conform to Sarbanes-Oxley standards, and provide documentation? No. And probably not for the foreseeable future.\r\n\r\nWe will look at areas of software architecture and design to learn to provide job security. We will see how existing AI tools may coexist with human guided software architecture development. \r\n\r\nWe will wrap up with a brief look at ArchUnit - a library for testing the architecture of a Java application, and how it may be used to guide junior developers who use AI tools to generate the \"street level\" code in a project.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "753366", + "title": "Generative DevOps", + "description": "AI’s capabilities for software development through code generation have become well known, with 81% of devs reporting using a coding assistant. However, this shift in the way developers write software has implications across the software development lifecycle. This talk highlights the importance of leveraging AI across all of your DevOps process – not just code. We’ll look at some exciting new use cases for testing, monitoring and observability, and continuous deployments, as well as strategies for ensuring a successful approach to integrating AI into DevOps on your team.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b765d60f-4717-4116-b9f2-002c8a10bd88", - "name": "Kelly Morrison" + "id": "85becfa6-8765-4c3c-b805-e393ed3dd954", + "name": "Cecelia Martinez" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, @@ -12353,48 +11505,48 @@ "index": 3 }, { - "id": 42137, - "name": "Cloud Tech", + "id": 53140, + "name": "Cloud Native", "session": { - "id": "603870", - "title": "Real-Time Dashboards in the Corporate World: How Apache Pinot® Powers Industry Leaders", - "description": "This isn't your typical tech talk—it's a story of the journey into how big players like LinkedIn, Uber Eats, and Stripe are mastering the art of real-time data.\r\nViktor is here to demystify Apache Pinot's superpowers, showing you how it instantly transforms mountains of data into actionable insights. Business decision-makers have long had access to dashboards and reports, but now analytics can be made available to users as features of stickier, more engaging applications. With stories, insights, and a touch of humor, Viktor will unpack the cool features of Apache Pinot, including the Star-Tree Index, and show you why it’s a game-changer in data strategy.\r\nThis session is for everyone, whether you're a data geek, a business guru, or just curious about the future of tech. Viktor's dynamic style will keep you on the edge of your seat, eager to put these insights into action. So, buckle up and get ready to be wowed by the power of real-time analytics with Apache Pinot – it will be a blast!", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "770490", + "title": "Shield your Java code: Practical guides for trusted software", + "description": "In today's interconnected software landscape, securing your Java code is paramount to protecting your organization's assets and reputation. This session will delve into practical strategies for building trusted Java applications, focusing on the critical aspects of the software supply chain. We will explore best practices for vulnerability management, dependency analysis, secure coding practices, and effective security testing methodologies. Discover how to identify and mitigate common vulnerabilities, protect your applications from external threats, and ensure the integrity of your software development process. By the end of this session, you will have a comprehensive understanding of the essential steps to shield your Java code and build resilient, secure applications.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4f858987-1a60-4da8-a4a2-045824a496c7", - "name": "Viktor Gamov" + "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", + "name": "Daniel Oh" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12404,99 +11556,103 @@ "index": 4 }, { - "id": 42139, - "name": "Core Java", + "id": 58711, + "name": "Cloud Tech", "session": { - "id": "557560", - "title": "Just-in-time Compilation Isn’t Magic", - "description": "Just-in-time Compilation Isn’t Magic\r\n\r\nFortunately for most Java developers the just-in-time compiler just works and appears to work by magic. And yet sometimes, we find ourselves facing a performance problem, so what do we when the magic stops?\r\n\r\nIn this talk, we’ll learn a few key concepts behind the magic of modern optimizing compilers: intrinsics, basic blocks, static single assignment, and inlining. By the learning these concepts, you’ll learn to save time not trying to optimize the things that the compiler can already do for you and focus on things that matter most.\r\n", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "750567", + "title": "Are you crazy? hosting 25 years old java code on a brand-new cloud?", + "description": "Hosting legacy Java code on a modern cloud platform poses unique challenges. The age gap between the legacy code and the cutting-edge cloud environment requires careful consideration of compatibility, capability, performance, debuggability, observability, and security. If we are looking for a first-class cloud-native experience, then we need to focus on re-architecting, refactoring, and retargeting the code. On a positive note, this process provides an opportunity to enhance the system’s scalability, resilience, and maintainability using the latest cloud technologies. Enter application modernization! This session presents a practical approach to bridging the gap between legacy systems and modern execution environments. Attendees will learn not only best practices around application modernisation but also gain insights into how this approach turns challenges into opportunities for innovation, resulting in a more agile, scalable, and future-proof system.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d0e56066-fb6c-4d1f-a65c-2c7b71ede47c", - "name": "Douglas Hawkins" + "id": "40bb5fa8-ff71-437e-b3e6-49189208e664", + "name": "Elsa Zacharia" + }, + { + "id": "06008a63-f49b-451e-b0ae-44ccaf9bf0cc", + "name": "Akula Harshitha" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, "index": 5 }, { - "id": 42140, - "name": "Frameworks", + "id": 58701, + "name": "Core Java", "session": { - "id": "556029", - "title": "Bootiful Spring Boot 3.x", - "description": "Spring Framework 6.x and Spring Boot 3.x are almost here and you know what that means? New .jars! And also new baselines and new possibilities! Spring Framework implies a Java 17 and Jakarta EE baseline, and offers new support for building GraalVM-native images. It also offers a new observability layer, an amalgamation of some of the work in the Micrometer project and Spring Cloud Sleuth. Spring Boot 3 builds upon all of this, and integrates all of this into our application. Join me, Spring Developer Advocate Josh Long (@starbuxman), and we'll look at next-gen Spring and learn why, with Spring taken together with Java 21, there's never been a better time to Java developer.\r\n\r\n", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "750629", + "title": "Unveiling the Magical Power of Java Virtual Threads", + "description": "Thread-per-request programming limits application scalability, leading developers to adopt thread sharing and asynchronous programming to better utilize hardware, though this introduces additional complexity. Creating reactive pipelines, debugging them, and visualizing their execution can be complicated tasks, compounded by the complexities that arise when exceptions occur.\r\nJava Virtual Threads enable applications to scale while preserving the thread-per-request style programming. Just as operating systems create the illusion of abundant memory by mapping a large virtual address space to limited physical RAM, a Java runtime can create the illusion of many threads by mapping numerous virtual threads to a few OS threads.\r\nLet's explore Java virtual threads, including how they work under the hood, their use cases, and the APIs introduced by Project Loom. We'll also compare traditional threads with virtual threads through a simple programming example to see their benefits in action.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", - "name": "Josh Long" + "id": "912ee409-63c5-40c5-82ec-aabe804f526c", + "name": "Anamika Roychowdhury" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12506,48 +11662,48 @@ "index": 6 }, { - "id": 42141, - "name": "Java Platform", + "id": 58702, + "name": "Frameworks", "session": { - "id": "549597", - "title": "Cache Me If You Can: Speed Up Your JVM With Project Valhalla", - "description": "OpenJDK’s Project Valhalla is set to revolutionize how the JVM handles data objects in memory. By bringing the characteristics of primitives to Java objects and classes you’ll see denser memory layouts that can lead to many advantages such as improved cache performance and a smaller memory footprint.\r\nThis talk offers an exploration of Valhalla's objectives, progress, and its potential impact on the Java ecosystem with examples throughout. Come discover how Project Valhalla is on the verge of reshaping the landscape of Java, paving the way for a more efficient and high-performing future.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "800031", + "title": "Building Scalable Systems and Services with Spring Boot 3.4 ", + "description": "Hi, Spring fans! In this installment we're going to look at how to build scalable systems and services using the amazing Spring Boot 3.4 release and all the umbrella projects that accompany it. \r\n\r\nWe'll look at the basics - a sort of desk check for the wayward Spring developer - to ensure that development itself is scalable when using Spring.\r\n\r\nWe'll look at the basics of data access and web programming with Spring. We'll look at data processing strategies, too.\r\n\r\nWe'll look at how to build modular, intelligent applications with Spring Modulith and Spring AI. \r\n\r\nWe'll look at how to build messaging and integration into our system. \r\n\r\nWe'll look at how to integrate security into the system, making passwords safe and then - ideally - avoiding them altogether. \r\n\r\nAnd we'll look at scaling and optimizing Spring applications, too. \r\n\r\nProduction is the happiest place on earth! Join me for this workshop and we'll learn how to get there with aplomb. ", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "5b876b41-adcf-4322-ade7-e55aaf1d004e", - "name": "Theresa Mammarella" + "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", + "name": "Josh Long" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, - "name": "session" + "id": 290620, + "name": "workshop" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12557,48 +11713,48 @@ "index": 7 }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58703, + "name": "Java Platform", "session": { - "id": "537982", - "title": "Focus on software, not code", - "description": "There is a recent trend to focus too much on code, sometimes losing sight of the end goal, which is running software, and it's costing everybody precious time and money.\r\nI will talk about the difference between code and software, and why it's so important to focus on the latter, without dismissing the former, using real-life examples and situations to illustrate the benefits of focusing on software and not just code, such as prioritizing optimizations, improving performance, fixing bugs, and even keeping tech debt under control.\r\n", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "741181", + "title": "Setting up data driven tests with Java tools", + "description": "Everyone knows that performing tests during development is the Right Thing to do. But how do we test data driven test cases? How can we ensure clean environments, reproducible outcomes, setting the database with the correct state, ensuring results match expectations, and so on? The Java ecosystem offers several options that we can leverage to answer these questions. In this session we'll cover how to configure data driven testcases with Testcontainers, setup database state and verify results with DbUnit and Database Rider, even test PL/SQL statements.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "2b16e922-4d90-4637-8a92-9030591a8ef9", - "name": "Enrique Zamudio" + "id": "720cdc7d-0ae6-44d3-af2a-eebc0a086508", + "name": "Andres Almiray" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12608,48 +11764,48 @@ "index": 8 }, { - "id": 42143, - "name": "Security", + "id": 58704, + "name": "Practices", "session": { - "id": "552455", - "title": "Configuration security as a game of pursuit intercept", - "description": "In this session we will take a look at the emerging field of cloud security posture management and how we can approach the problem space using a class of board games known as pursuit/intercept. Using the game Scotland Yard as a visual illustration we'll explore the cognitive and technical limitations that all CSPM systems face and what you should look for when evaluating the strengths and weakness of CSPM vendors.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "751558", + "title": "Nurturing OpenJDK distribution: Eclipse Temurin Success History and Plan", + "description": "Join me as we explore the pillars that make Eclipse Temurin one of the most widely adopted, enterprise-ready OpenJDK Runtime (over 20M monthly downloads) and also delve into the future of Adoptium and explore the goals set for 2025. \r\nAs we navigate the landscape of open source Java runtimes, Adoptium is committed to fostering vibrant, healthy projects that thrive with the support of robust communities. In this talk, we will also shine a spotlight on our dedication to delivering quality and outstanding performance, with a special focus on our AQAvit project and Security Effort.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "9f4c5484-3a97-4a43-9410-05b2007f83bb", - "name": "Wes Widner" + "id": "b9c86848-8925-4ca8-b33f-933532e6c3ef", + "name": "Carmen Delgado" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12659,48 +11815,48 @@ "index": 9 }, { - "id": 42144, - "name": "Tools and Techniques", + "id": 58705, + "name": "Security", "session": { - "id": "539882", - "title": "Dude, what happened to my developer-first cloud? Production-easy Spring Cloud", - "description": "Dude, what happened to my developer-first cloud? Production-easy Spring Cloud\r\n\r\nIf you've used Spring Boot & Spring Cloud to build robust production systems, you know you love how it makes your microservices more stable, resilient, scalable, and manageable.\r\n\r\nOnce upon a time, certain cloud environments took a similar, developer-first approach. Getting to production was as easy as pushing a JAR to the platform and letting it do all the heavy lifting, letting you focus on creating and delivering mission-critical features to your users.\r\n\r\nRemember, no one ever got praise and a raise for crafting the perfect Kubernetes YAML file...which is the universe's way of reminding you that you want -- you need -- to focus on writing great code, not on endlessly tweaking infrastructure.\r\n\r\nIn this session, the presenter will examine the pieces needed for a Spring Boot developer-first cloud and then demonstrate how to unlock those pieces using intelligent deployment options that allow you to focus on what you do best: creating mission critical, game changing applications while the platform takes care of the rest. \r\n\r\nCome to this session to learn how to increase your company's -- and your -- value by getting back to what you do best and what brings you greatest joy: writing amazing code and delivering needed features to your users!", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "750525", + "title": "Shadow Vulnerabilities in AI/ML Data Stacks - What You Don’t Know CAN Hurt You", + "description": "The adoption of open-source AI software introduces a new family of vulnerabilities to organizations. Some components in AI, like model serving, include Remote Code Execution (RCE) by design, like when loading pre-trained models from external sources.\r\n\r\nTraditional SCA and SAST approaches are not built for the AI ecosystem leaving a huge & insecure attack surface. \r\n\r\nAI models are often downloaded from the public web, from untrusted sources in common platforms like HuggingFace using the “trust_remote_code=True” flag when loading models.  So how do we better secure our AI stacks?\r\n\r\nIn this talk, we’ll examine some of the common security anti-patterns prevalent in AI engineering, such as security issues that are not classified as CVEs by design, or patched security issues that introduce breaking changes.\r\n\r\nWe’ll review the methods introduced for better security hygiene such as new checkpoint formats (model files on disk) - like SavedModel and SafeTensors. While SCA, SAST, and traditional approaches don't analyze model checkpoints, leaving these silent vulnerabilities in your stacks, we’ll demo through real code examples, why the runtime context is crucial to detect these security issues.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "05be364d-a57f-4e08-978d-8043d43db097", - "name": "Mark Heckler" + "id": "dea86363-2e13-4dfa-996a-200e6feb8749", + "name": "Gal Elbaz" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, - "name": "Tools and techniques" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12710,99 +11866,99 @@ "index": 10 }, { - "id": 42145, - "name": "Web and front-end", + "id": 58706, + "name": "Tools and Techniques", "session": { - "id": "556248", - "title": "From Mosaic to Modern: The Evolution of Web App Architectures", - "description": "The introduction of the NCSA Mosaic browser in 1993 marked the inception of the modern web. What began as a platform for static hypertext documents rapidly evolved, embracing dynamic content, interactive functionality, and eventually the extensive capabilities of today's rich web applications. In this session, we will:\r\n\r\n* Explore the pivotal shifts in web application architectures from the early 1990s to the present.\r\n* Highlight the successful strategies, acknowledge the missteps, and identify the driving factors behind each architectural choice.\r\n* Offer insights into the repeated patterns and lessons learned from history.\r\n\r\nWith a keen understanding of the past, attendees will be better poised to approach future web development challenges with clarity and confidence. Join this journey through time to gain a deeper appreciation of the web's evolution and prepare for what lies ahead.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "754866", + "title": "An All Code Introduction to Domain Driven Design and Hexagonal Architecture", + "description": "Domain Driven Design is designed for implementing complicated business logic and is an excellent fit for microservices development.\r\n\r\nDomain Driven Design provides a repeatable, logical structure that makes implementing business logic easier, faster, and more maintainable. Hexagonal Architecture (or Ports and Adapters) excels at producing loosely coupled, interchangeable components that fit well with DDD.\r\n\r\nIn this presentation I will introduce the Domain Driven Design and dive into the DDD concepts of Aggregates, Repositories, Value Objects, Services, Ubiquitous Language, Adapters, and Shared Kernels. I will also build an application using these patterns and leverage Hexagonal Architecture for easy extensibility. Testing will of course be included.\r\n\r\nYou will leave this presentation with a basic knowledge of Domain Driven Design, how to structure and test your application to implement DDD and how to use Hexagonal Architecture to extend your applications.\r\n\r\nNo slides; just live code.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ff0a1dd3-c9f2-48e2-88a8-9c0e429251be", - "name": "Kito Mann" + "id": "943e1c6e-d2db-4829-b701-000eaac0f5cd", + "name": "Jeremy Davis" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, "index": 11 }, { - "id": 42146, - "name": "Cloud Native", + "id": 58707, + "name": "Web and front-end", "session": { - "id": "551434", - "title": "Going from containers, to pods, to Kubernetes – help for your developer environments!", - "description": "Today, Kubernetes is the undisputed go-to platform for scaling containers. But for developers, Kubernetes can be daunting, particularly when working with the discrepancies between local and production environments. Podman and Podman Desktop bridges this gap. In this talk, you’ll be introduced to Podman and witness the unveiling of Podman Desktop, an open-source GUI tool that streamlines container workflows and is compatible with Podman, Lima, Docker, and more. Podman Desktop serves as a beginner-friendly launch pad to Kubernetes, enabling developers to spin up local clusters (with Kind and Minikube) or work with remote environments. A demo will be given that helps you navigate the paths necessary to transition from app to containers, to pods, and ultimately to Kubernetes, highlighting how it reduces discrepancies and enables predictability in your deployments by leveraging Podman and Podman Desktop's perks and security advantages. You'll also learn how you can benefit from Podman Desktop to streamline your container development processes!", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "751886", + "title": "Architecting a Front-End Project for Longevity", + "description": "Building software is hard enough, but sculpting a sustainable, maintainable front-end project is an art form. In this talk, we'll dive into pivotal concepts for establishing a new project or revitalizing an existing one. We will discuss strategies that empower you and your team to engineer projects with the adaptability crucial for their long-term success.", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "78cedbd4-1408-4625-ab2e-44559814885b", - "name": "Cedric Clyburn" + "id": "27a63fc1-2981-4a83-8f13-fa986f36de8d", + "name": "Sean McQuaid" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12812,48 +11968,52 @@ "index": 12 }, { - "id": 42147, - "name": "JakartaEE", + "id": 58708, + "name": "JakarataEE", "session": { - "id": "550866", - "title": "Exploring the Data Universe: Portability with Jakarta Data and Open Liberty", - "description": "We live on a data-driven planet where data can be accessed from relational databases, non-relational databases, message streams, and more. Often our enterprise Java applications are restricted by the back-end datastore they were written to access. Let us explore a new universe where data is captured, accessed, and persisted without such restrictions.\r\n\r\nThe unity and standardization of data access and persistence was the catalyst for the Jakarta Data project. The Jakarta Data specification provides a modern persistence model focused on the stable and portable needs of the modern enterprise application developer. Using Jakarta Data on Open Liberty offers developers a cloud-native platform to prototype, test, and deploy applications.\r\n\r\nIn this session, we will showcase the domain-driven repository pattern of the Jakarta Data project to persist data to the relational database. We will highlight the query mechanism to utilize sorting, streaming, and paging. Once our application is written, we will swap out the relational database for a non-relational database to highlight just how easy this can now be with Jakarta Data.", - "startsAt": "2024-04-11T11:30:00", - "endsAt": "2024-04-11T12:30:00", + "id": "755597", + "title": "Duke on CRaC with Jakarta EE", + "description": "Have you heard of Coordinated Restore at Checkpoint (CRaC)? The short version is that it is a super fast way to start your Java applications. Did you know that you can do that with Jakarta EE as well? \r\n\r\nJoin us in this session and follow Duke’s adventures of building modern and quick Jakarta EE applications with even faster start-up time. You will learn the basics of CRaC as well as gain an understanding of why it is a particularly good fit for Jakarta EE.\r\n", + "startsAt": "2025-03-06T11:30:00", + "endsAt": "2025-03-06T12:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "d09139fc-ca39-47ec-a66c-31f68b6bc49f", - "name": "Kyle Aure" + "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27", + "name": "Ivar Grimstad" + }, + { + "id": "ad998165-d26a-4c98-8aac-ee60a16c638a", + "name": "Rustam Mehmandarov" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12868,20 +12028,20 @@ "slotStart": "12:30:00", "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58709, + "name": "Keynote", "session": { - "id": "17a98df5-0234-4269-a4b3-cee7cff575a4", + "id": "30fba086-ad81-4279-981b-000d0ed71caf", "title": "Lunch", "description": null, - "startsAt": "2024-04-11T12:30:00", - "endsAt": "2024-04-11T13:30:00", + "startsAt": "2025-03-06T12:30:00", + "endsAt": "2025-03-06T13:30:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, @@ -12896,48 +12056,48 @@ "slotStart": "13:30:00", "rooms": [ { - "id": 39693, - "name": "Architecture", + "id": 58710, + "name": "Tech Leadership", "session": { - "id": "556927", - "title": "How to choose the right database for your application", - "description": "In this talk, we will review the strengths and qualities of each database type from their particular use-case perspectives. Although having everything in one database seems like the straightforward path, it is not always the most cost or time effective path. Many Databases have become more specialized for the types of data they handle. Learn how to make the right choice for your workloads with this walkthrough of a set of distinct database types (graph, in-memory, search, columnar, document, relational, key-value, and time series databases). Learn about current trends in the database ecosystem and then learn about a number of different specialized databases and their strengths and weaknesses. This presentation will go over some of the fastest growing segments in the database space.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "754152", + "title": "How Not To Be Mentored", + "description": "How to does one get the best out of a mentor-ship, while providing value to both the mentee and the mentor in times of time spent and growth? \r\n\r\nThe mentee/mentor relationship in tech tends to be wrought with issues if not structured properly on both ends. This talk hopes to provide actionable steps learned from my wins and losses based on my experience being a part of a learn-to-code mentorship group for 1 year period. This talk will include : \r\n=> Understanding the value propositions of the participants [mentee vs mentor]), etc.\r\n=> Setting relationship fundamentals/foundations and expectations/results.\r\n=> Time and task management suggestions.\r\n=> How to deal with challenges as they come up. \r\n=> Content to read ( books, articles, and people to follow on Twitter).\r\n=> Etc ( Anything else that can come to mind when writing this talk based on the theme of the audience/ conference ). ", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8908ee3e-c72a-4125-b71d-98e39ce27c0b", - "name": "zoe Steinkamp" + "id": "a6ee49ed-a85d-43bd-8677-bced09824b2c", + "name": "Nerando Johnson" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12947,48 +12107,52 @@ "index": 1 }, { - "id": 39694, - "name": "Agile", + "id": 53138, + "name": "Architecture", "session": { - "id": "600115", - "title": "Developer Experience is central to DevOps success", - "description": "Developer Experience (DX) is not just describing the \"frontend\" experience - it's about every aspect of the experience your developers (internal and external) have with your product, tooling, systems, etc. Platform engineering has emerged as this general way to remove developer toil, but DX is more than that, encompassing everything from deployment pipelines to IaC practices to developer efficiencies to even UI/UX. In this talk we will seek to bring into focus some of the principles of DevOps (collaboration, communication, shared responsibility) and how a strong DX mindset can bring Dev and Ops together. ", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "751195", + "title": "REST vs GraphQL vs gRPC", + "description": "For many years REST has been the only way to implement API-endpoints. However in recent years, we are seeing its limitations. GraphQL and gRPC have emerged to address these limitations, but they are not the silver bullet, they have their own shortcomings. What is the best way to implement an API endpoint? We will try to answer these questions in this session. We will look at industry examples to understand the Pros/Cons of each of them. We will have a live demo where we will be using these API styles to interact with an actual application.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "56115ae3-406f-47af-818c-20354acc07b2", - "name": "Jeremy Meiss" + "id": "0bf01427-5704-4bf4-9409-0087807eda9a", + "name": "Chetan Galgali" + }, + { + "id": "34b5127e-3fb1-4506-813a-3cd68f86bf22", + "name": "Ben Westmoreland" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290603, + "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53138, + "room": "Architecture", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -12998,47 +12162,47 @@ "index": 2 }, { - "id": 42136, + "id": 53139, "name": "AI", "session": { - "id": "537786", - "title": "Building Intelligent Applications with ChatGPT", - "description": "As software engineers, we have the incredible opportunity to harness the power of ChatGPT to elevate our applications to new heights of interactivity and intelligence. Join this conference talk to dive into the world of the ChatGPT/OpenAI API and ChatGPT Plugins. Learn how to use the API in your Java projects and integrate your existing Java APIs into the ChatGPT UI. You'll learn to use ChatGPT's conversational capabilities and create innovative applications that understand, respond, and engage with users in natural language. Unleash the power of AI-driven interactions and take your applications to the next level.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "746227", + "title": "Don't Call it a Comeback: SQL in Cloud AI and ML", + "description": "While Python and specialized ML libraries dominate the AI/ML landscape, SQL's simplicity and power remain invaluable for developers. This session will demonstrate how SQL seamlessly integrates with Google Cloud Platform's AI/ML tools, enabling developers to leverage their existing SQL skills for efficient data handling and model building. We'll cover techniques for data exploration, feature engineering, and model training directly within BigQuery, and showcase how to deploy and manage models at scale using Vertex AI's SQL interface. Through hands-on examples and code demonstrations, you'll gain practical insights into harnessing SQL's capabilities to streamline your Cloud AI/ML development process. ", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "140644c4-887a-4227-84e3-4f737ab9d428", - "name": "Kesha Williams" + "id": "6899d8db-4ad2-4599-934a-08d37dcc250e", + "name": "Amy Russ" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, + "id": 290615, "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, + "roomId": 53139, "room": "AI", "liveUrl": null, "recordingUrl": null, @@ -13049,48 +12213,48 @@ "index": 3 }, { - "id": 42137, - "name": "Cloud Tech", + "id": 53140, + "name": "Cloud Native", "session": { - "id": "549984", - "title": "Your Cloud-Native Toolbox for Java", - "description": "What does it mean to have cloud-native Java applications? What do you need to think about to be a good Cloud citizen?\r\n\r\nIt is not about the platform you run it on or the library/framework you want to use. It is about how you build scalable, observable, resilient applications while keeping in mind the application architecture, containers, builds, testing, automation, and standards.\r\n\r\nJoin us in exploring different tools for creating cloud-native Java apps. We will go through the whole life-cycle of an application – from the first lines of code to a fully operational and containerized application.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "750111", + "title": "Test-Driven Development: It's easier than you think!", + "description": "Everyone loves writing tests, don’t they? How do you write good tests? What tools are available for you to write good tests?\r\n\r\nIn this session, I will dive into the many features of Quarkus that help developers write good tests. I will highlight some of the features of Quarkus, Dev Services and Continuous Testing, which help make testing easier. Additionally, I will live code some tests for common use cases developers encounter, including unit, integration, and “black box” testing of imperative and reactive RESTful and event-driven applications that use common services, such as databases and Kafka brokers. I will discuss techniques such as mocking, spying, and interaction-based testing/verification.\r\n\r\nI'll even spend some time showing how IDE-based AI assistants can help!\r\n\r\nOnce you see how easy TDD really can be there isn't a reason to not do it!", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ad998165-d26a-4c98-8aac-ee60a16c638a", - "name": "Rustam Mehmandarov" + "id": "6f672350-1c71-4a6e-a382-2b1db6e631fd", + "name": "Eric Deandrea" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, - "name": "Cloud Technology" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, - "room": "Cloud Tech", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -13100,48 +12264,48 @@ "index": 4 }, { - "id": 42139, - "name": "Core Java", + "id": 58711, + "name": "Cloud Tech", "session": { - "id": "577478", - "title": "Choose Your Own Performance; a Project Leyden Update!", - "description": "Project Leyden allows developers to selectively improve startup time, time to peak performance, and the footprint of Java programs, by doubling down on Java's super power of speculative optimization using capabilities built directly into the JDK. See how speculative optimizations allow AOT (ahead-of-time compilation) code to make tradeoffs between Java's static and dynamic nature as well as how new tools like Condensers and ComputedConstants may play role in further improvements.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "753141", + "title": "Optimize cold starts for Java functions using AWS Lambda SnapStart", + "description": "In this session, we will explore advanced techniques for optimizing cold starts in Java functions using AWS Lambda SnapStart. Cold starts, a common challenge in serverless architectures, can significantly impact the performance and responsiveness of Java applications. AWS Lambda SnapStart offers a robust solution by creating snapshots of function execution environments, which can be quickly restored during function invocations. This session will delve into the mechanics of Lambda SnapStart, highlighting how it reduces initialization times. Attendees will gain practical insights into configuring SnapStart for Java functions and best practices for minimizing latency. Whether you are a developer, architect, or DevOps engineer, this session will equip you with the knowledge to leverage AWS Lambda SnapStart for seamless and efficient serverless applications.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "00018bec-730b-4775-bfb5-67cb589c7042", - "name": "Dan Heidinga" + "id": "f309415d-e050-4c6a-912e-55030a999d12", + "name": "Abel Fresnillo Silva" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, - "name": "Core Java" + "id": 290605, + "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, - "room": "Core Java", + "roomId": 58711, + "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -13151,48 +12315,48 @@ "index": 5 }, { - "id": 42140, - "name": "Frameworks", + "id": 58701, + "name": "Core Java", "session": { - "id": "551464", - "title": "Spring off the HTTP High Dive into an Optimized Connection Pool", - "description": "In this session, I will explore different Spring libraries used for HTTP calls like RestTemplate, WebClient, and RestClient-which is a new feature in Spring Framework 6.1. I’ll then dive into the multitude of settings that are available along with what defaults are present when nothing is given, focusing in on connection pool settings. I’ll use observability tools and logs to show what’s happening under the covers and showcase some gotchas for things like TTL settings and DNS caching. ", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "758773", + "title": "Testing Your Way to Production Confidence with Native Images", + "description": "For Spring developers, GraalVM native images offer exciting potential: smaller footprint, faster startup, and improved performance. However, confidently deploying these images requires verifying they produce the same results as your JVM-based application. This talk shares a practical pattern for testing Spring Boot native images, ensuring a smooth transition from development to production.\r\n\r\nKey Takeaways:\r\n\r\n- Leveraging Testcontainers for external resource validation: Learn how to use Testcontainers to ensure your native image interacts seamlessly with external systems like databases, queues, and caches.\r\n\r\n-Testing native images with RestAssured: See how to use the same RestAssured tests against both your JVM and native image builds, guaranteeing functional parity.\r\n\r\n- Efficient testing strategy: Learn how to save time and resources by focusing native image testing in your CICD pipeline, while ensuring confidence through earlier-stage validations.\r\n\r\nJoin this talk to gain practical insights and a step-by-step approach for testing Spring Boot native images with confidence. Feel the freedom to deploy with performance gains without sacrificing reliability.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "c5adff32-ef90-48f3-b1ef-14fcd2d9132c", - "name": "John Coyne" + "id": "345b7e02-c223-49a0-875d-0a3502ee2e82", + "name": "DaShaun Carter" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, - "name": "Frameworks" + "id": 290606, + "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, - "room": "Frameworks", + "roomId": 58701, + "room": "Core Java", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -13202,99 +12366,107 @@ "index": 6 }, { - "id": 42141, - "name": "Java Platform", + "id": 58702, + "name": "Frameworks", "session": { - "id": "557746", - "title": "What Time Is It, Anyway? A Practical Guide To Using Dates And Times Correctly In Java", - "description": "The most poorly understood and incorrectly used APIs in Java that I have seen in my years as a consultant at multiple companies is the Java Date-Time APIs. Even though the APIs were introduced 10 years ago in Java 8, I still see programmers using the older Date class, I've seen horrific misuse of the Java 8 Date Time APIs, and I have had to correct issues with both production code and test code due to fundamental understandings of the APIs. This presentation gives a crash course into the proper use of the Java Date-Time APIs, why they are needed, and how (and when) to properly apply them.\r\n\r\nAttendees will learn the basics of how to properly specify a date and time in Java. They will learn when to use local date/times and when to use zoned date/times. They will be introduced to ISO 8601 and see how to properly parse and format dates in a thread safe manner. The use of ZoneIds and OffsetDateTimes will be explained. Attendees will learn to use the Period and Duration classes to calculate the difference between two dates or times. Finally, some pointers will be given on properly using dates and times in unit tests.\r\n\r\nThe goal for this presentation is for attendees to be able to confidently and correctly use dates and times in Java instead of blindly copying and pasting code from the Internet.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "759124", + "title": "The Overwhelmed Spring Developer's Guide To AI", + "description": "What is the antidote when a Spring developer hears you hear, “Hey, can you just add some AI to that?” Can you leverage the tools you’ve been using for years to help us build this solution? This talk strips away the jargon and intimidation, offering a no-nonsense path to integrating AI into your Spring applications utilizing Spring tools like Spring Boot, Spring Batch, and Spring Pulsar to help you to populate your favorite vector store with the data necessary help reduce those pesky hallucinations provided for free from our favorite AI models. ", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b765d60f-4717-4116-b9f2-002c8a10bd88", - "name": "Kelly Morrison" + "id": "25b4a764-0ab3-4a6b-b7b6-8e5f5d46dfc6", + "name": "Glenn Renfro" + }, + { + "id": "974e24f5-044f-4552-a362-fdefd445dabc", + "name": "Chris Bono" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, "index": 7 }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58703, + "name": "Java Platform", "session": { - "id": "573390", - "title": "Community hacks to enhance your career", - "description": "Do you feel it’s no longer enough to just be a great developer? Does advancing your career mean you have to be blogging, speaking at conferences, engaging on social media, committing to open source and other things distracting you from actually building software?\r\n\r\nYou’ll do well to ensure that the people making decisions about your career are hearing and seeing your name and associating it with progress and other cool and positive things (and truth, they probably aren’t looking at your code).\r\n\r\nIn this session we’ll explore some of the best practices that assist in not having to do it all from scratch. Knowing what you are doing can give you an easier path to visible contributions to the community.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "734173", + "title": "Code coverage MythBusters", + "description": "Code coverage is a compelling set of metrics that can help you improve the quality of your software, prevent potential bugs, and even help you investigate the issues.\r\n\r\nAnd as we know with great power comes great responsibility. When applied in the wrong way code coverage can easily transform from your best friend that can boost a developer’s productivity into your worst enemy that throws the sand in the wheels of your developers' productivity machine.\r\n\r\nAfter many years of answering community questions about code coverage in the JaCoCo mailing list, StackOverflow, and in the Sonar community forum we learned that most software engineers don’t understand the purpose of code coverage and how to apply it correctly. \r\n\r\nIn this talk, we will dispel the most popular myths built around code coverage. This talk will help you understand the concept of code coverage, how it should be used, and how to boost your productivity with code coverage.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "1038e701-f663-46f8-a01b-925f2f74d004", - "name": "Sam Hepburn" + "id": "eeb25beb-5d37-4fb7-acac-170357a1d89b", + "name": "Marharyta Nedzelska" + }, + { + "id": "d2ddc9e3-35b6-44a9-8daa-144d89cabaff", + "name": "Evgeny Mandrikov" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, - "name": "Practices and other tech" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -13304,48 +12476,48 @@ "index": 8 }, { - "id": 42143, - "name": "Security", + "id": 58704, + "name": "Practices", "session": { - "id": "538024", - "title": "The Art of Vulnerability Disclosure", - "description": "Properly disclosing a vulnerability you found on a website, open source project, or app is not an easy task, especially not the first time. There are a lot of things to pay attention to and that can go wrong. But if done properly, it can be very rewarding, as most companies are very grateful. Whether you want to learn how to disclose your first vulnerability in the easiest way possible, or you want to hear about best practices and suggestions on what to do when things do not go as planned, this talk is for you.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "751874", + "title": "Developer’s Guide to Test-Driven Development and Approval Testing", + "description": "In this session you’ll learn about Test-Driven Development (TDD), Approval Testing, and how using them can help you deliver better code in less time. \r\n\r\nTDD is a great way to ensure your code meets the business requirements and is easy for other developers to understand and modify. Writing automated tests before you write the associated production code, and refactoring both the test and production code once the test passes, is a key part of TDD. So if you’re working on a project that is in production (or has lots of production code) but no automated tests, TDD can’t help much — but that’s where Approval Testing shines.\r\n\r\nApproval Testing compares the current behavior of existing code with it’s previously approved of behavior, and lets you know what (if anything) has changed. Instead of asserting that a number, or a simple string were returned, an approval test might compare a complex object with it’s approved version and let you know when things change.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "2f4018fc-6f1a-484c-9297-383fb1a5c4ae", - "name": "François Martin" + "id": "7d933c95-3f49-48a4-852b-7fc30aa8b977", + "name": "Burk Hufnagel" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -13355,48 +12527,48 @@ "index": 9 }, { - "id": 42144, - "name": "Tools and Techniques", + "id": 58705, + "name": "Security", "session": { - "id": "553009", - "title": "Thriving in the cloud: Going beyond the 12 factors", - "description": "Enabling applications to really thrive (and not just survive) in cloud environments can be challenging. The original 12 factor app methodology helped to lay out some of the key characteristics needed for cloud-native applications... but... as our cloud infrastructure and tooling has progressed, so too have these factors.\r\nIn this session we'll dive into the extended and updated 15 factors needed to build cloud native applications that are able to thrive in this environment, and we'll take a look at open source technologies and tools that can help us achieve this.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "738670", + "title": "Long Live Short Lived Credentials - Auto-rotating Secrets At Scale", + "description": "By now, you are very likely aware of the problem of secrets sprawl. Millions of hardcoded plaintext credentials keep showing up online in easy-to-scan places year after year. Worse yet, adversaries have gotten very good at exfiltrating and validating these secrets. Rotating the key or password after an attack is far too late. \r\n\r\nWhat if every credential that an adversary could find expired before they could exploit it? What if keys, just a few hours old, no longer worked? \r\n\r\nLet's embrace a future of proper secrets management and auto-rotating secrets. It might seem overwhelming at first to consider accomplishing this, especially if you have never tackled secrets management before, but for many systems, this is easier to achieve than you might realize.\r\n\r\nIn this session, you will \r\n- Get an update on the state of secrets sprawl\r\n- Diagram auto-rotation architectures\r\n- Plan a secrets audit and code refactor strategy\r\n- Start the email that will help you convince the team\r\n", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "7c534296-8db5-4452-b17f-9249465ea914", - "name": "Grace Jansen" + "id": "053bf183-629a-4dd5-b66e-e2b1d7142a49", + "name": "Dwayne McDaniel" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 290610, + "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, - "room": "Tools and Techniques", + "roomId": 58705, + "room": "Security", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -13406,48 +12578,48 @@ "index": 10 }, { - "id": 42145, - "name": "Web and front-end", + "id": 58706, + "name": "Tools and Techniques", "session": { - "id": "551473", - "title": "Fullstack from the back! Better business application development", - "description": "This session will guide attendees through building data-rich business applications in an efficient way through the use of Hilla and Flow, two web frameworks written by the company, Vaadin. Flow Vaadin Flow is a unique full-stack framework that lets you build web apps without writing HTML or JavaScript. You compose the UI from components, connect it to a data source and react to user events. The UI runs on the JVM without the need to expose REST services or come up with other ways to move data to the browser.\r\nThe other framework, Hilla, is an open source framework that integrates a Spring Boot Java backend with a reactive TypeScript frontend. It works with React or Lit and helps you build business apps faster with type-safe server communication, included UI components, and integrated tooling.", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "734820", + "title": "Git features you aren’t using", + "description": "In this session we'll take a tour of some features that you might or might not have heard of, but can significantly improve your workflow and day-to-day interaction with Git.\r\n\r\nGit continues to see improvements daily. However, work (and life) can take over, and we often miss the changelog. This means we don't know what changed, and consequently fail to see how we can incorporate those in our usage of Git.\r\n\r\nIn this session we will look at some features you are probably aware of, but haven't used, alongside new features that Git has brought to the table. Examples include:\r\n\r\n- Rebase and interactive rebase\r\n- `restore`/`switch` and when to use them\r\n- worktrees\r\n- shallow-clones\r\n- Git's filesystem monitor\r\n\r\nBy the end of this session, you will walk away with a slew of new tools in your arsenal, and a new perspective on how this can help you and your colleagues get the most out of Git.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "453dc8ab-94d9-4858-923a-ecddaa493949", - "name": "Lawrence Lockhart" + "id": "d017112e-f5b1-4594-aee9-cdac1403e0f1", + "name": "Raju Gandhi" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -13457,112 +12629,108 @@ "index": 11 }, { - "id": 42146, - "name": "Cloud Native", + "id": 58707, + "name": "Web and front-end", "session": { - "id": "557741", - "title": "Java automation for yesterday, today and tomorrow", - "description": "Consistency, repeatability and simplicity are core tenants to being successful in today’s face paced, highly competitive industry. Infrastructure and development teams configuring systems that run Java workloads as well as the workloads themselves can achieve these principles through the use of automation.\r\n\r\nAnsible Middleware is an Open Source Project that leverages the power of Ansible automation to provide solutions for infrastructure teams managing Java based application servers and systems as well as integrations for developers running Java frameworks. Concerns shared among these groups include Middleware as GitOps, Compliance as Code, the underlying infrastructure, the application server configuration, patching, upgrades and integration between each of the systems, to name a few.\r\n\r\nRegardless if the systems and workloads were developed using legacy components or the next generation technologies, utilize a suite of tools that automates your Java based estate. \r\n\r\nIn this session, attendees will:\r\n* Learn the importance of automation at scale\r\n*Understand the tools and solutions provided by the Ansible Middleware project\r\n* Automate Java application servers regardless of their location: on premise, in the cloud, or at the edge\r\n* See how easy it is to build and deploy Quarkus based applications using automation\r\n* Leverage a suite of assets that development and operations teams can leverage in their own environment\r\n", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "754616", + "title": "Web Apps and Devices – Yes We Can!", + "description": "Device integrations have for decades been a problem for many business web apps. Input devices, printers, sensors and security gadgets would have their use case in many typical business apps. The \"sandbox\" by browsers has been worked around with several hacks ranging from browser plugins to native wrappers, but native apps have ruled when you need to connect to custom devices. Emerging new web standards may be changing the game forever.\r\n\r\nThis presentation will overview the possibilities (including workarounds and dirty hacks) to connect to various devices from your web apps. As a hands-on code example, we use Web Bluetooth API available in Chrome to collect ECG precise data from a wireless heart monitor belt. The row bytes are then sent over to the Java server for further analysis.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6aa1e85f-84ea-4607-9f9e-2275e78f494b", - "name": "Andrew Block" - }, - { - "id": "0df0c22e-c340-4414-aa16-12623cd9b948", - "name": "Harsha Cherukuri" + "id": "5200f95c-75b8-411a-933f-68865fcd42c6", + "name": "Matti Tahvonen" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290612, + "name": "Web and Front-end" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, "index": 12 }, { - "id": 42147, - "name": "JakartaEE", + "id": 58708, + "name": "JakarataEE", "session": { - "id": "547420", - "title": "Databaseless Data Processing with EclipseStore and WebSphere Liberty InstantOn", - "description": "More and more companies and organizations are using AI, ML, VR and big data in the cloud. 3 factors are most critical for all of them: high performance, low data storage costs, and simple, fast and cost-efficient implementation and maintenance. Traditional databases and persistence frameworks worked well so far, however for the beginning AI age they are too slow, implementing is complex, and databases are too expensive in the cloud. That's why many innovative companies such as online banks or gaming companies have built their individual high-performance systems with pure Java with high effort to meet their requirements. Now, with EclipseStore there is a leight-weight and easy to use framework. EclipseStore enables databaseless high-performance in-memory data processing for modern cloud-native Java applications and microservices. It lets you store any Java object graph of any size and complexity seamlessly into any cloud binary data storage. Users benefit from ultra-fast in-memory data processing, up to 1000x faster queries, up to 99% cloud database cost savings, and unrivaled simplicity. WebSphere Liberty InstantOn enables EclipseStore cluster nodes starting in milliseconds without the need for using GraalVM native images. ", - "startsAt": "2024-04-11T13:30:00", - "endsAt": "2024-04-11T14:30:00", + "id": "751261", + "title": "Concurrency redefined: what’s new in Jakarta Concurrency 3.1", + "description": "While java natively supports multi-threading, there are detrminents that impede massive parallelism: thread overhead, task granularity, mixed I/O bound work, algorithmic limitations etc. to name a few. Enter Jakarta Concurrency and discover the powerful features and enhancements! designed to boost performance and streamline development, Jakarta Concurrency 3.1 introduces significant improvements in asynchronous task execution, thread management, and resource optimization. We'll demonstrate practical examples and best practices to leverage these features effectively within Open Liberty, showcasing how they can be seamlessly incorporated into your existing Java EE applications to achieve more scalable and responsive systems. Whether you are a seasoned developer or new to Jakarta EE, this session will equip you with the knowledge and tools to take full advantage of Jakarta Concurrency 3.1.", + "startsAt": "2025-03-06T13:30:00", + "endsAt": "2025-03-06T14:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f465d18e-ff85-47b9-9997-f00a602ac48d", - "name": "Markus Kett" + "id": "02757751-2055-43a0-afb7-a8654d46bffe", + "name": "Ashwin M S" }, { - "id": "fd61aaae-755a-4c22-9e72-ab751cbe2b63", - "name": "Emily Jiang" + "id": "8fc26242-b3ec-4e47-b3e2-3e2fc6f9d459", + "name": "Madhuvanthi V" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, + "id": 290617, "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, "index": 13 } @@ -13572,75 +12740,98 @@ "slotStart": "14:30:00", "rooms": [ { - "id": 39693, - "name": "Architecture", + "id": 58710, + "name": "Tech Leadership", "session": { - "id": "f4ac1d09-c1f8-48e2-8a68-e32cddc5fabd", - "title": "Afternoon break", - "description": "Afternoon break", - "startsAt": "2024-04-11T14:30:00", - "endsAt": "2024-04-11T15:00:00", - "isServiceSession": true, - "isPlenumSession": true, - "speakers": [], - "categories": [], - "roomId": 39693, - "room": "Architecture", + "id": "751652", + "title": "Managing Your AI-Driven Manager", + "description": "The threat to your job isn’t that an AI can replace you — it’s that a manager will think AI can replace you. This talk covers how to build a relationship with your manager that makes you their primary technical ally. The idea is to become the person they trust to evaluate both the benefits — and the costs — of using AI tools, showing where they can help and where you really need to be careful using them. In a rapidly changing world, you can become the person your manager relies on to give them good advice, all while you get to enjoy playing with the latest toys.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "ecda0d84-be59-41c6-8983-b58cd5b3f93c", + "name": "Kenneth Kousen" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 302778, + "name": "Tech Leadership" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, - "status": null, - "isInformed": false, + "status": "Accepted", + "isInformed": true, "isConfirmed": false }, "index": 1 - } - ] - }, - { - "slotStart": "15:00:00", - "rooms": [ + }, { - "id": 39693, + "id": 53138, "name": "Architecture", "session": { - "id": "560139", - "title": "Architecting for Resiliency: Shuffle sharding for Workload Isolation", - "description": "Multi-tenant, cloud-based architectures have a set of resiliency requirements that are often at odds with customer satisfaction and cost requirements.\r\n\r\nOne 'bad actor' can impact all your other clients, or exceed your budget models. This talk will introduce the architectural pattern of Shuffle Sharding, discuss the situations it can help mitigate, the pros and cons of the pattern, and review some examples of its use.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "763722", + "title": "Bootiful Spring Boot: A DOGumentary", + "description": "Spring Boot 3.x and Java 21 have arrived, making it an exciting time to be a Java developer! Join me, Josh Long (@starbuxman), as we dive into the future of Spring Boot with Java 21. Discover how to scale your applications and codebases effortlessly. We'll explore the robust Spring Boot ecosystem, featuring AI, modularity, seamless data access, and cutting-edge production optimizations like Project Loom's virtual threads, GraalVM, AppCDS, and more. Let's explore the latest-and-greatest in Spring Boot to build faster, more scalable, more efficient, more modular, more secure, and more intelligent systems and services.\r\n", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "db3f7afe-0214-49a6-853e-e40ea87a6b5a", - "name": "Christopher Curtin" + "id": "f2617bc2-d35e-4fd7-9cea-02060f3e1608", + "name": "Josh Long" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, + "id": 290603, "name": "Architecture" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, + "roomId": 53138, "room": "Architecture", "liveUrl": null, "recordingUrl": null, @@ -13648,160 +12839,156 @@ "isInformed": true, "isConfirmed": true }, - "index": 1 + "index": 2 }, { - "id": 39694, - "name": "Agile", + "id": 53139, + "name": "AI", "session": { - "id": "557183", - "title": "Automated software refactoring with OpenRewrite and Generative AI", - "description": "The software industrial revolution has arrived. Software is now 80% open source and third-party\r\nand 20% proprietary code that stitches it together into business-critical applications. In these large and diversely composed codebases, dependencies change frequently at their own pace and security vulnerabilities can be introduced at any time by anyone. Not updating software regularly leads to critical bugs, performance, and security issues (plus your code can just get harder to work with!).\r\n\r\nMass code refactoring in these massive codebases is a multi-point operation that requires accuracy and consistency. It’s about affecting change across many individual cursor positions in thousands of repositories representing tens or hundreds of millions of lines of code. Whether you’re migrating frameworks or guarding against vulnerabilities, this requires coordination, tracking, and accuracy. \r\n\r\nThis is not a problem AI can solve alone. AI, like many humans, is not good at math and programming. AI needs a computer just like a human does.\r\n\r\nIn this talk, we’ll discuss automated code remediation with the deterministic OpenRewrite refactoring engine, a technology born at Netflix in 2016. It’s built on manipulating the Lossless Semantic Tree (LST) representation of code with recipes (programs) that result in 100% accurate style-preserving code transformations. It is a rule-based, authoritative system.\r\n\r\nThen we’ll show how to couple the precision of a rules-based system with the power of AI.\r\nWe'll demonstrate a generative AI procedure that samples source code to identify defects and uses OpenRewrite to fix them. This is a general purpose pattern you're going to start seeing a lot of — \"ChatGPT gets a computer\" (with OpenRewrite as the computer in this case).", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "742963", + "title": "Modern Problems Require Modern Solutions: Finding Your Meme Twin with Embeddings & Vector Databases", + "description": "Do you look like a famous meme character? Does someone you know? Knowing this information is vital—both for your career and your personal life. After all, am I the only one around here who wants to avoid [Angry Walter](https://knowyourmeme.com/memes/am-i-the-only-one-around-here)? And who *wouldn't* want to work with [Success Kid](https://knowyourmeme.com/memes/success-kid-i-hate-sandcastles).\r\n\r\nBut can we even find out if we have a meme twin? There are lots of memes. And lots of people. How could we possibly search them all? Well, it's easier than you think if we turn those memes into embeddings and search them with a vector database!\r\n\r\nBut what's an embedding? And what's a vector database? Well, that's what I'll cover in this session. I'll begin by exploring embeddings, showing how unstructured data, such as text and images, can be translated into hyper-dimensional arrays—called vectors—using both common and custom AI models. Then I'll talk about vector databases, covering what they are and how you can use them to store and search those embeddings with embeddings of your own.\r\n\r\nOf course, we'll do this all by example. I've turned all the big memes—from [Ancient Aliens Guy](https://knowyourmeme.com/memes/ancient-aliens) to [Zombie Boy](https://imgflip.com/memegenerator/184608242/zombie-boy)—into embeddings and have loaded them into a vector database. I've built an application around these embeddings and that database. I'll show you the code and the queries of this application so that you can build something similar for yourself. And, most importantly, we'll take some photos during the session and use it all to find your meme twin!\r\n\r\nSo, are you ready to find your meme twin? Or are you ready to learn how to use this technology? I say, [Why Not Both](https://knowyourmeme.com/memes/why-not-both-why-dont-we-have-both).", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "ac15c088-f8fe-44a8-9a82-3b92b39456e1", - "name": "Jonathan Schneider" - }, - { - "id": "b51a2283-5d04-438c-93a2-3474d6491c55", - "name": "Justine Gehring" + "id": "520bf4ca-b2d3-47c3-8475-c25bb2b257f7", + "name": "Guy Royse" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207651, - "name": "Agile" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39694, - "room": "Agile", + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 2 + "index": 3 }, { - "id": 42136, - "name": "AI", + "id": 53140, + "name": "Cloud Native", "session": { - "id": "537726", - "title": "Introducing Spring AI", - "description": "By now, you've no doubt noticed that Generative AI is making waves across many industries. In between all of the hype and doubt, there are several use cases for Generative AI in many software projects. Whether it be as simple as building a live chat to help your users or using AI to analyze data and provide recommendations, Generative AI is becoming a key piece of software architecture.\r\n\r\nSo how can you implement Generative AI in your projects? Let me introduce you to Spring AI.\r\n\r\nFor over two decades, the Spring Framework and its immense portfolio of projects has been making complex problems easy for Java developers. And now with the new Spring AI project, adding Generative AI to your Spring Boot projects couldn't be easier! Spring AI brings an AI client and templated prompting that handles all of the ceremony necessary to communicate with common AI APIs (such as OpenAI and Azure OpenAI). And with Spring Boot auto-configuration, you'll be able to get straight to the point of asking questions and getting answers your application needs.\r\n\r\nIn this session, we'll consider a handful of use cases for Generative AI and see how to implement them with Spring AI. We'll start simple, then build up to some more advanced uses of Spring AI that employ your application's own data when generating answers.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "750788", + "title": "ML Ops for Java Developers: A Hands-On Guide with Kubeflow and Quarkus", + "description": "Machine learning is becoming a must-have skill in today's world. But do Java developers know how an ML Ops platform works under the hood? Do they know the best practices for integrating ML models into their Java applications?\r\nThis session is your go-to guide for understanding how ML Ops works and the best practices for consuming it within the Java ecosystem. We'll explore how Kubeflow, a powerful ML platform, simplifies the entire machine learning lifecycle—from model training to serving at scale. You’ll also discover how Quarkus, the Kubernetes-native Java framework, can efficiently deploy these models, making them easy to consume within your Java applications.\r\nDon’t miss this chance to elevate your Java skills and dive into the future of ML Ops. Join us and learn how to integrate machine learning into your Java projects with Kubeflow and Quarkus. Your journey to becoming a Java ML Ops expert starts here! \r\n", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6baa8ae0-aa56-42e3-8ab8-6c511a55c2bc", - "name": "Craig Walls" + "id": "ac4674f3-5f5f-4b2c-ad7f-01073acf6b0f", + "name": "Eder Ignatowicz" + }, + { + "id": "058c3cdc-0607-4437-81bb-07a1aed5d05c", + "name": "Elder Moraes" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207673, - "name": "Artificial Intelligence" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42136, - "room": "AI", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": false + "isConfirmed": true }, - "index": 3 + "index": 4 }, { - "id": 42137, + "id": 58711, "name": "Cloud Tech", "session": { - "id": "557373", - "title": "Wiring Cloud Native applications for local development", - "description": "Despite the quality of modern cloud-native tools, the user experience for the inner and outer loops are still radically different, which introduces friction and slows down developer productivity. \r\n\r\nDevelopment setups are application-centric, while production environments deal with deployments and tools required for operations teams to keep applications up and running. In this session, we explore tools to simplify both sides to improve developer productivity by following a platform engineering and polyglot approach. \r\n\r\nThis session demonstrates and provides hands-on experience on:\r\nHow to enable developers with standard application-level APIs to solve common distributed application challenges by using Dapr.\r\nHow to equip developers and product managers with consistent and polyglot feature flags with OpenFeature.\r\nAnd how to develop locally with these tools, outside of a Kubernetes Cluster, by using Testcontainers. \r\n", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "733495", + "title": "Crafting the Ultimate Docker Image for Spring Applications", + "description": "Docker is the cornerstone of today's development! Let's overview quickly how we use it in JVM development, and then transition to practical examples. We will start with a simple Docker image containing a popular \"one fat JAR\" and look into its downsides (deployment speed, traffic volume). To address them, we will discuss the strategy of splitting the JAR into multiple layers and using multistage Dockerfiles, gradually improving our image. Join me to learn how to build the ultimate Docker image for Spring applications.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "3ef92880-b80a-4305-b75c-35650d1259c8", - "name": "Oleg Šelajev" - }, - { - "id": "f44f5308-1287-4e6c-8f48-6ed26ea9f9d3", - "name": "Mauricio \"Salaboy\" Salatino" + "id": "c77a2591-3a95-4285-ab0e-c06aae180730", + "name": "Pasha Finkelshteyn" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, + "id": 290605, "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, + "roomId": 58711, "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, @@ -13809,50 +12996,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 4 + "index": 5 }, { - "id": 42139, + "id": 58701, "name": "Core Java", "session": { - "id": "557266", - "title": "What is Looming in Java", - "description": "In the evolving landscape of software development, Java continues to be a stalwart choice for building reliable, scalable, and performant applications. The language and its ecosystem have evolved, incorporating modern paradigms and tools that cater specifically to the needs of high-scale applications. In JDK 21, java released Virtual Thread, which is known as Project Loom.\r\n\r\nProject Loom introduces lightweight and efficient virtual threads called fibers, massively increasing resource efficiency while preserving the same simple thread abstraction for developers. In this talk we will introduce how Fibers can reduce the effort of developing and managing high throughput applications. We’ll take a quick peak at asynchronous coding styles, and then look at how Loom fits in today’s Java applications.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "753038", + "title": "Testing Legacy Code & Refactoring Patterns", + "description": "Our jobs don't deal with new code, but old crufty and evil code. How do we test such code? How do we get through it? How can we surgically remove some of this harmful code and make it testable? How can we move away from excessive mocking?\r\n\r\nThis presentation looks at harmful code and discusses some strategies we can use to diagnose, test, apply, and finally refactor to produce something that promotes some sanity in your development process. The content of this course is all in Java and Junit. We discuss the following maneuvers:\r\n\r\n* Extract Delegate\r\n* Extract Interface\r\n* Parameterize Method\r\n* Parameterize Constructor\r\n* Sprout Method and Class\r\n* Wrap Method and Class\r\n", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f7d03f66-8402-4926-ba4c-aade6a3f7817", - "name": "Medha Chakraborty" + "id": "6f19875d-369e-4b4f-a1f7-2d93725ab36d", + "name": "Daniel Hinojosa" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, + "id": 290606, "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, + "roomId": 58701, "room": "Core Java", "liveUrl": null, "recordingUrl": null, @@ -13860,50 +13047,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 5 + "index": 6 }, { - "id": 42140, + "id": 58702, "name": "Frameworks", "session": { - "id": "551429", - "title": "Build next generation Big Data applications with Delta Lake", - "description": " Delta Lake (https://delta.io/) is an open-source storage framework that enables building a Lakehouse architecture with compute engines including Spark and also APIs for Scala/Java, Python and Rust. A Lakehouse is a modern data architecture that reimagines data warehouses in response to the availability of affordable and highly reliable storage solutions. \r\n\r\n Delta Lake provides key benefits and will fit perfectly in your Big Data architecture:\r\n - ACID Transactions\r\n - Schema Evolution\r\n - Time Travel\r\n - Audit History\r\n - Handle petabyte-scale tables\r\n - Platform Agnostic (Cloud, On-prem, or locally)\r\n - DML operations through its SQL and Spark API \r\n\r\n \r\n\r\n In this presentation, I will provide an introduction to Delta Lake, explaining how it works, and its key features and benefits. Whether you're a data scientist, data engineer, or business analyst, this session is for you.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "734869", + "title": "BoxLang - The Future is Dynamic", + "description": "Just like life, our code must evolve to meet the demands of an ever-changing world. Adaptability is key in developing for the web, tablets, APIs, or serverless applications. Multi-runtime development is the future, and that future is dynamic. Enter BoxLang: Dynamic. Modular. Productive. (www.boxlang.io)\r\n\r\nBoxLang transforms development with its dynamic design, enabling developers to write expressive, functional code effortlessly. Its modular architecture ensures flexibility, allowing easy integration into your existing ecosystems.\r\n\r\nInteroperability at Its Core\r\n\r\nBoxLang boasts 100% interoperability with Java, seamlessly blending traditional and modern development practices. This opens up new possibilities for innovation and collaboration.\r\n\r\nMulti-Runtime Versatility\r\n\r\nFrom a compact 6MB OS binary to running on our pure Java web server, CommandBox, Jakarta EE, AWS Lambda, Microsoft Functions, WebAssembly, Android, and more, BoxLang is designed to adapt to any runtime environment. BoxLang combines modern features from CFML, Node, Ruby, Kotlin, Java, and Clojure with the familiarity of Java bytecode compilation. This makes it the go-to language for developers looking to the future while building a solid foundation.\r\n\r\nEmpowering Creativity with IDE Tools\r\n\r\nUnlock your creative potential with powerful IDE tools designed for BoxLang, offering an intuitive development experience that streamlines your workflow. Join us as we redefine JVM development and step into the era of BoxLang. Welcome to the future.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "10246aaa-5ac0-4a8c-b0f5-0c4d69e54ca1", - "name": "Theo Lebrun" + "id": "01ad1e48-e43b-4af2-b3f3-e65232d55ff1", + "name": "Luis Majano" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207656, + "id": 290607, "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42140, + "roomId": 58702, "room": "Frameworks", "liveUrl": null, "recordingUrl": null, @@ -13911,50 +13098,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 6 + "index": 7 }, { - "id": 42141, + "id": 58703, "name": "Java Platform", "session": { - "id": "557568", - "title": "Modern Testing Tools for Java Developers", - "description": "New versions of the API framework appear, adding the last trending and here we go again: changing our code to adopt these new things. How awesome it is! We are improving!\r\n\r\nHow about one of the most important and, sometimes, missed things: quality! How the quality evolves within the adoption of new versions of development frameworks and libraries?\r\n\r\nThis talk will show you 5 libraries you can use, as a Java Developer, to improve the application quality with real-world examples.\r\n\r\nAssertJ will give you infinity assertion possibilities compared to JUnit internals and Hamcrest matches, enabling you to easily use any kind of assertion, even creating your own.\r\n\r\nYou will learn how to use these tools with real-world examples!\r\n\r\nPiTest will increase, even more, the coverage of your tests by applying the mutation testing technique and creating bullet-proof unit tests.\r\n\r\nRestAssured will take your API tests to the next level where, using it as a \"hard user\", can ease the test creation based on an OpenAPI specification.\r\n\r\nAwaitability will solve one of the biggest problems in the API tests: asynchronous calls/messages (mainly in a messaging system). We will be able to wait for the request to be completed to assert any result.\r\n\r\nWiremock will give you the ability not only restricted as a mock solution for your unit and integration test but as a service virtualization tool solving common problems in an integrated environment.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "755076", + "title": "Taking off With JDK Flight Recorder", + "description": "Are you running into problems with Java applications in production? Not understanding what is eating up all your system resources? And throwing a bunch of System.out messages in your code is not helping? You should check out the JDK Flight Recorder (JFR). JFR is a powerful and low-overhead observability tool built into the JVM that can help you track down those performance issues and difficult-to-understand bugs. In this presentation, we will go through the basics of using JFR in your Java applications.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "f914323b-f3ba-4de7-9069-28974d1c9137", - "name": "Elias Nogueira" + "id": "6f426cb0-6261-4f79-b726-b7ffc3b028ff", + "name": "Billy Korando" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, + "id": 290608, "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, + "roomId": 58703, "room": "Java Platform", "liveUrl": null, "recordingUrl": null, @@ -13962,101 +13149,101 @@ "isInformed": true, "isConfirmed": true }, - "index": 7 + "index": 8 }, { - "id": 42142, - "name": "Practices and other Tech", + "id": 58704, + "name": "Practices", "session": { - "id": "596932", - "title": "Learning Kafka in 2024", - "description": "Apache Kafka is one of the leading streaming platform. It is highly versatile in it's application. In this session, Nikhil will explain the basic concepts of Zookeeper, Broker, Producer, and Subscriber. He will live code a data processing system to explain certain gotchas while using Kafka. The session is designed to be an interactive hands-on session without any slides.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "750765", + "title": "Technical Enshittification: Why Everything in IT is Horrible Right Now and How to Fix It", + "description": "Did you notice how everything in IT is crap right now? Services are bloated, slow, and buggy, and the hardware requirements to run even the simplest applications are enormous. It’s not just me, right? Everything is full of bugs, support is clueless, nothing works as described, and don’t even get me started on IoT protocols and the Cloud Native space. Oh, and how about taking half of the world’s air traffic offline because of a null pointer exception pushed to production without verification?\r\n\r\nAnd on top of what’s broken, the pace of innovation has crawled to a stop (except maybe in the AI space). There’s nothing materially new in the last ten versions of Android and iOS or the last hundred versions of Chrome and Firefox. Google spent months hyping a new login screen that ended up being just a rearrangement, and can you name one new exciting feature in any software older than five years (plugging in a ChatGPT bot doesn’t count)? When Facebook was bragging about breaking things, at least it was to move faster. What’s their excuse now?\r\n\r\nThis talk will dig into the reasons behind this technical decline, which we call “Technical Enshittification.” We’ll explore how technical debt, poor innovation practices, and stagnation in core products are dragging us down.\r\n\r\nWhile this talk probably won’t be able to fix the Googles, the Apples, and the Metas, we will focus on what you can do to prevent this decline in your own projects and companies.\r\n\r\nWe’ll discuss practical strategies to combat and prevent this mess, focusing on Developer Productivity Engineering (DPE), user-centered design, robust testing, and effective project management. Real-world examples will show how to keep IT services efficient, innovative, and user-friendly.\r\n\r\nJoin us to learn how to turn things around and ensure long-term success in today’s digital landscape.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b1c4a924-b6db-453f-91d2-16b0fcf3bafd", - "name": "Nikhil Nanivadekar" + "id": "1708bdeb-e8d9-4628-a147-e9878198c900", + "name": "Baruch Sadogursky" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207658, + "id": 290609, "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42142, - "room": "Practices and other Tech", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 8 + "index": 9 }, { - "id": 42143, + "id": 58705, "name": "Security", "session": { - "id": "537983", - "title": "Know Your Ingredients: Security Starts With the Source", - "description": "One of the most neglected parts of application security is the ingredients that go into developing software. Over 80 percent of code used in enterprise applications comes from open source dependencies, but how much attention goes towards the provenance and security of those packages. And in the pursuit of accelerated software development, developers are leveraging more and more libraries and also code “created” by generative AI algorithms, so how do you prevent defects or malicious payloads from compromising your security?\r\n\r\nThis is analogous to a restaurant where you invest in modern decor, professional chefs, and world class service. But if you don’t get fresh, quality ingredients delivered daily, the taste and hygiene of the food will suffer. Securing the software supply chain is a huge undertaking for the entire tech industry, and we will talk about some of the ongoing efforts by open source projects, foundations, and corporations to help us all know our ingredients.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "750953", + "title": "Let OpenID Connect secure your applications", + "description": "Implementing the correct security patterns is a common challenge that most application developers and consultants can get wrong in even the most common of scenarios. Reinventing the wheel is a common pattern that DevOps engineers do when integrating security solutions inside their applications (authentication, password validation, identity management, correct storage of user data, etc.).\r\nOpenID Connect is an open security standard that can be used to solve most of these concerns in a reliable and scalable way for modern cloud applications, in a way that most developers are unaware of!\r\n\r\nThis talk will focus on the benefits of securing an enterprise application using OpenID Connect concepts with multiple Java Framworks, with a live demonstration of a small application that uses standard frameworks (Jakarta EE and Eclipse MicroProfile) in tandem with an external OpenID Connect provider.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "0793b99f-1282-4674-9d21-f88e30c8232e", - "name": "Stephen Chin" + "id": "9278401c-4b54-4e61-b9c2-ee65c9007dbf", + "name": "Fabio Turizo" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, + "id": 290610, "name": "Security" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, + "roomId": 58705, "room": "Security", "liveUrl": null, "recordingUrl": null, @@ -14064,50 +13251,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 9 + "index": 10 }, { - "id": 42144, + "id": 58706, "name": "Tools and Techniques", "session": { - "id": "557439", - "title": "Best Practices For Java in Cloud Native Architectures", - "description": "In this session, we'll explore the challenges of optimizing Java deployments in dynamic scaling, container, and cloud function environments. \r\nWe'll dig into resource management, garbage collection, cold start issues, classpath and dependency management, performance monitoring, and potential security issues.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "741176", + "title": "Going beyond ORMs", + "description": "For some time now JSON has been the preferred format for exchanging data between client (browsers) and servers. Often times developers had to configure data marshalling options to transform data into business objects, into persistent data, and back again. Perhaps it would make more sense to use JSON across the business pipeline without sacrificing performance nor missing benefits from the relational data world. this is what JSON Duality Views propose. In this session we'll explore options to enhance data driven applications written with Spring Boot, Quarkus, and Micronaut, enhancing your developer experience and increasing customer satisfaction.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "78100ec6-45ab-4076-8911-266bfc4c376b", - "name": "Dennis Ruzeski" + "id": "720cdc7d-0ae6-44d3-af2a-eebc0a086508", + "name": "Andres Almiray" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207660, + "id": 290611, "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42144, + "roomId": 58706, "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, @@ -14115,259 +13302,341 @@ "isInformed": true, "isConfirmed": true }, - "index": 10 + "index": 11 }, { - "id": 42145, + "id": 58707, "name": "Web and front-end", "session": { - "id": "559338", - "title": "What the Heck are Server Sent Events?", - "description": "Web applications frequently need to open a channel of communication with a server to get real-time updates. This is often done using two-way communication via WebSockets, but they can be complex to implement and, in many cases, are overkill. Server Sent Events (SSEs) offer an easy-to-implement alternative for many common use cases where an application only needs to receive updates.\r\n\r\nIn this session, we'll explore what the SSE spec is and how to implement it in a web application using JavaScript. We'll also take a quick look at a number of open source libraries LaunchDarkly maintains for implementing SSEs in Python, .NET, Go and more for server-to-server SSEs.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "1edace2b-f58c-4248-815d-dfc9d8e032b9", + "title": "TBD", + "description": null, + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58707, + "room": "Web and front-end", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + "index": 12 + }, + { + "id": 58708, + "name": "JakarataEE", + "session": { + "id": "750035", + "title": "Jakarta EE: Connected Industries with an Edge", + "description": "Manufacturing facilities, production lines, and industrial automation units have traditionally been disconnected from the internet. However, to stay competitive in the digital era, these systems must evolve into smart, interconnected networks by integrating key technologies such as digital twins and the Industrial Internet of Things (IIoT), which require internet connectivity and the cloud. As data volumes generated by industrial equipment are substantial, relying solely on cloud infrastructure becomes insufficient due to bandwidth limitations, latency issues, and the inability to handle real-time data processing effectively. Even more, it poses key security challenges. This is where edge computing becomes critical. Edge computing brings data processing closer to the source, reducing latency and bandwidth strain, enabling faster decision-making and seamless operations. This talk explores how industrial automation can safely and efficiently move online by leveraging Jakarta EE applications as edge computing units. The presentation will also highlights the features that application servers for Jakarta EE apps should offer to meet the demands of operational technologies and factory environments, such as security, reliability, scalability, and long-term support. The presentation showcase these opportunities through a demo build with Payara Platform.", + "startsAt": "2025-03-06T14:30:00", + "endsAt": "2025-03-06T15:30:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "b67a2f49-17ea-4918-b1c4-56f997b6a097", - "name": "Brian Rinaldi" + "id": "162782a2-35a0-45af-9983-17e5920586d0", + "name": "Petr Aubrecht" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207661, - "name": "Web and Front-end" + "id": 290617, + "name": "JakartaEE" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42145, - "room": "Web and front-end", + "roomId": 58708, + "room": "JakarataEE", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 11 - }, + "index": 13 + } + ] + }, + { + "slotStart": "15:30:00", + "rooms": [ { - "id": 42146, - "name": "Cloud Native", + "id": 58709, + "name": "Keynote", + "session": { + "id": "285e3b2a-1df8-4c18-81ed-165e66ec4325", + "title": "Afternoon break", + "description": null, + "startsAt": "2025-03-06T15:30:00", + "endsAt": "2025-03-06T15:45:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58709, + "room": "Keynote", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + "index": 0 + } + ] + }, + { + "slotStart": "15:45:00", + "rooms": [ + { + "id": 58710, + "name": "Tech Leadership", "session": { - "id": "537819", - "title": "Quarkus 3: The Road to Virtual Threads for Cheaper, Faster, and Easier Concurrent Applications", - "description": "Developers have had extraordinary experiences and taken stunning capabilities while they were developing Java microservices from local to the cloud using Quarkus for the past 5 years. But there is more to come with their journey since we have just arrived in Quarkus 3 which provides good, better, and even excellent features and capabilities in terms of developer experience, performance, scalability, and cloud integration. Especially, Quarkus 3 on Java 21 simplifies asynchronous concurrent applications using virtual threads (Project Loom) for high scalability. In this session, we take you through how Quarkus integrates Loom on Java 21 for developers to make concurrent applications easier, have cheaper memory, and have high performance using virtual threads. You can also learn about what’s new in Quarkus 3 such as JakartaEE 10, MicroProfile 6, Hibernate ORM 6, and more.", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "739820", + "title": "Unlock Lightning-Fast Delivery: Mastering Software Craft for Unrivaled Success", + "description": "Break free from arbitrary workflows and flawed productivity metrics! Join me to discover the secret sauce behind high-performance software delivery.\r\n\r\nTraditional measurements of productivity are a recipe for disaster, focusing on output rather than outcomes. But what if you could measure the true drivers of delivery speed, stability, and quality? In this session, we'll delve into the practices that separate top-performing teams from the rest, including:\r\n\r\n* The art of breaking down work into actionable, meaningful tasks\r\n* Metrics that accurately capture both speed and stability (not just velocity or burn-down charts)\r\n* How to align your delivery processes with your organization's unique context and goals\r\n\r\nYou'll leave this session equipped with actionable insights to transform your team's productivity and unlock unparalleled success. Don't miss this opportunity to elevate your software craft and join the ranks of industry leaders!", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "4b82436a-947c-45bb-9d5d-3b94c02c8faa", - "name": "Daniel Oh" + "id": "3c467866-b387-417c-acc3-0d06a2d64f3f", + "name": "Cody Frenzel" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 302778, + "name": "Tech Leadership" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58710, + "room": "Tech Leadership", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 12 + "index": 1 + }, + { + "id": 53138, + "name": "Architecture", + "session": { + "id": "11fff9b0-51fd-42af-87c7-344e34bef6c2", + "title": "TBD", + "description": null, + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 53138, + "room": "Architecture", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + "index": 2 }, { - "id": 42147, - "name": "JakartaEE", + "id": 53139, + "name": "AI", "session": { - "id": "549583", - "title": "Hyperscale Jakarta EE PaaS on Azure", - "description": "Azure is the only top tier public cloud with a fully managed Jakarta EE service - JBoss EAP on App Service. \r\n\r\nIn this fast-faced, demo-heavy, and mostly slide-free session we will show first-hand how to run Jakarta EE on Azure using JBoss EAP on App Service. We will demo in real time how to stand up an instance very quickly and deploy a realistic Jakarta EE application that integrates with some services on the cloud such as database, directory server, cache or log aggregator. We will also see how things like load-balancing, automatic redeployment, auto-scaling, and monitoring work in a hyperscale PaaS.\r\n\r\nAt the end of the session, you will have all the demos available on GitHub so you can explore them on your own!", - "startsAt": "2024-04-11T15:00:00", - "endsAt": "2024-04-11T16:00:00", + "id": "825095", + "title": "Unlock the Power of Generative AI: Simplifying Ad Creation", + "description": "In this insightful session, Amazon Ads experts will unveil how they leverage generative AI technologies to revolutionize multimedia creation, and elevate the advertising creative process. Discover how Amazon Ads generates millions of images, videos, and ads across multiple channels, drastically simplifying the experience of building advertising campaigns. Deep dive in the generative AI inference processes which enable advertisers to create ad creatives in seconds, virtually at no cost. This session offers a deep dive into advanced generative AI inference use cases, technical best practices, and valuable lessons learned from research and serving thousands of customers.\r\n", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "8a4b1a5b-575a-402f-9ab1-417c1c1f08e0", - "name": "Reza Rahman" + "id": "b1c4a924-b6db-453f-91d2-16b0fcf3bafd", + "name": "Nikhil Nanivadekar" + }, + { + "id": "9e911c91-495e-4dd3-a06a-0eaa3be9c3f7", + "name": "Garry Galinsky" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, - "name": "JakartaEE" + "id": 290615, + "name": "Artificial Intelligence" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 53139, + "room": "AI", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, - "isConfirmed": true + "isConfirmed": false }, - "index": 13 - } - ] - }, - { - "slotStart": "16:00:00", - "rooms": [ + "index": 3 + }, { - "id": 39693, - "name": "Architecture", + "id": 53140, + "name": "Cloud Native", "session": { - "id": "557603", - "title": "Sociotechnical Platform Engineering", - "description": "devOps practices help reduce friction to production for technologists. Once an application has user traffic, user experience should become a priority, but at what cost?\r\n\r\nThis talk will connect human centered devOps & SRE practices across a value stream to explore how platforms balance developer experience against production stability over time, and how process dependencies factor into overall platform success. \r\n\r\nthis talk will Explore:\r\n- How pipelines are value streams\r\n- A general-purpose value stream map for platforms\r\n- Dependency (wardley) maps for platform processes\r\n- Aligning SLIs, SLOs, & SLAs across our platform VSM\r\n- Establishing Error Budgets\r\n- Chaos Engineering & Complexity Science\r\n", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "743625", + "title": "Platform Engineering 101: Building Internal Developer Platforms", + "description": "Tell us what you want, what you really, really want… Developer productivity and reduced cognitive load, of course!\r\n\r\nIn our world of cloud-native Java development and shift-left mentality, developers are now drowning! They have an endless flood of tasks and responsibilities on their shoulders, whilst battling an ever-increasing sea of potential technologies and tools to use. Change is needed! So, build a dam with us through platform engineering and IDPs.\r\n\r\nIn this workshop, we’ll explore the concepts of platform engineering and Internal Developer Platforms (IDPs) and how they can help to relieve the cognitive load on developers, help to standardize technologies and tools used throughout an organization, streamline CI/CD pipelines and in essence enable greater developer productivity. We’ll investigate how this can all be achieved in the cloud, with example applications running in OpenShift, with Red Hat Developer Hub as the basis of our IDP. Throughout this workshop, you’ll learn how to utilize Red Hat Developer Hub, an implementation of the Backstage CNCF project, to create an IDP and then how this can be shared with development teams to enable rapid, easy deployment of their applications. We’ll demo this with a range of technologies, runtimes and tools to really showcase just how flexible and personalised these IDPs can be to your own organization and application needs.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "0494255d-10a1-4ec1-8c00-b0881c434931", - "name": "Chris Corriere" + "id": "7c534296-8db5-4452-b17f-9249465ea914", + "name": "Grace Jansen" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207652, - "name": "Architecture" + "id": 290614, + "name": "Cloud Native" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 39693, - "room": "Architecture", + "roomId": 53140, + "room": "Cloud Native", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 1 + "index": 4 }, { - "id": 42137, + "id": 58711, "name": "Cloud Tech", "session": { - "id": "557699", - "title": "Not a Kubernetes fan? The state of PaaS in 2024", - "description": "Kubernetes won the containers orchestration war. But has it made deploying your apps easier?\r\nLet's explore some of Kubernetes extensive app developer tooling, but mainly what the PaaS space looks like in 2024; 17 years after Heroku made it popular.\r\nIs Heroku still around? What about Cloud Foundry? \r\nAnd what are those new comers (fly.io, repl.it) worth?\r\nDid the Cloud giants replace them all?", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "751799", + "title": "Java and the Internet of Things", + "description": "Java is the powerhouse of enterprise app development, but it's also a player in the world of connected devices. Today's active projects include deep sea fleet management, healthcare interoperability, environmental management, smart home devices, and more.\r\n\r\nIn this session, we present a brief survey of the role of Java in IoT applications. Then, we demonstrate the principles of IoT development with live coding and physical devices. (Yes, we have props!) If the Internet behaves itself, we show you how devices use the cloud to communicate with one another.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "781d5601-1f81-4d31-940c-e54f12b2de6b", - "name": "Anthony Dahanne" + "id": "4c3fdc08-0216-46a1-a36f-a1b6abe6315f", + "name": "Barry Burd" + }, + { + "id": "c53d0ee3-4ee1-4a19-ac0a-26a38a4c43af", + "name": "Richard Fichtner" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207654, + "id": 290605, "name": "Cloud Technology" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42137, + "roomId": 58711, "room": "Cloud Tech", "liveUrl": null, "recordingUrl": null, @@ -14375,50 +13644,50 @@ "isInformed": true, "isConfirmed": true }, - "index": 4 + "index": 5 }, { - "id": 42139, + "id": 58701, "name": "Core Java", "session": { - "id": "547157", - "title": "Preparing for the Java 21 cert and learning new features", - "description": "Looking to learn about features in the language added after Java 17 in more detail? As programmers we are used to dealing with edge cases. But what about edge cases in the language? As certification book authors, we encounter lots of interesting and/or surprising behavior. After a brief overview of the cert, we will explain these features and walk through lots of tricky questions. Come to this session and walk away with an increased awareness in these Java topics.", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "736664", + "title": "Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode", + "description": "In this session, we will explore the intricate details of Java class files beyond the commonly discussed bytecode. A key focus will be on the invokedynamic instruction and the attributes that enable its advanced capabilities, such as facilitating lambda expressions and optimizing string concatenation. We will also delve into the nestmates feature, which streamlines the interaction between outer and inner classes, enhancing both performance and flexibility in class file structure. Whether you are a seasoned Java developer or new to understanding the depths of the JVM, this session will provide valuable insights into the hidden layers of Java class files.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "6631e69f-25c4-47db-9fb2-08576a460048", - "name": "Jeanne Boyarsky" + "id": "4d09d817-b315-488f-8d98-5a18d68ab18f", + "name": "Koichi Sakata" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207655, + "id": 290606, "name": "Core Java" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42139, + "roomId": 58701, "room": "Core Java", "liveUrl": null, "recordingUrl": null, @@ -14426,51 +13695,51 @@ "isInformed": true, "isConfirmed": true }, - "index": 5 + "index": 6 }, { - "id": 42141, - "name": "Java Platform", + "id": 58702, + "name": "Frameworks", "session": { - "id": "557363", - "title": "The future of Java runs on Arm", - "description": "Java and Arm have always gone together, from the very early days all the way through the smartphone revolution. Now with Arm64 CPUs taking over the cloud and datacenter, keeping Java performant on this architecture is more important than ever. In this talk we will look at the various optimizations being made to Core Java, JITs and the rest of the Java Platform to take advantage of advances in the Arm architecture.", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "754695", + "title": "Containers All the Way Down!: Optimizing Spring Boot apps for the Modern Cloud", + "description": "In a cloud-native world, containerization is a key enabler for scalable, portable, resilient, and (cost-)effective applications! This session will explore how Spring Boot developers can seamlessly optimize their applications for containerized environments.\r\n\r\nThe presenter will discuss and demonstrate the following pivotal topics and more:\r\n\r\n* Best practices for building efficient, lightweight container images tailored for Spring Boot applications\r\n* How Spring Boot simplifies the creation of these images with built-in support for Docker and Cloud Native Buildpacks (CNB)\r\n* Leveraging Boot's built-in support for TestContainers to create integration tests that best simulate production, vitally important for both development and build pipelines\r\n* Cloud Native Buildpack support for building both traditional JVM-based applications and high-performance native images using GraalVM, customization options, and more\r\n\r\nThrough a lively discussion and live demos, you'll see how to optimize your development workflow and ensure that your Spring Boot applications can handle the demands of production in a containerized world. Come to this session to learn how to unlock the *full* potential of containers for your Spring Boot projects!", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "41866ef7-180d-462a-93c1-fbcaa07e3db0", - "name": "Michael Hall" + "id": "05be364d-a57f-4e08-978d-8043d43db097", + "name": "Mark Heckler" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207657, - "name": "Java Platform" + "id": 290607, + "name": "Frameworks" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42141, - "room": "Java Platform", + "roomId": 58702, + "room": "Frameworks", "liveUrl": null, "recordingUrl": null, "status": "Accepted", @@ -14480,206 +13749,279 @@ "index": 7 }, { - "id": 42143, - "name": "Security", + "id": 58703, + "name": "Java Platform", "session": { - "id": "557734", - "title": "Don’t Expect Developers to be Security Experts!", - "description": "Developers are not security experts! Why not? And should they be?\r\n\r\nWe’re still learning — sometimes through trial and error — the best way to tackle security issues that won’t negatively interfere with delivering functional (and secure) software.\r\n\r\nOne thing is sure, there is only a subset of prevention and mitigation strategies that make sense to put on a developer’s plate. Even then, assuming all devs are equipped to handle this additional workload is unreasonable.\r\n\r\nMelissa will define common security related terms and lingo; share typical places to shore up applications when it comes to dependencies, packaging, and supply chain concerns; and discuss the plethora of scanning tools available today and how they actually work. Learn how to integrate a measure of security that makes sense in existing development processes and how to introduce a security culture to your team in a healthy way without exhausting your developers.", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "769415", + "title": "How to debug: Lessons learnt from 10 years of Spring Boot", + "description": "Debugging is a fundamental skill that's vital for any Java developer, but how many techniques do you really know? 10 years of running the Spring Boot project has given plenty of real-world examples of nasty issues and how to debug them. Lets go beyond simple breakpoints, look at problems raised in the project, and discuss how to actually fix them! Dealing with regressions, using the remote debugger and tips for conditional breakpoints will all be covered. You'll also learn how to open good issues against open source projects to quickly get the fixes you need.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "2718989a-00fd-4ea2-b459-d4b4116e8b12", - "name": "Melissa McKay" + "id": "bd435afb-3853-43c0-8dee-cbcda16f7e91", + "name": "Phil Webb" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207659, - "name": "Security" + "id": 290608, + "name": "Java Platform" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42143, - "room": "Security", + "roomId": 58703, + "room": "Java Platform", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 9 + "index": 8 }, { - "id": 42146, - "name": "Cloud Native", + "id": 58704, + "name": "Practices", "session": { - "id": "545764", - "title": "Supersonic, Subatomic GitHub", - "description": "You've seen GitHub Actions, but did you know about GitHub Apps? \"GitHub Apps are tools that extend GitHub's functionality.\" A GitHub app lets you interact with GitHub -- or a third party system, or both! -- when certain things happen in a repository. Things like someone pushing to the repository, creating a pull request or issue, commenting on or editing pull requests, issues, etc. The official docs show you how to write an App using JavaScript, which is fine, but then you have to use JavaScript! \r\n\r\nIn this presentation, we'll look at how we can use our Java and Quarkus experience to write an application. We'll register the application with GitHub, set up the project for the application, and react to various events. At the end, we'll have a working GitHub application, written in Java (or Kotlin!) that is supersonic, subatomic awesomeness.", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "751791", + "title": "A developers guide to running Spring Boot applications on Open Liberty", + "description": "SpringBoot is a hugely popular framework for writing applications in today’s development landscape. Choosing Open Liberty as your Java application server to run SpringBoot application offers users several advantages over the default runtimes to increase performance, save memory, and stay up to date with the latest and greatest security fixes.\r\n\r\nIn this talk, you will learn how to run SpringBoot applications on Open Liberty by discussing the following topics:\r\n\r\nThe basics of Open Liberty and how it works as a Java runtime server.\r\n\r\n - How SpringBoot is supported on Open Liberty.\r\n - How to package SpringBoot applications for Open Liberty.\r\n - How to configure a SpringBoot application for Open Liberty.\r\n - How to reduce startup time for SpringBoot applications on Open Liberty with InstantOn support.\r\n", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "72b630b0-9ef2-4e5f-86f2-ba2f357df49f", - "name": "Jason Lee" + "id": "7bac217c-0b90-4dff-a4ed-b5a7a5f0d495", + "name": "Harry Hoots III" + }, + { + "id": "78106222-a999-4772-b5ac-9c1125681b97", + "name": "Chuck Bridgham" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 207664, - "name": "Cloud Native" + "id": 290609, + "name": "Practices and other tech" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42146, - "room": "Cloud Native", + "roomId": 58704, + "room": "Practices", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 12 + "index": 9 + }, + { + "id": 58705, + "name": "Security", + "session": { + "id": "d56e0c39-8639-46e7-8159-66fb8aca91d4", + "title": "TBD", + "description": null, + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", + "isServiceSession": true, + "isPlenumSession": false, + "speakers": [], + "categories": [], + "roomId": 58705, + "room": "Security", + "liveUrl": null, + "recordingUrl": null, + "status": null, + "isInformed": false, + "isConfirmed": false + }, + "index": 10 }, { - "id": 42147, - "name": "JakartaEE", + "id": 58706, + "name": "Tools and Techniques", "session": { - "id": "537737", - "title": "Jakarta EE 11: Going Beyond the Era of Java EE", - "description": "Since its introduction in 2018 as Jakarta EE, the platform has evolved from: Jakarta EE 8, an open-source version of Java EE 8; to Jakarta EE 9, the \"big bang\" release; to Jakarta EE 10 that introduced the Core Profile.\r\n\r\nJakarta EE 11, scheduled for a GA release in 1Q2024, will introduce new specifications, provide updated specifications, and set the baseline to Java 21, the latest LTS release.\r\n\r\nThis presentation will provide a brief history of JavaEE/Jakarta EE and a review of new and updated specifications with code examples.", - "startsAt": "2024-04-11T16:00:00", - "endsAt": "2024-04-11T17:00:00", + "id": "753218", + "title": "Enhancing Project Integrity: A Modernization for Bug-Free Code", + "description": "Embarking on a Java project involves employing the best strategies, patterns, and architectural decisions, all geared towards a customer-centric.\r\n\r\nYet, there exists an often overlooked facet: quality assurance. While not entirely disregarded, we, as developers, sometimes limit ourselves to performing the basic unity and integration tests, which may leave room for bugs.\r\n\r\nFortunately, there are several straightforward approaches and tools that can be implemented to deliver a bug-free project with minimal effort.\r\n\r\nDuring this presentation, you'll gain practical knowledge of the application of the following tools and approaches:\r\n\r\n- ArchUnit: Ensuring consistent adherence to architectural patterns, even when multiple developers making changes to the project\r\n- FindBugs: Employing static analysis to proactively identify potential bugs in your code, effortlessly.\r\n- SonarQube: Offering a suite of diverse metrics and enabling the establishment of quality gates to maintain a predetermined standard of quality\r\n- PiTest: Enabling the power of mutation testing to uncover bugs that may otherwise remain concealed.\r\n- TestContainers: Streamlining the process of running various components such as databases, services, and extensions, thereby minimizing the need for manual intervention\r\n\r\nThroughout the session, we'll delve into concrete examples, ensuring a hands-on experience", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": false, "isPlenumSession": false, "speakers": [ { - "id": "9820a802-240a-4fc0-9541-36ff1c2f760b", - "name": "Michael Redlich" + "id": "f914323b-f3ba-4de7-9069-28974d1c9137", + "name": "Elias Nogueira" } ], "categories": [ { - "id": 59536, + "id": 81703, "name": "Track", "categoryItems": [ { - "id": 219279, - "name": "JakartaEE" + "id": 290611, + "name": "Tools and techniques" } ], "sort": 0 }, { - "id": 59537, + "id": 81704, "name": "Session Format", "categoryItems": [ { - "id": 207665, + "id": 290619, "name": "session" } ], "sort": 1 } ], - "roomId": 42147, - "room": "JakartaEE", + "roomId": 58706, + "room": "Tools and Techniques", "liveUrl": null, "recordingUrl": null, "status": "Accepted", "isInformed": true, "isConfirmed": true }, - "index": 13 - } - ] - }, - { - "slotStart": "17:00:00", - "rooms": [ + "index": 11 + }, { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58707, + "name": "Web and front-end", "session": { - "id": "f2d0ceb6-835d-46e2-8c7b-8f2908eb5e29", - "title": "Mega Raffle and conf close!", + "id": "9f3d5fc8-28ad-4a78-b40e-b85217024915", + "title": "TBD", "description": null, - "startsAt": "2024-04-11T17:00:00", - "endsAt": "2024-04-11T17:25:00", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", "isServiceSession": true, - "isPlenumSession": true, + "isPlenumSession": false, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58707, + "room": "Web and front-end", "liveUrl": null, "recordingUrl": null, "status": null, "isInformed": false, "isConfirmed": false }, - "index": 0 + "index": 12 + }, + { + "id": 58708, + "name": "JakarataEE", + "session": { + "id": "760135", + "title": "Case Study: Journey to Cloud with Jakarta EE and MicroProfile", + "description": "The journey to cloud is an ongoing challenge for many enterprises. Some organizations have tackled this endeavor easily, while others have delayed the process, waiting for the right time or technology to get started. In this session, we will describe the migration of a production application from a solo monolith to an application system augmented with MicroProfile microservices. In this case, the application team opted maximize the value of their investment: maintain the original application and enhance it with services that surround it. We will include technical challenges and how we overcame them using Helidon, an open-source framework that makes it easy to write Java microservices, including MicroProfile microservices that easily integrate with Jakarta EE applications.", + "startsAt": "2025-03-06T15:45:00", + "endsAt": "2025-03-06T16:45:00", + "isServiceSession": false, + "isPlenumSession": false, + "speakers": [ + { + "id": "c3739d81-91b9-4c51-b56a-9099c7e02e74", + "name": "David Cabelus" + } + ], + "categories": [ + { + "id": 81703, + "name": "Track", + "categoryItems": [ + { + "id": 290617, + "name": "JakartaEE" + } + ], + "sort": 0 + }, + { + "id": 81704, + "name": "Session Format", + "categoryItems": [ + { + "id": 290619, + "name": "session" + } + ], + "sort": 1 + } + ], + "roomId": 58708, + "room": "JakarataEE", + "liveUrl": null, + "recordingUrl": null, + "status": "Accepted", + "isInformed": true, + "isConfirmed": true + }, + "index": 13 } ] }, { - "slotStart": "19:30:00", + "slotStart": "16:45:00", "rooms": [ { - "id": 42148, - "name": "Foyer/Sidney Marcus Theatre", + "id": 58709, + "name": "Keynote", "session": { - "id": "ab1d4ddd-e4ae-4796-bcd8-ef323d5a04de", - "title": "CONF AFTER PARTY", + "id": "c67ed6bc-34e3-43f9-8615-fa080ad26bb0", + "title": "Conf close and mega raffle!", "description": null, - "startsAt": "2024-04-11T19:30:00", - "endsAt": "2024-04-11T20:00:00", + "startsAt": "2025-03-06T16:45:00", + "endsAt": "2025-03-06T17:15:00", "isServiceSession": true, "isPlenumSession": true, "speakers": [], "categories": [], - "roomId": 42148, - "room": "Foyer/Sidney Marcus Theatre", + "roomId": 58709, + "room": "Keynote", "liveUrl": null, "recordingUrl": null, "status": null, diff --git a/_data/speakers.json b/_data/speakers.json index ca591288..5c1575ac 100644 --- a/_data/speakers.json +++ b/_data/speakers.json @@ -154,29 +154,29 @@ "categories": [] }, { - "id": "185360b0-48a1-4ba3-9e49-b9018c669d3c", - "firstName": "Adi", - "lastName": "Polak", - "fullName": "Adi Polak", - "bio": "Adi is an experienced software engineer and people manager. For most of her professional life, she dealt with data and machine learning for transactional and analytics workloads by building large-scale systems. As a data practitioner, she developed software to solve real-world problems with Apache Spark, Kafka, HDFS, K8s, AWS, and Azure in high-throughput, high-scale production environments for companies like Akamai and Microsoft.\r\n\r\nAdi has taught Spark to thousands of students throughout the years and is the author of the successful book — Scaling Machine Learning with Spark. \r\nWhen not thinking up new architecture, teaching new tech or pondering on a distributed systems challenge, you can find her at the local cultural scene. \r\n", - "tagLine": "Director Developer Experience Engineering and Advocacy", - "profilePicture": "https://sessionize.com/image/9a49-400o400o1-pGSYDAvmULb6QzCiPoycH8.jpg", + "id": "46d17ddc-1a74-4d59-8906-d6246ac498d4", + "firstName": "Ajuna", + "lastName": "Kyaruzi", + "fullName": "Ajuna Kyaruzi", + "bio": "Ajuna Kyaruzi works in Developer Relations at Datadog and cares about using software to help people sustainably run large-scale systems, focusing on Incident Managements and SLOs. She loves community building and volunteers with multiple mentorship programs aimed at helping early career folks break into tech, and ensuring they have successful careers. Previously she worked at Google as a Software Engineer on Google Maps and as a Site Reliability Engineer on Google Cloud.", + "tagLine": "SRE & DevOps Advocate", + "profilePicture": "https://sessionize.com/image/89ec-400o400o1-TwmcAYuwCHzji6m2hLjgRT.jpg", "sessions": [ { - "id": 735832, - "name": "Demystifying Apache Flink" + "id": 751868, + "name": "Delivery Engineering" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/AdiPolak", + "url": "https://twitter.com/ajunaky", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/polak-adi/", + "url": "https://linkedin.com/in/ajuna", "linkType": "LinkedIn" } ], @@ -185,7 +185,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Confluent", + "answer": "Datadog", "sort": 17, "answerExtra": null }, @@ -193,7 +193,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@adipolak", + "answer": "ajunaky", "sort": 21, "answerExtra": null }, @@ -201,7 +201,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/polak-adi/", + "answer": "LinkedIn.com/in/ajuna", "sort": 22, "answerExtra": null } @@ -209,38 +209,27 @@ "categories": [] }, { - "id": "d0e6b397-e663-46f1-ba2f-70472049af6e", - "firstName": "Aicha", - "lastName": "Laafia", - "fullName": "Aicha Laafia", - "bio": "A Java software engineer at Adservio with a love for coding, a taste for delicious food, and a heart for volunteering.\r\n\r\nA member of the Moroccan Association of Computing Science, a Women Techmakers ambassador, and an IAmRemarkable facilitator.A Women Techmakers ambassador.", - "tagLine": "Java Software engineer at Adservio ", - "profilePicture": "https://sessionize.com/image/4ef7-400o400o1-sEwhWH5iiypd3tNVc8g7gU.jpg", + "id": "06008a63-f49b-451e-b0ae-44ccaf9bf0cc", + "firstName": "Akula", + "lastName": "Harshitha", + "fullName": "Akula Harshitha", + "bio": "Computer Science graduate from GVPCOE Vizag, working as a Software Developer at IBM. Currently I work with WebSphere eXtreme Scale, which is a usecase of In Memory Data Grid. I'm focused on building applications using various programming languages and frameworks. I’m passionate about problem-solving, optimizing code, and staying up-to-date with the latest industry trends. In my free time, I enjoy exploring new technologies and expanding my skillset.", + "tagLine": "IBM Software Developer", + "profilePicture": "https://sessionize.com/image/b31b-400o400o1-DWbKNkYyZkXASm7QJj7Nvz.jpg", "sessions": [ { - "id": 750255, - "name": "Let's make your Java code Bug-Proof" + "id": 750567, + "name": "Are you crazy? hosting 25 years old java code on a brand-new cloud?" } ], "isTopSpeaker": false, - "links": [ - { - "title": "X (Twitter)", - "url": "https://twitter.com/AichaLaafia", - "linkType": "Twitter" - }, - { - "title": "LinkedIn", - "url": "https://www.linkedin.com/in/aicha-laafia-0266a6126", - "linkType": "LinkedIn" - } - ], + "links": [], "questionAnswers": [ { "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "-", + "answer": "IBM", "sort": 17, "answerExtra": null }, @@ -248,7 +237,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@aichalaafia", + "answer": "@harshi567", "sort": 21, "answerExtra": null }, @@ -256,7 +245,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/aicha-laafia-0266a6126/", + "answer": "https://www.linkedin.com/in/akula-venkata-harshitha-513b9a1b4/", "sort": 22, "answerExtra": null } @@ -264,82 +253,33 @@ "categories": [] }, { - "id": "46d17ddc-1a74-4d59-8906-d6246ac498d4", - "firstName": "Ajuna", - "lastName": "Kyaruzi", - "fullName": "Ajuna Kyaruzi", - "bio": "Ajuna Kyaruzi works in Developer Relations at Datadog and cares about using software to help people sustainably run large-scale systems, focusing on Incident Managements and SLOs. She loves community building and volunteers with multiple mentorship programs aimed at helping early career folks break into tech, and ensuring they have successful careers. Previously she worked at Google as a Software Engineer on Google Maps and as a Site Reliability Engineer on Google Cloud.", - "tagLine": "SRE & DevOps Advocate", - "profilePicture": "https://sessionize.com/image/89ec-400o400o1-TwmcAYuwCHzji6m2hLjgRT.jpg", + "id": "5c386803-b673-4259-a6ce-d85e1fd0a016", + "firstName": "Alex", + "lastName": "Riviere", + "fullName": "Alex Riviere", + "bio": "Alex Riviere is a Senior Frontend Developer for Nexcor Technologies and a Co-Organizer for the Atlanta Vue.js Meetup.", + "tagLine": "Co-Organizer for Atlanta Vue.js Meetup", + "profilePicture": "https://sessionize.com/image/2a67-400o400o1-Gvb6U4BXbHxWHRApqyTe58.jpg", "sessions": [ { - "id": 751868, - "name": "Delivery Engineering" + "id": 749192, + "name": "Fresh Hot CSS Features!" } ], "isTopSpeaker": false, "links": [ { - "title": "Twitter", - "url": "https://twitter.com/ajunaky", + "title": "X (Twitter)", + "url": "https://twitter.com/fimion", "linkType": "Twitter" - }, - { - "title": "LinkedIn", - "url": "https://linkedin.com/in/ajuna", - "linkType": "LinkedIn" - } - ], - "questionAnswers": [ - { - "id": 81698, - "question": "Company", - "questionType": "Short_Text", - "answer": "Datadog", - "sort": 17, - "answerExtra": null - }, - { - "id": 81702, - "question": "Twitter handle with @ ex: @prpatel", - "questionType": "Short_Text", - "answer": "ajunaky", - "sort": 21, - "answerExtra": null - }, - { - "id": 81705, - "question": "LinkedIn URL", - "questionType": "Short_Text", - "answer": "LinkedIn.com/in/ajuna", - "sort": 22, - "answerExtra": null - } - ], - "categories": [] - }, - { - "id": "06008a63-f49b-451e-b0ae-44ccaf9bf0cc", - "firstName": "Akula", - "lastName": "Harshitha", - "fullName": "Akula Harshitha", - "bio": "Computer Science graduate from GVPCOE Vizag, working as a Software Developer at IBM. Currently I work with WebSphere eXtreme Scale, which is a usecase of In Memory Data Grid. I'm focused on building applications using various programming languages and frameworks. I’m passionate about problem-solving, optimizing code, and staying up-to-date with the latest industry trends. In my free time, I enjoy exploring new technologies and expanding my skillset.", - "tagLine": "IBM Software Developer", - "profilePicture": "https://sessionize.com/image/b31b-400o400o1-DWbKNkYyZkXASm7QJj7Nvz.jpg", - "sessions": [ - { - "id": 750567, - "name": "Are you crazy? hosting 25 years old java code on a brand-new cloud?" } ], - "isTopSpeaker": false, - "links": [], "questionAnswers": [ { "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "IBM", + "answer": "Nexcor Technologies", "sort": 17, "answerExtra": null }, @@ -347,7 +287,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@harshi567", + "answer": "@fimion", "sort": 21, "answerExtra": null }, @@ -355,7 +295,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/akula-venkata-harshitha-513b9a1b4/", + "answer": "https://www.linkedin.com/in/fimion/", "sort": 22, "answerExtra": null } @@ -575,6 +515,10 @@ "tagLine": "Seasoned Sourceror", "profilePicture": "https://sessionize.com/image/5dab-400o400o1-YGt5m7v9F1XRMaWb8uE9Qu.jpg", "sessions": [ + { + "id": 741181, + "name": "Setting up data driven tests with Java tools" + }, { "id": 741176, "name": "Going beyond ORMs" @@ -688,7 +632,7 @@ "isTopSpeaker": false, "links": [ { - "title": "Twitter", + "title": "X (Twitter)", "url": "https://twitter.com/andrus_a", "linkType": "Twitter" }, @@ -782,24 +726,79 @@ "categories": [] }, { - "id": "c554d9bf-c70a-45d6-9587-64da50a7dbf0", - "firstName": "Avishay", - "lastName": "Zawoznik", - "fullName": "Avishay Zawoznik", - "bio": "Avishay Zawoznik manages the content group in Cato’s security research department, carrying ten years of experience in different fields of network and web security. Avishay specializes in network-based and application-based attack research, keeping up with the latest security publications, analyzing and implementing ways to detect and mitigate potential threats, focusing on a data-oriented approach provided by Cato’s cloud network, and looking at variants of exploits seen in the wild.", - "tagLine": "Security Research Manager at Cato Networks", - "profilePicture": "https://sessionize.com/image/1035-400o400o1-N4g5ffaCxSkxPvCXaj5vb8.jpg", + "id": "02757751-2055-43a0-afb7-a8654d46bffe", + "firstName": "Ashwin", + "lastName": "M S", + "fullName": "Ashwin M S", + "bio": "Ashwin M S is working as a Software Developer at IBM as a part of the WebSphere team. He pursued his B.Tech Degree in Computer Science and Engineering and graduated in 2023. He was an active student member of his IEEE Student Branch and served as a Technical Coordinator during his final year of education. ", + "tagLine": "IBM, Software Developer ", + "profilePicture": "https://sessionize.com/image/4db7-400o400o1-Lnnsv3952rqqrXxQe3yAJZ.jpg", + "sessions": [ + { + "id": 751261, + "name": "Concurrency redefined: what’s new in Jakarta Concurrency 3.1" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/ashwin-ms", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "IBM ", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@AshwinMS1703", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "www.linkedin.com/in/ashwin-ms", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "4c3fdc08-0216-46a1-a36f-a1b6abe6315f", + "firstName": "Barry", + "lastName": "Burd", + "fullName": "Barry Burd", + "bio": "Barry Burd is a Mathematics and Computer Science Professor at Drew University in Madison, New Jersey, US. He's the author of twelve books, including \"Java For Dummies,\" \"Quantum Computing Algorithms,\" and an upcoming book on the Internet of Things. In 2020, he was named a Java Champion.", + "tagLine": "Professor at Drew University", + "profilePicture": "https://sessionize.com/image/653c-400o400o1-BuZokXgB6nXrJiEr2dSfQX.jpg", "sessions": [ { - "id": 750550, - "name": "Start covering your bases & Stop chasing APT headlines" + "id": 751799, + "name": "Java and the Internet of Things" } ], "isTopSpeaker": false, "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/allmycode", + "linkType": "Twitter" + }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/avishayza/", + "url": "https://www.linkedin.com/in/barry-burd/", "linkType": "LinkedIn" } ], @@ -808,7 +807,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Cato Networks", + "answer": "Drew University", "sort": 17, "answerExtra": null }, @@ -816,7 +815,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@zavishh", + "answer": "@allmycode", "sort": 21, "answerExtra": null }, @@ -824,7 +823,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/avishayza/", + "answer": "https://www.linkedin.com/in/barry-burd", "sort": 22, "answerExtra": null } @@ -886,6 +885,111 @@ ], "categories": [] }, + { + "id": "79e95ec4-23ec-48ec-9046-98d3e1776283", + "firstName": "Bazlur", + "lastName": "Rahman", + "fullName": "Bazlur Rahman", + "bio": "A N M Bazlur Rahman is a Software Engineer with over a decade of specialized experience in Java and related technologies. His expertise has been formally recognized through the prestigious title of Java Champion. Beyond his professional commitments, Mr. Rahman is deeply involved in community outreach and education. He is the founder and current moderator of the Java User Group in Bangladesh, where he has organized educational meetups and conferences since 2013.\r\n\r\nIn the past two years, Mr. Rahman has been an active speaker at various international conferences and Java user groups. His talks have often focused on specialized topics such as concurrency and virtual threads. In addition to his community work, Mr. Rahman also serves as an editor for Java Queue at InfoQ and Foojay.io, both of which are leading platforms for technology content. Notably, he has authored five books on the Java programming language in Bengali, three of which have become best sellers in Bangladesh. \r\n\r\nHe is currently writing a new book with O'Reilly titled \"Modern Concurrency in Java\". \r\nhttps://learning.oreilly.com/library/view/modern-concurrency-in/9781098165406/\r\n\r\n", + "tagLine": "Java Champion 🏆 Empowering Developers through Speaking 🗣️ Writing ✍️ Mentoring 🤝 & Community Building 🌍 Published Author 📖 Contributing Editor at InfoQ and Foojay.IO", + "profilePicture": "https://sessionize.com/image/cf20-400o400o1-w15zxmEaPXC9jyJKvYWZzC.jpg", + "sessions": [ + { + "id": 751660, + "name": "Java + LLMs: A hands-on guide to building LLM Apps in Java with JakartaEE" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/bazlur_rahman", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/bazlur/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Canada", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@bazlur_rahman", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/bazlur/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "34b5127e-3fb1-4506-813a-3cd68f86bf22", + "firstName": "Ben", + "lastName": "Westmoreland", + "fullName": "Ben Westmoreland", + "bio": "The future of IT is in the AI innovations in the cloud. ☁️ My overall goal is to enable complex solutions to maximize the benefits and outcomes for organizations. Providing innovative solutions while controlling costs is my passion and highest value.\r\n\r\nI am an innovative thought leader that provides organizational leadership focused on taking on challenging initiatives. Actually, I am driven by complex challenges. I am most effective in up front project architecture, strategy, and planning, then leading projects to completion with the delivery teams. I enjoy building both technology strategy and the teams to provide effective results. I am seasoned in breaking down complex solutions and workloads into smaller and more manageable components. I can go on and on about common keywords here like domain driven design, microservices, design patterns, observability, cloud enablement, IaaS, PaaS, IaC, CaC, CI/CD, DevSecOps, automation, Azure, GCP, and AWS. However, the point being is that I have experienced the wrong and right ways to approach large solutions. I know to use what technology, where to use it, and the level of teams to get the job done most effectively. Also, I have learned from project mistakes and failures. I strive to iteratively improve myself, my teams, my projects ,and the organizations that I am working with.\r\n\r\nI am a humble technologist with a passion for serving my clients. I am the neighborhood and family \"IT Guy\". Also, I love to assist with local non-profits. I am a loving father with a wonderful wife and twin boys. Lastly, I am Linux hobbyist and huge into saltwater fishing.", + "tagLine": "Empowering Organizations on their Innovation Journey", + "profilePicture": "https://sessionize.com/image/fc91-400o400o1-DXzv2g3SsjKjESYZkE44Yc.jpg", + "sessions": [ + { + "id": 751195, + "name": "REST vs GraphQL vs gRPC" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/btwestmo/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Insight ", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "btwestmo", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/btwestmo/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, { "id": "6f426cb0-6261-4f79-b726-b7ffc3b028ff", "firstName": "Billy", @@ -895,19 +999,19 @@ "tagLine": "Java Developer Advocate", "profilePicture": "https://sessionize.com/image/a3ad-400o400o1-35ppNMVjk7tRjTToBVm3S4.jpg", "sessions": [ - { - "id": 755076, - "name": "Taking off With JDK Flight Recorder" - }, { "id": 755075, "name": "To Java 24 and Beyond!" + }, + { + "id": 755076, + "name": "Taking off With JDK Flight Recorder" } ], "isTopSpeaker": false, "links": [ { - "title": "Twitter", + "title": "X (Twitter)", "url": "https://twitter.com/BillyKorando", "linkType": "Twitter" } @@ -952,10 +1056,6 @@ { "id": 753956, "name": "Polyglot Pipelines with Apache Nifi" - }, - { - "id": 754896, - "name": "The OffHeap Podcast. Devnexus Edition (Now with more AI)" } ], "isTopSpeaker": false, @@ -1071,7 +1171,7 @@ "isTopSpeaker": false, "links": [ { - "title": "Twitter", + "title": "X (Twitter)", "url": "https://twitter.com/bbenz", "linkType": "Twitter" }, @@ -1291,7 +1391,7 @@ "isTopSpeaker": false, "links": [ { - "title": "Twitter", + "title": "X (Twitter)", "url": "https://twitter.com/cldelgadop", "linkType": "Twitter" }, @@ -1437,13 +1537,13 @@ "tagLine": "Sr. Principal Engineer, Java Champion, JUG Leader", "profilePicture": "https://sessionize.com/image/9c8e-400o400o1-D4674eAuPNWvtthbVLUFgr.jpg", "sessions": [ - { - "id": 754901, - "name": "Hands On: Apache Maven 4" - }, { "id": 754870, "name": "Starting with Java in 2025" + }, + { + "id": 754901, + "name": "Hands On: Apache Maven 4" } ], "isTopSpeaker": false, @@ -1537,50 +1637,6 @@ ], "categories": [] }, - { - "id": "4e13d9ca-073e-4348-bd6e-0c8ac51d5f6e", - "firstName": "Chiara", - "lastName": "Civardi", - "fullName": "Chiara Civardi", - "bio": "Chiara is a communicator with over 10 years of experience in producing technical content on automation. Her expertise includes automation engineering, robotics, networks for industrial communications as well as DevOps. Chiara has a passion for sharing knowledge about efficient and innovative solutions for the digital transformation. She holds a PhD for ETH Zurich and a MSc from the University of Southampton.", - "tagLine": "Payara Services, Marketing Coordinator, Dr", - "profilePicture": "https://sessionize.com/image/560f-400o400o1-T1ABmjSbLCFm2M62o3Vik2.png", - "sessions": [ - { - "id": 750035, - "name": "Connected Industries with an Edge" - } - ], - "isTopSpeaker": false, - "links": [], - "questionAnswers": [ - { - "id": 81698, - "question": "Company", - "questionType": "Short_Text", - "answer": "www.payara.fish", - "sort": 17, - "answerExtra": null - }, - { - "id": 81702, - "question": "Twitter handle with @ ex: @prpatel", - "questionType": "Short_Text", - "answer": "@PayaraFish", - "sort": 21, - "answerExtra": null - }, - { - "id": 81705, - "question": "LinkedIn URL", - "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/chiaracivardi/", - "sort": 22, - "answerExtra": null - } - ], - "categories": [] - }, { "id": "974e24f5-044f-4552-a362-fdefd445dabc", "firstName": "Chris", @@ -1653,7 +1709,7 @@ "isTopSpeaker": false, "links": [ { - "title": "Twitter", + "title": "X (Twitter)", "url": "http://www.twitter.com/cacorriere", "linkType": "Twitter" }, @@ -1692,24 +1748,29 @@ "categories": [] }, { - "id": "78106222-a999-4772-b5ac-9c1125681b97", - "firstName": "Chuck", - "lastName": "Bridgham", - "fullName": "Chuck Bridgham", - "bio": "Chuck is the development lead for WebSphere and Open Liberty Projects and is based at IBM’s RTP Laboratory in Durham, NC. Chuck has been involved in open source projects spanning 20 years including pioneering the Eclipse platform, Eclipse Web Tools Project, various Java and Node Tools for Eclipse.", - "tagLine": "Development Lead Open Liberty", - "profilePicture": "https://sessionize.com/image/4343-400o400o1-h8ySipDsFg31BvZseBZzJp.png", + "id": "730a789f-e2a8-483d-91bc-6e794f1b44d5", + "firstName": "Chris", + "lastName": "DeMars", + "fullName": "Chris DeMars", + "bio": "Chris DeMars is a Senior Developer Advocate II at DigitalOcean with over 20 years of technical experience. He speaks all over the world on web accessibility, feature flags, A/B testing, and CSS. For his community contributions, he holds awards as a Progress Champion and former Microsoft MVP, Google Developer Expert, Cloudinary Media Developer Expert, and Auth0 Ambassador. When he is not working on making the web great and accessible you can find him fishing, on the paintball field, rating Detroit Style pizza, and looking for UFO's.", + "tagLine": "Senior Developer Advocate II @ DigitalOcean", + "profilePicture": "https://sessionize.com/image/0aff-400o400o1-DZTrRVmXSXXmBCc1HeyCNF.jpg", "sessions": [ { - "id": 751791, - "name": "A developers guide to running SpringBoot applications on Open Liberty" + "id": 748220, + "name": "Run to the light Carol Anne: Auditing with Lighthouse" } ], "isTopSpeaker": false, "links": [ + { + "title": "X (Twitter)", + "url": "http://twitter.com/saltnburnem", + "linkType": "Twitter" + }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/chuck-bridgham-1540773b/", + "url": "https://www.linkedin.com/in/chrisdemars/", "linkType": "LinkedIn" } ], @@ -1718,7 +1779,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Chuck Bridgham", + "answer": "DigitalOcean", "sort": 17, "answerExtra": null }, @@ -1726,7 +1787,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "None", + "answer": "@saltnburnem", "sort": 21, "answerExtra": null }, @@ -1734,7 +1795,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/chuck-bridgham-1540773b/", + "answer": "https://www.linkedin.com/in/chrisdemars/", "sort": 22, "answerExtra": null } @@ -1742,29 +1803,24 @@ "categories": [] }, { - "id": "3c467866-b387-417c-acc3-0d06a2d64f3f", - "firstName": "Cody", - "lastName": "Frenzel", - "fullName": "Cody Frenzel", - "bio": "Cody is a Solutions Architect at Ippon Technologies and self-proclaimed software craft evangelist. He has over 10 years of experience as a full stack developer, with a passion for optimizing engineering workflows. In his free time he likes to play tennis competitively or go hiking with his dog King Louie.", - "tagLine": "Solutions Architect at Ippon Technologies", - "profilePicture": "https://sessionize.com/image/f0a7-400o400o1-L8qe8ir49XBHruZgobpFyM.jpg", + "id": "78106222-a999-4772-b5ac-9c1125681b97", + "firstName": "Chuck", + "lastName": "Bridgham", + "fullName": "Chuck Bridgham", + "bio": "Chuck is the development lead for WebSphere and Open Liberty Projects and is based at IBM’s RTP Laboratory in Durham, NC. Chuck has been involved in open source projects spanning 20 years including pioneering the Eclipse platform, Eclipse Web Tools Project, various Java and Node Tools for Eclipse.", + "tagLine": "Development Lead Open Liberty", + "profilePicture": "https://sessionize.com/image/4343-400o400o1-h8ySipDsFg31BvZseBZzJp.png", "sessions": [ { - "id": 739820, - "name": "Unlock Lightning-Fast Delivery: Mastering Software Craft for Unrivaled Success" + "id": 751791, + "name": "A developers guide to running Spring Boot applications on Open Liberty" } ], "isTopSpeaker": false, "links": [ - { - "title": "X (Twitter)", - "url": "https://twitter.com/codyfrenzel", - "linkType": "Twitter" - }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/codyfrenzel/", + "url": "https://www.linkedin.com/in/chuck-bridgham-1540773b/", "linkType": "LinkedIn" } ], @@ -1773,7 +1829,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Ippon Technologies", + "answer": "Chuck Bridgham", "sort": 17, "answerExtra": null }, @@ -1781,7 +1837,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@codyfrenzel", + "answer": "None", "sort": 21, "answerExtra": null }, @@ -1789,7 +1845,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/codyfrenzel/", + "answer": "https://www.linkedin.com/in/chuck-bridgham-1540773b/", "sort": 22, "answerExtra": null } @@ -1797,29 +1853,29 @@ "categories": [] }, { - "id": "dbde3fbe-b40e-4205-bb53-d7d8acea9df9", - "firstName": "Dan", - "lastName": "Haywood", - "fullName": "Dan Haywood", - "bio": "Dan Haywood is an independent consultant based in the UK, an ASF member and committer to Apache Causeway. He spends his days either cutting code or advising governments.", - "tagLine": "Haywood Associates Ltd.", - "profilePicture": "https://sessionize.com/image/350f-400o400o1-DZLb5hqMZSnrovufG5Pr6C.jpg", + "id": "3c467866-b387-417c-acc3-0d06a2d64f3f", + "firstName": "Cody", + "lastName": "Frenzel", + "fullName": "Cody Frenzel", + "bio": "Cody is a Solutions Architect at Ippon Technologies and self-proclaimed software craft evangelist. He has over 10 years of experience as a full stack developer, with a passion for optimizing engineering workflows. In his free time he likes to play tennis competitively or go hiking with his dog King Louie.", + "tagLine": "Solutions Architect at Ippon Technologies", + "profilePicture": "https://sessionize.com/image/f0a7-400o400o1-L8qe8ir49XBHruZgobpFyM.jpg", "sessions": [ { - "id": 735668, - "name": "Big things with tiny teams : Live coding with Apache Causeway" + "id": 739820, + "name": "Unlock Lightning-Fast Delivery: Mastering Software Craft for Unrivaled Success" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/ApacheCauseway", + "url": "https://twitter.com/codyfrenzel", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/dkhaywood", + "url": "https://www.linkedin.com/in/codyfrenzel/", "linkType": "LinkedIn" } ], @@ -1828,7 +1884,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Haywood Associates Ltd.", + "answer": "Ippon Technologies", "sort": 17, "answerExtra": null }, @@ -1836,7 +1892,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@ApacheCauseway", + "answer": "@codyfrenzel", "sort": 21, "answerExtra": null }, @@ -1844,7 +1900,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/dkhaywood/", + "answer": "https://www.linkedin.com/in/codyfrenzel/", "sort": 22, "answerExtra": null } @@ -1911,13 +1967,13 @@ "firstName": "Danica", "lastName": "Fine", "fullName": "Danica Fine", - "bio": "Danica began her career as a software engineer in data visualization and warehousing with a business intelligence team where she served as a point-person for standards and best practices in data visualization across her company. In 2018, Danica moved to San Francisco and pivoted to backend engineering with a derivatives data team which was responsible for building and maintaining the infrastructure that processes millions of financial market data per second in near real-time. Her first project on this team involved Kafka Streams – she never looked back. Danica now works as a Developer Advocate with Confluent where she helps others get the most out of their event-driven pipelines. \r\n\r\nOutside of work, Danica is passionate about sustainability, increasing diversity in the technical community, and keeping her many houseplants alive. She can be found on Twitter, tweeting about tech, plants, and baking @TheDanicaFine.", - "tagLine": "Staff Developer Advocate, Confluent", - "profilePicture": "https://sessionize.com/image/2e67-400o400o1-L5JDTynn86zA1wT9hUiCiN.jpg", + "bio": "Danica began her career as a software engineer in data visualization and warehousing with a business intelligence team where she served as a point-person for standards and best practices in data visualization across her company. In 2018, Danica moved to San Francisco and pivoted to backend engineering with a derivatives data team which was responsible for building and maintaining the infrastructure that processes millions of financial market data per second in near real-time. Her first project on this team involved Kafka Streams and Kafka Connect. From there, she immersed herself in the world of data streaming and found herself quite at home in the Apache Kafka and Apache Flink communities. She now leads the open source advocacy efforts at Snowflake, supporting Apache Iceberg and Apache Polaris (incubating).\r\n\r\nOutside of work, Danica is passionate about sustainability, increasing diversity in the technical community, and keeping her many houseplants alive. She can be found on X (Bluesky and Mastodon), talking about tech, plants, and baking @TheDanicaFine.", + "tagLine": "Lead Developer Advocate, Open source ❄️", + "profilePicture": "https://sessionize.com/image/95da-400o400o1-3TSU7jajmeHPwKcpfEwvSx.jpg", "sessions": [ { - "id": 751350, - "name": "The Kafka Consumer: An Unexpected Journey of Data Consumption" + "id": 783614, + "name": "Take the Polar Plunge: A Fearless Introduction to Apache Iceberg®" } ], "isTopSpeaker": false, @@ -1938,7 +1994,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Confluent", + "answer": "Snowflake", "sort": 17, "answerExtra": null }, @@ -2025,10 +2081,18 @@ "tagLine": "Senior Principal Developer Advocate", "profilePicture": "https://sessionize.com/image/5565-400o400o1-BUkFnSQGzACGTgZh7xtYrf.png", "sessions": [ + { + "id": 751412, + "name": "Practical AI Lab for Enterprise Java Developers: From Zero to Hero" + }, { "id": 734811, "name": "Create AI-Infused Java Apps with LangChain4j" }, + { + "id": 751398, + "name": "Supercharge Agentic AI Projects: A DevEx-Driven Approach to Cloud-Native Scaffolding" + }, { "id": 770490, "name": "Shield your Java code: Practical guides for trusted software" @@ -2075,6 +2139,61 @@ ], "categories": [] }, + { + "id": "b09194cd-b9be-44bd-81e5-4346bbf0f39e", + "firstName": "Danielle", + "lastName": "Maxwell", + "fullName": "Danielle Maxwell", + "bio": "Danielle Maxwell is a Junior Distributed Systems Engineer at Rotational Labs. She’s an experienced developer in JavaScript, React, and Go. Danielle enjoys watching Liverpool matches (when they win) and discovering new foods while traveling.", + "tagLine": "Rotational Labs, Jr. Distributed Systems Engineer", + "profilePicture": "https://sessionize.com/image/c191-400o400o1-YRfzuwEDtpnpiUDA9jQvWP.png", + "sessions": [ + { + "id": 787704, + "name": "Unlocking Machine Learning Potential in JavaScript: A Journey Through Cutting-Edge Tools" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://x.com/thedanimaxwell", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/daniellemaxwell/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Rotational Labs", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@thedanimaxwell", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/daniellemaxwell/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, { "id": "345b7e02-c223-49a0-875d-0a3502ee2e82", "firstName": "DaShaun", @@ -2096,7 +2215,7 @@ "isTopSpeaker": false, "links": [ { - "title": "Twitter", + "title": "X (Twitter)", "url": "https://twitter.com/dashaun", "linkType": "Twitter" }, @@ -2135,27 +2254,38 @@ "categories": [] }, { - "id": "c3739d81-91b9-4c51-b56a-9099c7e02e74", - "firstName": "David", - "lastName": "Cabelus", - "fullName": "David Cabelus", - "bio": "Dave Cabelus is a Senior Manager, Product Management, in the Enterprise Cloud Native Java group at Oracle. Dave manages a team of solution architects that support Oracle’s Enterprise Java products.. He previously worked on Project Verrazzano, WebLogic Server and Oracle Kubernetes Engine (OKE), among other projects.\r\n \r\nIn the industry since 1996 and involved in Java since 1999, Dave worked at various software companies including Logic Works, Platinum Software, Kana, and a few startups before coming to Oracle (BEA) in 2001. He is based eastern Pennsylvania.", - "tagLine": "Enterprise Java Product Management, Oracle", - "profilePicture": "https://sessionize.com/image/877c-400o400o1-Pwe1m3VdfgatAabhqShcp1.png", + "id": "f9e44c9c-823d-47dc-9853-924dcb375b96", + "firstName": "Dave", + "lastName": "Neary", + "fullName": "Dave Neary", + "bio": "Dave Neary has been active in free and open source communities for more than 20 years. In that time, he has worked on projects relating to infrastructure management, cloud computing, and the telecommunications industry. He currently leads the Developer Relations team at Ampere Computing, promoting the adoption of Arm64 Cloud-Native Processors.", + "tagLine": "Director of Developer Relations, Ampere Computing", + "profilePicture": "https://sessionize.com/image/d9fa-400o400o1-fGezSBAJoYfCsvtSt4Yfb1.jpg", "sessions": [ { - "id": 760135, - "name": "Case Study: Journey to Cloud with Jakarta EE and MicroProfile" + "id": 750836, + "name": "AMP-ing Your Java with AArch64/Arm64 Servers" } ], "isTopSpeaker": false, - "links": [], + "links": [ + { + "title": "Twitter", + "url": "https://twitter.com/nearyd", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/dneary/", + "linkType": "LinkedIn" + } + ], "questionAnswers": [ { "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Oracle", + "answer": "Ampere Computing", "sort": 17, "answerExtra": null }, @@ -2163,7 +2293,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "NA", + "answer": "@nearyd", "sort": 21, "answerExtra": null }, @@ -2171,7 +2301,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/davidcabelus/", + "answer": "https://www.linkedin.com/in/dneary", "sort": 22, "answerExtra": null } @@ -2179,38 +2309,27 @@ "categories": [] }, { - "id": "e3c99a3a-4d01-479f-9f96-5e8758e70746", + "id": "c3739d81-91b9-4c51-b56a-9099c7e02e74", "firstName": "David", - "lastName": "Campbell", - "fullName": "David Campbell", - "bio": "David Campbell is a seasoned technology leader with nearly 20 years of experience in Silicon Valley's startup ecosystem, now spearheading Responsible AI initiatives at Scale AI. As the Lead AI Risk Engineer, David has been pivotal in developing a cutting-edge AI Red Teaming platform that marries ethical AI practices with rigorous security evaluations. His work, recognized by the U.S. Congress and highlighted by the White House, underscores his commitment to shaping a safer AI ecosystem. With a deep background in Security, Core Infrastructure, and Platform Engineering, David actively drives discussions and actions that integrate responsible AI principles into practical security frameworks, aiming to nurture robust, ethical AI applications across industries.", - "tagLine": "AI Risk Security Platform Lead at Scale, AI", - "profilePicture": "https://sessionize.com/image/616d-400o400o1-aUG5QE8E5NEXRBxrZkqCQM.JPG", + "lastName": "Cabelus", + "fullName": "David Cabelus", + "bio": "Dave Cabelus is a Senior Manager, Product Management, in the Enterprise Cloud Native Java group at Oracle. Dave manages a team of solution architects that support Oracle’s Enterprise Java products.. He previously worked on Project Verrazzano, WebLogic Server and Oracle Kubernetes Engine (OKE), among other projects.\r\n \r\nIn the industry since 1996 and involved in Java since 1999, Dave worked at various software companies including Logic Works, Platinum Software, Kana, and a few startups before coming to Oracle (BEA) in 2001. He is based eastern Pennsylvania.", + "tagLine": "Enterprise Java Product Management, Oracle", + "profilePicture": "https://sessionize.com/image/877c-400o400o1-Pwe1m3VdfgatAabhqShcp1.png", "sessions": [ { - "id": 748266, - "name": "Ignore Previous Instructions: Embracing AI Red Teaming" + "id": 760135, + "name": "Case Study: Journey to Cloud with Jakarta EE and MicroProfile" } ], "isTopSpeaker": false, - "links": [ - { - "title": "X (Twitter)", - "url": "https://twitter.com/MrDavidCampbell", - "linkType": "Twitter" - }, - { - "title": "LinkedIn", - "url": "https://www.linkedin.com/in/ddcam/", - "linkType": "LinkedIn" - } - ], + "links": [], "questionAnswers": [ { "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Scale AI", + "answer": "Oracle", "sort": 17, "answerExtra": null }, @@ -2218,7 +2337,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "MrDavidCampbell", + "answer": "NA", "sort": 21, "answerExtra": null }, @@ -2226,7 +2345,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/ddcam/", + "answer": "https://www.linkedin.com/in/davidcabelus/", "sort": 22, "answerExtra": null } @@ -2249,6 +2368,11 @@ ], "isTopSpeaker": false, "links": [ + { + "title": "X (Twitter)", + "url": "https://x.com/daviddryparry", + "linkType": "Twitter" + }, { "title": "LinkedIn", "url": "https://www.linkedin.com/in/david-parry-47b4a44", @@ -2446,19 +2570,19 @@ "tagLine": "Developer Advocate, Red Hat", "profilePicture": "https://sessionize.com/image/4265-400o400o1-EnDT4kzMKfWnbCxCkzNEPQ.png", "sessions": [ - { - "id": 750788, - "name": "ML Ops for Java Developers: A Hands-On Guide with Kubeflow and Quarkus" - }, { "id": 751289, "name": "Optimizing Containerized Java Apps with Jib, GraalVM, CDS, and CRaC" + }, + { + "id": 750788, + "name": "ML Ops for Java Developers: A Hands-On Guide with Kubeflow and Quarkus" } ], "isTopSpeaker": false, "links": [ { - "title": "Twitter", + "title": "X (Twitter)", "url": "https://twitter.com/elderjava", "linkType": "Twitter" }, @@ -2610,6 +2734,10 @@ "tagLine": "Java Champion & Senior Principal Developer Advocate, Red Hat", "profilePicture": "https://sessionize.com/image/a726-400o400o1-GDEFAutNNeMep9QCJyJ6VS.png", "sessions": [ + { + "id": 751412, + "name": "Practical AI Lab for Enterprise Java Developers: From Zero to Hero" + }, { "id": 750111, "name": "Test-Driven Development: It's easier than you think!" @@ -2619,7 +2747,7 @@ "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/edeandrea", + "url": "https://x.com/edeandrea", "linkType": "Twitter" }, { @@ -2700,6 +2828,50 @@ ], "categories": [] }, + { + "id": "616f816d-a777-4392-a9cd-f93bf93ddab9", + "firstName": "Eswaran", + "lastName": "Rathinam", + "fullName": "Eswaran Rathinam", + "bio": null, + "tagLine": null, + "profilePicture": null, + "sessions": [ + { + "id": 755446, + "name": "Cache Smarter, Not Harder: A Practical Guide to Choosing the Best Caching Strategy" + } + ], + "isTopSpeaker": false, + "links": [], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": null, + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": null, + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": null, + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, { "id": "d2ddc9e3-35b6-44a9-8daa-144d89cabaff", "firstName": "Evgeny", @@ -2717,7 +2889,7 @@ "isTopSpeaker": false, "links": [ { - "title": "Twitter", + "title": "X (Twitter)", "url": "https://twitter.com/_Godin_", "linkType": "Twitter" }, @@ -2806,79 +2978,29 @@ "categories": [] }, { - "id": "04725191-5f4a-4f6a-b63e-c5ca9a7e7b78", - "firstName": "Fabio Alessandro", - "lastName": "Locati", - "fullName": "Fabio Alessandro Locati", - "bio": "Fabio Alessandro Locati - commonly known as Fale - is an EMEA Associate Principal Solutions Architect at Red Hat, public speaker, author, and Open Source contributor. His primary areas of expertise are Linux, automation, security, and cloud technologies. Fale has more than 15 years of working experience in IT, with many of them spent consulting for many companies, including dozens of Fortune 500 companies. He is the author of the books Practical Ansible 2, Learning Ansible 2, Learning Ansible 2.7, and OpenStack Cloud Security. In the spare time he helps in the Kubernetes, Fedora Project, Ansible, Wikimedia, Open Street Map communities as well as in many smaller projects on GitHub and similar platforms.", - "tagLine": "EMEA Associate Principal Solutions Architect, Red Hat", - "profilePicture": "https://sessionize.com/image/b827-400o400o1-JPaNyCBB9TgE6ietNFiBpJ.png", + "id": "763e5a81-e0ba-4663-8dec-86a46ab80604", + "firstName": "Fernanda", + "lastName": "Machado", + "fullName": "Fernanda Machado", + "bio": "Fernanda Machado is a Senior Solutions Architect currently working at AWS, with over 15 years of experience in the tech industry, including previous work at Hewlett-Packard. She has led large-scale cloud-native projects using Java and is a regular speaker at major conferences such as re:Invent and JFall. She has also published articles in Java Magazine in the Netherlands.", + "tagLine": "Sr. Developer Specialist Solutions Architect, AWS", + "profilePicture": "https://sessionize.com/image/7253-400o400o1-WT6FizxT7PbthVYQtzvMUq.jpg", "sessions": [ { - "id": 751444, - "name": "Leverage Event Driven Ansible to reduce your automation reaction time" + "id": 751289, + "name": "Optimizing Containerized Java Apps with Jib, GraalVM, CDS, and CRaC" } ], "isTopSpeaker": false, "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/machadfe", + "linkType": "Twitter" + }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/fale", - "linkType": "LinkedIn" - } - ], - "questionAnswers": [ - { - "id": 81698, - "question": "Company", - "questionType": "Short_Text", - "answer": "Red Hat", - "sort": 17, - "answerExtra": null - }, - { - "id": 81702, - "question": "Twitter handle with @ ex: @prpatel", - "questionType": "Short_Text", - "answer": "@falocati", - "sort": 21, - "answerExtra": null - }, - { - "id": 81705, - "question": "LinkedIn URL", - "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/fale/", - "sort": 22, - "answerExtra": null - } - ], - "categories": [] - }, - { - "id": "763e5a81-e0ba-4663-8dec-86a46ab80604", - "firstName": "Fernanda", - "lastName": "Machado", - "fullName": "Fernanda Machado", - "bio": "Fernanda Machado is a Senior Solutions Architect with over 15 years of experience at Hewlett-Packard and AWS. She has led large-scale cloud-native projects using Java and is a regular speaker at major conferences such as re:Invent and JFall. She has also published articles in Java Magazine in the Netherlands.", - "tagLine": "Sr. Developer Specialist Solutions Architect, AWS", - "profilePicture": "https://sessionize.com/image/7253-400o400o1-WT6FizxT7PbthVYQtzvMUq.jpg", - "sessions": [ - { - "id": 751289, - "name": "Optimizing Containerized Java Apps with Jib, GraalVM, CDS, and CRaC" - } - ], - "isTopSpeaker": false, - "links": [ - { - "title": "Twitter", - "url": "https://twitter.com/machadfe", - "linkType": "Twitter" - }, - { - "title": "LinkedIn", - "url": "https://www.linkedin.com/in/machafer/", + "url": "https://www.linkedin.com/in/machafer/", "linkType": "LinkedIn" } ], @@ -3009,61 +3131,6 @@ ], "categories": [] }, - { - "id": "4d4ac30a-3cf4-4c64-99d4-8261e8e966ad", - "firstName": "Freddy", - "lastName": "Guime", - "fullName": "Freddy Guime", - "bio": "Freddy is a Principal Developer at Expedia. Always dealing with performance and usability he is always curious on how to make the overabundance of data useful for travelers, traders and consumers. Having worked with different technologies before has allowed him to come with solutions to rendering bottleneck problems. A Usability Guru, Freddy understands and bridges the concepts of high-throughput with usability within software.\r\n\r\nHe is also the author and maintainer of the javapubhouse.com, a podcast dedicated to tutorial topics in Java that covers everything from the use of the keyword volatile to the definition of beautiful code, also of javaoffheap.com, a java news podcast.\r\n\r\n", - "tagLine": "Principal Engineer - Expedia Group", - "profilePicture": "https://sessionize.com/image/28a9-400o400o1-HymvfXXNZJkWKg9Avg3V5p.jpg", - "sessions": [ - { - "id": 754896, - "name": "The OffHeap Podcast. Devnexus Edition (Now with more AI)" - } - ], - "isTopSpeaker": false, - "links": [ - { - "title": "Twitter", - "url": "https://twitter.com/fguime", - "linkType": "Twitter" - }, - { - "title": "LinkedIn", - "url": "https://www.linkedin.com/in/fguime/", - "linkType": "LinkedIn" - } - ], - "questionAnswers": [ - { - "id": 81698, - "question": "Company", - "questionType": "Short_Text", - "answer": "Expedia Group", - "sort": 17, - "answerExtra": null - }, - { - "id": 81702, - "question": "Twitter handle with @ ex: @prpatel", - "questionType": "Short_Text", - "answer": "@fguime", - "sort": 21, - "answerExtra": null - }, - { - "id": 81705, - "question": "LinkedIn URL", - "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/fguime/", - "sort": 22, - "answerExtra": null - } - ], - "categories": [] - }, { "id": "dea86363-2e13-4dfa-996a-200e6feb8749", "firstName": "Gal", @@ -3136,7 +3203,7 @@ "isTopSpeaker": false, "links": [ { - "title": "Twitter", + "title": "X (Twitter)", "url": "https://twitter.com/GantLaborde", "linkType": "Twitter" }, @@ -3175,38 +3242,27 @@ "categories": [] }, { - "id": "8a4b2af9-c78f-46b0-b11c-ee7e1fa9c5e1", - "firstName": "Gaurav", - "lastName": "Gupta", - "fullName": "Gaurav Gupta", - "bio": "Gaurav Gupta is a Senior Software Engineer at Payara and the creator of Jeddict, an innovative, open-source, AI-powered Jakarta EE application development platform. As an Apache NetBeans Committer and an Eclipse GlassFish Committer, Gaurav brings extensive expertise and dedication to advancing these key open-source tools. His focus on enhancing developer productivity and Jakarta EE standards through cutting-edge technologies highlights his commitment to the open-source ecosystem and his mission to empower developers worldwide.", - "tagLine": "Senior Software Engineer and Tech Lead", - "profilePicture": "https://sessionize.com/image/9e3c-400o400o1-BVjmntnjhY9irDfc9AH2y1.jpg", + "id": "9e911c91-495e-4dd3-a06a-0eaa3be9c3f7", + "firstName": "Garry", + "lastName": "Galinsky", + "fullName": "Garry Galinsky", + "bio": "Garry Galinsky has over 20 years of progressive high tech experience in the Telecommunications, Local Search, Internet, and Financial industries. During his career, Garry has successfully designed, developed, delivered, and evangelized multiple Internet, web 2.0, local & social search, and mobile solutions to small, medium, and large corporate customers in North America, Europe, the Middle East, and Asia. ", + "tagLine": "Principal Solutions Architect", + "profilePicture": "https://sessionize.com/image/4369-400o400o1-SPiTVHFeYiddvcz8b7jdqL.jpg", "sessions": [ { - "id": 751431, - "name": "AI Tools for Jakarta EE" + "id": 825095, + "name": "Unlock the Power of Generative AI: Simplifying Ad Creation" } ], "isTopSpeaker": false, - "links": [ - { - "title": "X (Twitter)", - "url": "https://x.com/jGauravGupta", - "linkType": "Twitter" - }, - { - "title": "LinkedIn", - "url": "https://www.linkedin.com/in/jgauravgupta/", - "linkType": "LinkedIn" - } - ], + "links": [], "questionAnswers": [ { "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Payara Services Limited", + "answer": "Amazon Web Services", "sort": 17, "answerExtra": null }, @@ -3214,7 +3270,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@jgauravgupta", + "answer": "@galinsky", "sort": 21, "answerExtra": null }, @@ -3222,7 +3278,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/jgauravgupta/", + "answer": "https://www.linkedin.com/in/garrygalinsky/", "sort": 22, "answerExtra": null } @@ -3230,29 +3286,29 @@ "categories": [] }, { - "id": "d389ed05-18fe-4c1b-a9ba-c11417d11ad8", - "firstName": "Gerald", - "lastName": "Venzl", - "fullName": "Gerald Venzl", - "bio": "Gerald Venzl is the Lead Product Manager of Developer Initiatives, Oracle Database technologies. During his career, Gerald has worked as a Developer, DBA, Performance Engineer, Software Architect, Consultant, Enterprise Architect and Distinguished Product Manager before his current role. He is still active as a developer in his free time and on open-source projects. This allowed Gerald to live several different lives in the IT sector, providing him with a solid understanding of the concerns in these respective areas while gaining a holistic view overall. Gerald focuses on advocating how to build systems that offer flexibility yet still meet the users' needs. He is also a member of the ISO SQL Standard committee.", - "tagLine": "Defender of common sense in a practical world", - "profilePicture": "https://sessionize.com/image/c40d-400o400o1-wwvx44zC8vA7iAsijxP2QU.jpg", + "id": "8a4b2af9-c78f-46b0-b11c-ee7e1fa9c5e1", + "firstName": "Gaurav", + "lastName": "Gupta", + "fullName": "Gaurav Gupta", + "bio": "Gaurav Gupta is a Senior Software Engineer at Payara and the creator of Jeddict, an innovative, open-source, AI-powered Jakarta EE application development platform. As an Apache NetBeans Committer and an Eclipse GlassFish Committer, Gaurav brings extensive expertise and dedication to advancing these key open-source tools. His focus on enhancing developer productivity and Jakarta EE standards through cutting-edge technologies highlights his commitment to the open-source ecosystem and his mission to empower developers worldwide.", + "tagLine": "Senior Software Engineer and Tech Lead", + "profilePicture": "https://sessionize.com/image/9e3c-400o400o1-BVjmntnjhY9irDfc9AH2y1.jpg", "sessions": [ { - "id": 729888, - "name": "Polyglot persistence - which data model to pick for your workload?" + "id": 751431, + "name": "AI Tools for Jakarta EE" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/GeraldVenzl", + "url": "https://x.com/jGauravGupta", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/geraldvenzl/", + "url": "https://www.linkedin.com/in/jgauravgupta/", "linkType": "LinkedIn" } ], @@ -3261,7 +3317,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Oracle", + "answer": "Payara Services Limited", "sort": 17, "answerExtra": null }, @@ -3269,7 +3325,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@geraldvenzl", + "answer": "@jgauravgupta", "sort": 21, "answerExtra": null }, @@ -3277,7 +3333,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/geraldvenzl/", + "answer": "https://www.linkedin.com/in/jgauravgupta/", "sort": 22, "answerExtra": null } @@ -3515,7 +3571,7 @@ "sessions": [ { "id": 751791, - "name": "A developers guide to running SpringBoot applications on Open Liberty" + "name": "A developers guide to running Spring Boot applications on Open Liberty" } ], "isTopSpeaker": false, @@ -3560,27 +3616,38 @@ "categories": [] }, { - "id": "a4797c7b-e72c-4619-9a92-c8c667a43a88", - "firstName": "Hugo", - "lastName": "Guerrero", - "fullName": "Hugo Guerrero", - "bio": "I'm an information technology professional with 20+ years of experience in software development. I have worked as a developer, consultant, architect, and software development manager with major clients in the private and federal public sectors. \r\n\r\nCurrently, I'm an open source developer advocate. In this role, I help the marketing team with technical overview and support to create, edit and curate product content. The content is shared with the communities through webinars, conferences, and other activities. I also develop workshops and support material to help the internal and partner enablement.\r\n\r\nSoftware development is my passion and I have been able to make it my life. As a passionate traveler, history, and food enthusiast, when I'm not at work I love to grab my suitcase and travel around the world in search of the tastiest food.\r\n\r\nI have a bachelor's degree in engineering from Tec de Monterrey Campus Monterrey and I'm always happy to contact old friends and coworkers, so contact me to get in touch.\r\n\r\nFor the past 20 years, Red Hat’s development model has produced high-performing, cost-effective solutions. Today, more than 90% of Fortune 500 companies rely on Red Hat. We offer the only fully open technology stack, from operating system to middleware, storage to cloud, and virtualization solutions. We also provide a variety of services, including award-winning support, consulting, and training.", - "tagLine": "Red Hat, Chief Software Architect, APIs & Integration Developer Advocate", - "profilePicture": "https://sessionize.com/image/a574-400o400o1-wp31BuRegNsCM4CrSjY4ni.jpg", + "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27", + "firstName": "Ivar", + "lastName": "Grimstad", + "fullName": "Ivar Grimstad", + "bio": "Ivar Grimstad is the Jakarta EE Developer Advocate at Eclipse Foundation. He is a Java Champion and JUG Leader based in Sweden.\r\n\r\nBesides advocating the Jakarta EE technologies, Ivar is contributing to the Jakarta EE specifications as well as being the PMC Lead for Eclipse Enterprise for Java (EE4J). He is also one of the specification leads for Jakarta MVC and represents Eclipse Foundation on the JCP Executive Committee.\r\n\r\nIvar is also involved in a wide range of other open-source projects and communities. He is a frequent speaker at International developer conferences.", + "tagLine": "Jakarta EE Developer Advocate", + "profilePicture": "https://sessionize.com/image/48d1-400o400o1-4BsKZTFoDqDU7BX4oCyFrH.png", "sessions": [ { - "id": 770645, - "name": "Building APIs in the AI Era" + "id": 755597, + "name": "Duke on CRaC with Jakarta EE" } ], "isTopSpeaker": false, - "links": [], + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/ivar_grimstad", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/ivargrimstad/", + "linkType": "LinkedIn" + } + ], "questionAnswers": [ { "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Red Hat", + "answer": "Eclipse Foundation", "sort": 17, "answerExtra": null }, @@ -3588,7 +3655,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@hguerreroo", + "answer": "@ivar_grimstad", "sort": 21, "answerExtra": null }, @@ -3596,7 +3663,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/hugoguerrero/", + "answer": "https://www.linkedin.com/in/ivargrimstad/", "sort": 22, "answerExtra": null } @@ -3604,29 +3671,33 @@ "categories": [] }, { - "id": "cdc2288a-56cf-40ec-bc39-ca5d9fb59b27", - "firstName": "Ivar", - "lastName": "Grimstad", - "fullName": "Ivar Grimstad", - "bio": "Ivar Grimstad is the Jakarta EE Developer Advocate at Eclipse Foundation. He is a Java Champion and JUG Leader based in Sweden.\r\n\r\nBesides advocating the Jakarta EE technologies, Ivar is contributing to the Jakarta EE specifications as well as being the PMC Lead for Eclipse Enterprise for Java (EE4J). He is also one of the specification leads for Jakarta MVC and represents Eclipse Foundation on the JCP Executive Committee.\r\n\r\nIvar is also involved in a wide range of other open-source projects and communities. He is a frequent speaker at International developer conferences.", - "tagLine": "Jakarta EE Developer Advocate", - "profilePicture": "https://sessionize.com/image/48d1-400o400o1-4BsKZTFoDqDU7BX4oCyFrH.png", + "id": "b9f343b4-5370-4839-bd53-572b0322882e", + "firstName": "James", + "lastName": "Falkner", + "fullName": "James Falkner", + "bio": "Technology evangelist, teacher, learner, author, dedicated to open source and open computing. I work at Red Hat as a product marketing director for Red Hat's portfolio of open source products and love what we do and learning from others, and occasionally teaching at conferences.\r\n\r\n", + "tagLine": "Director, Red Hat Runtimes Technical Marketing", + "profilePicture": "https://sessionize.com/image/623e-400o400o1-ar9PEMPtUSyWbeJZVUxjrU.jpg", "sessions": [ { - "id": 755597, - "name": "Duke on CRaC with Jakarta EE" + "id": 751412, + "name": "Practical AI Lab for Enterprise Java Developers: From Zero to Hero" + }, + { + "id": 751398, + "name": "Supercharge Agentic AI Projects: A DevEx-Driven Approach to Cloud-Native Scaffolding" } ], "isTopSpeaker": false, "links": [ { - "title": "X (Twitter)", - "url": "https://twitter.com/ivar_grimstad", + "title": "Twitter", + "url": "https://twitter.com/schtool", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/ivargrimstad/", + "url": "https://www.linkedin.com/in/jamesfalkner0/", "linkType": "LinkedIn" } ], @@ -3635,7 +3706,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Eclipse Foundation", + "answer": "Red Hat", "sort": 17, "answerExtra": null }, @@ -3643,7 +3714,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@ivar_grimstad", + "answer": "@schtool", "sort": 21, "answerExtra": null }, @@ -3651,7 +3722,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/ivargrimstad/", + "answer": "https://www.linkedin.com/in/jamesfalkner0/", "sort": 22, "answerExtra": null } @@ -3714,30 +3785,25 @@ "categories": [] }, { - "id": "6375582a-11f3-4a89-b783-6e5869a1a217", - "firstName": "Jared", - "lastName": "Rhodes", - "fullName": "Jared Rhodes", - "bio": "Jared Rhodes has been in the IT industry for over fifteen years and got his big break by when a team of mechanicals and electrical engineers needed \"that coded in C\". He now is a leader in Microsoft Technologies helping to deliver everything from Security to Cloud Native solutions with a soft spot for on-premises Edge and IoT. Jared's journey in the IT industry may have started with a simple task of helping three sensors make a sonar array, but he has since climbed the ranks to become a humorous voice in the world of cloud computing. With a wealth of experience and a unique perspective, Jared has lived the life of an IT professional and has plenty of stories to tell and the scars to prove them. His journey has given him a deep understanding of the evolution of technology and has equipped him with the skills to succeed in today's hybrid cloud world. Whether you're looking for tips on navigating complex systems or just need a good laugh, Jared is the one for the job.", - "tagLine": "CEO Total Wellness Innovations", - "profilePicture": "https://sessionize.com/image/c8d5-400o400o1-R6cHVcn5kXNKFpk6GZopYr.jpg", + "id": "eb8e3906-8c75-4876-9fe1-0aca5db8ef40", + "firstName": "Jamie", + "lastName": "Coleman", + "fullName": "Jamie Coleman", + "bio": "Jamie is a Developer Advocate for Loqate formally at IBM & Sonatype, based in the UK. He talks about the importance of security in software, improving developer productivity, data quality AI and raising awareness about energy consumption of technology.\r\nPassionate about discovering ways to help reduce developers carbon footprint, he is also a subject matter expert in containerised solutions and build technologies. He fell in love with Java at University and has gone on to talk at many conferences about using Java with microservices and related technologies. He has worked on a wide variety of projects such as modernising IBM CICS mainframe testing infrastructure, creating, and automating the creation of Docker images for IBM’s products and contributing to a DevOps pipeline offering.", + "tagLine": "Loqate", + "profilePicture": "https://sessionize.com/image/a415-400o400o1-GC2PgsADGr9ZX5WgDnPBzJ.jpg", "sessions": [ { - "id": 740043, - "name": "Home Lab - Private Cloud on a budget" + "id": 784396, + "name": "Black Friday Brilliance: Managing a Billion Transactions with Tech, Tactics, and Teamwork" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/QiMata", + "url": "https://twitter.com/Jamie_Lee_C", "linkType": "Twitter" - }, - { - "title": "LinkedIn", - "url": "https://linkedin.com/in/qimata", - "linkType": "LinkedIn" } ], "questionAnswers": [ @@ -3745,7 +3811,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "QiMata Technologies", + "answer": "Loqate", "sort": 17, "answerExtra": null }, @@ -3753,7 +3819,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@qimata", + "answer": "@Jamie_Lee_C", "sort": 21, "answerExtra": null }, @@ -3761,7 +3827,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/qimata/", + "answer": "https://www.linkedin.com/in/jamie-coleman/", "sort": 22, "answerExtra": null } @@ -3769,29 +3835,29 @@ "categories": [] }, { - "id": "6631e69f-25c4-47db-9fb2-08576a460048", - "firstName": "Jeanne", - "lastName": "Boyarsky", - "fullName": "Jeanne Boyarsky", - "bio": "Jeanne Boyarsky is a Java Champion from New York City and has been a Java developer for more than 22 years. She has split her time between development and being a Scrum Master for the last decade. Jeanne has co-authored Wiley's Oracle Java 8 , 11, 17, and 21 certification books along with a new book “Real-World Java: Helping You Navigate the Java Ecosystem”. Jeanne volunteers at CodeRanch and mentors the programmers on a high school robotics team in her free time. She has spoken at numerous conferences including Dev Nexus, QCon, KCDC, and JavaOne.", - "tagLine": "Java Author: Cert books & Real World Java", - "profilePicture": "https://sessionize.com/image/5789-400o400o1-HHbAw2bpM1RQfrcBTsofHR.jpg", + "id": "6375582a-11f3-4a89-b783-6e5869a1a217", + "firstName": "Jared", + "lastName": "Rhodes", + "fullName": "Jared Rhodes", + "bio": "Jared Rhodes has been in the IT industry for over fifteen years and got his big break by when a team of mechanicals and electrical engineers needed \"that coded in C\". He now is a leader in Microsoft Technologies helping to deliver everything from Security to Cloud Native solutions with a soft spot for on-premises Edge and IoT. Jared's journey in the IT industry may have started with a simple task of helping three sensors make a sonar array, but he has since climbed the ranks to become a humorous voice in the world of cloud computing. With a wealth of experience and a unique perspective, Jared has lived the life of an IT professional and has plenty of stories to tell and the scars to prove them. His journey has given him a deep understanding of the evolution of technology and has equipped him with the skills to succeed in today's hybrid cloud world. Whether you're looking for tips on navigating complex systems or just need a good laugh, Jared is the one for the job.", + "tagLine": "CEO Total Wellness Innovations", + "profilePicture": "https://sessionize.com/image/c8d5-400o400o1-R6cHVcn5kXNKFpk6GZopYr.jpg", "sessions": [ { - "id": 747847, - "name": "Logging Deep Dive" + "id": 740043, + "name": "Home Lab - Private Cloud on a budget" } ], "isTopSpeaker": false, "links": [ { - "title": "Twitter", - "url": "https://twitter.com/jeanneboyarsky?lang=en", + "title": "X (Twitter)", + "url": "https://twitter.com/QiMata", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/jeanne-boyarsky-6560351/", + "url": "https://linkedin.com/in/qimata", "linkType": "LinkedIn" } ], @@ -3800,7 +3866,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "CodeRanch", + "answer": "QiMata Technologies", "sort": 17, "answerExtra": null }, @@ -3808,7 +3874,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "jeanneboyarsky", + "answer": "@qimata", "sort": 21, "answerExtra": null }, @@ -3816,7 +3882,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/jeanne-boyarsky/", + "answer": "https://www.linkedin.com/in/qimata/", "sort": 22, "answerExtra": null } @@ -3824,29 +3890,29 @@ "categories": [] }, { - "id": "e8154769-ac25-4c42-890f-6ccd70e2ec79", - "firstName": "Jennifer", - "lastName": "Reif", - "fullName": "Jennifer Reif", - "bio": "Jennifer Reif is a Developer Relations Engineer at Neo4j, speaker, and blogger with an MS in CMIS. An avid developer and problem-solver, she has worked with many businesses and projects to organize and make sense of widespread data assets and leverage them for maximum business value. She has expertise in a variety of commercial and open source tools, and she enjoys learning new technologies, sometimes on a daily basis! Her passion is finding ways to organize chaos and deliver software more effectively.", - "tagLine": "Neo4j Developer Relations Engineer", - "profilePicture": "https://sessionize.com/image/57e0-400o400o1-PAM74upE4799Tu7rb79G8W.jpg", + "id": "6631e69f-25c4-47db-9fb2-08576a460048", + "firstName": "Jeanne", + "lastName": "Boyarsky", + "fullName": "Jeanne Boyarsky", + "bio": "Jeanne Boyarsky is a Java Champion from New York City and has been a Java developer for more than 22 years. She has split her time between development and being a Scrum Master for the last decade. Jeanne has co-authored Wiley's Oracle Java 8 , 11, 17, and 21 certification books along with a new book “Real-World Java: Helping You Navigate the Java Ecosystem”. Jeanne volunteers at CodeRanch and mentors the programmers on a high school robotics team in her free time. She has spoken at numerous conferences including Dev Nexus, QCon, KCDC, and JavaOne.", + "tagLine": "Java Author: Cert books & Real World Java", + "profilePicture": "https://sessionize.com/image/5789-400o400o1-HHbAw2bpM1RQfrcBTsofHR.jpg", "sessions": [ { - "id": 739382, - "name": "Commonly Uncommon: Diverse Paths that Lead to Winning Outcomes" + "id": 747847, + "name": "Mastering Logging in Java" } ], "isTopSpeaker": false, "links": [ { "title": "Twitter", - "url": "https://twitter.com/JMHReif", + "url": "https://twitter.com/jeanneboyarsky?lang=en", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/jmhreif/", + "url": "https://www.linkedin.com/in/jeanne-boyarsky-6560351/", "linkType": "LinkedIn" } ], @@ -3855,7 +3921,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Neo4j", + "answer": "CodeRanch", "sort": 17, "answerExtra": null }, @@ -3863,7 +3929,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@JMHReif", + "answer": "jeanneboyarsky", "sort": 21, "answerExtra": null }, @@ -3871,7 +3937,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/jmhreif/", + "answer": "https://www.linkedin.com/in/jeanne-boyarsky/", "sort": 22, "answerExtra": null } @@ -3989,17 +4055,72 @@ "categories": [] }, { - "id": "faeaeb23-20cd-45d0-955a-8a09a170e7f3", - "firstName": "Jimmy", - "lastName": "Ray", - "fullName": "Jimmy Ray", - "bio": "Jimmy has been writing and speaking for over 20 years, and for the past several years he has focused on providing security, compliance, and governance solutions with PaC in the areas of cloud computing, containerization, and software supply chain. Jimmy is recognized as a subject matter expert in PaC and container supply chain security.", - "tagLine": "ISO, Boeing Digital", - "profilePicture": "https://sessionize.com/image/aee2-400o400o1-JkY7KgGbKYdFzw8DMQqWru.png", + "id": "56115ae3-406f-47af-818c-20354acc07b2", + "firstName": "Jeremy", + "lastName": "Meiss", + "fullName": "Jeremy Meiss", + "bio": "Jeremy is an international speaker and currently the Director of DevRel at OneStream Software, previously at CircleCI, Solace, Auth0, and XDA. With almost 30 years in Tech, covering just about every functional area, including support, system and database administration, application and web development, project management, program management, and systems analysis, Jeremy is active in the DevRel and DevOps communities, a co-creator of DevOpsPartyGames.com, and organizer for DevOpsDays Kansas City. A lover of all things coffee, community, open source, and tech, he is also house-broken, and (generally) plays well with others.", + "tagLine": "Developer Experience & Community Leader", + "profilePicture": "https://sessionize.com/image/1f95-400o400o1-SMXXHoVnzy6h19Y4Cu54Ec.png", "sessions": [ { - "id": 738682, - "name": "Software Supply Chain Security with Policy as Code" + "id": 838546, + "name": "The Human Factor in DevOps: Because Even Robots Need Good Teammates (Almost)" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/IAmJerdog", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://linkedin.com/in/jeremymeiss", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "N/A", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@IAmJerdog", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://linkedin.com/in/jeremymeiss", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "faeaeb23-20cd-45d0-955a-8a09a170e7f3", + "firstName": "Jimmy", + "lastName": "Ray", + "fullName": "Jimmy Ray", + "bio": "Jimmy has been writing and speaking for over 20 years, and for the past several years he has focused on providing security, compliance, and governance solutions with PaC in the areas of cloud computing, containerization, and software supply chain. Jimmy is recognized as a subject matter expert in PaC and container supply chain security.", + "tagLine": "ISO, Boeing Digital", + "profilePicture": "https://sessionize.com/image/aee2-400o400o1-JkY7KgGbKYdFzw8DMQqWru.png", + "sessions": [ + { + "id": 738682, + "name": "Software Supply Chain Security with Policy as Code" } ], "isTopSpeaker": false, @@ -4313,7 +4434,7 @@ "sessions": [ { "id": 746924, - "name": "JakartaEE meets AI: Beyond the chatbot with Langchain4j" + "name": "Jakarta EE meets AI: Beyond the chatbot with LangChain4j" } ], "isTopSpeaker": false, @@ -4421,6 +4542,14 @@ "tagLine": "Spring Developer Advocate, Pivotal", "profilePicture": "https://sessionize.com/image/1c2f-400o400o1-TbAFhMW5XdfBkKGsu9z4we.jpg", "sessions": [ + { + "id": 771631, + "name": "Spring AI: Seamlessly Integrating AI into Your Enterprise Java Applications" + }, + { + "id": 800031, + "name": "Building Scalable Systems and Services with Spring Boot 3.4 " + }, { "id": 763722, "name": "Bootiful Spring Boot: A DOGumentary" @@ -4576,14 +4705,14 @@ "profilePicture": "https://sessionize.com/image/03d9-400o400o1-LBfebaEnfDgihWECZf46pX.png", "sessions": [ { - "id": 751645, - "name": "LangChain4j: The Awesome Framework for AI and Java" + "id": 751652, + "name": "Managing Your AI-Driven Manager" } ], "isTopSpeaker": false, "links": [ { - "title": "Twitter", + "title": "X (Twitter)", "url": "https://twitter.com/kenkousen", "linkType": "Twitter" }, @@ -4635,8 +4764,8 @@ "name": "Create AI-Infused Java Apps with LangChain4j" }, { - "id": 743625, - "name": "Platform Engineering 101: Building Internal Developer Platforms" + "id": 770645, + "name": "Building APIs in the AI Era" } ], "isTopSpeaker": false, @@ -4680,6 +4809,61 @@ ], "categories": [] }, + { + "id": "ff0a1dd3-c9f2-48e2-88a8-9c0e429251be", + "firstName": "Kito", + "lastName": "Mann", + "fullName": "Kito Mann", + "bio": "Kito D. Mann is the Principal Consultant at Virtua, Inc., specializing in enterprise application architecture, training, development, and mentoring with microservices, cloud, Web Components, Angular, and Jakarta/Java EE technologies. He is also the co-host of The Stackd Podcast and the author of JavaServer Faces in Action. Mann has participated in several Java Community Process expert groups (including CDI, JSF, and Portlets) and is an internationally recognized speaker. He is also a Java Champion and Google Developer Expert in Web Technologies. He holds a BA in Computer Science from Johns Hopkins University.", + "tagLine": "Principal Consultant, Virtua, Inc. ", + "profilePicture": "https://sessionize.com/image/c7e2-400o400o1-VUNXct1q21jDDr529GtJJy.jpg", + "sessions": [ + { + "id": 754875, + "name": "Foundations of Modern Java Server Apps" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/kito99", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/kitomann/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Virtua, Inc.", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@kito99", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/kitomann/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, { "id": "4d09d817-b315-488f-8d98-5a18d68ab18f", "firstName": "Koichi", @@ -4790,6 +4974,61 @@ ], "categories": [] }, + { + "id": "01ad1e48-e43b-4af2-b3f3-e65232d55ff1", + "firstName": "Luis", + "lastName": "Majano", + "fullName": "Luis Majano", + "bio": "Luis Majano is a Computer Engineer, published author, founder, and CEO of Ortus Solutions, Corp (www.ortussolutions.com), a consulting firm specializing in open-source tooling, web development, architecture, and professional open-source.\r\n\r\nHe has been designing and working with software architecture and technologies since the year 2000. He has a passion for learning and mentoring developers so they can succeed with sustainable software practices and the usage and development of open-source software.\r\n\r\nHe is the creator of ColdBox HMVC, ContentBox Modular CMS, TestBox BDD, CommandBox CLI, and over 200 open-source projects. He speaks regularly at several international conferences and you can read his blog at www.luismajano.com.\r\n", + "tagLine": "Christian, Husband, Father, Engineer, Author - CEO of Ortus Solutions, creator of ColdBox HMVC, TestBox, CommandBox, ContentBox CMS & many more POSS projects.", + "profilePicture": "https://sessionize.com/image/fc4b-400o400o1-Q14LzEUeY3dLoFjrvsQPiY.jpg", + "sessions": [ + { + "id": 734869, + "name": "BoxLang - The Future is Dynamic" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/lmajano", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/lmajano/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Ortus Solutions, Corp", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "lmajano", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/lmajano/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, { "id": "eaa23bbd-1207-432d-8c52-eed0035f0ddf", "firstName": "M. Jeff", @@ -4845,6 +5084,111 @@ ], "categories": [] }, + { + "id": "8fc26242-b3ec-4e47-b3e2-3e2fc6f9d459", + "firstName": "Madhuvanthi", + "lastName": "V", + "fullName": "Madhuvanthi V", + "bio": "I am a Software Developer at IBM. My expertise lies in Java and Full-Stack application development. I’m also deeply involved in tech communities and other related activities, which keeps me engaged with new ideas and trends in the industry.", + "tagLine": "Software Developer at IBM", + "profilePicture": "https://sessionize.com/image/d235-400o400o1-sxLSXePXruuo6VN3P8ZzGg.jpg", + "sessions": [ + { + "id": 751261, + "name": "Concurrency redefined: what’s new in Jakarta Concurrency 3.1" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/madhuvanthi-v/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "IBM", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@VMadhuvant44858", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/madhuvanthi-v/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "b7081806-6f1d-4d53-803a-b5f7ecabc1b0", + "firstName": "Mahmoud", + "lastName": "Ben Hassine", + "fullName": "Mahmoud Ben Hassine", + "bio": "Mahmoud is the Lead of Spring Batch at VMware. He is a passionate software engineer with 15 years of experience in enterprise software development. Mahmoud is an open source advocate and has contributed to several open source projects. When he is not coding, Mahmoud enjoys spending time with his family and friends, reading, running and playing chess!", + "tagLine": "Spring Batch Lead, VMware", + "profilePicture": "https://sessionize.com/image/2dbb-400o400o1-sd9sJGzmXUndjEPZG4Z7Tb.jpg", + "sessions": [ + { + "id": 779565, + "name": "Spring Batch 5.2 and beyond: What's new and what's coming next" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "Twitter", + "url": "https://twitter.com/fmbenhassine", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "http://linkedin.com/in/fmbenhassine", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "broadcom", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@fmbenhassine", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/fmbenhassine", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, { "id": "eeb25beb-5d37-4fb7-acac-170357a1d89b", "firstName": "Marharyta", @@ -4972,7 +5316,7 @@ "isTopSpeaker": false, "links": [ { - "title": "Twitter", + "title": "X (Twitter)", "url": "https://twitter.com/mkheck", "linkType": "Twitter" }, @@ -5204,29 +5548,29 @@ "categories": [] }, { - "id": "1f3fa71c-0021-4d6e-af47-0013ecbaeb33", - "firstName": "Nathaniel", - "lastName": "Schutta", - "fullName": "Nathaniel Schutta", - "bio": "Nathaniel T. Schutta is a software architect and Java Champion focused on cloud computing, developer happiness and building usable applications. A proponent of polyglot programming, Nate has written multiple books, appeared in countless videos and many podcasts. He’s also a seasoned speaker who regularly presents at worldwide conferences, No Fluff Just Stuff symposia, meetups, universities, and user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota, where he teaches students to embrace (and evaluate) technical change. Driven to rid the world of bad presentations, he coauthored the book Presentation Patterns with Neal Ford and Matthew McCullough, and he also published Thinking Architecturally and Responsible Microservices available from O’Reilly. His latest book, Fundamentals of Software Engineering, is currently available in early release.", - "tagLine": "Architect as a Service", - "profilePicture": "https://sessionize.com/image/739d-400o400o1-MYoAM9sUSHWcAvmow2trDR.png", + "id": "9820a802-240a-4fc0-9541-36ff1c2f760b", + "firstName": "Michael", + "lastName": "Redlich", + "fullName": "Michael Redlich", + "bio": "Michael Redlich has been an active member within the Java community for the past 25 years. He founded the Garden State Java User Group (formerly the ACGNJ Java Users Group) in 2001 where he serves as one of the directors. Since 2016, Mike has served as a Java community news editor for InfoQ where his contributions include the weekly Java news roundup, news items, technical articles and technical reviews from external authors. He is currently the lead Java Queue editor. Mike joined Payara as a contract Developer Advocate and Technical Writer in the summer of 2023.\r\n\r\nHe has presented at venues such as Devnexus, Oracle Code One, JCON World, Emerging Technologies for the Enterprise, Trenton Computer Festival (TCF), TCF IT Professional Conference, and numerous Java User Groups. Mike serves as a committer on the Jakarta NoSQL and Jakarta Data specifications and the Eclipse JNoSQL project. He also participates on the leadership council of the Jakarta EE Ambassadors. Mike was named a Java Champion in April 2023.\r\n\r\nMike retired from ExxonMobil Technology & Engineering in June 2023 with 33½ years of service. His experience included developing custom scientific laboratory and web applications, polymer physics, chemometrics, infrared spectroscopy and automotive testing. He also has experience as a Technical Support Engineer at Ai-Logix, Inc. (now AudioCodes) where he provided technical support and developed telephony applications for customers.\r\n", + "tagLine": "Java Champion | Director at Garden State JUG | Lead Java Editor at InfoQ Java | Contract Developer Advocate and Technical Writer at Payara", + "profilePicture": "https://sessionize.com/image/2016-400o400o1-XpP3ZWPcLGLTeV4xTgAa48.jpg", "sessions": [ { - "id": 744151, - "name": "Developer To Architect" + "id": 750246, + "name": "A Developer's Guide to Jakarta EE 11" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/ntschutta", + "url": "https://twitter.com/mpredli", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/nate-schutta/", + "url": "http://www.linkedin.com/pub/michael-redlich/0/966/13a", "linkType": "LinkedIn" } ], @@ -5235,7 +5579,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Thoughtworks", + "answer": "Garden State Java User Group", "sort": 17, "answerExtra": null }, @@ -5243,7 +5587,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@ntschutta", + "answer": "@mpredli", "sort": 21, "answerExtra": null }, @@ -5251,7 +5595,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/nate-schutta/", + "answer": "https://www.linkedin.com/in/michael-redlich-13a966", "sort": 22, "answerExtra": null } @@ -5259,29 +5603,29 @@ "categories": [] }, { - "id": "a6ee49ed-a85d-43bd-8677-bced09824b2c", - "firstName": "Nerando", - "lastName": "Johnson", - "fullName": "Nerando Johnson", - "bio": "Current Atlanta freeCodeCamp Organizer | Software Developer ", - "tagLine": "Software Developer | Technology Consultant | Technology Community Organizer", - "profilePicture": "https://sessionize.com/image/0c51-400o400o1-wzhmrn2Bt2GWaE2RtDZrwH.jpg", + "id": "21924ec2-96d9-4b4a-b2c8-99dd2efb77a7", + "firstName": "Mo", + "lastName": "Haghighi", + "fullName": "Mo Haghighi", + "bio": "Dr Mo Haghighi is distinguished engineer/director for Cloud Platform and Infrastructure at Discover Financial Services. His current focus is hybrid and multi-cloud strategy, application modernisation and automating application/workload migration across public and private clouds. Previously, he held various leadership positions as a program director at IBM, where he led Developer Ecosystem and Cloud Engineering teams in 27 countries across Europe, Middle East and Africa. Prior to IBM, he was a research scientist at Intel and a Java developer at Sun Microsystems/Oracle. Mo obtained a PhD in computer science, and his primary areas of expertise are distributed and edge computing, cloud native, IoT and AI, with several publications and patents in those areas. Mo is a regular keynote/speaker at major developer conferences including DevOpsCon, Java/Code One, Codemotion, DevRelCon, O’Reilly, The Next Web, DevNexus, IEEE/ACM, ODSC, AiWorld, CloudConf and Pycon.", + "tagLine": "Distinguished Engineer", + "profilePicture": "https://sessionize.com/image/847b-400o400o1-c2-96d9-4b4a-b2c8-99dd2efb77a7.821c48d1-543c-4922-b5b1-f9e6b8dbb291.JPEG", "sessions": [ { - "id": 754152, - "name": "How Not To Be Mentored" + "id": 844129, + "name": "Developer Productivity with Large Language Models" } ], "isTopSpeaker": false, "links": [ { - "title": "X (Twitter)", - "url": "https://twitter.com/nerajno", + "title": "Twitter", + "url": "http://twitter.com/mohaghighi", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/nerando-johnson/", + "url": "http://linkedin.com/in/mohaghighi", "linkType": "LinkedIn" } ], @@ -5290,7 +5634,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Nexcor Food Safety Technologies", + "answer": "Discover Financial Services ", "sort": 17, "answerExtra": null }, @@ -5298,7 +5642,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@nerajno", + "answer": "@mohaghighi", "sort": 21, "answerExtra": null }, @@ -5306,7 +5650,172 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/nerando-johnson/", + "answer": "https://www.linkedin.com/in/mohaghighi", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "1f3fa71c-0021-4d6e-af47-0013ecbaeb33", + "firstName": "Nathaniel", + "lastName": "Schutta", + "fullName": "Nathaniel Schutta", + "bio": "Nathaniel T. Schutta is a software architect and Java Champion focused on cloud computing, developer happiness and building usable applications. A proponent of polyglot programming, Nate has written multiple books, appeared in countless videos and many podcasts. He’s also a seasoned speaker who regularly presents at worldwide conferences, No Fluff Just Stuff symposia, meetups, universities, and user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota, where he teaches students to embrace (and evaluate) technical change. Driven to rid the world of bad presentations, he coauthored the book Presentation Patterns with Neal Ford and Matthew McCullough, and he also published Thinking Architecturally and Responsible Microservices available from O’Reilly. His latest book, Fundamentals of Software Engineering, is currently available in early release.", + "tagLine": "Architect as a Service", + "profilePicture": "https://sessionize.com/image/739d-400o400o1-MYoAM9sUSHWcAvmow2trDR.png", + "sessions": [ + { + "id": 744151, + "name": "Developer To Architect" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/ntschutta", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/nate-schutta/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Thoughtworks", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@ntschutta", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/nate-schutta/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "a6ee49ed-a85d-43bd-8677-bced09824b2c", + "firstName": "Nerando", + "lastName": "Johnson", + "fullName": "Nerando Johnson", + "bio": "Current Atlanta freeCodeCamp Organizer | Software Developer ", + "tagLine": "Software Developer | Technology Consultant | Technology Community Organizer", + "profilePicture": "https://sessionize.com/image/0c51-400o400o1-wzhmrn2Bt2GWaE2RtDZrwH.jpg", + "sessions": [ + { + "id": 754152, + "name": "How Not To Be Mentored" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/nerajno", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/nerando-johnson/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Nexcor Food Safety Technologies", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@nerajno", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/nerando-johnson/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "b1c4a924-b6db-453f-91d2-16b0fcf3bafd", + "firstName": "Nikhil", + "lastName": "Nanivadekar", + "fullName": "Nikhil Nanivadekar", + "bio": "Nikhil currently works as a Principal Engineer at Amazon. Prior to working at Amazon, Nikhil worked in the financial sector designing and developing mission critical applications. He holds a Bachelor’s degree in Mechanical Engineering from the University of Pune, and a Master’s of Science in Mechanical Engineering with a specialization in robotics and controls from the University of Utah. He has always been passionate about open-source software, and is the active project lead of the open-source Eclipse Collections library. He has hosted workshops and talks revolving around the theme of robotics, data structures, and introductory talks to share his enthusiasm about different technologies. He is a regular speaker at technical conferences worldwide. Nikhil has contributed to 97 Things Every Java Programmer Should Know (O’Reilly) and 97 Things Every Cloud Engineer Should Know(O’Reilly). In 2018, Nikhil was selected as a Java Champion. He enjoys cooking with his family, hiking, skiing, reading, and working with animal rescue and relief organizations.", + "tagLine": "Principal Engineer, Amazon", + "profilePicture": "https://sessionize.com/image/1a9c-400o400o1-24-b6db-453f-91d2-16b0fcf3bafd.5fad5095-f522-48bc-a490-dacfe9532e22.jpg", + "sessions": [ + { + "id": 825095, + "name": "Unlock the Power of Generative AI: Simplifying Ad Creation" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/NikhilNanivade", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/nikhil-n-331a8329", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Amazon", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@nikhilnanivade", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/nikhilnanivadekar/", "sort": 22, "answerExtra": null } @@ -5357,6 +5866,61 @@ ], "categories": [] }, + { + "id": "a525f812-1f48-41fa-a4cf-cd6c10fb3f69", + "firstName": "Ondro", + "lastName": "Mihályi", + "fullName": "Ondro Mihályi", + "bio": "Ondro is a software developer and consultant specializing in combining standard and proven tools to solve new and challenging problems. He's been developing in Java for over 10 years. He’s worked for clients like Payara, LottoLand, Uniqa and others. \r\n\r\nHe has co-founded OmniFish, which provides enterprise support for Eclipse GlassFish and expert Jakarta EE services. He’s passionate about helping his clients and the wider Java community with their projects based on Jakarta EE and similar technologies.\r\n\r\nAs an experienced Java developer and instructor, he's helped companies build and educate their development teams and improve their development processes.\r\nHe's a core member of several opensource projects and Jakarta EE specification projects. He’s a frequent conference speaker, leader of the Czech JUG, and a Java Champion.\r\n", + "tagLine": "Director, Jakarta EE Expert at OmniFish", + "profilePicture": "https://sessionize.com/image/dda8-400o400o1-hvFkaVdZP2DJ8AQYU1NmW7.jpg", + "sessions": [ + { + "id": 751804, + "name": "Migrating from Java EE - to Spring Boot or something else?" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/OndroMih", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://cz.linkedin.com/in/mihalyiondrej", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "OmniFish", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@OndroMih", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://cz.linkedin.com/in/mihalyiondrej", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, { "id": "90d4149a-7993-407f-a350-a0d7a8a04440", "firstName": "Orlando", @@ -5478,7 +6042,7 @@ "sessions": [ { "id": 750035, - "name": "Connected Industries with an Edge" + "name": "Jakarta EE: Connected Industries with an Edge" } ], "isTopSpeaker": false, @@ -5614,6 +6178,61 @@ ], "categories": [] }, + { + "id": "c53d0ee3-4ee1-4a19-ac0a-26a38a4c43af", + "firstName": "Richard", + "lastName": "Fichtner", + "fullName": "Richard Fichtner", + "bio": "Richard Fichtner is Principal Software Architect at XDEV Software GmbH and has worked in the software industry for more than 20 years, often at the interface between business and technology. He is involved in the open-source community to spread knowledge about Java technologies. He speaks at conferences and contributes to various open-source projects such as https://www.rapidclipse.com/. Richard is a leader of the Java User Group Oberpfalz, Co-organizer of JCON conferences https://jcon.one/, recognized as Java Champion, Oracle ACE Pro, IBM Champion and holds a Master of Science degree in applied computer science. He is passionate about enabling developer productivity and supports teams in the use of cloud solutions. His interests are Java, clean code, cloud, new technologies and everything pragmatic.", + "tagLine": "Principal Software Architect / CEO at XDEV Software GmbH", + "profilePicture": "https://sessionize.com/image/0dfd-400o400o1-SxrV6UaTfdNi5HK88LWvKW.jpg", + "sessions": [ + { + "id": 751799, + "name": "Java and the Internet of Things" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/RichardFichtner", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/richardfichtner/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "XDEV Software GmbH", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@RichardFichtner", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/richardfichtner/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, { "id": "8983937d-7fc9-4cb4-bdcf-ce009d874531", "firstName": "Rodrigo", @@ -5679,18 +6298,576 @@ "profilePicture": "https://sessionize.com/image/22e3-400o400o1-Y9DATxkJE8fWD1XBuFSRCP.jpg", "sessions": [ { - "id": 753081, - "name": "Mastering the System Design Methodology" + "id": 753084, + "name": "Securing the Digital Landscape: A Deep Dive into OWASP Top 10 for Applications, APIs, and LLMs" + }, + { + "id": 753081, + "name": "Mastering the System Design Methodology" + } + ], + "isTopSpeaker": false, + "links": [], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Salesforce", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "rbhardwaj1", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/rohit-bhardwaj-cloud/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "223365e9-c6b0-437a-a028-e69038ad44c0", + "firstName": "Roni", + "lastName": "Dover", + "fullName": "Roni Dover", + "bio": "Holistic developer and builder with a passion for development processes and practices. Afflicted by an acute Product Manager/Developer split personality disorder that was never treated. Currently, CTO and co-founder of Digma (digma.ai), an IDE plugin for code runtime AI analysis to help accelerate development in complex codebases. A big believer in evidence-based development, and a proponent of Continuous Feedback in all aspects of Software Engineering.", + "tagLine": "Infovore, product developer, and a board game geek. Writing and talking about development practices, Devops, and design/architecture topics. ", + "profilePicture": "https://sessionize.com/image/d782-400o400o1-LMjkq5edS6wEP34gJBPzYE.jpg", + "sessions": [ + { + "id": 782799, + "name": "OpenTelemetry and Continuous Feedback - Things you need to know about Spring application at runtime" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/doppleware", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/ronidover/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Digma", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@doppleware", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/ronidover/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "ad998165-d26a-4c98-8aac-ee60a16c638a", + "firstName": "Rustam", + "lastName": "Mehmandarov", + "fullName": "Rustam Mehmandarov", + "bio": "Passionate computer scientist. Java Champion and Google Developers Expert for Cloud. Public speaker. Ex-leader of JavaZone and Norwegian JUG – javaBin.", + "tagLine": "Passionate computer scientist", + "profilePicture": "https://sessionize.com/image/ee2b-400o400o1-3QQSMKmr3rh4z8RaAUGZJ1.jpg", + "sessions": [ + { + "id": 755597, + "name": "Duke on CRaC with Jakarta EE" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/RMehmandarov", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/mehmandarov/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "--", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@RMehmandarov", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/mehmandarov/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "45616863-e285-47ef-b60f-1f0abf63e1f0", + "firstName": "Ryan", + "lastName": "Baxter", + "fullName": "Ryan Baxter", + "bio": "Exploring new languages, frameworks, and technologies, and then sharing what he’s learned, has always come naturally to Ryan. Even when it wasn't his day job, Ryan has always been driven by his passion, spending his time and energy educating his friends, colleagues, or anyone else that would listen. Currently, Ryan is working as a software engineer as part of the Spring Cloud team. Ryan has a passion for sharing what he learns via social media, including Twitter and his blog (http://ryanjbaxter.com), as well as in person at conferences. When he’s not coding, Ryan likes spending time with his daughter, ice fishing, running obstacle course races, and watching the Red Sox.", + "tagLine": "Broadcom Inc, Spring Cloud Engineer", + "profilePicture": "https://sessionize.com/image/41ba-400o400o1-aqATb4ZbGepE8wAx8Wt88u.jpg", + "sessions": [ + { + "id": 733563, + "name": "Frustration-free K8S For Spring Developers" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "Twitter", + "url": "https://twitter.com/ryanjbaxter", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/ryanjbaxter/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Broadcom Inc", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "ryanjbaxter", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/ryanjbaxter/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "81c2a2e6-f9f4-4acf-abf3-d6a26409bc30", + "firstName": "Sandon", + "lastName": "Jacobs", + "fullName": "Sandon Jacobs", + "bio": "Sandon Jacobs is a Senior Developer Advocate at Confluent based in North Carolina. Sandon has built microservices and event streaming applications in several industries - including television media, energy, mobile advertising, rail freight logistics, and healthcare. This experience spans multiple JVM languages - Java, Scala, Kotlin, Groovy - with smatterings of Python and JavaScript along the way.", + "tagLine": "Confluent, Senior Developer Advocate", + "profilePicture": "https://sessionize.com/image/e66d-400o400o1-UNZu7ZMXVEzABcKDAtwg3E.jpg", + "sessions": [ + { + "id": 754716, + "name": "Stream Processing As You’ve Never Seen Before (Seriously): Apache Flink for Java Developers" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/sandonjacobs", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/sandonjacobs/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Confluent", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@SandonJacobs", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/sandonjacobs/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "c6d00669-9c07-47fa-88b8-365dbbd10cca", + "firstName": "Scott", + "lastName": "Wierschem", + "fullName": "Scott Wierschem", + "bio": "Scott helps Java developers to get their unruly code under control so they can work on fun and rewarding projects.", + "tagLine": "Keep Calm and Refactor", + "profilePicture": "https://sessionize.com/image/c667-400o400o1-VJyeHohBJFJcimdCcHj3z2.jpg", + "sessions": [ + { + "id": 756952, + "name": "Debugging Java" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "Twitter", + "url": "https://twitter.com/scott_wierschem", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/scott-wierschem/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Keep Calm and Refactor", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@scott_wierschem", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/scott-wierschem/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "27a63fc1-2981-4a83-8f13-fa986f36de8d", + "firstName": "Sean", + "lastName": "McQuaid", + "fullName": "Sean McQuaid", + "bio": "Sean is a Lead Software Engineer at Chick-fil-A where he works on overall web architecture throughout the Operator Technology Solutions team. Prior to learning how to code, he attended music school and played the trumpet professionally for over a decade. Sean is very passionate about testing, performance and tools that provide a good developer experience.", + "tagLine": "Lead Software Engineer at Chick-fil-A", + "profilePicture": "https://sessionize.com/image/e8ea-400o400o1-nvCP6RxeDYaSYEUPH1nup3.jpg", + "sessions": [ + { + "id": 751886, + "name": "Architecting a Front-End Project for Longevity" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/SeanMcQuaidCode", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/sean-mcquaid-292b3588/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Chick-fil-A", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "SeanMcQuaidCode", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/sean-mcquaid-292b3588/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "9530c418-5704-4313-a39c-2d027cfa2ad4", + "firstName": "Simon", + "lastName": "Brown", + "fullName": "Simon Brown", + "bio": "Simon is an independent consultant specialising in software architecture, and the author of “Software Architecture for Developers” (a developer-friendly guide to software architecture, technical leadership and the balance with agility). He is also the creator of the C4 model for visualising software architecture, and the founder of Structurizr. Simon is a regular speaker at international software development conferences, and travels the world to help organisations visualise and document their software architecture.", + "tagLine": "Independent Consultant", + "profilePicture": "https://sessionize.com/image/8d68-400o400o1-R4hb5YcPrPypZr7moEMjD3.jpg", + "sessions": [ + { + "id": 754404, + "name": "Reverse-engineering architecture diagrams from your Java app" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/simonbrown", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/simonbrownjersey/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "-", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@simonbrown", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/simonbrownjersey/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "8d6bb73e-5451-4e33-a0ab-7b7ffc37a52e", + "firstName": "Simon", + "lastName": "Martinelli", + "fullName": "Simon Martinelli", + "bio": "Simon Martinelli is a Java Champion, a Vaadin Champion, and an Oracle ACE Pro. He regularly shares his knowledge in articles, speaks at international conferences, and writes his blog: https://martinelli.ch. His current interest is increasing the efficiency of full-stack development with Java. \r\n\r\nHe owns 72 Services LLC and has worked as a software architect, developer, consultant, and trainer for three decades, especially in the Java Enterprise environment. In addition to his work, he is a lecturer at the Bern University of Applied Sciences BFH and the University of Applied Science Northwestern Switzerland FHNW on modern architecture and integrating distributed systems, persistence technologies, and DevOps.", + "tagLine": "Programming Architect", + "profilePicture": "https://sessionize.com/image/cbb7-400o400o1-MKZQDnJPr2zTAXxmYCovir.jpg", + "sessions": [ + { + "id": 732429, + "name": "CQRS meets modern Java" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/simas_ch", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/simonmartinelli/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "72 Services LLC", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@simas_ch", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://linkedin.com/in/simonmartinelli", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "709043d1-5754-4459-a8d5-6dd2f5619874", + "firstName": "Simon", + "lastName": "Ritter", + "fullName": "Simon Ritter", + "bio": "Simon Ritter is the Deputy CTO of Azul Systems. Simon has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K. \r\n\r\nSimon joined Sun Microsystems in 1996 and started working with Java technology from JDK 1.0; he has spent time working in both Java development and consultancy. Having moved to Oracle as part of the Sun acquisition, he managed the Java Evangelism team for the core Java platform, Java for client applications and embedded Java. Now at Azul, he continues to help people understand Java as well as Azul’s JVM technologies and products. Simon has twice been awarded Java Rockstar status at JavaOne and is a Java Champion. He currently represents Azul on the JCP Executive Committee and on the Java SE Expert Group (JSR 379, 383 and 384).", + "tagLine": "Deputy CTO, talking Java around the world", + "profilePicture": "https://sessionize.com/image/dd6c-400o400o1-LswjbcsNzih8ifmTU4MgBq.jpg", + "sessions": [ + { + "id": 753362, + "name": "30 Years of Java - How Did We Get Here?" + }, + { + "id": 753353, + "name": "Keeping Your Java Hot by Solving the JVM Warmup Problem" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://twitter.com/speakjava", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/siritter/", + "linkType": "LinkedIn" + } + ], + "questionAnswers": [ + { + "id": 81698, + "question": "Company", + "questionType": "Short_Text", + "answer": "Azul", + "sort": 17, + "answerExtra": null + }, + { + "id": 81702, + "question": "Twitter handle with @ ex: @prpatel", + "questionType": "Short_Text", + "answer": "@speakjava", + "sort": 21, + "answerExtra": null + }, + { + "id": 81705, + "question": "LinkedIn URL", + "questionType": "Short_Text", + "answer": "https://www.linkedin.com/in/siritter/", + "sort": 22, + "answerExtra": null + } + ], + "categories": [] + }, + { + "id": "bdcf9fac-1a10-416b-9dc9-be50b718e9af", + "firstName": "Spencer", + "lastName": "Gibb", + "fullName": "Spencer Gibb", + "bio": "Spencer Gibb is a Software Engineer at Broadcom where he is the co-founder and lead of the Spring Cloud Core projects.\r\n\r\nHis interests include distributed systems, JVM languages, web services frameworks, message-driven architectures and making software development simpler.\r\n\r\nHe has industry experience in early e-commerce platforms, government and non-profit organizations, and business intelligence startups. He has extensive java experience and experience in other languages such as scala and python.", + "tagLine": "Co-founder and Lead of Spring Cloud at Broadcom", + "profilePicture": "https://sessionize.com/image/0ca6-400o400o1-PAVrio5tz1NtFySREhEmMe.jpg", + "sessions": [ + { + "id": 761780, + "name": "API Toolbox with Spring" + } + ], + "isTopSpeaker": false, + "links": [ + { + "title": "X (Twitter)", + "url": "https://x.com/spencerbgibb", + "linkType": "Twitter" + }, + { + "title": "LinkedIn", + "url": "https://www.linkedin.com/in/spencergibb/", + "linkType": "LinkedIn" } ], - "isTopSpeaker": false, - "links": [], "questionAnswers": [ { "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Salesforce", + "answer": "Spring Team", "sort": 17, "answerExtra": null }, @@ -5698,7 +6875,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "rbhardwaj1", + "answer": "spencerbgibb", "sort": 21, "answerExtra": null }, @@ -5706,7 +6883,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/rohit-bhardwaj-cloud/", + "answer": "https://www.linkedin.com/in/spencergibb", "sort": 22, "answerExtra": null } @@ -5714,29 +6891,29 @@ "categories": [] }, { - "id": "ad998165-d26a-4c98-8aac-ee60a16c638a", - "firstName": "Rustam", - "lastName": "Mehmandarov", - "fullName": "Rustam Mehmandarov", - "bio": "Passionate computer scientist. Java Champion and Google Developers Expert for Cloud. Public speaker. Ex-leader of JavaZone and Norwegian JUG – javaBin.", - "tagLine": "Passionate computer scientist", - "profilePicture": "https://sessionize.com/image/ee2b-400o400o1-3QQSMKmr3rh4z8RaAUGZJ1.jpg", + "id": "0793b99f-1282-4674-9d21-f88e30c8232e", + "firstName": "Stephen", + "lastName": "Chin", + "fullName": "Stephen Chin", + "bio": "Stephen Chin is VP of Developer Relations at Neo4j and author of The Definitive Guide to Modern Client Development, Raspberry Pi with Java, Pro JavaFX Platform, and the DevOps Tools for Java Developers title from O'Reilly. He has keynoted numerous conferences around the world including AI DevSummit, Devoxx, DevNexus, JNation, JavaOne, Joker, swampUP, and Open Source India. Stephen is an avid motorcyclist who has done evangelism tours in Europe, Japan, and Brazil, interviewing hackers in their natural habitat. When he is not traveling, he enjoys teaching kids how to do AI, embedded, and robot programming together with his daughters.", + "tagLine": "VP of Developer Relations", + "profilePicture": "https://sessionize.com/image/bb41-400o400o1-EHvMKwbfP43RYxL9qJMwGv.jpg", "sessions": [ { - "id": 755597, - "name": "Duke on CRaC with Jakarta EE" + "id": 751775, + "name": "Enhancing LLMs with Graph Technology" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/RMehmandarov", + "url": "https://twitter.com/steveonjava", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/mehmandarov/", + "url": "https://www.linkedin.com/in/steveonjava/", "linkType": "LinkedIn" } ], @@ -5745,7 +6922,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "--", + "answer": "Neo4j", "sort": 17, "answerExtra": null }, @@ -5753,7 +6930,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@RMehmandarov", + "answer": "@steveonjava", "sort": 21, "answerExtra": null }, @@ -5761,7 +6938,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/mehmandarov/", + "answer": "https://linkedin.com/in/steveonjava", "sort": 22, "answerExtra": null } @@ -5769,29 +6946,29 @@ "categories": [] }, { - "id": "45616863-e285-47ef-b60f-1f0abf63e1f0", - "firstName": "Ryan", - "lastName": "Baxter", - "fullName": "Ryan Baxter", - "bio": "Exploring new languages, frameworks, and technologies, and then sharing what he’s learned, has always come naturally to Ryan. Even when it wasn't his day job, Ryan has always been driven by his passion, spending his time and energy educating his friends, colleagues, or anyone else that would listen. Currently, Ryan is working as a software engineer as part of the Spring Cloud team. Ryan has a passion for sharing what he learns via social media, including Twitter and his blog (http://ryanjbaxter.com), as well as in person at conferences. When he’s not coding, Ryan likes spending time with his daughter, ice fishing, running obstacle course races, and watching the Red Sox.", - "tagLine": "Broadcom Inc, Spring Cloud Engineer", - "profilePicture": "https://sessionize.com/image/41ba-400o400o1-aqATb4ZbGepE8wAx8Wt88u.jpg", + "id": "7a6d377f-3ce1-4b32-9014-c70c87022fd0", + "firstName": "Steve", + "lastName": "Poole", + "fullName": "Steve Poole", + "bio": "Developer Advocate,Security Champion, DevOps practitioner (whatever that means) Long time Java developer, leader and evangelist. I’ve been working on Java SDKs and JVMs since Java was less than 1. Also had time to work on other things including various JSRs, being a committer on various open source projects including ones at Apache, Eclipse and OpenJDK. A seasoned speaker and regular presenter at international conferences on technical and software engineering topics.", + "tagLine": "Independent Developer", + "profilePicture": "https://sessionize.com/image/4e8e-400o400o1-KsZioLfoB1xFxLeLUd51ET.jpg", "sessions": [ { - "id": 733563, - "name": "Frustration-free K8S For Spring Developers" + "id": 754814, + "name": "Software and AI in the time of Legislation.  New (and old) laws for developers" } ], "isTopSpeaker": false, "links": [ { - "title": "Twitter", - "url": "https://twitter.com/ryanjbaxter", + "title": "X (Twitter)", + "url": "https://twitter.com/spoole167", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/ryanjbaxter/", + "url": "https://www.linkedin.com/in/noregressions/", "linkType": "LinkedIn" } ], @@ -5800,7 +6977,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Broadcom Inc", + "answer": "Self", "sort": 17, "answerExtra": null }, @@ -5808,7 +6985,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "ryanjbaxter", + "answer": "@spoole167", "sort": 21, "answerExtra": null }, @@ -5816,7 +6993,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/ryanjbaxter/", + "answer": "https://www.linkedin.com/in/noregressions/", "sort": 22, "answerExtra": null } @@ -5824,29 +7001,29 @@ "categories": [] }, { - "id": "c6d00669-9c07-47fa-88b8-365dbbd10cca", - "firstName": "Scott", - "lastName": "Wierschem", - "fullName": "Scott Wierschem", - "bio": "Scott helps Java developers to get their unruly code under control so they can work on fun and rewarding projects.", - "tagLine": "Keep Calm and Refactor", - "profilePicture": "https://sessionize.com/image/c667-400o400o1-VJyeHohBJFJcimdCcHj3z2.jpg", + "id": "7d63385a-e91e-4983-9b08-90ced6c2a05b", + "firstName": "Sven", + "lastName": "Peters", + "fullName": "Sven Peters", + "bio": "Sven Peters, DevOps advocate at Atlassian, has been studying trends in software development for the last 15 years uncovering the cultural and technical attributes to help development teams work effectively and drive innovation. He has 20 years experience in writing code, leading teams, and sharing his experience with thousands of developers at uncountable conferences in 25+ countries.", + "tagLine": "DevOps Advocate at Atlassian", + "profilePicture": "https://sessionize.com/image/1528-400o400o1-ELmKof8q4XvAr84EBKLa4q.png", "sessions": [ { - "id": 756952, - "name": "Debugging Java" + "id": 751537, + "name": "Recalibrate - How AI Shakes Up Agile Teams" } ], "isTopSpeaker": false, "links": [ { - "title": "Twitter", - "url": "https://twitter.com/scott_wierschem", + "title": "X (Twitter)", + "url": "https://twitter.com/svenpet", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/scott-wierschem/", + "url": "https://www.linkedin.com/in/svenpeters73/", "linkType": "LinkedIn" } ], @@ -5855,7 +7032,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Keep Calm and Refactor", + "answer": "Atlassian", "sort": 17, "answerExtra": null }, @@ -5863,7 +7040,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@scott_wierschem", + "answer": "@svenpet", "sort": 21, "answerExtra": null }, @@ -5871,7 +7048,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/scott-wierschem/", + "answer": "https://www.linkedin.com/in/svenpeters73/", "sort": 22, "answerExtra": null } @@ -5879,29 +7056,29 @@ "categories": [] }, { - "id": "8d6bb73e-5451-4e33-a0ab-7b7ffc37a52e", - "firstName": "Simon", - "lastName": "Martinelli", - "fullName": "Simon Martinelli", - "bio": "Simon Martinelli is a Java Champion, a Vaadin Champion, and an Oracle ACE Pro. He regularly shares his knowledge in articles, speaks at international conferences, and writes his blog: https://martinelli.ch. His current interest is increasing the efficiency of full-stack development with Java. \r\n\r\nHe owns 72 Services LLC and has worked as a software architect, developer, consultant, and trainer for three decades, especially in the Java Enterprise environment. In addition to his work, he is a lecturer at the Bern University of Applied Sciences BFH and the University of Applied Science Northwestern Switzerland FHNW on modern architecture and integrating distributed systems, persistence technologies, and DevOps.", - "tagLine": "Programming Architect", - "profilePicture": "https://sessionize.com/image/cbb7-400o400o1-MKZQDnJPr2zTAXxmYCovir.jpg", + "id": "4e0f1b70-c9ff-4351-b21e-eee43fdd44df", + "firstName": "Syed M", + "lastName": "\"Shaaf\"", + "fullName": "Syed M \"Shaaf\"", + "bio": "Shaaf is a Principal Architect at Red Hat. A contributor to Konveyor community a CNCF Sandbox project.\r\nMostly developing code with Java, Node and recently AI/ML. For the last 15 years, he has helped customers create and adopt open source solutions for applications, cloud and managed service, continuous integration environments, and frameworks. Shaaf is a technical editor and InfoQ and spends his time writing about Kubernetes, Security and Java", + "tagLine": "Principal Architect @ Red Hat", + "profilePicture": "https://sessionize.com/image/41a7-400o400o1-RyW6SgbgVRh4Xn1VYfGvRf.jpg", "sessions": [ { - "id": 732429, - "name": "CQRS meets modern Java" + "id": 751660, + "name": "Java + LLMs: A hands-on guide to building LLM Apps in Java with JakartaEE" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/simas_ch", + "url": "https://www.twitter.com/syshaaf", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/simonmartinelli/", + "url": "https://www.linkedin.com/in/shaaf/", "linkType": "LinkedIn" } ], @@ -5910,7 +7087,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "72 Services LLC", + "answer": "Red Hat", "sort": 17, "answerExtra": null }, @@ -5918,7 +7095,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@simas_ch", + "answer": "syshaaf", "sort": 21, "answerExtra": null }, @@ -5926,7 +7103,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://linkedin.com/in/simonmartinelli", + "answer": "https://www.linkedin.com/in/shaaf/", "sort": 22, "answerExtra": null } @@ -5934,33 +7111,29 @@ "categories": [] }, { - "id": "709043d1-5754-4459-a8d5-6dd2f5619874", - "firstName": "Simon", - "lastName": "Ritter", - "fullName": "Simon Ritter", - "bio": "Simon Ritter is the Deputy CTO of Azul Systems. Simon has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K. \r\n\r\nSimon joined Sun Microsystems in 1996 and started working with Java technology from JDK 1.0; he has spent time working in both Java development and consultancy. Having moved to Oracle as part of the Sun acquisition, he managed the Java Evangelism team for the core Java platform, Java for client applications and embedded Java. Now at Azul, he continues to help people understand Java as well as Azul’s JVM technologies and products. Simon has twice been awarded Java Rockstar status at JavaOne and is a Java Champion. He currently represents Azul on the JCP Executive Committee and on the Java SE Expert Group (JSR 379, 383 and 384).", - "tagLine": "Deputy CTO, talking Java around the world", - "profilePicture": "https://sessionize.com/image/dd6c-400o400o1-LswjbcsNzih8ifmTU4MgBq.jpg", + "id": "d7993bab-ecad-4202-8a76-61b64f27cbf6", + "firstName": "Tobi", + "lastName": "Ajila", + "fullName": "Tobi Ajila", + "bio": "Tobi is a Java Runtime developer for the J9 VM team in Ottawa, Canada. In the past, he has worked on Interpreter optimizations, JVMTI enhancements, JSR 335, and more. Currently, his main focus is on investigating checkpoint/restore technology at the JVM level. ", + "tagLine": "IBM, OpenJ9 Software Engineer", + "profilePicture": "https://sessionize.com/image/c5fd-400o400o1-NcrUJa6qfzDoYjYmrhzvb3.jpg", "sessions": [ { - "id": 753362, - "name": "30 Years of Java - How Did We Get Here?" - }, - { - "id": 753353, - "name": "Keeping Your Java Hot by Solving the JVM Warmup Problem" + "id": 751867, + "name": "Project Panama: Unleashing native libraries" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/speakjava", + "url": "https://twitter.com/tobi_ajila", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/sritter/", + "url": "https://www.linkedin.com/in/tobi-ajila-00448837/", "linkType": "LinkedIn" } ], @@ -5969,7 +7142,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Azul", + "answer": "IBM", "sort": 17, "answerExtra": null }, @@ -5977,7 +7150,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@speakjava", + "answer": "@tobi_ajila", "sort": 21, "answerExtra": null }, @@ -5985,7 +7158,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/siritter/", + "answer": "https://www.linkedin.com/in/tobi-ajila-00448837", "sort": 22, "answerExtra": null } @@ -5993,29 +7166,29 @@ "categories": [] }, { - "id": "bdcf9fac-1a10-416b-9dc9-be50b718e9af", - "firstName": "Spencer", - "lastName": "Gibb", - "fullName": "Spencer Gibb", - "bio": "Spencer Gibb is a Software Engineer at Broadcom where he is the co-founder and lead of the Spring Cloud Core projects.\r\n\r\nHis interests include distributed systems, JVM languages, web services frameworks, message-driven architectures and making software development simpler.\r\n\r\nHe has industry experience in early e-commerce platforms, government and non-profit organizations, and business intelligence startups. He has extensive java experience and experience in other languages such as scala and python.", - "tagLine": "Co-founder and Lead of Spring Cloud at Broadcom", - "profilePicture": "https://sessionize.com/image/0ca6-400o400o1-PAVrio5tz1NtFySREhEmMe.jpg", + "id": "5eff389f-6760-4a05-affb-ec5b6fc2ca36", + "firstName": "Trisha", + "lastName": "Gee", + "fullName": "Trisha Gee", + "bio": "Trisha is a software engineer, Java Champion and author. Trisha has developed Java applications for a range of industries of all sizes, including finance, manufacturing and non-profit, and she's a lead developer advocate at Gradle. She has expertise in Java high-performance systems and dabbles with Open Source development.\r\n\r\nTrisha’s exceptionally passionate about sharing things that help real developers. That might be: getting them up to speed on the latest version of Java; teaching them tips and tricks to improve their productivity; or promoting healthy technical communities across the globe. Trisha values helping all developers level up their career and skills at every step of their journey.\r\n\r\nRead more from Trisha in the books “Head First Java”, “Getting to Know IntelliJ IDEA”, “97 Things Every Java Developer Should Know” and “What to Look for in a Code Review”. ", + "tagLine": "Engineer, author, keynote speaker, developer champion, catalyst.", + "profilePicture": "https://sessionize.com/image/fc5f-400o400o1-BsmMPo6yC6A4dxRupYZC23.jpg", "sessions": [ { - "id": 761780, - "name": "API Toolbox with Spring" + "id": 755869, + "name": "Developer Productivity With IntelliJ IDEA" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/spencerbgibb", + "url": "https://twitter.com/trisha_gee", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/spencergibb/", + "url": "https://www.linkedin.com/in/trishagee/", "linkType": "LinkedIn" } ], @@ -6024,7 +7197,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Spring Team", + "answer": "Gradle", "sort": 17, "answerExtra": null }, @@ -6032,7 +7205,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "spencerbgibb", + "answer": "trisha_gee", "sort": 21, "answerExtra": null }, @@ -6040,7 +7213,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/spencergibb", + "answer": "https://www.linkedin.com/in/trishagee/", "sort": 22, "answerExtra": null } @@ -6048,29 +7221,33 @@ "categories": [] }, { - "id": "0793b99f-1282-4674-9d21-f88e30c8232e", - "firstName": "Stephen", - "lastName": "Chin", - "fullName": "Stephen Chin", - "bio": "Stephen Chin is VP of Developer Relations at Neo4j and author of The Definitive Guide to Modern Client Development, Raspberry Pi with Java, Pro JavaFX Platform, and the DevOps Tools for Java Developers title from O'Reilly. He has keynoted numerous conferences around the world including AI DevSummit, Devoxx, DevNexus, JNation, JavaOne, Joker, swampUP, and Open Source India. Stephen is an avid motorcyclist who has done evangelism tours in Europe, Japan, and Brazil, interviewing hackers in their natural habitat. When he is not traveling, he enjoys teaching kids how to do AI, embedded, and robot programming together with his daughters.", - "tagLine": "VP of Developer Relations", - "profilePicture": "https://sessionize.com/image/bb41-400o400o1-EHvMKwbfP43RYxL9qJMwGv.jpg", + "id": "b576bdc5-c994-40f5-b1dd-e0f9f7999fa9", + "firstName": "Venkat", + "lastName": "Subramaniam", + "fullName": "Venkat Subramaniam", + "bio": "Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston.\r\n\r\nHe has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with sustainable agile practices on their software projects.\r\n\r\nVenkat is a (co)author of multiple technical books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. You can find a list of his books at agiledeveloper.com. You can reach him by email at venkats@agiledeveloper.com or on twitter at @venkat_s.", + "tagLine": "Agile Developer, Inc.", + "profilePicture": "https://sessionize.com/image/5480-400o400o1-RPaFqq6ZZiYjxgxKBC21BA.jpg", "sessions": [ { - "id": 751775, - "name": "Enhancing LLMs with Graph Technology" + "id": 800469, + "name": "OOP vs. Data Oriented Programming: Which One to Choose?" + }, + { + "id": 800468, + "name": "Refactoring to Modernize Java Applications" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/steveonjava", + "url": "https://twitter.com/venkat_s", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/steveonjava/", + "url": "https://www.linkedin.com/in/vsubramaniam/", "linkType": "LinkedIn" } ], @@ -6079,7 +7256,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Neo4j", + "answer": "Agile Developer, Inc.", "sort": 17, "answerExtra": null }, @@ -6087,7 +7264,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@steveonjava", + "answer": "@venkat_s", "sort": 21, "answerExtra": null }, @@ -6095,7 +7272,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://linkedin.com/in/steveonjava", + "answer": "https://www.linkedin.com/in/vsubramaniam/", "sort": 22, "answerExtra": null } @@ -6103,29 +7280,29 @@ "categories": [] }, { - "id": "7a6d377f-3ce1-4b32-9014-c70c87022fd0", - "firstName": "Steve", - "lastName": "Poole", - "fullName": "Steve Poole", - "bio": "Developer Advocate,Security Champion, DevOps practitioner (whatever that means) Long time Java developer, leader and evangelist. I’ve been working on Java SDKs and JVMs since Java was less than 1. Also had time to work on other things including various JSRs, being a committer on various open source projects including ones at Apache, Eclipse and OpenJDK. A seasoned speaker and regular presenter at international conferences on technical and software engineering topics.", - "tagLine": "Independent Developer", - "profilePicture": "https://sessionize.com/image/4e8e-400o400o1-KsZioLfoB1xFxLeLUd51ET.jpg", + "id": "29076748-33f5-4e17-a392-8a9ec55550c7", + "firstName": "Victor", + "lastName": "Grazi", + "fullName": "Victor Grazi", + "bio": "Victor Grazi is SVP at BNY Pershing X. He is a Java Champion, author of several open source projects including the popular Java Concurrent Animated, and coauthor of the book Real World Java-Helping you navigate the Java ecosystem. He serves on the Java Community Process Executive Committee, won an Outstanding Spec Lead award for JSR 354 Java Money and Currency, and has presented on Java-related topics across the globe.", + "tagLine": "Java Champion, author and Pluralsight instructor", + "profilePicture": "https://sessionize.com/image/9b07-400o400o1-Bna7czCzedEtwBoeUNeAbA.jpg", "sessions": [ { - "id": 754814, - "name": "Software and AI in the time of Legislation.  New (and old) laws for developers" + "id": 747847, + "name": "Mastering Logging in Java" } ], "isTopSpeaker": false, "links": [ { - "title": "X (Twitter)", - "url": "https://twitter.com/spoole167", + "title": "Twitter", + "url": "http://twitter.com/vgrazi", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/noregressions/", + "url": "https://www.linkedin.com/in/victorgrazi", "linkType": "LinkedIn" } ], @@ -6134,7 +7311,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Self", + "answer": "Bank of NY", "sort": 17, "answerExtra": null }, @@ -6142,7 +7319,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@spoole167", + "answer": "vgrazi", "sort": 21, "answerExtra": null }, @@ -6150,7 +7327,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/noregressions/", + "answer": "https://www.linkedin.com/in/victorgrazi", "sort": 22, "answerExtra": null } @@ -6158,29 +7335,29 @@ "categories": [] }, { - "id": "d7993bab-ecad-4202-8a76-61b64f27cbf6", - "firstName": "Tobi", - "lastName": "Ajila", - "fullName": "Tobi Ajila", - "bio": "Tobi is a Java Runtime developer for the J9 VM team in Ottawa, Canada. In the past, he has worked on Interpreter optimizations, JVMTI enhancements, JSR 335, and more. Currently, his main focus is on investigating checkpoint/restore technology at the JVM level. ", - "tagLine": "IBM, OpenJ9 Software Engineer", - "profilePicture": "https://sessionize.com/image/c5fd-400o400o1-NcrUJa6qfzDoYjYmrhzvb3.jpg", + "id": "4f858987-1a60-4da8-a4a2-045824a496c7", + "firstName": "Viktor", + "lastName": "Gamov", + "fullName": "Viktor Gamov", + "bio": "Viktor Gamov is a Principal Developer Advocate at Confluent, founded by the original creators of Apache Kafka® . With a rich background in implementing and advocating for distributed systems and cloud-native architectures, Viktor excels in open-source technologies. He is passionate about assisting architects, developers, and operators in crafting systems that are not only low in latency and scalable but also highly available.\r\nAs a Java Champion and an esteemed speaker, Viktor is known for his insightful presentations at top industry events like JavaOne, Devoxx, Kafka Summit, and QCon. His expertise spans distributed systems, real-time data streaming, JVM, and DevOps.\r\nViktor has co-authored \"Enterprise Web Development\" from O'Reilly and \"Apache Kafka® in Action\" from Manning. \r\nFollow Viktor on X - @gamussa to stay updated with Viktor's latest thoughts on technology, his gym and food adventures, and insights into open-source and developer advocacy.", + "tagLine": "Principal Developer Advocate, Confluent", + "profilePicture": "https://sessionize.com/image/ffb3-400o400o1-wacZrdLsy5r9frC981wHZa.jpg", "sessions": [ { - "id": 751867, - "name": "Project Panama: Unleashing native libraries" + "id": 754716, + "name": "Stream Processing As You’ve Never Seen Before (Seriously): Apache Flink for Java Developers" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/tobi_ajila", + "url": "http://x.com/gamussa", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/tobi-ajila-00448837/", + "url": "https://www.linkedin.com/in/vikgamov/", "linkType": "LinkedIn" } ], @@ -6189,7 +7366,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "IBM", + "answer": "Confluent", "sort": 17, "answerExtra": null }, @@ -6197,7 +7374,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@tobi_ajila", + "answer": "@gamussa", "sort": 21, "answerExtra": null }, @@ -6205,7 +7382,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/tobi-ajila-00448837", + "answer": "http://linkedin.com/in/vikgamov/", "sort": 22, "answerExtra": null } @@ -6213,29 +7390,29 @@ "categories": [] }, { - "id": "5eff389f-6760-4a05-affb-ec5b6fc2ca36", - "firstName": "Trisha", - "lastName": "Gee", - "fullName": "Trisha Gee", - "bio": "Trisha is a software engineer, Java Champion and author. Trisha has developed Java applications for a range of industries of all sizes, including finance, manufacturing and non-profit, and she's a lead developer advocate at Gradle. She has expertise in Java high-performance systems and dabbles with Open Source development.\r\n\r\nTrisha’s exceptionally passionate about sharing things that help real developers. That might be: getting them up to speed on the latest version of Java; teaching them tips and tricks to improve their productivity; or promoting healthy technical communities across the globe. Trisha values helping all developers level up their career and skills at every step of their journey.\r\n\r\nRead more from Trisha in the books “Head First Java”, “Getting to Know IntelliJ IDEA”, “97 Things Every Java Developer Should Know” and “What to Look for in a Code Review”. ", - "tagLine": "Engineer, author, keynote speaker, developer champion, catalyst.", - "profilePicture": "https://sessionize.com/image/fc5f-400o400o1-BsmMPo6yC6A4dxRupYZC23.jpg", + "id": "9548c494-2cab-45b9-af37-398f9b6d1f9d", + "firstName": "Vinicius", + "lastName": "Senger", + "fullName": "Vinicius Senger", + "bio": "Vinicius Senger is a developer, inventor, and technical speaker working for AWS in California in the Global Specialist Team as a Senior Developer Advocate for Java. He started developing software at just 8 years old and never stopped accumulating 30 years of work in the IT area. Founder of Globalcode and The Developers Conference, Vinicius was considered top 20 influencer in IoT development, Java Champion winning two Duke's Choice Award in California for innovation projects in automation, robotics, boats, houses, helmets and many others. Since 2017 at AWS, he has been working with Java, IoT, Serverless, Machine Learning, Artificial Intelligence and traveling around the world promoting open-source technologies and AWS services.", + "tagLine": "Sr Developer Advocate for Java", + "profilePicture": "https://sessionize.com/image/bc45-400o400o1-rpfe49GpmfNW4gW4Yt9neS.png", "sessions": [ { - "id": 755869, - "name": "Developer Productivity With IntelliJ IDEA" + "id": 750943, + "name": "Write Once, Deploy Everywhere: From Containers to Serverless" } ], "isTopSpeaker": false, "links": [ { "title": "X (Twitter)", - "url": "https://twitter.com/trisha_gee", + "url": "https://twitter.com/vsenger", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/trishagee/", + "url": "https://www.linkedin.com/in/viniciussenger/", "linkType": "LinkedIn" } ], @@ -6244,7 +7421,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Gradle", + "answer": "Amazon Web Services", "sort": 17, "answerExtra": null }, @@ -6252,7 +7429,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "trisha_gee", + "answer": "@vsenger", "sort": 21, "answerExtra": null }, @@ -6260,7 +7437,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "https://www.linkedin.com/in/trishagee/", + "answer": "https://www.linkedin.com/in/viniciussenger/", "sort": 22, "answerExtra": null } @@ -6268,29 +7445,29 @@ "categories": [] }, { - "id": "4f858987-1a60-4da8-a4a2-045824a496c7", - "firstName": "Viktor", - "lastName": "Gamov", - "fullName": "Viktor Gamov", - "bio": "Viktor Gamov is a Principal Developer Advocate at Confluent, founded by the original creators of Apache Kafka® . With a rich background in implementing and advocating for distributed systems and cloud-native architectures, Viktor excels in open-source technologies. He is passionate about assisting architects, developers, and operators in crafting systems that are not only low in latency and scalable but also highly available.\r\nAs a Java Champion and an esteemed speaker, Viktor is known for his insightful presentations at top industry events like JavaOne, Devoxx, Kafka Summit, and QCon. His expertise spans distributed systems, real-time data streaming, JVM, and DevOps.\r\nViktor has co-authored \"Enterprise Web Development\" from O'Reilly and \"Apache Kafka® in Action\" from Manning. \r\nFollow Viktor on X - @gamussa to stay updated with Viktor's latest thoughts on technology, his gym and food adventures, and insights into open-source and developer advocacy.", - "tagLine": "Principal Developer Advocate, Confluent", - "profilePicture": "https://sessionize.com/image/ffb3-400o400o1-wacZrdLsy5r9frC981wHZa.jpg", + "id": "76cd083c-68f1-46b7-8a4e-9dd9d6d6fd08", + "firstName": "Waller", + "lastName": "Goble", + "fullName": "Waller Goble", + "bio": "Software Engineer at PayPal working on Checkout. When not coding, Waller enjoys biking, hiking, and being from Atlanta", + "tagLine": "Senior Software Engineer @ Paypal", + "profilePicture": "https://sessionize.com/image/1551-400o400o1-2q6oP17bYxwrG4GG3Xigs.png", "sessions": [ { - "id": 754716, - "name": "Stream Processing As You’ve Never Seen Before (Seriously): Apache Flink for Java Developers" + "id": 752387, + "name": "Typescript Deep Dive" } ], "isTopSpeaker": false, "links": [ { - "title": "X (Twitter)", - "url": "http://x.com/gamussa", + "title": "Twitter", + "url": "http://twitter.com/wallergoble", "linkType": "Twitter" }, { "title": "LinkedIn", - "url": "https://www.linkedin.com/in/vikgamov/", + "url": "https://www.linkedin.com/in/wallergoble/", "linkType": "LinkedIn" } ], @@ -6299,7 +7476,7 @@ "id": 81698, "question": "Company", "questionType": "Short_Text", - "answer": "Confluent", + "answer": "Paypal", "sort": 17, "answerExtra": null }, @@ -6307,7 +7484,7 @@ "id": 81702, "question": "Twitter handle with @ ex: @prpatel", "questionType": "Short_Text", - "answer": "@gamussa", + "answer": "@wallergoble", "sort": 21, "answerExtra": null }, @@ -6315,7 +7492,7 @@ "id": 81705, "question": "LinkedIn URL", "questionType": "Short_Text", - "answer": "http://linkedin.com/in/vikgamov/", + "answer": "linkedin.com/u/wallergoble", "sort": 22, "answerExtra": null } diff --git a/_events/30-years-of-java-how-did-we-get-here.md b/_events/30-years-of-java-how-did-we-get-here.md index 402fe601..2cfca9cd 100644 --- a/_events/30-years-of-java-how-did-we-get-here.md +++ b/_events/30-years-of-java-how-did-we-get-here.md @@ -12,8 +12,8 @@ description: "May 23rd, 1995, saw the launch of not just a new programming langu for Sun Microsystems in February 1996, roughly the same week JDK 1.0 was launched. \ Through fourteen years at Sun, five at Oracle and nine at Azul, I’ll bring plenty of anecdotes (and some souvenirs). Be prepared for some serious developer nostalgia!\r\n" -startsAt: -endsAt: +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -32,8 +32,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58703 +room: Java Platform liveUrl: recordingUrl: status: Accepted diff --git a/_events/a-developer-s-guide-to-jakarta-ee-11.md b/_events/a-developer-s-guide-to-jakarta-ee-11.md new file mode 100644 index 00000000..2b9bbc5e --- /dev/null +++ b/_events/a-developer-s-guide-to-jakarta-ee-11.md @@ -0,0 +1,44 @@ +--- +questionAnswers: [] +id: '750246' +title: A Developer's Guide to Jakarta EE 11 +description: "Since its introduction in 2018 as Jakarta EE, the platform has evolved + from: Jakarta EE 8, an open-source version of Java EE 8; to Jakarta EE 9, the \"big + bang\" release; to Jakarta EE 10 that introduced the Core Profile.\r\n\r\nAnd now, + Jakarta EE 11, released on { month}, { day }, 2024, focuses on productivity and + innovation and delivers: updates to 16 specifications; introduces a new specification, + Jakarta Data; and sets the baseline to Java 21, the latest LTS release.\r\n\r\nThis + presentation will provide a brief history of JavaEE/Jakarta EE, what's new in Jakarta + EE 11, and a review of new and updated specifications with working example applications.\r\n" +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 9820a802-240a-4fc0-9541-36ff1c2f760b + name: Michael Redlich +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290617 + name: JakartaEE + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58708 +room: JakarataEE +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: JakartaEE +format: session +slug: a-developer-s-guide-to-jakarta-ee-11 + +--- diff --git a/_events/a-developers-guide-to-running-springboot-applications-on-open-liberty.md b/_events/a-developers-guide-to-running-spring-boot-applications-on-open-liberty.md similarity index 79% rename from _events/a-developers-guide-to-running-springboot-applications-on-open-liberty.md rename to _events/a-developers-guide-to-running-spring-boot-applications-on-open-liberty.md index 4ab9f9f2..8ecafbc1 100644 --- a/_events/a-developers-guide-to-running-springboot-applications-on-open-liberty.md +++ b/_events/a-developers-guide-to-running-spring-boot-applications-on-open-liberty.md @@ -1,7 +1,7 @@ --- questionAnswers: [] id: '751791' -title: A developers guide to running SpringBoot applications on Open Liberty +title: A developers guide to running Spring Boot applications on Open Liberty description: "SpringBoot is a hugely popular framework for writing applications in today’s development landscape. Choosing Open Liberty as your Java application server to run SpringBoot application offers users several advantages over the default runtimes @@ -12,8 +12,8 @@ description: "SpringBoot is a hugely popular framework for writing applications on Open Liberty.\r\n - How to package SpringBoot applications for Open Liberty.\r\n - How to configure a SpringBoot application for Open Liberty.\r\n - How to reduce startup time for SpringBoot applications on Open Liberty with InstantOn support.\r\n" -startsAt: -endsAt: +startsAt: '2025-03-06T15:45:00' +endsAt: '2025-03-06T16:45:00' isServiceSession: false isPlenumSession: false speakers: @@ -25,8 +25,8 @@ categories: - id: 81703 name: Track categoryItems: - - id: 290617 - name: JakartaEE + - id: 290609 + name: Practices and other tech sort: 0 - id: 81704 name: Session Format @@ -34,15 +34,15 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58704 +room: Practices liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false -track: JakartaEE +isConfirmed: true +track: Practices and other tech format: session -slug: a-developers-guide-to-running-springboot-applications-on-open-liberty +slug: a-developers-guide-to-running-spring-boot-applications-on-open-liberty --- diff --git a/_events/a-java-developers-guide-to-navigating-the-frontend-landscape.md b/_events/a-java-developers-guide-to-navigating-the-frontend-landscape.md index c3830d06..375a4c82 100644 --- a/_events/a-java-developers-guide-to-navigating-the-frontend-landscape.md +++ b/_events/a-java-developers-guide-to-navigating-the-frontend-landscape.md @@ -10,8 +10,8 @@ description: This is a beginner-friendly session designed for Java developers wh may call for different solutions, and in this session, we will explore this topic in depth. By the end of this talk, you will be up to date with the latest techniques for building frontend applications. -startsAt: -endsAt: +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,8 +30,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58707 +room: Web and front-end liveUrl: recordingUrl: status: Accepted diff --git a/_events/afternoon-break.md b/_events/afternoon-break.md new file mode 100644 index 00000000..dc9e4f23 --- /dev/null +++ b/_events/afternoon-break.md @@ -0,0 +1,21 @@ +--- +questionAnswers: [] +id: 285e3b2a-1df8-4c18-81ed-165e66ec4325 +title: Afternoon break +description: +startsAt: '2025-03-06T15:30:00' +endsAt: '2025-03-06T15:45:00' +isServiceSession: true +isPlenumSession: false +speakers: [] +categories: [] +roomId: 58709 +room: Keynote +liveUrl: +recordingUrl: +status: +isInformed: false +isConfirmed: false +slug: afternoon-break + +--- diff --git a/_events/ai-driven-development-enhancing-java-with-the-latest-ai-innovations.md b/_events/ai-driven-development-enhancing-java-with-the-latest-ai-innovations.md index 3315a4eb..7bfd9823 100644 --- a/_events/ai-driven-development-enhancing-java-with-the-latest-ai-innovations.md +++ b/_events/ai-driven-development-enhancing-java-with-the-latest-ai-innovations.md @@ -7,8 +7,8 @@ description: This hands-on workshopn will dive deep into how to build and mainta work with AI when building, updating, and deploying java applications. Whether you're an experienced developer looking to broaden your horizons or just curious about the latest in AI, this session will engage and inspire. -startsAt: -endsAt: +startsAt: '2025-03-04T09:00:00' +endsAt: '2025-03-04T17:05:00' isServiceSession: false isPlenumSession: false speakers: @@ -27,13 +27,13 @@ categories: - id: 290620 name: workshop sort: 1 -roomId: -room: +roomId: 58711 +room: Cloud Tech liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Artificial Intelligence format: workshop slug: ai-driven-development-enhancing-java-with-the-latest-ai-innovations diff --git a/_events/ai-for-busy-java-developers.md b/_events/ai-for-busy-java-developers.md index 17b4862e..3432254a 100644 --- a/_events/ai-for-busy-java-developers.md +++ b/_events/ai-for-busy-java-developers.md @@ -16,8 +16,8 @@ description: "Yep, we know you're knee-deep in production Java deployments and d The Importance of Context for GenAI\r\n* Retrieval-Augmented Generation (RAG) Systems\r\n* Fine-tuning vs RAG\r\n* Java Libraries for AI/ML\r\n* AI and the Software Development Process\r\n* Responsible AI and Ethics\r\n" -startsAt: -endsAt: +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -36,8 +36,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53139 +room: AI liveUrl: recordingUrl: status: Accepted diff --git a/_events/ai-ready-data-with-apache-iceberg-unifying-controlling-and-optimizing-your-data-for-effective-ai.md b/_events/ai-ready-data-with-apache-iceberg-unifying-controlling-and-optimizing-your-data-for-effective-ai.md index c61d3a0e..d5432df9 100644 --- a/_events/ai-ready-data-with-apache-iceberg-unifying-controlling-and-optimizing-your-data-for-effective-ai.md +++ b/_events/ai-ready-data-with-apache-iceberg-unifying-controlling-and-optimizing-your-data-for-effective-ai.md @@ -26,8 +26,8 @@ description: "Title: AI Ready Data with Apache Iceberg: Unifying, Controlling, a Use Cases:\r\nShare examples of how organizations are using Iceberg, Nessie, and data contracts to build robust data pipelines, enhance data quality, and achieve tangible results with their AI initiatives.\r\n" -startsAt: -endsAt: +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -37,8 +37,8 @@ categories: - id: 81703 name: Track categoryItems: - - id: 290615 - name: Artificial Intelligence + - id: 290603 + name: Architecture sort: 0 - id: 81704 name: Session Format @@ -46,14 +46,14 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53138 +room: Architecture liveUrl: recordingUrl: status: Accepted isInformed: true isConfirmed: true -track: Artificial Intelligence +track: Architecture format: session slug: ai-ready-data-with-apache-iceberg-unifying-controlling-and-optimizing-your-data-for-effective-ai diff --git a/_events/ai-s-big-leap-from-sidekick-to-autonomous-multi-repo-refactoring-powerhouse.md b/_events/ai-s-big-leap-from-sidekick-to-autonomous-multi-repo-refactoring-powerhouse.md index bb0323e8..e2177c1a 100644 --- a/_events/ai-s-big-leap-from-sidekick-to-autonomous-multi-repo-refactoring-powerhouse.md +++ b/_events/ai-s-big-leap-from-sidekick-to-autonomous-multi-repo-refactoring-powerhouse.md @@ -18,8 +18,8 @@ description: "Generative AI can be a force multiplier for developers, but it als OpenRewrite recipes to fix the problem. We'll also show you how GenAI can be helpful at scale: by assisting with writing OpenRewrite deterministic recipes.\r\n\r\nCome learn the technical underpinnings for reliably using AI at scale for code modernization." -startsAt: -endsAt: +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -38,13 +38,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53139 +room: AI liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Artificial Intelligence format: session slug: ai-s-big-leap-from-sidekick-to-autonomous-multi-repo-refactoring-powerhouse diff --git a/_events/ai-tools-for-jakarta-ee.md b/_events/ai-tools-for-jakarta-ee.md index c0890e51..394366ac 100644 --- a/_events/ai-tools-for-jakarta-ee.md +++ b/_events/ai-tools-for-jakarta-ee.md @@ -12,8 +12,8 @@ description: "Discover how AI-powered tools are reshaping Jakarta EE development cutting-edge demonstrations. Discover how AI-powered tools enhance productivity and streamline workflows in Apache NetBeans IDE and beyond, from creating a simple hello-world program to developing full-stack applications." -startsAt: -endsAt: +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -32,8 +32,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58708 +room: JakarataEE liveUrl: recordingUrl: status: Accepted diff --git a/_events/amp-ing-your-java-with-aarch64-arm64-servers.md b/_events/amp-ing-your-java-with-aarch64-arm64-servers.md index c94a6ff5..b13c9665 100644 --- a/_events/amp-ing-your-java-with-aarch64-arm64-servers.md +++ b/_events/amp-ing-your-java-with-aarch64-arm64-servers.md @@ -19,13 +19,15 @@ description: "\r\nAs the world of server architecture evolves, ARM64 servers are their applications for the future. Whether you’re considering a transition to ARM64 or simply curious about its benefits, this session will provide valuable insights and practical guidance." -startsAt: -endsAt: +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' isServiceSession: false isPlenumSession: false speakers: - id: bceafbd1-53f7-4888-a891-72955eab9077 name: Aaron Williams +- id: f9e44c9c-823d-47dc-9853-924dcb375b96 + name: Dave Neary categories: - id: 81703 name: Track @@ -39,13 +41,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58711 +room: Cloud Tech liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Cloud Technology format: session slug: amp-ing-your-java-with-aarch64-arm64-servers diff --git a/_events/an-all-code-introduction-to-domain-driven-design-and-hexagonal-architecture.md b/_events/an-all-code-introduction-to-domain-driven-design-and-hexagonal-architecture.md index 5835a99d..cdf0b440 100644 --- a/_events/an-all-code-introduction-to-domain-driven-design-and-hexagonal-architecture.md +++ b/_events/an-all-code-introduction-to-domain-driven-design-and-hexagonal-architecture.md @@ -15,8 +15,8 @@ description: "Domain Driven Design is designed for implementing complicated busi a basic knowledge of Domain Driven Design, how to structure and test your application to implement DDD and how to use Hexagonal Architecture to extend your applications.\r\n\r\nNo slides; just live code." -startsAt: -endsAt: +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -35,8 +35,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58706 +room: Tools and Techniques liveUrl: recordingUrl: status: Accepted diff --git a/_events/api-toolbox-with-spring.md b/_events/api-toolbox-with-spring.md index 80c64d6a..e3a71f93 100644 --- a/_events/api-toolbox-with-spring.md +++ b/_events/api-toolbox-with-spring.md @@ -10,8 +10,8 @@ description: "Have you ever wondered what options are available in the Spring ec projects from the Spring portfolio such as Spring Data and Spring Cloud that can enhance developer productivity in creating APIs and developer experience while consuming them." -startsAt: -endsAt: +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,13 +30,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58702 +room: Frameworks liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Frameworks format: session slug: api-toolbox-with-spring diff --git a/_events/architecting-a-front-end-project-for-longevity.md b/_events/architecting-a-front-end-project-for-longevity.md new file mode 100644 index 00000000..aea8e74e --- /dev/null +++ b/_events/architecting-a-front-end-project-for-longevity.md @@ -0,0 +1,41 @@ +--- +questionAnswers: [] +id: '751886' +title: Architecting a Front-End Project for Longevity +description: Building software is hard enough, but sculpting a sustainable, maintainable + front-end project is an art form. In this talk, we'll dive into pivotal concepts + for establishing a new project or revitalizing an existing one. We will discuss + strategies that empower you and your team to engineer projects with the adaptability + crucial for their long-term success. +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 27a63fc1-2981-4a83-8f13-fa986f36de8d + name: Sean McQuaid +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290612 + name: Web and Front-end + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58707 +room: Web and front-end +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Web and Front-end +format: session +slug: architecting-a-front-end-project-for-longevity + +--- diff --git a/_events/are-you-crazy-hosting-25-years-old-java-code-on-a-brand-new-cloud.md b/_events/are-you-crazy-hosting-25-years-old-java-code-on-a-brand-new-cloud.md index ad64f758..3997ad59 100644 --- a/_events/are-you-crazy-hosting-25-years-old-java-code-on-a-brand-new-cloud.md +++ b/_events/are-you-crazy-hosting-25-years-old-java-code-on-a-brand-new-cloud.md @@ -14,8 +14,8 @@ description: Hosting legacy Java code on a modern cloud platform poses unique ch learn not only best practices around application modernisation but also gain insights into how this approach turns challenges into opportunities for innovation, resulting in a more agile, scalable, and future-proof system. -startsAt: -endsAt: +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -36,8 +36,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58711 +room: Cloud Tech liveUrl: recordingUrl: status: Accepted diff --git a/_events/backstage-software-templates-for-java-developers.md b/_events/backstage-software-templates-for-java-developers.md index aeebe03f..7b0b3351 100644 --- a/_events/backstage-software-templates-for-java-developers.md +++ b/_events/backstage-software-templates-for-java-developers.md @@ -6,8 +6,8 @@ description: 'As a Java developer you might have a hard time accepting the limit that you feel being introduced into your development cycles. Let''s look at the positives and learn everything important to know to turn Backstag''s software templates into a helpful tool you can use to elevate the platform experience for all developers. ' -startsAt: -endsAt: +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -17,8 +17,8 @@ categories: - id: 81703 name: Track categoryItems: - - id: 290604 - name: Cloud Infrastructure + - id: 290605 + name: Cloud Technology sort: 0 - id: 81704 name: Session Format @@ -26,14 +26,14 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58711 +room: Cloud Tech liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false -track: Cloud Infrastructure +isConfirmed: true +track: Cloud Technology format: session slug: backstage-software-templates-for-java-developers diff --git a/_events/beyond-static-building-adaptive-systems-with-reinforcement-learning-using-java.md b/_events/beyond-static-building-adaptive-systems-with-reinforcement-learning-using-java.md index e2d39417..9eb087f5 100644 --- a/_events/beyond-static-building-adaptive-systems-with-reinforcement-learning-using-java.md +++ b/_events/beyond-static-building-adaptive-systems-with-reinforcement-learning-using-java.md @@ -19,8 +19,8 @@ description: "Imagine a Java application that adapts to new challenges, learns f Whether you are looking to optimize resource allocation, improve decision-making processes, or create more responsive user experiences, reinforcement learning in Java opens up a world of possibilities." -startsAt: -endsAt: +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,8 +30,8 @@ categories: - id: 81703 name: Track categoryItems: - - id: 290615 - name: Artificial Intelligence + - id: 290603 + name: Architecture sort: 0 - id: 81704 name: Session Format @@ -39,14 +39,14 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53138 +room: Architecture liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false -track: Artificial Intelligence +isConfirmed: true +track: Architecture format: session slug: beyond-static-building-adaptive-systems-with-reinforcement-learning-using-java diff --git a/_events/big-things-with-tiny-teams-live-coding-with-apache-causeway.md b/_events/big-things-with-tiny-teams-live-coding-with-apache-causeway.md deleted file mode 100644 index 7a88fdeb..00000000 --- a/_events/big-things-with-tiny-teams-live-coding-with-apache-causeway.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -questionAnswers: [] -id: '735668' -title: 'Big things with tiny teams : Live coding with Apache Causeway' -description: "I came across the naked objects pattern at a conference in 2002, and - 2 years later we used an early version of the Naked Objects Framework to build the - main benefits system for the Irish Government, still running 20+ years later and - administering pensions and 40 other benefits. And since 2012 we've developed an - in-house ERP for Eurocommercial Properties on that early framework's successor, - Apache Causeway, processing €500m of invoices each year. All in a team averaging - 2.5 FTE people.\r\n\r\nYou can think of naked objects a bit like an ORM, except - it manages the presentation layer rather than persistence. Not having to build - the UI layer (or REST APIs) means that you can focus on what really matters, the - core business domain. \r\n\r\nIn this talk I'll introduce you to Apache Causeway, - itself built upon Spring Boot, with live coding and anecdotes along the way." -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: dbde3fbe-b40e-4205-bb53-d7d8acea9df9 - name: Dan Haywood -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290607 - name: Frameworks - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290619 - name: session - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: Frameworks -format: session -slug: big-things-with-tiny-teams-live-coding-with-apache-causeway - ---- diff --git a/_events/black-friday-brilliance-managing-a-billion-transactions-with-tech-tactics-and-teamwork.md b/_events/black-friday-brilliance-managing-a-billion-transactions-with-tech-tactics-and-teamwork.md new file mode 100644 index 00000000..6bcc7ba4 --- /dev/null +++ b/_events/black-friday-brilliance-managing-a-billion-transactions-with-tech-tactics-and-teamwork.md @@ -0,0 +1,48 @@ +--- +questionAnswers: [] +id: '784396' +title: 'Black Friday Brilliance: Managing a Billion Transactions with Tech, Tactics, + and Teamwork' +description: "The Black Friday and Cyber Monday period is one of the busiest times + in the retail calendar, both in stores and online, and our customers rely on our + infrastructure to support their businesses at this crucial time. Over this period + in 2023 we processed over 1 billion requests to our APIs, and we managed this with + greater than 99.99% availability! We've seen our request volume increase over 100x + in the last 10 years, and managing this requires the right technologies, careful + planning, and a great team of people.\r\n\r\nWith insightful commentary from a cross-section + of our brilliant Dev team, I’ll talk you through how we scale our infrastructure + on different Clouds, the technologies and processes that are put in place and problems + we have had to overcome in the past. I’ll also give some insights into how the team + works together over this busy period to keep everything running smoothly.\r\n" +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: eb8e3906-8c75-4876-9fe1-0aca5db8ef40 + name: Jamie Coleman +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290609 + name: Practices and other tech + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58704 +room: Practices +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Practices and other tech +format: session +slug: black-friday-brilliance-managing-a-billion-transactions-with-tech-tactics-and-teamwork + +--- diff --git a/_events/bootiful-spring-boot-a-dogumentary.md b/_events/bootiful-spring-boot-a-dogumentary.md index c320758b..7900cb5b 100644 --- a/_events/bootiful-spring-boot-a-dogumentary.md +++ b/_events/bootiful-spring-boot-a-dogumentary.md @@ -10,8 +10,8 @@ description: "Spring Boot 3.x and Java 21 have arrived, making it an exciting ti virtual threads, GraalVM, AppCDS, and more. Let's explore the latest-and-greatest in Spring Boot to build faster, more scalable, more efficient, more modular, more secure, and more intelligent systems and services.\r\n" -startsAt: -endsAt: +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,13 +30,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53138 +room: Architecture liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Architecture format: session slug: bootiful-spring-boot-a-dogumentary diff --git a/_events/boxlang-the-future-is-dynamic.md b/_events/boxlang-the-future-is-dynamic.md new file mode 100644 index 00000000..248010f1 --- /dev/null +++ b/_events/boxlang-the-future-is-dynamic.md @@ -0,0 +1,55 @@ +--- +questionAnswers: [] +id: '734869' +title: BoxLang - The Future is Dynamic +description: "Just like life, our code must evolve to meet the demands of an ever-changing + world. Adaptability is key in developing for the web, tablets, APIs, or serverless + applications. Multi-runtime development is the future, and that future is dynamic. + Enter BoxLang: Dynamic. Modular. Productive. (www.boxlang.io)\r\n\r\nBoxLang transforms + development with its dynamic design, enabling developers to write expressive, functional + code effortlessly. Its modular architecture ensures flexibility, allowing easy integration + into your existing ecosystems.\r\n\r\nInteroperability at Its Core\r\n\r\nBoxLang + boasts 100% interoperability with Java, seamlessly blending traditional and modern + development practices. This opens up new possibilities for innovation and collaboration.\r\n\r\nMulti-Runtime + Versatility\r\n\r\nFrom a compact 6MB OS binary to running on our pure Java web + server, CommandBox, Jakarta EE, AWS Lambda, Microsoft Functions, WebAssembly, Android, + and more, BoxLang is designed to adapt to any runtime environment. BoxLang combines + modern features from CFML, Node, Ruby, Kotlin, Java, and Clojure with the familiarity + of Java bytecode compilation. This makes it the go-to language for developers looking + to the future while building a solid foundation.\r\n\r\nEmpowering Creativity with + IDE Tools\r\n\r\nUnlock your creative potential with powerful IDE tools designed + for BoxLang, offering an intuitive development experience that streamlines your + workflow. Join us as we redefine JVM development and step into the era of BoxLang. + Welcome to the future." +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 01ad1e48-e43b-4af2-b3f3-e65232d55ff1 + name: Luis Majano +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290607 + name: Frameworks + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58702 +room: Frameworks +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Frameworks +format: session +slug: boxlang-the-future-is-dynamic + +--- diff --git a/_events/building-10x-organizations-with-internal-developer-portals.md b/_events/building-10x-organizations-with-internal-developer-portals.md index 1ae6b166..ad8fd8b3 100644 --- a/_events/building-10x-organizations-with-internal-developer-portals.md +++ b/_events/building-10x-organizations-with-internal-developer-portals.md @@ -15,8 +15,8 @@ description: "Developer Experience is Dead! Long Live Developer Experience!\r\n\ developer portals already exist. As business leaders, we just need to invest in and create urgency behind these solutions today, so that we don’t find ourselves having the same discussion again in a decade.\r\n" -startsAt: -endsAt: +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -35,13 +35,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58710 +room: Tech Leadership liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Tech Leadership format: session slug: building-10x-organizations-with-internal-developer-portals diff --git a/_events/building-apis-in-the-ai-era.md b/_events/building-apis-in-the-ai-era.md index 59e7a927..0dde6805 100644 --- a/_events/building-apis-in-the-ai-era.md +++ b/_events/building-apis-in-the-ai-era.md @@ -11,13 +11,13 @@ description: How can architects and software developers use AI to transform the AI-driven solutions into their API projects to maximize output, reduce time-to-market, and maintain quality standards. Come learn how AI is a disruptive force in the evolution of API development, not just a small improvement. -startsAt: -endsAt: +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' isServiceSession: false isPlenumSession: false speakers: -- id: a4797c7b-e72c-4619-9a92-c8c667a43a88 - name: Hugo Guerrero +- id: a4305a38-d462-482b-9e4a-536eb74ec63c + name: Kevin Dubois categories: - id: 81703 name: Track @@ -31,8 +31,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53140 +room: Cloud Native liveUrl: recordingUrl: status: Accepted diff --git a/_events/building-scalable-systems-and-services-with-spring-boot-3-4.md b/_events/building-scalable-systems-and-services-with-spring-boot-3-4.md new file mode 100644 index 00000000..056df6d9 --- /dev/null +++ b/_events/building-scalable-systems-and-services-with-spring-boot-3-4.md @@ -0,0 +1,49 @@ +--- +questionAnswers: [] +id: '800031' +title: 'Building Scalable Systems and Services with Spring Boot 3.4 ' +description: "Hi, Spring fans! In this installment we're going to look at how to build + scalable systems and services using the amazing Spring Boot 3.4 release and all + the umbrella projects that accompany it. \r\n\r\nWe'll look at the basics - a sort + of desk check for the wayward Spring developer - to ensure that development itself + is scalable when using Spring.\r\n\r\nWe'll look at the basics of data access and + web programming with Spring. We'll look at data processing strategies, too.\r\n\r\nWe'll + look at how to build modular, intelligent applications with Spring Modulith and + Spring AI. \r\n\r\nWe'll look at how to build messaging and integration into our + system. \r\n\r\nWe'll look at how to integrate security into the system, making + passwords safe and then - ideally - avoiding them altogether. \r\n\r\nAnd we'll + look at scaling and optimizing Spring applications, too. \r\n\r\nProduction is the + happiest place on earth! Join me for this workshop and we'll learn how to get there + with aplomb. " +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: f2617bc2-d35e-4fd7-9cea-02060f3e1608 + name: Josh Long +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290607 + name: Frameworks + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290620 + name: workshop + sort: 1 +roomId: 58702 +room: Frameworks +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Frameworks +format: workshop +slug: building-scalable-systems-and-services-with-spring-boot-3-4 + +--- diff --git a/_events/cache-smarter-not-harder-a-practical-guide-to-choosing-the-best-caching-strategy.md b/_events/cache-smarter-not-harder-a-practical-guide-to-choosing-the-best-caching-strategy.md index 87c459f8..6d280700 100644 --- a/_events/cache-smarter-not-harder-a-practical-guide-to-choosing-the-best-caching-strategy.md +++ b/_events/cache-smarter-not-harder-a-practical-guide-to-choosing-the-best-caching-strategy.md @@ -17,13 +17,15 @@ description: "In today's rapidly evolving digital landscape, ensuring applicatio attendees will walk away with a clear framework for evaluating caching solutions and practical strategies to optimize their architecture for high performance and scalability. " -startsAt: -endsAt: +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' isServiceSession: false isPlenumSession: false speakers: - id: f7d03f66-8402-4926-ba4c-aade6a3f7817 name: Medha Chakraborty +- id: 616f816d-a777-4392-a9cd-f93bf93ddab9 + name: Eswaran Rathinam categories: - id: 81703 name: Track @@ -37,13 +39,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53138 +room: Architecture liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Architecture format: session slug: cache-smarter-not-harder-a-practical-guide-to-choosing-the-best-caching-strategy diff --git a/_events/case-study-journey-to-cloud-with-jakarta-ee-and-microprofile.md b/_events/case-study-journey-to-cloud-with-jakarta-ee-and-microprofile.md index 1ba6458b..1860785f 100644 --- a/_events/case-study-journey-to-cloud-with-jakarta-ee-and-microprofile.md +++ b/_events/case-study-journey-to-cloud-with-jakarta-ee-and-microprofile.md @@ -12,8 +12,8 @@ description: 'The journey to cloud is an ongoing challenge for many enterprises. and how we overcame them using Helidon, an open-source framework that makes it easy to write Java microservices, including MicroProfile microservices that easily integrate with Jakarta EE applications.' -startsAt: -endsAt: +startsAt: '2025-03-06T15:45:00' +endsAt: '2025-03-06T16:45:00' isServiceSession: false isPlenumSession: false speakers: @@ -32,13 +32,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58708 +room: JakarataEE liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: JakartaEE format: session slug: case-study-journey-to-cloud-with-jakarta-ee-and-microprofile diff --git a/_events/cloud-integration-testing-made-easy-for-your-java-apps.md b/_events/cloud-integration-testing-made-easy-for-your-java-apps.md index 43bf2a61..73dd6040 100644 --- a/_events/cloud-integration-testing-made-easy-for-your-java-apps.md +++ b/_events/cloud-integration-testing-made-easy-for-your-java-apps.md @@ -20,8 +20,8 @@ description: "Integration testing is complicated as it is, even more so when thi Boot app with LocalStack and Testcontainers conveys isolation, speed, cost, and flexibility, making it effortless to get started with writing integration tests for your cloud application." -startsAt: -endsAt: +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -40,13 +40,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58711 +room: Cloud Tech liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Cloud Technology format: session slug: cloud-integration-testing-made-easy-for-your-java-apps diff --git a/_events/code-coverage-mythbusters.md b/_events/code-coverage-mythbusters.md index 908e5256..f505c93c 100644 --- a/_events/code-coverage-mythbusters.md +++ b/_events/code-coverage-mythbusters.md @@ -14,8 +14,8 @@ description: "Code coverage is a compelling set of metrics that can help you imp this talk, we will dispel the most popular myths built around code coverage. This talk will help you understand the concept of code coverage, how it should be used, and how to boost your productivity with code coverage." -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -36,13 +36,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58703 +room: Java Platform liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Java Platform format: session slug: code-coverage-mythbusters diff --git a/_events/codebase-resurrection-revive-and-refactor-with-ai.md b/_events/codebase-resurrection-revive-and-refactor-with-ai.md index bbad0e9d..45bee9bd 100644 --- a/_events/codebase-resurrection-revive-and-refactor-with-ai.md +++ b/_events/codebase-resurrection-revive-and-refactor-with-ai.md @@ -21,8 +21,8 @@ description: "Is your codebase in need of a major overhaul? Do you find yourself robust, and future-proof. Don't miss this opportunity to revolutionize your coding practices and elevate your software architecture to new heights with Codium.AI. Join us and embark on your journey towards code excellence!\r\n" -startsAt: -endsAt: +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -41,13 +41,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58706 +room: Tools and Techniques liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Tools and techniques format: session slug: codebase-resurrection-revive-and-refactor-with-ai diff --git a/_events/commonly-uncommon-diverse-paths-that-lead-to-winning-outcomes.md b/_events/commonly-uncommon-diverse-paths-that-lead-to-winning-outcomes.md deleted file mode 100644 index 332be009..00000000 --- a/_events/commonly-uncommon-diverse-paths-that-lead-to-winning-outcomes.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -questionAnswers: [] -id: '739382' -title: 'Commonly Uncommon: Diverse Paths that Lead to Winning Outcomes' -description: We each have a unique combination of experiences that we bring to our - career in tech. Many of us don't have an undergraduate, graduate, and/or doctorate - in computer science. In this session, we will get a glimpse into the speaker's winding - journey to a tech career and discuss how conventional and unconventional paths foster - unique perspectives that create ideal conditions for inventive solutions and ideas. - Find out how to leverage your diverse experiences in your career, encourage and - welcome new additions, and contribute to the innovation that makes the tech industry - so exciting. -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: e8154769-ac25-4c42-890f-6ccd70e2ec79 - name: Jennifer Reif -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290618 - name: Keynote - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290621 - name: keynote - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: true -track: Keynote -format: keynote -slug: commonly-uncommon-diverse-paths-that-lead-to-winning-outcomes - ---- diff --git a/_events/complex-problems-and-other-ways-to-disappoint-your-friends.md b/_events/complex-problems-and-other-ways-to-disappoint-your-friends.md index fa522dd5..d8927d8d 100644 --- a/_events/complex-problems-and-other-ways-to-disappoint-your-friends.md +++ b/_events/complex-problems-and-other-ways-to-disappoint-your-friends.md @@ -9,8 +9,8 @@ description: "Most developers have heard of \"Big O notation\" but it stops ther focus on the key aspects that you can't ignore. It's important to know when you stumble across an NP-Complete problem, and what you can do. I promise short journey into the jungle of PSPACE for developers who have never even heard these terms.\r\n" -startsAt: -endsAt: +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -29,13 +29,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58710 +room: Tech Leadership liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Tech Leadership format: session slug: complex-problems-and-other-ways-to-disappoint-your-friends diff --git a/_events/concurrency-redefined-what-s-new-in-jakarta-concurrency-3-1.md b/_events/concurrency-redefined-what-s-new-in-jakarta-concurrency-3-1.md new file mode 100644 index 00000000..5b27972c --- /dev/null +++ b/_events/concurrency-redefined-what-s-new-in-jakarta-concurrency-3-1.md @@ -0,0 +1,49 @@ +--- +questionAnswers: [] +id: '751261' +title: 'Concurrency redefined: what’s new in Jakarta Concurrency 3.1' +description: 'While java natively supports multi-threading, there are detrminents + that impede massive parallelism: thread overhead, task granularity, mixed I/O bound + work, algorithmic limitations etc. to name a few. Enter Jakarta Concurrency and + discover the powerful features and enhancements! designed to boost performance and + streamline development, Jakarta Concurrency 3.1 introduces significant improvements + in asynchronous task execution, thread management, and resource optimization. We''ll + demonstrate practical examples and best practices to leverage these features effectively + within Open Liberty, showcasing how they can be seamlessly incorporated into your + existing Java EE applications to achieve more scalable and responsive systems. Whether + you are a seasoned developer or new to Jakarta EE, this session will equip you with + the knowledge and tools to take full advantage of Jakarta Concurrency 3.1.' +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 02757751-2055-43a0-afb7-a8654d46bffe + name: Ashwin M S +- id: 8fc26242-b3ec-4e47-b3e2-3e2fc6f9d459 + name: Madhuvanthi V +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290617 + name: JakartaEE + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58708 +room: JakarataEE +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: JakartaEE +format: session +slug: concurrency-redefined-what-s-new-in-jakarta-concurrency-3-1 + +--- diff --git a/_events/conf-close-and-mega-raffle.md b/_events/conf-close-and-mega-raffle.md new file mode 100644 index 00000000..597379c0 --- /dev/null +++ b/_events/conf-close-and-mega-raffle.md @@ -0,0 +1,21 @@ +--- +questionAnswers: [] +id: c67ed6bc-34e3-43f9-8615-fa080ad26bb0 +title: Conf close and mega raffle! +description: +startsAt: '2025-03-06T16:45:00' +endsAt: '2025-03-06T17:15:00' +isServiceSession: true +isPlenumSession: true +speakers: [] +categories: [] +roomId: 58709 +room: Keynote +liveUrl: +recordingUrl: +status: +isInformed: false +isConfirmed: false +slug: conf-close-and-mega-raffle + +--- diff --git a/_events/conference-reception-open-bar-and-food.md b/_events/conference-reception-open-bar-and-food.md new file mode 100644 index 00000000..b0dcb6e2 --- /dev/null +++ b/_events/conference-reception-open-bar-and-food.md @@ -0,0 +1,21 @@ +--- +questionAnswers: [] +id: 22054d3f-c3e8-4ae4-8bcc-c4e5dc917c08 +title: Conference Reception (open bar and food!) +description: +startsAt: '2025-03-05T17:00:00' +endsAt: '2025-03-05T19:00:00' +isServiceSession: true +isPlenumSession: true +speakers: [] +categories: [] +roomId: 58709 +room: Keynote +liveUrl: +recordingUrl: +status: +isInformed: false +isConfirmed: false +slug: conference-reception-open-bar-and-food + +--- diff --git a/_events/connected-industries-with-an-edge.md b/_events/connected-industries-with-an-edge.md deleted file mode 100644 index 223b1ecd..00000000 --- a/_events/connected-industries-with-an-edge.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -questionAnswers: [] -id: '750035' -title: Connected Industries with an Edge -description: "Manufacturing facilities, production lines, and industrial automation - units have traditionally been disconnected from the internet. However, to stay competitive - in the digital era, these systems must evolve into smart, interconnected networks - by integrating key technologies such as digital twins and the Industrial Internet - of Things (IIoT), which require internet connectivity and the cloud.\r\n\r\nAs data - volumes generated by industrial equipment are substantial, relying solely on cloud - infrastructure becomes insufficient due to bandwidth limitations, latency issues, - and the inability to handle real-time data processing effectively. Even more, it - poses key security challenges/ This is where edge computing becomes critical. Edge - computing brings data processing closer to the source, reducing latency and bandwidth - strain, enabling faster decision-making and seamless operations.\r\n\r\nThis talk - explores how industrial automation can safely and efficiently move online by leveraging - edge computing and highlights the features that application servers should offer - to meet the demands of operational technologies and factory environments, such as - security, reliability, scalability, and long-term support. The presentation showcase - these opportunities through a demo build with Payara Platform.\r\n" -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: 4e13d9ca-073e-4348-bd6e-0c8ac51d5f6e - name: Chiara Civardi -- id: 162782a2-35a0-45af-9983-17e5920586d0 - name: Petr Aubrecht -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290617 - name: JakartaEE - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290619 - name: session - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: JakartaEE -format: session -slug: connected-industries-with-an-edge - ---- diff --git a/_events/containers-all-the-way-down-optimizing-spring-boot-apps-for-the-modern-cloud.md b/_events/containers-all-the-way-down-optimizing-spring-boot-apps-for-the-modern-cloud.md index 040536d3..17cf11e7 100644 --- a/_events/containers-all-the-way-down-optimizing-spring-boot-apps-for-the-modern-cloud.md +++ b/_events/containers-all-the-way-down-optimizing-spring-boot-apps-for-the-modern-cloud.md @@ -17,8 +17,8 @@ description: "In a cloud-native world, containerization is a key enabler for sca how to optimize your development workflow and ensure that your Spring Boot applications can handle the demands of production in a containerized world. Come to this session to learn how to unlock the *full* potential of containers for your Spring Boot projects!" -startsAt: -endsAt: +startsAt: '2025-03-06T15:45:00' +endsAt: '2025-03-06T16:45:00' isServiceSession: false isPlenumSession: false speakers: @@ -37,13 +37,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58702 +room: Frameworks liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Frameworks format: session slug: containers-all-the-way-down-optimizing-spring-boot-apps-for-the-modern-cloud diff --git a/_events/containers-and-kubernetes-made-easy-deep-dive-into-podman-desktop.md b/_events/containers-and-kubernetes-made-easy-deep-dive-into-podman-desktop.md index 1e97f7ab..49f64776 100644 --- a/_events/containers-and-kubernetes-made-easy-deep-dive-into-podman-desktop.md +++ b/_events/containers-and-kubernetes-made-easy-deep-dive-into-podman-desktop.md @@ -16,8 +16,8 @@ description: Dive into the world of containers and Kubernetes with Podman Deskto you can seamlessly adopt containers and ensure predictability in deployments on Kubernetes, through local clusters (with Kind and Minikube) and by leveraging Podman Desktop’s features and security advantages! -startsAt: -endsAt: +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -36,8 +36,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53140 +room: Cloud Native liveUrl: recordingUrl: status: Accepted diff --git a/_events/conway-s-law-and-digital-transformation.md b/_events/conway-s-law-and-digital-transformation.md index f647950b..444a2ca5 100644 --- a/_events/conway-s-law-and-digital-transformation.md +++ b/_events/conway-s-law-and-digital-transformation.md @@ -9,8 +9,8 @@ description: Conway’s Law posits that the design of a system mirrors the commu the implications of Conway’s Law in the context of digital transformation, examining how traditional, hierarchical structures often hinder the agility and innovation required for modern, scalable systems. -startsAt: -endsAt: +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -29,8 +29,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58710 +room: Tech Leadership liveUrl: recordingUrl: status: Accepted diff --git a/_events/cqrs-meets-modern-java.md b/_events/cqrs-meets-modern-java.md index c555970d..4cfa21d6 100644 --- a/_events/cqrs-meets-modern-java.md +++ b/_events/cqrs-meets-modern-java.md @@ -11,8 +11,8 @@ description: "Command Query Responsibility Segregation (CQRS) is a proven design and pattern matching. An example application will demonstrate how the theoretical foundations of CQRS can be applied in practice and how this affects application design while increasing data access efficiency." -startsAt: -endsAt: +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -31,8 +31,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53138 +room: Architecture liveUrl: recordingUrl: status: Accepted diff --git a/_events/crafting-the-ultimate-docker-image-for-spring-applications.md b/_events/crafting-the-ultimate-docker-image-for-spring-applications.md index 3759fc25..81ddb90f 100644 --- a/_events/crafting-the-ultimate-docker-image-for-spring-applications.md +++ b/_events/crafting-the-ultimate-docker-image-for-spring-applications.md @@ -9,8 +9,8 @@ description: Docker is the cornerstone of today's development! Let's overview qu discuss the strategy of splitting the JAR into multiple layers and using multistage Dockerfiles, gradually improving our image. Join me to learn how to build the ultimate Docker image for Spring applications. -startsAt: -endsAt: +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -20,8 +20,8 @@ categories: - id: 81703 name: Track categoryItems: - - id: 290604 - name: Cloud Infrastructure + - id: 290605 + name: Cloud Technology sort: 0 - id: 81704 name: Session Format @@ -29,14 +29,14 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58711 +room: Cloud Tech liveUrl: recordingUrl: status: Accepted isInformed: true isConfirmed: true -track: Cloud Infrastructure +track: Cloud Technology format: session slug: crafting-the-ultimate-docker-image-for-spring-applications diff --git a/_events/create-ai-infused-java-apps-with-langchain4j.md b/_events/create-ai-infused-java-apps-with-langchain4j.md index c4ae3f63..22d837a8 100644 --- a/_events/create-ai-infused-java-apps-with-langchain4j.md +++ b/_events/create-ai-infused-java-apps-with-langchain4j.md @@ -5,28 +5,26 @@ title: Create AI-Infused Java Apps with LangChain4j description: "Generative AI has taken the world by storm over the last year, and it seems like every executive leader out there is telling us “regular” Java application developers to “add AI” to our applications. Does that mean we need to drop everything - we’ve built and become data scientists instead now? \r\n\r\nFortunately, we can - actually infuse AI models built by actual AI experts into our applications fairly - straightforwardly, thanks to some new projects out there. We promise it’s not as - complicated as you might think! Thanks to the ease of use and superb developer experience - of Quarkus and the nice AI integration capabilities that the LangChain4j libraries - offer, it becomes trivial to start working with AI and make your stakeholders happy - :)\r\n\r\nIn this lab, you’ll explore a variety of AI capabilities. We’ll start - from the Quarkus DevUI where you can try out AI models even before writing any code. - Then we’ll get our hands dirty with writing some code and exploring LangChain4j - features such as prompting, chaining, and preserving state; agents and function-calling; - enriching your AI model’s knowledge with your own documents using retrieval augmented - generation (RAG); and discovering ways to run (and train) models locally using tools - like Ollama and/or Podman AI Lab. In addition, you’ll add observability and fault - tolerance to the AI integration and compile the app to a native binary. You might - even try new features, such as generating images or audio! \r\n\r\nCome to this - session to learn how to build AI-infused applications with Java and Quarkus.\r\n\r\nNote: - We can provide a virtual environment for you but if you want to run it on your own - laptop, you should have Java 17+ installed (better if it's Java 21), and a container - runtime such as Podman or Docker. If you need help with the setup, visit this page: - https://redhat-developer-demos.github.io/quarkus-tutorial/quarkus-tutorial/01_setup.html\r\n" -startsAt: -endsAt: + we’ve built and become data scientists instead now?\r\n\r\nFortunately, we can infuse + AI models built by actual AI experts into our applications fairly straightforwardly, + thanks to some new projects. We promise it’s not as complicated as you might think! + Thanks to the ease of use and superb developer experience of Quarkus and the nice + AI integration capabilities that the LangChain4j libraries offer, it becomes trivial + to start working with AI and make your stakeholders happy :)\r\n\r\nIn this session, + you’ll explore a variety of AI capabilities. We’ll start from the Quarkus DevUI + where you can try out AI models even before writing any code. Then we’ll get our + hands dirty with some code and exploring LangChain4j features such as prompting, + chaining, and preserving state; agents and function-calling; enriching your AI model’s + knowledge with your documents using retrieval augmented generation (RAG); and discovering + ways to run (and train) models locally using tools like Ollama and/or Podman AI + Lab. In addition, we’ll look at the AI integration's observability and fault tolerance + and compile the app to a native binary. Maybe we’ll even try some new features, + such as generating images or audio!\r\n\r\nCome to this session to learn how to + build AI-infused applications in Java from the actual Quarkus experts and engineers + working on the Quarkus LangChain4j extensions. This is also an opportunity to provide + feedback to the maintainers of these projects and contribute back to the community." +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -47,8 +45,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53140 +room: Cloud Native liveUrl: recordingUrl: status: Accepted diff --git a/_events/dataframe-a-swiss-army-knife-of-java-data-processing.md b/_events/dataframe-a-swiss-army-knife-of-java-data-processing.md index 81f18f51..d3dd99e5 100644 --- a/_events/dataframe-a-swiss-army-knife-of-java-data-processing.md +++ b/_events/dataframe-a-swiss-army-knife-of-java-data-processing.md @@ -11,8 +11,8 @@ description: "Can we use big data techniques without big data infrastructure? As aggregations, window functions, etc. I will use an open source DFLib library (https://dflib.org) and a Jupyter notebook to demonstrate how to do data processing and visualization in a Java app with DataFrames without much fuss.\r\n" -startsAt: -endsAt: +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -31,8 +31,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58701 +room: Core Java liveUrl: recordingUrl: status: Accepted diff --git a/_events/day-2-keynote.md b/_events/day-2-keynote.md new file mode 100644 index 00000000..412887d6 --- /dev/null +++ b/_events/day-2-keynote.md @@ -0,0 +1,21 @@ +--- +questionAnswers: [] +id: 45040691-b23e-4acb-9320-331e1f983559 +title: Day 2 keynote +description: +startsAt: '2025-03-06T09:00:00' +endsAt: '2025-03-06T10:00:00' +isServiceSession: true +isPlenumSession: true +speakers: [] +categories: [] +roomId: 58709 +room: Keynote +liveUrl: +recordingUrl: +status: +isInformed: false +isConfirmed: false +slug: day-2-keynote + +--- diff --git a/_events/debugging-java.md b/_events/debugging-java.md index bc28ef8c..8a57251d 100644 --- a/_events/debugging-java.md +++ b/_events/debugging-java.md @@ -8,8 +8,8 @@ description: "When trying to track down a bug, the first thing we usually do is and some great techniques and tools you can use to streamline your debugging sessions.\r\n\r\nWe will be referencing the book \"Why Programs Fail\" by Andreas Zeller and the new book “Troublshooting Java” by Laurențiu Spilcă." -startsAt: -endsAt: +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -28,13 +28,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58703 +room: Java Platform liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Java Platform format: session slug: debugging-java diff --git a/_events/delivery-engineering.md b/_events/delivery-engineering.md index ad71c6d1..8d18c905 100644 --- a/_events/delivery-engineering.md +++ b/_events/delivery-engineering.md @@ -7,8 +7,8 @@ description: "Just as food delivery has evolved and become ubiquitous, the Softw and taking a platform centric approach.\r\n\r\nIn this session join us as we discuss modern software delivery, ways that Datadog has implemented SDLC internally and enable our user’s production of high-quality software with higher velocity." -startsAt: -endsAt: +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -27,13 +27,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58704 +room: Practices liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Practices and other tech format: session slug: delivery-engineering diff --git a/_events/demystifying-apache-flink.md b/_events/demystifying-apache-flink.md deleted file mode 100644 index 51d70d57..00000000 --- a/_events/demystifying-apache-flink.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -questionAnswers: [] -id: '735832' -title: Demystifying Apache Flink -description: "As Data Streaming is taking over the world one event at a time, you - cannot ignore it. Getting fresh and consistent data to the right place in the right - format gives your company a competitive edge.\r\nYou are probably asking yourself, - but what is this streaming all about? If you are new to this, don't worry; this - session is for you! Join me in delving into Flink's architecture and building scalable - and robust data processing pipelines for real-time data. You will learn about Flink's - core concepts, like event time processing, state management, and components architecture. - This session is designed for beginners but can be a suitable refreshment for experienced - data streaming engineers." -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: 185360b0-48a1-4ba3-9e49-b9018c669d3c - name: Adi Polak -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290607 - name: Frameworks - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290619 - name: session - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: Frameworks -format: session -slug: demystifying-apache-flink - ---- diff --git a/_events/developer-productivity-with-intellij-idea.md b/_events/developer-productivity-with-intellij-idea.md index e83beac5..4ef091fb 100644 --- a/_events/developer-productivity-with-intellij-idea.md +++ b/_events/developer-productivity-with-intellij-idea.md @@ -12,8 +12,8 @@ description: "Developer productivity is a hot topic right now, but what does it will gain a deeper understanding of how IntelliJ IDEA helps them to be effective, productive, and happy. Trisha wants you to look at your toolchain and ask yourself, “Does this enable me to be creative and happy?”" -startsAt: -endsAt: +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -32,13 +32,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58706 +room: Tools and Techniques liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Tools and techniques format: session slug: developer-productivity-with-intellij-idea diff --git a/_events/developer-productivity-with-large-language-models.md b/_events/developer-productivity-with-large-language-models.md new file mode 100644 index 00000000..4c1117b0 --- /dev/null +++ b/_events/developer-productivity-with-large-language-models.md @@ -0,0 +1,46 @@ +--- +questionAnswers: [] +id: '844129' +title: Developer Productivity with Large Language Models +description: "The emergence of large language models (LLMs) has transformed how developers + approach coding, offering new opportunities to improve productivity and collaboration. + The combination of LLMs and Java offers a transformative opportunity to streamline + workflows, enhance code quality, and reduce development cycles.\r\n\r\nThis session + explores how LLMs, such as OpenAI’s GPT and GitHub Copilot, can empower developers + by automating repetitive coding tasks, improving debugging efficiency, and generating + optimized, boilerplate-free code. We discuss practical applications of LLMs in Java + development, including intelligent code generation, debugging assistance, and documentation + creation. Additionally, we explore how LLMs can support the learning curve for new + Java developers by providing real-time guidance and best practices. " +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 21924ec2-96d9-4b4a-b2c8-99dd2efb77a7 + name: Mo Haghighi +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290615 + name: Artificial Intelligence + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 53139 +room: AI +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Artificial Intelligence +format: session +slug: developer-productivity-with-large-language-models + +--- diff --git a/_events/developer-s-guide-to-test-driven-development-and-approval-testing.md b/_events/developer-s-guide-to-test-driven-development-and-approval-testing.md index 9114ec50..8840d243 100644 --- a/_events/developer-s-guide-to-test-driven-development-and-approval-testing.md +++ b/_events/developer-s-guide-to-test-driven-development-and-approval-testing.md @@ -14,8 +14,8 @@ description: "In this session you’ll learn about Test-Driven Development (TDD) and lets you know what (if anything) has changed. Instead of asserting that a number, or a simple string were returned, an approval test might compare a complex object with it’s approved version and let you know when things change." -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -34,8 +34,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58704 +room: Practices liveUrl: recordingUrl: status: Accepted diff --git a/_events/developer-to-architect.md b/_events/developer-to-architect.md index 9e9cff48..83a1212c 100644 --- a/_events/developer-to-architect.md +++ b/_events/developer-to-architect.md @@ -18,8 +18,8 @@ description: "Becoming a software architect is a longed-for career upgrade for m opportunities to think through architectural decisions and patterns, discuss the importance of non functional requirements and why architects cannot afford to practice resume driven design." -startsAt: -endsAt: +startsAt: '2025-03-04T09:00:00' +endsAt: '2025-03-04T17:05:00' isServiceSession: false isPlenumSession: false speakers: @@ -38,8 +38,8 @@ categories: - id: 290620 name: workshop sort: 1 -roomId: -room: +roomId: 53140 +room: Cloud Native liveUrl: recordingUrl: status: Accepted diff --git a/_events/documenting-your-architecture.md b/_events/documenting-your-architecture.md index 0ab611eb..0c8276cd 100644 --- a/_events/documenting-your-architecture.md +++ b/_events/documenting-your-architecture.md @@ -11,8 +11,8 @@ description: "We've all learned that documenting your code is a good idea. But w provide a mechanism to think about architecture upfront, and make it more predictable. You'll walk away armed with everything you need to know about documenting your current, and future architectures. " -startsAt: -endsAt: +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -31,13 +31,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53138 +room: Architecture liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Architecture format: session slug: documenting-your-architecture diff --git a/_events/don-t-call-it-a-comeback-sql-in-cloud-ai-and-ml.md b/_events/don-t-call-it-a-comeback-sql-in-cloud-ai-and-ml.md index 5be92282..7938cede 100644 --- a/_events/don-t-call-it-a-comeback-sql-in-cloud-ai-and-ml.md +++ b/_events/don-t-call-it-a-comeback-sql-in-cloud-ai-and-ml.md @@ -11,8 +11,8 @@ description: 'While Python and specialized ML libraries dominate the AI/ML lands models at scale using Vertex AI''s SQL interface. Through hands-on examples and code demonstrations, you''ll gain practical insights into harnessing SQL''s capabilities to streamline your Cloud AI/ML development process. ' -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -28,18 +28,18 @@ categories: - id: 81704 name: Session Format categoryItems: - - id: 290620 - name: workshop + - id: 290619 + name: session sort: 1 -roomId: -room: +roomId: 53139 +room: AI liveUrl: recordingUrl: status: Accepted isInformed: true isConfirmed: true track: Artificial Intelligence -format: workshop +format: session slug: don-t-call-it-a-comeback-sql-in-cloud-ai-and-ml --- diff --git a/_events/duke-on-crac-with-jakarta-ee.md b/_events/duke-on-crac-with-jakarta-ee.md index 0922fbb2..db325f42 100644 --- a/_events/duke-on-crac-with-jakarta-ee.md +++ b/_events/duke-on-crac-with-jakarta-ee.md @@ -8,8 +8,8 @@ description: "Have you heard of Coordinated Restore at Checkpoint (CRaC)? The sh and follow Duke’s adventures of building modern and quick Jakarta EE applications with even faster start-up time. You will learn the basics of CRaC as well as gain an understanding of why it is a particularly good fit for Jakarta EE.\r\n" -startsAt: -endsAt: +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,8 +30,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58708 +room: JakarataEE liveUrl: recordingUrl: status: Accepted diff --git a/_events/embracing-the-hybrid-cloud-unlocking-success-with-open-source-technologies.md b/_events/embracing-the-hybrid-cloud-unlocking-success-with-open-source-technologies.md index 68429163..8916632a 100644 --- a/_events/embracing-the-hybrid-cloud-unlocking-success-with-open-source-technologies.md +++ b/_events/embracing-the-hybrid-cloud-unlocking-success-with-open-source-technologies.md @@ -14,8 +14,8 @@ description: "Change and adopting Hybrid Cloud solutions are inevitable in today an era where agility, efficiency, and resilience are paramount, this session will equip you with the insights and tools to navigate the Hybrid Cloud's complexities successfully. " -startsAt: -endsAt: +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -34,13 +34,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53140 +room: Cloud Native liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Cloud Native format: session slug: embracing-the-hybrid-cloud-unlocking-success-with-open-source-technologies diff --git a/_events/enhancing-llms-with-graph-technology.md b/_events/enhancing-llms-with-graph-technology.md index 71104492..4c1a3fdc 100644 --- a/_events/enhancing-llms-with-graph-technology.md +++ b/_events/enhancing-llms-with-graph-technology.md @@ -17,8 +17,8 @@ description: Large Language Models (LLMs) have revolutionized natural language p showcasing the transformative impact of combining Graph Technology with LLMs. Join us to explore how GraphRAG is setting a new standard in enhancing AI's accuracy and explainability. -startsAt: -endsAt: +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -37,8 +37,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53139 +room: AI liveUrl: recordingUrl: status: Accepted diff --git a/_events/enhancing-project-integrity-a-modernization-for-bug-free-code.md b/_events/enhancing-project-integrity-a-modernization-for-bug-free-code.md index b867308f..c6338fa1 100644 --- a/_events/enhancing-project-integrity-a-modernization-for-bug-free-code.md +++ b/_events/enhancing-project-integrity-a-modernization-for-bug-free-code.md @@ -19,8 +19,8 @@ description: "Embarking on a Java project involves employing the best strategies process of running various components such as databases, services, and extensions, thereby minimizing the need for manual intervention\r\n\r\nThroughout the session, we'll delve into concrete examples, ensuring a hands-on experience" -startsAt: -endsAt: +startsAt: '2025-03-06T15:45:00' +endsAt: '2025-03-06T16:45:00' isServiceSession: false isPlenumSession: false speakers: @@ -39,8 +39,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58706 +room: Tools and Techniques liveUrl: recordingUrl: status: Accepted diff --git a/_events/foundations-of-modern-java-server-apps.md b/_events/foundations-of-modern-java-server-apps.md new file mode 100644 index 00000000..280ef458 --- /dev/null +++ b/_events/foundations-of-modern-java-server-apps.md @@ -0,0 +1,47 @@ +--- +questionAnswers: [] +id: '754875' +title: Foundations of Modern Java Server Apps +description: Java has a long history of running on the server. From the early days + of servlets, to JSP, Java web frameworks, Java  EE, and Spring, to today’s hip microservice + frameworks, the platform has been a strong, solid player, relied upon by thousands + of companies, governments, and organizations. But what do these microservice frameworks + like Dropwizard, Spring Boot, and Eclipse MicroProfile have in common with the older + days of Java? It turns out, there’s quite a lot of foundational tech that made the + newer frameworks possible. In this talk, we’ll take a look at different parts of + the foundation that you may not even realize you’re using, for everything like handling + REST requests, processing JSON, using Web Sockets, talking to a database, performing + validation, and more. We’ll also look at how these standards evolve within the Eclipse + Jakarta EE, and what’s in store for the future. +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: ff0a1dd3-c9f2-48e2-88a8-9c0e429251be + name: Kito Mann +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290617 + name: JakartaEE + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58708 +room: JakarataEE +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: JakartaEE +format: session +slug: foundations-of-modern-java-server-apps + +--- diff --git a/_events/fresh-hot-css-features.md b/_events/fresh-hot-css-features.md new file mode 100644 index 00000000..1d27a4f0 --- /dev/null +++ b/_events/fresh-hot-css-features.md @@ -0,0 +1,43 @@ +--- +questionAnswers: [] +id: '749192' +title: Fresh Hot CSS Features! +description: "Do you use a CSS Framework like bootstrap? Or maybe you've been coasting + for a few years on your current knowledge of CSS. You've maybe seen something called + CSS Grid and wondered what it was... Maybe you have never seen `var()` used before.\r\n\r\nLet's + discuss the latest newest hottest big features in CSS from the last few years, and + get you up to speed on what a browser engine is capable of!\r\n\r\nWe'll cover the + following topics:\r\n- CSS Grid\r\n- Custom Properties\r\n- the `:has()` selector\r\n- + CSS Layers\r\n- Container Queries\r\n\r\n... And more!" +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 5c386803-b673-4259-a6ce-d85e1fd0a016 + name: Alex Riviere +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290612 + name: Web and Front-end + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58707 +room: Web and front-end +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Web and Front-end +format: session +slug: fresh-hot-css-features + +--- diff --git a/_events/frustration-free-k8s-for-spring-developers.md b/_events/frustration-free-k8s-for-spring-developers.md index 84423991..a2510977 100644 --- a/_events/frustration-free-k8s-for-spring-developers.md +++ b/_events/frustration-free-k8s-for-spring-developers.md @@ -19,8 +19,8 @@ description: "Your first experience running a Spring app on Kubernetes likely le dream: a single automated process that happens quickly and easily. You will leave this session no longer dreading deploying Spring apps to Kubernetes and instead making your deployments painless and intuitive, unlocking the true power of Kubernetes.\r\n" -startsAt: -endsAt: +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -39,13 +39,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58703 +room: Java Platform liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Java Platform format: session slug: frustration-free-k8s-for-spring-developers diff --git a/_events/functional-spring-boot.md b/_events/functional-spring-boot.md index 9984fc1b..978c8bad 100644 --- a/_events/functional-spring-boot.md +++ b/_events/functional-spring-boot.md @@ -8,8 +8,8 @@ description: 10 years after the advent of Spring, Spring Boot shifted the paradi APIs and DSLs since 2.0. These APIs deliver many benefits such as better performance and easier learning curve. In this talk, we will learn how to uncover these hidden gems in Spring Boot. -startsAt: -endsAt: +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -28,13 +28,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58702 +room: Frameworks liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Frameworks format: session slug: functional-spring-boot diff --git a/_events/generative-devops.md b/_events/generative-devops.md index 069af23c..b0e03dc9 100644 --- a/_events/generative-devops.md +++ b/_events/generative-devops.md @@ -10,8 +10,8 @@ description: AI’s capabilities for software development through code generatio cases for testing, monitoring and observability, and continuous deployments, as well as strategies for ensuring a successful approach to integrating AI into DevOps on your team. -startsAt: -endsAt: +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,8 +30,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53139 +room: AI liveUrl: recordingUrl: status: Accepted diff --git a/_events/git-features-you-aren-t-using.md b/_events/git-features-you-aren-t-using.md index 7378c518..64891a30 100644 --- a/_events/git-features-you-aren-t-using.md +++ b/_events/git-features-you-aren-t-using.md @@ -14,8 +14,8 @@ description: "In this session we'll take a tour of some features that you might the end of this session, you will walk away with a slew of new tools in your arsenal, and a new perspective on how this can help you and your colleagues get the most out of Git." -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -34,13 +34,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58706 +room: Tools and Techniques liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Tools and techniques format: session slug: git-features-you-aren-t-using diff --git a/_events/going-beyond-orms.md b/_events/going-beyond-orms.md index 543bc482..779c3a3c 100644 --- a/_events/going-beyond-orms.md +++ b/_events/going-beyond-orms.md @@ -10,8 +10,8 @@ description: For some time now JSON has been the preferred format for exchanging data world. this is what JSON Duality Views propose. In this session we'll explore options to enhance data driven applications written with Spring Boot, Quarkus, and Micronaut, enhancing your developer experience and increasing customer satisfaction. -startsAt: -endsAt: +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,13 +30,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58706 +room: Tools and Techniques liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Tools and techniques format: session slug: going-beyond-orms diff --git a/_events/hands-on-apache-maven-4.md b/_events/hands-on-apache-maven-4.md index fe4bcd36..61e957d8 100644 --- a/_events/hands-on-apache-maven-4.md +++ b/_events/hands-on-apache-maven-4.md @@ -12,8 +12,8 @@ description: "Frustrated with Apache Maven? Confused about how to control versio provides an ease-of-use and follows the \"principle of least astonishment\".\r\n\r\nCome join to see how to solve build woes using the latest (and greatest) version of Apache Maven!" -startsAt: -endsAt: +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -32,8 +32,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58701 +room: Core Java liveUrl: recordingUrl: status: Accepted diff --git a/_events/home-lab-private-cloud-on-a-budget.md b/_events/home-lab-private-cloud-on-a-budget.md index 91f2b8f6..1e045dd6 100644 --- a/_events/home-lab-private-cloud-on-a-budget.md +++ b/_events/home-lab-private-cloud-on-a-budget.md @@ -25,8 +25,8 @@ description: "Ever wanted to run your own private cloud but thought it was out o experiment with and deploy cloud-based applications securely and efficiently. Whether for personal projects, learning, or small-scale deployments, attendees will gain the skills to create a reliable private cloud environment at home." -startsAt: -endsAt: +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -45,8 +45,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58711 +room: Cloud Tech liveUrl: recordingUrl: status: Accepted diff --git a/_events/how-not-to-be-mentored.md b/_events/how-not-to-be-mentored.md index 52a58c04..9236d7ba 100644 --- a/_events/how-not-to-be-mentored.md +++ b/_events/how-not-to-be-mentored.md @@ -14,8 +14,8 @@ description: "How to does one get the best out of a mentor-ship, while providin read ( books, articles, and people to follow on Twitter).\r\n=> Etc ( Anything else that can come to mind when writing this talk based on the theme of the audience/ conference ). " -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -34,13 +34,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58710 +room: Tech Leadership liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Tech Leadership format: session slug: how-not-to-be-mentored diff --git a/_events/how-to-debug-lessons-learnt-from-10-years-of-spring-boot.md b/_events/how-to-debug-lessons-learnt-from-10-years-of-spring-boot.md index c92b7abd..b8762997 100644 --- a/_events/how-to-debug-lessons-learnt-from-10-years-of-spring-boot.md +++ b/_events/how-to-debug-lessons-learnt-from-10-years-of-spring-boot.md @@ -10,8 +10,8 @@ description: Debugging is a fundamental skill that's vital for any Java develope debugger and tips for conditional breakpoints will all be covered. You'll also learn how to open good issues against open source projects to quickly get the fixes you need. -startsAt: -endsAt: +startsAt: '2025-03-06T15:45:00' +endsAt: '2025-03-06T16:45:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,13 +30,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58703 +room: Java Platform liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Java Platform format: session slug: how-to-debug-lessons-learnt-from-10-years-of-spring-boot diff --git a/_events/ignore-previous-instructions-embracing-ai-red-teaming.md b/_events/ignore-previous-instructions-embracing-ai-red-teaming.md deleted file mode 100644 index d0a6ed3c..00000000 --- a/_events/ignore-previous-instructions-embracing-ai-red-teaming.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -questionAnswers: [] -id: '748266' -title: 'Ignore Previous Instructions: Embracing AI Red Teaming' -description: In this talk, we will explore the journey of Red Teaming from its origins - to its transformation into AI Red Teaming, highlighting its pivotal role in shaping - the future of Large Language Models (LLMs) and beyond. Drawing from my firsthand - experiences developing and deploying the largest generative red teaming platform - to date, I will share insightful antidotes and real-world examples. We will explore - how adversarial red teaming fortifies AI applications at every layer—protecting - platforms, businesses, and consumers. This includes safeguarding the external application - interface, reinforcing LLM guardrails, and enhancing the security of the LLMs' internal - algorithms. Join me as we uncover the critical importance of adversarial strategies - in securing the AI landscape. -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: e3c99a3a-4d01-479f-9f96-5e8758e70746 - name: David Campbell -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290615 - name: Artificial Intelligence - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290621 - name: keynote - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: Artificial Intelligence -format: keynote -slug: ignore-previous-instructions-embracing-ai-red-teaming - ---- diff --git a/_events/jakarta-ee-connected-industries-with-an-edge.md b/_events/jakarta-ee-connected-industries-with-an-edge.md new file mode 100644 index 00000000..8a15fbea --- /dev/null +++ b/_events/jakarta-ee-connected-industries-with-an-edge.md @@ -0,0 +1,53 @@ +--- +questionAnswers: [] +id: '750035' +title: 'Jakarta EE: Connected Industries with an Edge' +description: Manufacturing facilities, production lines, and industrial automation + units have traditionally been disconnected from the internet. However, to stay competitive + in the digital era, these systems must evolve into smart, interconnected networks + by integrating key technologies such as digital twins and the Industrial Internet + of Things (IIoT), which require internet connectivity and the cloud. As data volumes + generated by industrial equipment are substantial, relying solely on cloud infrastructure + becomes insufficient due to bandwidth limitations, latency issues, and the inability + to handle real-time data processing effectively. Even more, it poses key security + challenges. This is where edge computing becomes critical. Edge computing brings + data processing closer to the source, reducing latency and bandwidth strain, enabling + faster decision-making and seamless operations. This talk explores how industrial + automation can safely and efficiently move online by leveraging Jakarta EE applications + as edge computing units. The presentation will also highlights the features that + application servers for Jakarta EE apps should offer to meet the demands of operational + technologies and factory environments, such as security, reliability, scalability, + and long-term support. The presentation showcase these opportunities through a demo + build with Payara Platform. +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 162782a2-35a0-45af-9983-17e5920586d0 + name: Petr Aubrecht +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290617 + name: JakartaEE + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58708 +room: JakarataEE +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: JakartaEE +format: session +slug: jakarta-ee-connected-industries-with-an-edge + +--- diff --git a/_events/jakartaee-meets-ai-beyond-the-chatbot-with-langchain4j.md b/_events/jakarta-ee-meets-ai-beyond-the-chatbot-with-langchain4j.md similarity index 57% rename from _events/jakartaee-meets-ai-beyond-the-chatbot-with-langchain4j.md rename to _events/jakarta-ee-meets-ai-beyond-the-chatbot-with-langchain4j.md index e9eac68d..1cbc9ecb 100644 --- a/_events/jakartaee-meets-ai-beyond-the-chatbot-with-langchain4j.md +++ b/_events/jakarta-ee-meets-ai-beyond-the-chatbot-with-langchain4j.md @@ -1,14 +1,14 @@ --- questionAnswers: [] id: '746924' -title: 'JakartaEE meets AI: Beyond the chatbot with Langchain4j' +title: 'Jakarta EE meets AI: Beyond the chatbot with LangChain4j' description: "LLMs are getting smarter every day, but they still don’t get the ins and outs of your business.\r\n\r\nIn this session, we’ll explore a demo project - built with JakartaEE and Langchain4j where we’ll supercharge the LLMs by hooking - them up to your backend. The result? An LLM that not only chats but also follows - your business rules, making it a real game-changer for your applications." -startsAt: -endsAt: + built with Jakarta EE and LangChain4j. We’ll supercharge the LLMs by hooking them + up to your backend. The result? An LLM that not only chats but also follows your + business rules, making it a real game-changer for your applications." +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -27,8 +27,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58708 +room: JakarataEE liveUrl: recordingUrl: status: Accepted @@ -36,6 +36,6 @@ isInformed: true isConfirmed: true track: JakartaEE format: session -slug: jakartaee-meets-ai-beyond-the-chatbot-with-langchain4j +slug: jakarta-ee-meets-ai-beyond-the-chatbot-with-langchain4j --- diff --git a/_events/java-and-the-internet-of-things.md b/_events/java-and-the-internet-of-things.md new file mode 100644 index 00000000..d813241c --- /dev/null +++ b/_events/java-and-the-internet-of-things.md @@ -0,0 +1,45 @@ +--- +questionAnswers: [] +id: '751799' +title: Java and the Internet of Things +description: "Java is the powerhouse of enterprise app development, but it's also + a player in the world of connected devices. Today's active projects include deep + sea fleet management, healthcare interoperability, environmental management, smart + home devices, and more.\r\n\r\nIn this session, we present a brief survey of the + role of Java in IoT applications. Then, we demonstrate the principles of IoT development + with live coding and physical devices. (Yes, we have props!) If the Internet behaves + itself, we show you how devices use the cloud to communicate with one another." +startsAt: '2025-03-06T15:45:00' +endsAt: '2025-03-06T16:45:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 4c3fdc08-0216-46a1-a36f-a1b6abe6315f + name: Barry Burd +- id: c53d0ee3-4ee1-4a19-ac0a-26a38a4c43af + name: Richard Fichtner +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290605 + name: Cloud Technology + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58711 +room: Cloud Tech +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Cloud Technology +format: session +slug: java-and-the-internet-of-things + +--- diff --git a/_events/java-llms-a-hands-on-guide-to-building-llm-apps-in-java-with-jakartaee.md b/_events/java-llms-a-hands-on-guide-to-building-llm-apps-in-java-with-jakartaee.md new file mode 100644 index 00000000..699b35e3 --- /dev/null +++ b/_events/java-llms-a-hands-on-guide-to-building-llm-apps-in-java-with-jakartaee.md @@ -0,0 +1,51 @@ +--- +questionAnswers: [] +id: '751660' +title: 'Java + LLMs: A hands-on guide to building LLM Apps in Java with JakartaEE' +description: "AI is revolutionizing the software landscape. However, for many Java + developers, integrating these powerful AI tools into existing enterprise applications + or a new one can feel daunting. In this hands-on session, we'll demystify the process + and show you how to build LLM-powered features directly into your Java codebase.\r\n\r\nUsing + JakartaEE and the LangChain4j library, we'll dive deep into Retrieval Augmented + Generation (RAG), a cutting-edge technique that combines the vast knowledge of LLMs + with the precision of your own data. We'll explore how to create both few-shot and + zero-shot RAG models, and then add practical features like summarization and similarity + search, backed by an Embedding database.\r\n\r\nThrough a live coding demo, we’ll + walk you through constructing an AI-powered online store backend and provide practical + insights into the architecture and code.\r\n\r\nWhether you're familiar with AI + or just getting started, this session will give you the confidence and skills to + harness the potential of LLMs in your Java projects. \r\n" +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 79e95ec4-23ec-48ec-9046-98d3e1776283 + name: Bazlur Rahman +- id: 4e0f1b70-c9ff-4351-b21e-eee43fdd44df + name: Syed M "Shaaf" +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290617 + name: JakartaEE + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58708 +room: JakarataEE +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: JakartaEE +format: session +slug: java-llms-a-hands-on-guide-to-building-llm-apps-in-java-with-jakartaee + +--- diff --git a/_events/keeping-your-java-hot-by-solving-the-jvm-warmup-problem.md b/_events/keeping-your-java-hot-by-solving-the-jvm-warmup-problem.md index cd6f8796..046a565f 100644 --- a/_events/keeping-your-java-hot-by-solving-the-jvm-warmup-problem.md +++ b/_events/keeping-your-java-hot-by-solving-the-jvm-warmup-problem.md @@ -21,8 +21,8 @@ description: "Java bytecodes and class files deliver on the original vision of all application state (heap, stack, etc.) in addition to the JIT-compiled code. \ Project CRaC will be used as an example.\r\n\r\nAt the end of the session, you’ll be all set to keep your Java hot!\r\n" -startsAt: -endsAt: +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -41,8 +41,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58701 +room: Core Java liveUrl: recordingUrl: status: Accepted diff --git a/_events/langchain4j-the-awesome-framework-for-ai-and-java.md b/_events/langchain4j-the-awesome-framework-for-ai-and-java.md deleted file mode 100644 index ba3a3951..00000000 --- a/_events/langchain4j-the-awesome-framework-for-ai-and-java.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -questionAnswers: [] -id: '751645' -title: 'LangChain4j: The Awesome Framework for AI and Java' -description: This workshop helps you add AI capabilities to your Java systems using - the excellent LangChain4j framework. Add chat capabilities, image generation, vision - models, text-to-speech, transcription, and more, quickly and easily. Retrieval-Augmented - Generation (RAG) will also be included, using a variety of sources, including pdf, - HTML, Word docs, and URL resources. The workshop will also demonstrate how to access - models added to your local machine using the Ollama system. -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: ecda0d84-be59-41c6-8983-b58cd5b3f93c - name: Kenneth Kousen -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290615 - name: Artificial Intelligence - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290620 - name: workshop - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: Artificial Intelligence -format: workshop -slug: langchain4j-the-awesome-framework-for-ai-and-java - ---- diff --git a/_events/let-openid-connect-secure-your-applications.md b/_events/let-openid-connect-secure-your-applications.md index 908b578a..7750274e 100644 --- a/_events/let-openid-connect-secure-your-applications.md +++ b/_events/let-openid-connect-secure-your-applications.md @@ -13,8 +13,8 @@ description: "Implementing the correct security patterns is a common challenge t an enterprise application using OpenID Connect concepts with multiple Java Framworks, with a live demonstration of a small application that uses standard frameworks (Jakarta EE and Eclipse MicroProfile) in tandem with an external OpenID Connect provider." -startsAt: -endsAt: +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -33,13 +33,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58705 +room: Security liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Security format: session slug: let-openid-connect-secure-your-applications diff --git a/_events/let-s-make-your-java-code-bug-proof.md b/_events/let-s-make-your-java-code-bug-proof.md deleted file mode 100644 index 329db6c8..00000000 --- a/_events/let-s-make-your-java-code-bug-proof.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -questionAnswers: [] -id: '750255' -title: Let's make your Java code Bug-Proof -description: "In the battle against buggy code, error handling is your weapon of choice. - This talk will arm you with the knowledge and skills to:\r\n\r\n- Identify and handle - different types of exceptions.\r\n- Create custom exceptions for specific errors.\r\n- - Implement error-prevention strategies.\r\n- Log and report errors effectively.\r\n- - Debug and troubleshoot errors with confidence.\r\n\r\nIn addition, we will also - discuss the importance of a mindset shift in error handling. Instead of viewing - errors as failures, we encourage you to view them as learning opportunities.\r\n\r\nWhether - you're a seasoned backend developer or just starting out, this talk will help you - write more robust and reliable Java code." -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: d0e6b397-e663-46f1-ba2f-70472049af6e - name: Aicha Laafia -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290608 - name: Java Platform - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290619 - name: session - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: Java Platform -format: session -slug: let-s-make-your-java-code-bug-proof - ---- diff --git a/_events/leverage-event-driven-ansible-to-reduce-your-automation-reaction-time.md b/_events/leverage-event-driven-ansible-to-reduce-your-automation-reaction-time.md deleted file mode 100644 index 7006bd21..00000000 --- a/_events/leverage-event-driven-ansible-to-reduce-your-automation-reaction-time.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -questionAnswers: [] -id: '751444' -title: Leverage Event Driven Ansible to reduce your automation reaction time -description: In today's complex IT environments, it is more important than ever to - automate tasks and processes. Event-Driven Ansible is a new feature of Ansible that - allows you to automate IT tasks based on events that occur in your IT environment. - This session will provide an introduction to Event-Driven Ansible, including what - it is, how it works, and the benefits of using it. We will also discuss some examples - of how Event-Driven Ansible can be used in real-world scenarios. -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: '04725191-5f4a-4f6a-b63e-c5ca9a7e7b78' - name: Fabio Alessandro Locati -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290614 - name: Cloud Native - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290619 - name: session - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: Cloud Native -format: session -slug: leverage-event-driven-ansible-to-reduce-your-automation-reaction-time - ---- diff --git a/_events/logging-deep-dive.md b/_events/logging-deep-dive.md deleted file mode 100644 index 830f55bd..00000000 --- a/_events/logging-deep-dive.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -questionAnswers: [] -id: '747847' -title: Logging Deep Dive -description: Logging is important for understanding why the application isn’t working - properly for having a record of what happened. In this session, you’ll see the differences - between Java Util Logging, Log4J, SLF4J and Logback along with looking at some interesting - features of each. You’ll also learn about the new Log4j 3 release and how it differs - from Log4J 2. -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: 6631e69f-25c4-47db-9fb2-08576a460048 - name: Jeanne Boyarsky -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290607 - name: Frameworks - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290619 - name: session - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: Frameworks -format: session -slug: logging-deep-dive - ---- diff --git a/_events/long-live-short-lived-credentials-auto-rotating-secrets-at-scale.md b/_events/long-live-short-lived-credentials-auto-rotating-secrets-at-scale.md index cc57ddd7..563d676f 100644 --- a/_events/long-live-short-lived-credentials-auto-rotating-secrets-at-scale.md +++ b/_events/long-live-short-lived-credentials-auto-rotating-secrets-at-scale.md @@ -15,8 +15,8 @@ description: "By now, you are very likely aware of the problem of secrets sprawl Get an update on the state of secrets sprawl\r\n- Diagram auto-rotation architectures\r\n- Plan a secrets audit and code refactor strategy\r\n- Start the email that will help you convince the team\r\n" -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -35,8 +35,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58705 +room: Security liveUrl: recordingUrl: status: Accepted diff --git a/_events/lunch.md b/_events/lunch.md new file mode 100644 index 00000000..76ad0048 --- /dev/null +++ b/_events/lunch.md @@ -0,0 +1,21 @@ +--- +questionAnswers: [] +id: 30fba086-ad81-4279-981b-000d0ed71caf +title: Lunch +description: +startsAt: '2025-03-06T12:30:00' +endsAt: '2025-03-06T13:30:00' +isServiceSession: true +isPlenumSession: true +speakers: [] +categories: [] +roomId: 58709 +room: Keynote +liveUrl: +recordingUrl: +status: +isInformed: false +isConfirmed: false +slug: lunch + +--- diff --git a/_events/managing-your-ai-driven-manager.md b/_events/managing-your-ai-driven-manager.md new file mode 100644 index 00000000..56e7b271 --- /dev/null +++ b/_events/managing-your-ai-driven-manager.md @@ -0,0 +1,44 @@ +--- +questionAnswers: [] +id: '751652' +title: Managing Your AI-Driven Manager +description: The threat to your job isn’t that an AI can replace you — it’s that a + manager will think AI can replace you. This talk covers how to build a relationship + with your manager that makes you their primary technical ally. The idea is to become + the person they trust to evaluate both the benefits — and the costs — of using AI + tools, showing where they can help and where you really need to be careful using + them. In a rapidly changing world, you can become the person your manager relies + on to give them good advice, all while you get to enjoy playing with the latest + toys. +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: ecda0d84-be59-41c6-8983-b58cd5b3f93c + name: Kenneth Kousen +categories: +- id: 81703 + name: Track + categoryItems: + - id: 302778 + name: Tech Leadership + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58710 +room: Tech Leadership +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: false +track: Tech Leadership +format: session +slug: managing-your-ai-driven-manager + +--- diff --git a/_events/mastering-canary-releases-with-argo-rollouts-in-kubernetes.md b/_events/mastering-canary-releases-with-argo-rollouts-in-kubernetes.md index e2acdb86..8a705fc4 100644 --- a/_events/mastering-canary-releases-with-argo-rollouts-in-kubernetes.md +++ b/_events/mastering-canary-releases-with-argo-rollouts-in-kubernetes.md @@ -12,8 +12,8 @@ description: "Delivering new features without impacting user experience is a cha a fully automated canary release in action—watch as we safely deploy updates in real time!\r\n\r\nJoin us to learn how to leverage canary releases for safer, more reliable software delivery." -startsAt: -endsAt: +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -32,13 +32,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58711 +room: Cloud Tech liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Cloud Technology format: session slug: mastering-canary-releases-with-argo-rollouts-in-kubernetes diff --git a/_events/mastering-logging-in-java.md b/_events/mastering-logging-in-java.md new file mode 100644 index 00000000..6d663565 --- /dev/null +++ b/_events/mastering-logging-in-java.md @@ -0,0 +1,46 @@ +--- +questionAnswers: [] +id: '747847' +title: Mastering Logging in Java +description: "Logging isn’t just about debugging; it’s how you figure out what your + application was thinking before it all went wrong. It is important for understanding + why your application isn't working properly. This session will compare popular + Java logging frameworks like Java Util Logging, Log4J, SLF4J, and Logback, highlighting + their strengths and quirks.\r\n\r\nWe’ll also look at the shiny new Log4j 3 and + how it stacks up against its predecessor, Log4j 2. Whether you’re trying to improve + your logging game or just want fewer “what the heck happened?” moments, this talk + should be helpful for you." +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 6631e69f-25c4-47db-9fb2-08576a460048 + name: Jeanne Boyarsky +- id: 29076748-33f5-4e17-a392-8a9ec55550c7 + name: Victor Grazi +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290607 + name: Frameworks + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58702 +room: Frameworks +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Frameworks +format: session +slug: mastering-logging-in-java + +--- diff --git a/_events/mastering-the-system-design-methodology.md b/_events/mastering-the-system-design-methodology.md index c3b84a10..579eefa0 100644 --- a/_events/mastering-the-system-design-methodology.md +++ b/_events/mastering-the-system-design-methodology.md @@ -41,8 +41,8 @@ description: "Mastering the System Design Methodology is a must-attend talk for the order fulfillment process for an online retailer\r\n\r\n* Review, Refine, and Finalize\r\n * Consolidating insights and preparing for implementation\r\n * Case Study: Finalizing and launching a new feature for a social media platform" -startsAt: -endsAt: +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -61,8 +61,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58710 +room: Tech Leadership liveUrl: recordingUrl: status: Accepted diff --git a/_events/micrometer-mastery-unleash-advanced-observability-in-your-jvm-apps.md b/_events/micrometer-mastery-unleash-advanced-observability-in-your-jvm-apps.md index c799baad..07ca3c4f 100644 --- a/_events/micrometer-mastery-unleash-advanced-observability-in-your-jvm-apps.md +++ b/_events/micrometer-mastery-unleash-advanced-observability-in-your-jvm-apps.md @@ -14,8 +14,8 @@ description: "Is your application a black box? Is your current observability ins use cases demonstrating the power of Micrometer's observability toolkit.\r\n\r\nReady to elevate your observability game using the industry’s golden standard? This talk is your one-stop shop for Micrometer mastery!" -startsAt: -endsAt: +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -34,13 +34,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58703 +room: Java Platform liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Java Platform format: session slug: micrometer-mastery-unleash-advanced-observability-in-your-jvm-apps diff --git a/_events/migrating-from-java-ee-to-spring-boot-or-something-else.md b/_events/migrating-from-java-ee-to-spring-boot-or-something-else.md new file mode 100644 index 00000000..e7472e30 --- /dev/null +++ b/_events/migrating-from-java-ee-to-spring-boot-or-something-else.md @@ -0,0 +1,48 @@ +--- +questionAnswers: [] +id: '751804' +title: Migrating from Java EE - to Spring Boot or something else? +description: "Many companies use old and expensive Java EE servers like WebSphere + or WebLogic. If you're considering moving away from them, this session is for you. + We'll explore three options: the widely used Spring Boot framework, modern open-source + Jakarta EE servers like GlassFish, and emerging choices like Quarkus and Piranha + Cloud.\r\n\r\nThrough live demos and discussions, we'll compare these options in + terms of how easy it is to get started, how straightforward it is to migrate from + Java EE, how developer-friendly they are, and what features they offer for production. + We'll also look at the evolution of the Jakarta EE ecosystem and how it currently + compares to SpringBoot.\r\n\r\nWhether you're a developer, a DevOps engineer, or + an architect, this session will give you practical insights and help you make informed + choices about your Java stack. Join me in finding out the answer to the question: + Should you migrate from Java EE to Spring Boot or something else?\r\n" +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: a525f812-1f48-41fa-a4cf-cd6c10fb3f69 + name: Ondro Mihályi +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290617 + name: JakartaEE + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58708 +room: JakarataEE +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: JakartaEE +format: session +slug: migrating-from-java-ee-to-spring-boot-or-something-else + +--- diff --git a/_events/migration-engineering-with-openrewrite-the-recipe-for-success.md b/_events/migration-engineering-with-openrewrite-the-recipe-for-success.md index 01a36c21..270eeddf 100644 --- a/_events/migration-engineering-with-openrewrite-the-recipe-for-success.md +++ b/_events/migration-engineering-with-openrewrite-the-recipe-for-success.md @@ -17,8 +17,8 @@ description: "How adaptable is your technology stack to changes in business requ recipe development. \r\n\r\nThis is a comprehensive look at all kinds of recipe development that will enable you to come away fully equipped to plan and exercise large-scale code transformations in your organization." -startsAt: -endsAt: +startsAt: '2025-03-04T09:00:00' +endsAt: '2025-03-04T17:05:00' isServiceSession: false isPlenumSession: false speakers: @@ -37,13 +37,13 @@ categories: - id: 290620 name: workshop sort: 1 -roomId: -room: +roomId: 53138 +room: Architecture liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Architecture format: workshop slug: migration-engineering-with-openrewrite-the-recipe-for-success diff --git a/_events/ml-ops-for-java-developers-a-hands-on-guide-with-kubeflow-and-quarkus.md b/_events/ml-ops-for-java-developers-a-hands-on-guide-with-kubeflow-and-quarkus.md index 039063b3..8cc6497b 100644 --- a/_events/ml-ops-for-java-developers-a-hands-on-guide-with-kubeflow-and-quarkus.md +++ b/_events/ml-ops-for-java-developers-a-hands-on-guide-with-kubeflow-and-quarkus.md @@ -14,8 +14,8 @@ description: "Machine learning is becoming a must-have skill in today's world. B dive into the future of ML Ops. Join us and learn how to integrate machine learning into your Java projects with Kubeflow and Quarkus. Your journey to becoming a Java ML Ops expert starts here! \r\n" -startsAt: -endsAt: +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -36,13 +36,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53140 +room: Cloud Native liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Cloud Native format: session slug: ml-ops-for-java-developers-a-hands-on-guide-with-kubeflow-and-quarkus diff --git a/_events/modern-problems-require-modern-solutions-finding-your-meme-twin-with-embeddings-vector-databases.md b/_events/modern-problems-require-modern-solutions-finding-your-meme-twin-with-embeddings-vector-databases.md index eac24111..dd62e38a 100644 --- a/_events/modern-problems-require-modern-solutions-finding-your-meme-twin-with-embeddings-vector-databases.md +++ b/_events/modern-problems-require-modern-solutions-finding-your-meme-twin-with-embeddings-vector-databases.md @@ -24,8 +24,8 @@ description: "Do you look like a famous meme character? Does someone you know? K take some photos during the session and use it all to find your meme twin!\r\n\r\nSo, are you ready to find your meme twin? Or are you ready to learn how to use this technology? I say, [Why Not Both](https://knowyourmeme.com/memes/why-not-both-why-dont-we-have-both)." -startsAt: -endsAt: +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -44,13 +44,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53139 +room: AI liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Artificial Intelligence format: session slug: modern-problems-require-modern-solutions-finding-your-meme-twin-with-embeddings-vector-databases diff --git a/_events/morning-break.md b/_events/morning-break.md new file mode 100644 index 00000000..87853c90 --- /dev/null +++ b/_events/morning-break.md @@ -0,0 +1,21 @@ +--- +questionAnswers: [] +id: a6c6ec2f-b705-47bb-8d03-a8b6930b36d4 +title: Morning Break +description: +startsAt: '2025-03-06T11:00:00' +endsAt: '2025-03-06T11:30:00' +isServiceSession: true +isPlenumSession: false +speakers: [] +categories: [] +roomId: 58709 +room: Keynote +liveUrl: +recordingUrl: +status: +isInformed: false +isConfirmed: false +slug: morning-break + +--- diff --git a/_events/navigating-uncertainty-in-software-development-effective-planning-techniques.md b/_events/navigating-uncertainty-in-software-development-effective-planning-techniques.md index 7d38ce60..3852cabe 100644 --- a/_events/navigating-uncertainty-in-software-development-effective-planning-techniques.md +++ b/_events/navigating-uncertainty-in-software-development-effective-planning-techniques.md @@ -15,8 +15,8 @@ description: "In an ever-changing world, uncertainty is a constant companion, es to guide their teams towards successful outcomes. Whether you are a developer, team lead, or product manager, this session will provide you with a fresh perspective on planning in the face of uncertainty." -startsAt: -endsAt: +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -35,13 +35,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58710 +room: Tech Leadership liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Tech Leadership format: session slug: navigating-uncertainty-in-software-development-effective-planning-techniques diff --git a/_events/nurturing-openjdk-distribution-eclipse-temurin-success-history-and-plan.md b/_events/nurturing-openjdk-distribution-eclipse-temurin-success-history-and-plan.md index 0f4330c4..47f2a1a2 100644 --- a/_events/nurturing-openjdk-distribution-eclipse-temurin-success-history-and-plan.md +++ b/_events/nurturing-openjdk-distribution-eclipse-temurin-success-history-and-plan.md @@ -10,8 +10,8 @@ description: "Join me as we explore the pillars that make Eclipse Temurin one of In this talk, we will also shine a spotlight on our dedication to delivering quality and outstanding performance, with a special focus on our AQAvit project and Security Effort." -startsAt: -endsAt: +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,13 +30,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58704 +room: Practices liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Practices and other tech format: session slug: nurturing-openjdk-distribution-eclipse-temurin-success-history-and-plan diff --git a/_events/og-refactoring-observing-gamma-patterns-to-refactor-towards.md b/_events/og-refactoring-observing-gamma-patterns-to-refactor-towards.md index 7df41a97..4b8416ba 100644 --- a/_events/og-refactoring-observing-gamma-patterns-to-refactor-towards.md +++ b/_events/og-refactoring-observing-gamma-patterns-to-refactor-towards.md @@ -14,8 +14,8 @@ description: "Erich Gamma, et al's Design Patterns: Elements of Reusable Object- hidden patterns in their code bases, plan a refactor effort on legacy codebases, write their own refactorings, and recognize accidental code complexity in large codebases.\r\n" -startsAt: -endsAt: +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -36,8 +36,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58706 +room: Tools and Techniques liveUrl: recordingUrl: status: Accepted diff --git a/_events/oop-vs-data-oriented-programming-which-one-to-choose.md b/_events/oop-vs-data-oriented-programming-which-one-to-choose.md new file mode 100644 index 00000000..a252afd7 --- /dev/null +++ b/_events/oop-vs-data-oriented-programming-which-one-to-choose.md @@ -0,0 +1,45 @@ +--- +questionAnswers: [] +id: '800469' +title: 'OOP vs. Data Oriented Programming: Which One to Choose?' +description: "We rely heavily on polymorphism when programming with the object-oriented + paradigm. That has served us really well, especially to create extensible code. + However, like any tool and technique, there are times when that may not be the right + choice. Java now provides an alternative that is useful in those select situations—the + data-oriented programming.\r\n\r\nIn this presentation we will start with an example + where the highly useful object hierarchy and polymorphism appears as a misfit and + discuss how data-oriented programming solves the problem more elegantly. Get a good + understanding of when to use each one of these and how to intermix them in your + applications." +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: b576bdc5-c994-40f5-b1dd-e0f9f7999fa9 + name: Venkat Subramaniam +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290608 + name: Java Platform + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58703 +room: Java Platform +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: false +track: Java Platform +format: session +slug: oop-vs-data-oriented-programming-which-one-to-choose + +--- diff --git a/_events/opening-keynote.md b/_events/opening-keynote.md new file mode 100644 index 00000000..7622c013 --- /dev/null +++ b/_events/opening-keynote.md @@ -0,0 +1,21 @@ +--- +questionAnswers: [] +id: c36440b9-6e42-4c24-81be-16ae1f9cbf02 +title: Opening keynote +description: +startsAt: '2025-03-05T09:00:00' +endsAt: '2025-03-05T10:00:00' +isServiceSession: true +isPlenumSession: false +speakers: [] +categories: [] +roomId: 58709 +room: Keynote +liveUrl: +recordingUrl: +status: +isInformed: false +isConfirmed: false +slug: opening-keynote + +--- diff --git a/_events/opentelemetry-and-continuous-feedback-things-you-need-to-know-about-spring-application-at-runtime.md b/_events/opentelemetry-and-continuous-feedback-things-you-need-to-know-about-spring-application-at-runtime.md new file mode 100644 index 00000000..6d8d6799 --- /dev/null +++ b/_events/opentelemetry-and-continuous-feedback-things-you-need-to-know-about-spring-application-at-runtime.md @@ -0,0 +1,55 @@ +--- +questionAnswers: [] +id: '782799' +title: OpenTelemetry and Continuous Feedback - Things you need to know about Spring + application at runtime +description: "What do you know about the code changes that were just introduced into + the codebase? When will you start noticing if something goes wrong? If there are + so many accessible observability sources that can tell us what the code is doing, + why are we using so little of that in our day-to-day coding?\r\n\r\nContinuous Feedback + is a new dev practice that aims to make practical usage of code runtime data to + shorten the feedback loop during development. It enables developers to get early + data about their code changes and detect issues and regressions as-they-code. At + the same time, collecting data from multiple environments, allows developers to + instantly understand how their code is performing in the real world.\r\n\r\nIn this + session, we'll look past the novelty of using OSS observability tools and technologies, + to discuss how we can actually make them useful for developers. We'll take a look + at the benefits of enabling OpenTelemetry collection for dev and test data and examine + OSS tools to help analyze the application runtime. Throughout the talk, we'll go + over code examples of common anti-patterns, code smells, hidden errors, and other + types of problems that observability can reveal - prior to merging a PR,\r\n\r\nUltimately, + the goal should not be simply observing the application or creating nice-looking + dashboards. Rather, success is in leveraging observability data in order to achieve + a more effective dev process and write better code." +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 223365e9-c6b0-437a-a028-e69038ad44c0 + name: Roni Dover +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290611 + name: Tools and techniques + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58706 +room: Tools and Techniques +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Tools and techniques +format: session +slug: opentelemetry-and-continuous-feedback-things-you-need-to-know-about-spring-application-at-runtime + +--- diff --git a/_events/optimize-cold-starts-for-java-functions-using-aws-lambda-snapstart.md b/_events/optimize-cold-starts-for-java-functions-using-aws-lambda-snapstart.md index 7c5ca811..73ad9013 100644 --- a/_events/optimize-cold-starts-for-java-functions-using-aws-lambda-snapstart.md +++ b/_events/optimize-cold-starts-for-java-functions-using-aws-lambda-snapstart.md @@ -13,8 +13,8 @@ description: In this session, we will explore advanced techniques for optimizing latency. Whether you are a developer, architect, or DevOps engineer, this session will equip you with the knowledge to leverage AWS Lambda SnapStart for seamless and efficient serverless applications. -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -33,8 +33,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58711 +room: Cloud Tech liveUrl: recordingUrl: status: Accepted diff --git a/_events/optimizing-containerized-java-apps-with-jib-graalvm-cds-and-crac.md b/_events/optimizing-containerized-java-apps-with-jib-graalvm-cds-and-crac.md index 3b273283..74fb6e92 100644 --- a/_events/optimizing-containerized-java-apps-with-jib-graalvm-cds-and-crac.md +++ b/_events/optimizing-containerized-java-apps-with-jib-graalvm-cds-and-crac.md @@ -11,8 +11,8 @@ description: In today’s cloud-native world, keeping microservices reliable and Data Sharing (CDS) and CRaC to improve startup times, while evaluating trade-offs to choose the best optimization techniques, ensuring your applications are optimized for scale, reliability, and efficiency in the cloud. -startsAt: -endsAt: +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -33,13 +33,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53140 +room: Cloud Native liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Cloud Native format: session slug: optimizing-containerized-java-apps-with-jib-graalvm-cds-and-crac diff --git a/_events/platform-engineering-101-building-internal-developer-platforms.md b/_events/platform-engineering-101-building-internal-developer-platforms.md index ab4824b2..ba5205dd 100644 --- a/_events/platform-engineering-101-building-internal-developer-platforms.md +++ b/_events/platform-engineering-101-building-internal-developer-platforms.md @@ -19,15 +19,13 @@ description: "Tell us what you want, what you really, really want… Developer p teams to enable rapid, easy deployment of their applications. We’ll demo this with a range of technologies, runtimes and tools to really showcase just how flexible and personalised these IDPs can be to your own organization and application needs." -startsAt: -endsAt: +startsAt: '2025-03-06T15:45:00' +endsAt: '2025-03-06T16:45:00' isServiceSession: false isPlenumSession: false speakers: - id: 7c534296-8db5-4452-b17f-9249465ea914 name: Grace Jansen -- id: a4305a38-d462-482b-9e4a-536eb74ec63c - name: Kevin Dubois categories: - id: 81703 name: Track @@ -41,13 +39,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53140 +room: Cloud Native liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Cloud Native format: session slug: platform-engineering-101-building-internal-developer-platforms diff --git a/_events/polyglot-persistence-which-data-model-to-pick-for-your-workload.md b/_events/polyglot-persistence-which-data-model-to-pick-for-your-workload.md deleted file mode 100644 index a1badad2..00000000 --- a/_events/polyglot-persistence-which-data-model-to-pick-for-your-workload.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -questionAnswers: [] -id: '729888' -title: Polyglot persistence - which data model to pick for your workload? -description: JSON, Graph, Relational, or just Key/Value? Which data model should you - pick for your app to use? Does it matter? What are the benefits, what the trade-offs? - So many choices and yet no good answers out there on the web. Look no further! In - this talk you will learn the concepts of each of the popular data models, where - they shine and where they shouldn't be your first choice. -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: d389ed05-18fe-4c1b-a9ba-c11417d11ad8 - name: Gerald Venzl -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290603 - name: Architecture - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290619 - name: session - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: Architecture -format: session -slug: polyglot-persistence-which-data-model-to-pick-for-your-workload - ---- diff --git a/_events/polyglot-pipelines-with-apache-nifi.md b/_events/polyglot-pipelines-with-apache-nifi.md index 4394db98..d7bcd309 100644 --- a/_events/polyglot-pipelines-with-apache-nifi.md +++ b/_events/polyglot-pipelines-with-apache-nifi.md @@ -13,8 +13,8 @@ description: Are you feeling lost as a Java Developer in this new age where AI i to take advantage of the mature libraries in the Python community like PyTorch or Tensorflow. Get the most out of your data by using the best of both the Java and Python communities. -startsAt: -endsAt: +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -24,8 +24,8 @@ categories: - id: 81703 name: Track categoryItems: - - id: 290615 - name: Artificial Intelligence + - id: 290607 + name: Frameworks sort: 0 - id: 81704 name: Session Format @@ -33,14 +33,14 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58702 +room: Frameworks liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false -track: Artificial Intelligence +isConfirmed: true +track: Frameworks format: session slug: polyglot-pipelines-with-apache-nifi diff --git a/_events/practical-ai-lab-for-enterprise-java-developers-from-zero-to-hero.md b/_events/practical-ai-lab-for-enterprise-java-developers-from-zero-to-hero.md new file mode 100644 index 00000000..c825632a --- /dev/null +++ b/_events/practical-ai-lab-for-enterprise-java-developers-from-zero-to-hero.md @@ -0,0 +1,49 @@ +--- +questionAnswers: [] +id: '751412' +title: 'Practical AI Lab for Enterprise Java Developers: From Zero to Hero' +description: "This hands-on workshop is designed to equip enterprise Java developers + with the essential skills and knowledge needed to harness the power of artificial + intelligence in their projects. Developers learn:\r\n\r\nHow to modernize and deploy + Java AI-infused applications across teams using internal developer portals\r\n\r\nUnderstand + developer AI concepts like prompt engineering, application testing, applying RAG + patterns, observing AI-infused applications, and using tools/agents\r\n\r\nExperiment + with models and applications directly on the desktop with AI-focused local development + tools\r\n\r\nBuilding AI applications with S/W templates and deploying to Kubernetes\r\n\r\nEasy + fine-tuning of base models using open source tools" +startsAt: '2025-03-04T09:00:00' +endsAt: '2025-03-04T17:05:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 4b82436a-947c-45bb-9d5d-3b94c02c8faa + name: Daniel Oh +- id: 6f672350-1c71-4a6e-a382-2b1db6e631fd + name: Eric Deandrea +- id: b9f343b4-5370-4839-bd53-572b0322882e + name: James Falkner +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290615 + name: Artificial Intelligence + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290620 + name: workshop + sort: 1 +roomId: 58710 +room: Tech Leadership +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Artificial Intelligence +format: workshop +slug: practical-ai-lab-for-enterprise-java-developers-from-zero-to-hero + +--- diff --git a/_events/project-panama-unleashing-native-libraries.md b/_events/project-panama-unleashing-native-libraries.md index 275d9fc4..6481ec3b 100644 --- a/_events/project-panama-unleashing-native-libraries.md +++ b/_events/project-panama-unleashing-native-libraries.md @@ -11,8 +11,8 @@ description: Many native libraries offer powerful solutions to interesting probl that lets Java developers’ interop with native code seamlessly. Come to this session to learn more about how OpenJDK Project Panama can help you interact with native libraries seamlessly. -startsAt: -endsAt: +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -31,8 +31,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58703 +room: Java Platform liveUrl: recordingUrl: status: Accepted diff --git a/_events/recalibrate-how-ai-shakes-up-agile-teams.md b/_events/recalibrate-how-ai-shakes-up-agile-teams.md new file mode 100644 index 00000000..9856261b --- /dev/null +++ b/_events/recalibrate-how-ai-shakes-up-agile-teams.md @@ -0,0 +1,47 @@ +--- +questionAnswers: [] +id: '751537' +title: Recalibrate - How AI Shakes Up Agile Teams +description: "According to researchers, a staggering 75% of enterprise software engineers + will harness the power of AI code assistants by 2028. This shift will revolutionize + not just how we write code but also the very essence of agile software development.\r\n\r\nAgile, + a methodology born over 20 years ago, was crafted for a different era with its own + unique challenges. While some principles remain timeless, others demand a fresh + perspective in the age of AI-native development. Do we still need sprints when AI + can prioritize tasks in real-time? And what happens to cross-functional teams when + virtual specialists are at our fingertips?\r\n\r\nJoin Sven as he explores the evolving + role of developers and the necessity to rethink human-to-human interaction in a + world where AI is our primary coding companion. One thing is certain: we must recalibrate + our collaboration strategies within software teams." +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 7d63385a-e91e-4983-9b08-90ced6c2a05b + name: Sven Peters +categories: +- id: 81703 + name: Track + categoryItems: + - id: 302778 + name: Tech Leadership + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58710 +room: Tech Leadership +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Tech Leadership +format: session +slug: recalibrate-how-ai-shakes-up-agile-teams + +--- diff --git a/_events/refactoring-to-modernize-java-applications.md b/_events/refactoring-to-modernize-java-applications.md new file mode 100644 index 00000000..831b26de --- /dev/null +++ b/_events/refactoring-to-modernize-java-applications.md @@ -0,0 +1,45 @@ +--- +questionAnswers: [] +id: '800468' +title: Refactoring to Modernize Java Applications +description: "IDEs have provided ways to refactor code for a long time now. In spite + of their effectiveness, that journey is arduous and time consuming. Reluctance to + refactor increases the cost of development. However, refactoring for the sake of + doing so can lead to greater productivity loss as well.\r\n\r\nIn this presentation + we will use data driven approach. We will take examples of code, measure code quality, + and then use automated code transformation tools to refactor the code, and then, + once again, measure the quality of code and see how much we have improved. This + can help us to not only refactor faster but also see the benefits realized and motivate + us to move faster with greater efficiency." +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: b576bdc5-c994-40f5-b1dd-e0f9f7999fa9 + name: Venkat Subramaniam +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290606 + name: Core Java + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58701 +room: Core Java +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: false +track: Core Java +format: session +slug: refactoring-to-modernize-java-applications + +--- diff --git a/_events/registration-and-breakfast.md b/_events/registration-and-breakfast.md new file mode 100644 index 00000000..d09b6882 --- /dev/null +++ b/_events/registration-and-breakfast.md @@ -0,0 +1,21 @@ +--- +questionAnswers: [] +id: b75cc5cd-d2c6-48a4-93b9-5d4d1e7d6073 +title: Registration and Breakfast +description: +startsAt: '2025-03-06T08:00:00' +endsAt: '2025-03-06T09:00:00' +isServiceSession: true +isPlenumSession: true +speakers: [] +categories: [] +roomId: 58709 +room: Keynote +liveUrl: +recordingUrl: +status: +isInformed: false +isConfirmed: false +slug: registration-and-breakfast + +--- diff --git a/_events/rest-vs-graphql-vs-grpc.md b/_events/rest-vs-graphql-vs-grpc.md index e76ccaa3..826e5d5a 100644 --- a/_events/rest-vs-graphql-vs-grpc.md +++ b/_events/rest-vs-graphql-vs-grpc.md @@ -9,13 +9,15 @@ description: For many years REST has been the only way to implement API-endpoint to answer these questions in this session. We will look at industry examples to understand the Pros/Cons of each of them. We will have a live demo where we will be using these API styles to interact with an actual application. -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: - id: 0bf01427-5704-4bf4-9409-0087807eda9a name: Chetan Galgali +- id: 34b5127e-3fb1-4506-813a-3cd68f86bf22 + name: Ben Westmoreland categories: - id: 81703 name: Track @@ -29,13 +31,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53138 +room: Architecture liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Architecture format: session slug: rest-vs-graphql-vs-grpc diff --git a/_events/reverse-engineering-architecture-diagrams-from-your-java-app.md b/_events/reverse-engineering-architecture-diagrams-from-your-java-app.md new file mode 100644 index 00000000..587f7972 --- /dev/null +++ b/_events/reverse-engineering-architecture-diagrams-from-your-java-app.md @@ -0,0 +1,47 @@ +--- +questionAnswers: [] +id: '754404' +title: Reverse-engineering architecture diagrams from your Java app +description: "You've adopted the C4 model and have a collection of zoomable system + context and container diagrams. These are useful for having high-level conversations, + but they don't cover the internal implementation details of your Java app. You consider + creating a C4 component diagram. Unfortunately the size and complexity of your Java + codebase makes manually drawing this out of the question, and reverse-engineering + the codebase with a generic tool produces a cluttered diagram that literally shows + everything. How do you create useful component level diagrams that remain up to + date with minimal effort? Is this even possible?\r\n\r\nJoin me for a discussion + of how to tackle this problem, where I'll cover the theory and tactics behind how + to reverse-engineer meaningful component diagrams, before presenting a live demo + of how to use the open source Structurizr DSL to put the techniques into action." +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 9530c418-5704-4313-a39c-2d027cfa2ad4 + name: Simon Brown +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290603 + name: Architecture + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 53138 +room: Architecture +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Architecture +format: session +slug: reverse-engineering-architecture-diagrams-from-your-java-app + +--- diff --git a/_events/run-to-the-light-carol-anne-auditing-with-lighthouse.md b/_events/run-to-the-light-carol-anne-auditing-with-lighthouse.md new file mode 100644 index 00000000..c499ab4f --- /dev/null +++ b/_events/run-to-the-light-carol-anne-auditing-with-lighthouse.md @@ -0,0 +1,43 @@ +--- +questionAnswers: [] +id: '748220' +title: 'Run to the light Carol Anne: Auditing with Lighthouse' +description: Have you heard about Lighthouse? Are you afraid to go into the light + like Carol Anne in Poltergeist? Don't be afraid because Lighthouse is an awesome + tool to achieve your web experience goals. You can do a bunch of awesome things + in Lighthouse like running SEO audits, front-end performance audits, and my favorite, + accessibility audits. This talk will explore reasons that audits and testing are + necessary, and walk through different types of audits you can run. The end goal + is analyzing the results and taking steps to achieve your web experience goals. +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 730a789f-e2a8-483d-91bc-6e794f1b44d5 + name: Chris DeMars +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290612 + name: Web and Front-end + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58707 +room: Web and front-end +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Web and Front-end +format: session +slug: run-to-the-light-carol-anne-auditing-with-lighthouse + +--- diff --git a/_events/runtime-efficiencies-and-spring-boot.md b/_events/runtime-efficiencies-and-spring-boot.md index 3c9e75fb..64097ca4 100644 --- a/_events/runtime-efficiencies-and-spring-boot.md +++ b/_events/runtime-efficiencies-and-spring-boot.md @@ -17,8 +17,8 @@ description: "Spring Boot 3 introduces a suite of features designed to enhance r how Spring Boot handles high-concurrency tasks, greatly enhancing scalability and efficiency. Through live demos, you'll learn how to leverage these tools and techniques to optimize your Spring Boot applications for maximum runtime performance." -startsAt: -endsAt: +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -37,13 +37,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58702 +room: Frameworks liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Frameworks format: session slug: runtime-efficiencies-and-spring-boot diff --git a/_events/securing-llm-powered-applications-overcoming-security-and-privacy-challenges.md b/_events/securing-llm-powered-applications-overcoming-security-and-privacy-challenges.md index 8c817c14..e07e39cd 100644 --- a/_events/securing-llm-powered-applications-overcoming-security-and-privacy-challenges.md +++ b/_events/securing-llm-powered-applications-overcoming-security-and-privacy-challenges.md @@ -11,8 +11,8 @@ description: "LLMs accessing the database and intelligent agents that perform on this session, you’ll get a solid overview of the vulnerabilities to avoid, strategies to ensure data privacy compliance and best practices for building secure LLM-powered applications." -startsAt: -endsAt: +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -33,8 +33,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58705 +room: Security liveUrl: recordingUrl: status: Accepted diff --git a/_events/securing-the-digital-landscape-a-deep-dive-into-owasp-top-10-for-applications-apis-and-llms.md b/_events/securing-the-digital-landscape-a-deep-dive-into-owasp-top-10-for-applications-apis-and-llms.md new file mode 100644 index 00000000..5f3b7de3 --- /dev/null +++ b/_events/securing-the-digital-landscape-a-deep-dive-into-owasp-top-10-for-applications-apis-and-llms.md @@ -0,0 +1,61 @@ +--- +questionAnswers: [] +id: '753084' +title: 'Securing the Digital Landscape: A Deep Dive into OWASP Top 10 for Applications, + APIs, and LLMs' +description: "Join us for an immersive journey into the heart of modern cybersecurity + challenges. In this groundbreaking talk, we delve into the intricacies of securing + your digital assets with a focus on three critical domains: applications, APIs, + and Large Language Models (LLMs).\r\n\r\nAs developers and architects, you understand + the paramount importance of safeguarding your systems against evolving threats. + Our session offers an exclusive opportunity to explore the industry-standard OWASP + Top 10 vulnerabilities tailored specifically to your domain.\r\n\r\nUncover the + vulnerabilities lurking within your applications, APIs, and LLMs, and gain invaluable + insights into mitigating risks and fortifying your defenses. Through live demonstrations + and real-world examples, you'll witness firsthand the impact of security breaches + and learn proactive strategies to combat them.\r\n\r\nWhether you're a seasoned + architect seeking to fortify your organization's security posture or a developer + striving to build resilient systems, this talk equips you with the knowledge and + tools essential for navigating the complex landscape of cybersecurity.\r\n\r\nAgenda\r\n\r\nOWASP + Top 10 Overview\r\n\r\nIntroduction to OWASP\r\nSignificance of OWASP Top 10\r\nOverview + of OWASP Top 10 for Applications, APIs, and LLMs\r\nOWASP Top 10 for Application + Security\r\n\r\nPresentation: Common Vulnerabilities and Mitigation Strategies\r\nDemonstration: + Live Examples of Application Security Vulnerabilities\r\nOWASP Top 10 for API Security\r\n\r\nPresentation: + Key Challenges in API Security and Best Practices\r\nDemonstration: Illustration + of API Security Vulnerabilities and Attacks\r\nOWASP Top 10 for LLM Applications + (Large Language Models)\r\n\r\nPresentation: Unique Security Concerns in LLM Applications\r\nDemonstration: + Showcase of LLM Security Vulnerabilities and Risks\r\nQ&A and Discussion\r\n\r\nOpen + Floor for Questions and Discussion\r\nConclusion\r\n\r\nSummary of Key Takeaways\r\nCall + to Action: Implementing Security Best Practices" +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 32cb0f88-b1ad-44c2-8860-86a5ac46c59a + name: Rohit Bhardwaj +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290610 + name: Security + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58705 +room: Security +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Security +format: session +slug: securing-the-digital-landscape-a-deep-dive-into-owasp-top-10-for-applications-apis-and-llms + +--- diff --git a/_events/setting-up-data-driven-tests-with-java-tools.md b/_events/setting-up-data-driven-tests-with-java-tools.md new file mode 100644 index 00000000..da7e7453 --- /dev/null +++ b/_events/setting-up-data-driven-tests-with-java-tools.md @@ -0,0 +1,43 @@ +--- +questionAnswers: [] +id: '741181' +title: Setting up data driven tests with Java tools +description: Everyone knows that performing tests during development is the Right + Thing to do. But how do we test data driven test cases? How can we ensure clean + environments, reproducible outcomes, setting the database with the correct state, + ensuring results match expectations, and so on? The Java ecosystem offers several + options that we can leverage to answer these questions. In this session we'll cover + how to configure data driven testcases with Testcontainers, setup database state + and verify results with DbUnit and Database Rider, even test PL/SQL statements. +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 720cdc7d-0ae6-44d3-af2a-eebc0a086508 + name: Andres Almiray +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290608 + name: Java Platform + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58703 +room: Java Platform +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Java Platform +format: session +slug: setting-up-data-driven-tests-with-java-tools + +--- diff --git a/_events/shadow-vulnerabilities-in-ai-ml-data-stacks-what-you-don-t-know-can-hurt-you.md b/_events/shadow-vulnerabilities-in-ai-ml-data-stacks-what-you-don-t-know-can-hurt-you.md index 87417553..d55d481d 100644 --- a/_events/shadow-vulnerabilities-in-ai-ml-data-stacks-what-you-don-t-know-can-hurt-you.md +++ b/_events/shadow-vulnerabilities-in-ai-ml-data-stacks-what-you-don-t-know-can-hurt-you.md @@ -18,8 +18,8 @@ description: "The adoption of open-source AI software introduces a new family of analyze model checkpoints, leaving these silent vulnerabilities in your stacks, we’ll demo through real code examples, why the runtime context is crucial to detect these security issues." -startsAt: -endsAt: +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -38,13 +38,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58705 +room: Security liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Security format: session slug: shadow-vulnerabilities-in-ai-ml-data-stacks-what-you-don-t-know-can-hurt-you diff --git a/_events/shield-your-java-code-practical-guides-for-trusted-software.md b/_events/shield-your-java-code-practical-guides-for-trusted-software.md index b447b375..71847f2e 100644 --- a/_events/shield-your-java-code-practical-guides-for-trusted-software.md +++ b/_events/shield-your-java-code-practical-guides-for-trusted-software.md @@ -12,8 +12,8 @@ description: In today's interconnected software landscape, securing your Java co the integrity of your software development process. By the end of this session, you will have a comprehensive understanding of the essential steps to shield your Java code and build resilient, secure applications. -startsAt: -endsAt: +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -32,8 +32,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53140 +room: Cloud Native liveUrl: recordingUrl: status: Accepted diff --git a/_events/sociotechnical-platform-engineering.md b/_events/sociotechnical-platform-engineering.md index fa70b24b..297fef62 100644 --- a/_events/sociotechnical-platform-engineering.md +++ b/_events/sociotechnical-platform-engineering.md @@ -11,8 +11,8 @@ description: "devOps practices help reduce friction to production for technologi A general-purpose value stream map for platforms\r\n- Dependency (wardley) maps for platform processes\r\n- Aligning SLIs, SLOs, & SLAs across our platform VSM\r\n- Establishing Error Budgets\r\n- Chaos Engineering & Complexity Science" -startsAt: -endsAt: +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -31,13 +31,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53138 +room: Architecture liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Architecture format: session slug: sociotechnical-platform-engineering diff --git a/_events/software-and-ai-in-the-time-of-legislation-new-and-old-laws-for-developers.md b/_events/software-and-ai-in-the-time-of-legislation-new-and-old-laws-for-developers.md index 5b47c02e..402f753b 100644 --- a/_events/software-and-ai-in-the-time-of-legislation-new-and-old-laws-for-developers.md +++ b/_events/software-and-ai-in-the-time-of-legislation-new-and-old-laws-for-developers.md @@ -16,8 +16,8 @@ description: "The software development landscape is rapidly changing, with legis and technology we can gain insights to what is needed to thrive in an evolving legal environment without stifling innovation. \r\n\r\nAI, Software, and the Law – more opportunity than obstacle\r\n" -startsAt: -endsAt: +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -36,8 +36,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58705 +room: Security liveUrl: recordingUrl: status: Accepted diff --git a/_events/software-supply-chain-security-with-policy-as-code.md b/_events/software-supply-chain-security-with-policy-as-code.md index 63d1a897..69a40a96 100644 --- a/_events/software-supply-chain-security-with-policy-as-code.md +++ b/_events/software-supply-chain-security-with-policy-as-code.md @@ -11,8 +11,8 @@ description: "How do you ensure that your Java software supply chain is secure? behaviors. PaC concepts learned in this talk will work at the developer desktop as well as in continuous integration automation, thereby improving governance and compliance of the Java software supply chain." -startsAt: -endsAt: +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -31,8 +31,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58705 +room: Security liveUrl: recordingUrl: status: Accepted diff --git a/_events/spring-ai-seamlessly-integrating-ai-into-your-enterprise-java-applications.md b/_events/spring-ai-seamlessly-integrating-ai-into-your-enterprise-java-applications.md index 3d1dbd08..ed9658c3 100644 --- a/_events/spring-ai-seamlessly-integrating-ai-into-your-enterprise-java-applications.md +++ b/_events/spring-ai-seamlessly-integrating-ai-into-your-enterprise-java-applications.md @@ -16,13 +16,15 @@ description: "As artificial intelligence becomes increasingly important in enter Calling patterns that enable AI models to interact with your business logic\r\n* Evaluation techniques to measure LLM response accuracy and mitigate hallucination\r\n* Observability features to monitor your AI application's behavior in production\r\n" -startsAt: -endsAt: +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' isServiceSession: false isPlenumSession: false speakers: - id: 247ec778-0f81-4b84-b25d-48893a6302ad name: Mark Pollack +- id: f2617bc2-d35e-4fd7-9cea-02060f3e1608 + name: Josh Long categories: - id: 81703 name: Track @@ -36,8 +38,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53139 +room: AI liveUrl: recordingUrl: status: Accepted diff --git a/_events/spring-batch-5-2-and-beyond-what-s-new-and-what-s-coming-next.md b/_events/spring-batch-5-2-and-beyond-what-s-new-and-what-s-coming-next.md new file mode 100644 index 00000000..c8658bdd --- /dev/null +++ b/_events/spring-batch-5-2-and-beyond-what-s-new-and-what-s-coming-next.md @@ -0,0 +1,43 @@ +--- +questionAnswers: [] +id: '779565' +title: 'Spring Batch 5.2 and beyond: What''s new and what''s coming next' +description: "Spring Batch 5.2 has been out for 6 months by now, and Spring Batch + 6.0 will be out in 6 months from now.. What a great time to get an update of the + current status of the project and what's coming next!\r\n\r\nThis talk walks you + through all the new features introduced in Spring Batch 5.2 and what the team is + planning to work on for the next generation of the framework.\r\n\r\nIf you use + Spring Batch in some capacity, this talk is a must-see to get an update on the current + state of things and how to prepare the upgrade to the next major version." +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: b7081806-6f1d-4d53-803a-b5f7ecabc1b0 + name: Mahmoud Ben Hassine +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290607 + name: Frameworks + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58702 +room: Frameworks +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Frameworks +format: session +slug: spring-batch-5-2-and-beyond-what-s-new-and-what-s-coming-next + +--- diff --git a/_events/start-covering-your-bases-stop-chasing-apt-headlines.md b/_events/start-covering-your-bases-stop-chasing-apt-headlines.md deleted file mode 100644 index 03a2a654..00000000 --- a/_events/start-covering-your-bases-stop-chasing-apt-headlines.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -questionAnswers: [] -id: '750550' -title: Start covering your bases & Stop chasing APT headlines -description: "Cognitive biases affect us in many ways, even in cyber security: we - often focus on the recent technical buzz or address a new sensational hacking campaign - that was discovered. But the fact of the matter is that network breaches and ransom - attacks that happen every day, are by large executed using well-known techniques, - tools and procedures. \r\n\r\nThis is why we are presenting a “run-of-the-mill” - simulation of a full network breach, from initial access, to discovery, lateral - movement and finally exfiltration. Based on public DFIR reports, MITRE’s ATT&CK - framework and common hacking tradecraft as covered by atomic red-team tests, we - demonstrate how attackers execute such attacks, without the need for tailor-made - and sophisticated tools or techniques. \r\n\r\nIn addition to showing the recorded - simulation, we’ll discuss the importance of defense-in-depth and how you should - place multiple different tripwires to stop network breaches. In particular,  the - significant role that network controls and detections can play in such cases." -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: c554d9bf-c70a-45d6-9587-64da50a7dbf0 - name: Avishay Zawoznik -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290610 - name: Security - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290619 - name: session - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: Security -format: session -slug: start-covering-your-bases-stop-chasing-apt-headlines - ---- diff --git a/_events/starting-with-java-in-2025.md b/_events/starting-with-java-in-2025.md index 7c219430..a31e9f2d 100644 --- a/_events/starting-with-java-in-2025.md +++ b/_events/starting-with-java-in-2025.md @@ -5,8 +5,8 @@ title: Starting with Java in 2025 description: Java is dead. Despite of hearing that a lot, Java is a modern language with impressive new features. We will demo how easy is to start with Java in 2025 and showcase the amazing features available to developers -startsAt: -endsAt: +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -27,13 +27,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58710 +room: Tech Leadership liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Tech Leadership format: session slug: starting-with-java-in-2025 diff --git a/_events/stream-processing-as-you-ve-never-seen-before-seriously-apache-flink-for-java-developers.md b/_events/stream-processing-as-you-ve-never-seen-before-seriously-apache-flink-for-java-developers.md index f435234c..0e7c17b2 100644 --- a/_events/stream-processing-as-you-ve-never-seen-before-seriously-apache-flink-for-java-developers.md +++ b/_events/stream-processing-as-you-ve-never-seen-before-seriously-apache-flink-for-java-developers.md @@ -19,13 +19,15 @@ description: "You were tasked with building a real-time platform, but traditiona the end of this talk, you’ll be equipped to tackle real-time data challenges. Whether you are building analytics dashboards, event-driven systems, or handling data streams, Apache Flink can be the game-changer you’ve been searching for." -startsAt: -endsAt: +startsAt: '2025-03-04T09:00:00' +endsAt: '2025-03-04T17:05:00' isServiceSession: false isPlenumSession: false speakers: - id: 4f858987-1a60-4da8-a4a2-045824a496c7 name: Viktor Gamov +- id: 81c2a2e6-f9f4-4acf-abf3-d6a26409bc30 + name: Sandon Jacobs categories: - id: 81703 name: Track @@ -39,13 +41,13 @@ categories: - id: 290620 name: workshop sort: 1 -roomId: -room: +roomId: 53139 +room: AI liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Frameworks format: workshop slug: stream-processing-as-you-ve-never-seen-before-seriously-apache-flink-for-java-developers diff --git a/_events/streamlining-open-source-foundation-operations-with-quarkus-and-github-actions.md b/_events/streamlining-open-source-foundation-operations-with-quarkus-and-github-actions.md index eb5be778..691ef6ad 100644 --- a/_events/streamlining-open-source-foundation-operations-with-quarkus-and-github-actions.md +++ b/_events/streamlining-open-source-foundation-operations-with-quarkus-and-github-actions.md @@ -11,8 +11,8 @@ description: Launching an open source foundation comes with challenges, from est hooks. Additionally, I’ll demonstrate how we’ve built a self-service portal for our members using a combination of Quarkus, the GitHub GraphQL and REST APIs, Lume (the static site generator for Deno), and Svelte. -startsAt: -endsAt: +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -31,8 +31,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58706 +room: Tools and Techniques liveUrl: recordingUrl: status: Accepted diff --git a/_events/supercharge-agentic-ai-projects-a-devex-driven-approach-to-cloud-native-scaffolding.md b/_events/supercharge-agentic-ai-projects-a-devex-driven-approach-to-cloud-native-scaffolding.md new file mode 100644 index 00000000..25dbd01b --- /dev/null +++ b/_events/supercharge-agentic-ai-projects-a-devex-driven-approach-to-cloud-native-scaffolding.md @@ -0,0 +1,54 @@ +--- +questionAnswers: [] +id: '751398' +title: 'Supercharge Agentic AI Projects: A DevEx-Driven Approach to Cloud-Native Scaffolding' +description: "In the rapidly evolving landscape of artificial intelligence, agentic + AI has emerged as a powerful paradigm for creating intelligent agents capable of + interacting with the real world. However, building and deploying such agents can + be a complex and time-consuming process. This demo-driven talk will introduce a + new approach to cloud-native scaffolding using software templates that significantly + simplify the development of agentic AI projects, providing a streamlined and efficient + experience for app developers.\r\n\r\nThrough a series of live demonstrations, attendees + will witness firsthand how this innovative scaffolding framework can accelerate + the development lifecycle of agentic AI applications. We will explore key features + such as automated code generation, pre-configured infrastructure, and integration + with popular AI libraries, demonstrating how these tools can save developers valuable + time and effort.\r\n\r\nBy the end of this talk, participants will have a clear + understanding of how this new approach to cloud-native scaffolding can revolutionize + the development of agentic AI projects. They will be equipped with the knowledge + and practical skills needed to build intelligent agents more efficiently and effectively, + driving innovation in the field of artificial intelligence.\r\n" +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 4b82436a-947c-45bb-9d5d-3b94c02c8faa + name: Daniel Oh +- id: b9f343b4-5370-4839-bd53-572b0322882e + name: James Falkner +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290614 + name: Cloud Native + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 53140 +room: Cloud Native +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Cloud Native +format: session +slug: supercharge-agentic-ai-projects-a-devex-driven-approach-to-cloud-native-scaffolding + +--- diff --git a/_events/take-the-polar-plunge-a-fearless-introduction-to-apache-iceberg.md b/_events/take-the-polar-plunge-a-fearless-introduction-to-apache-iceberg.md new file mode 100644 index 00000000..3cab4f60 --- /dev/null +++ b/_events/take-the-polar-plunge-a-fearless-introduction-to-apache-iceberg.md @@ -0,0 +1,51 @@ +--- +questionAnswers: [] +id: '783614' +title: 'Take the Polar Plunge: A Fearless Introduction to Apache Iceberg®' +description: "New to Apache Iceberg® or just starting to test the waters? Time to + take the plunge! In this beginner-friendly session, we’ll introduce you to the core + features of this high-performance table format and what it has to offer your data + team as you build out your modern data lakehouse.\r\n\r\nWe’ll start by exploring + where Iceberg fits within the context of data warehouses, data lakes, and other + data storage formats. From there, you’ll be introduced to some of Iceberg’s key + features, like schema evolution, hidden partitioning, and ACID-compliant transactions. + You’ll see how these capabilities help to solve real-world challenges in scalability, + performance, and data consistency. We won’t stop there, though! Next, we’ll go even + deeper beneath the surface and explore the open-source tools, query engines, and + catalogs that make up the Iceberg ecosystem. Through an end-to-end demo, you’ll + see Iceberg in action and learn how you can leverage its features to streamline + your data management and drive better insights.\r\n\r\nBy the end of the session, + you’ll have the foundation you need to get started applying Iceberg to solve your + own data challenges. So come along, and we’ll take the polar plunge together! " +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: ea7292a0-1a85-4830-af21-00c9484c19fe + name: Danica Fine +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290609 + name: Practices and other tech + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58704 +room: Practices +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Practices and other tech +format: session +slug: take-the-polar-plunge-a-fearless-introduction-to-apache-iceberg + +--- diff --git a/_events/taking-off-with-jdk-flight-recorder.md b/_events/taking-off-with-jdk-flight-recorder.md index ad8a51b4..6c8ece0c 100644 --- a/_events/taking-off-with-jdk-flight-recorder.md +++ b/_events/taking-off-with-jdk-flight-recorder.md @@ -9,8 +9,8 @@ description: Are you running into problems with Java applications in production? into the JVM that can help you track down those performance issues and difficult-to-understand bugs. In this presentation, we will go through the basics of using JFR in your Java applications. -startsAt: -endsAt: +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -29,13 +29,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58703 +room: Java Platform liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Java Platform format: session slug: taking-off-with-jdk-flight-recorder diff --git a/_events/taking-shortcuts-beyond-your-ide.md b/_events/taking-shortcuts-beyond-your-ide.md index 8450a513..73358fa9 100644 --- a/_events/taking-shortcuts-beyond-your-ide.md +++ b/_events/taking-shortcuts-beyond-your-ide.md @@ -12,8 +12,8 @@ description: Taking shortcuts in software development is often perceived as risk help you identify areas where you can work faster and smarter. By the end, you will be equipped with practical strategies to always be on the lookout for opportunities to improve your workflow. -startsAt: -endsAt: +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -32,13 +32,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58706 +room: Tools and Techniques liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Tools and techniques format: session slug: taking-shortcuts-beyond-your-ide diff --git a/_events/tbd.md b/_events/tbd.md new file mode 100644 index 00000000..8c98f2a5 --- /dev/null +++ b/_events/tbd.md @@ -0,0 +1,21 @@ +--- +questionAnswers: [] +id: 9f3d5fc8-28ad-4a78-b40e-b85217024915 +title: TBD +description: +startsAt: '2025-03-06T15:45:00' +endsAt: '2025-03-06T16:45:00' +isServiceSession: true +isPlenumSession: false +speakers: [] +categories: [] +roomId: 58707 +room: Web and front-end +liveUrl: +recordingUrl: +status: +isInformed: false +isConfirmed: false +slug: tbd + +--- diff --git a/_events/tdd-generative-ai-a-perfect-pairing.md b/_events/tdd-generative-ai-a-perfect-pairing.md index ea1cd6a5..4615a93e 100644 --- a/_events/tdd-generative-ai-a-perfect-pairing.md +++ b/_events/tdd-generative-ai-a-perfect-pairing.md @@ -10,8 +10,8 @@ description: "In this talk we will dive into the question whether generative AI ready!\r\n\r\nWith some live coding, we will explore this idea together. Furthermore we will take a look at the implications of this paradigm shift. After attending you should be able to apply this technique to your own project." -startsAt: -endsAt: +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,13 +30,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53139 +room: AI liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Artificial Intelligence format: session slug: tdd-generative-ai-a-perfect-pairing diff --git a/_events/tdd-test-driven-development-vs-tab-driven-development.md b/_events/tdd-test-driven-development-vs-tab-driven-development.md index 0816f22e..e811d0b0 100644 --- a/_events/tdd-test-driven-development-vs-tab-driven-development.md +++ b/_events/tdd-test-driven-development-vs-tab-driven-development.md @@ -10,8 +10,8 @@ description: "The rise of AI-powered coding assistants is changing the way we ap of our applications still hold substantial value in the age of AI? Let's explore the evolving landscape of software development and look at the ongoing relevance of TDD in an AI-enhanced world." -startsAt: -endsAt: +startsAt: '2025-03-05T11:30:00' +endsAt: '2025-03-05T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,13 +30,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58704 +room: Practices liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Practices and other tech format: session slug: tdd-test-driven-development-vs-tab-driven-development diff --git a/_events/technical-enshittification-why-everything-in-it-is-horrible-right-now-and-how-to-fix-it.md b/_events/technical-enshittification-why-everything-in-it-is-horrible-right-now-and-how-to-fix-it.md index 56ba5bda..c4fb61a0 100644 --- a/_events/technical-enshittification-why-everything-in-it-is-horrible-right-now-and-how-to-fix-it.md +++ b/_events/technical-enshittification-why-everything-in-it-is-horrible-right-now-and-how-to-fix-it.md @@ -26,8 +26,8 @@ description: "Did you notice how everything in IT is crap right now? Services ar project management. Real-world examples will show how to keep IT services efficient, innovative, and user-friendly.\r\n\r\nJoin us to learn how to turn things around and ensure long-term success in today’s digital landscape." -startsAt: -endsAt: +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -46,13 +46,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58704 +room: Practices liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Practices and other tech format: session slug: technical-enshittification-why-everything-in-it-is-horrible-right-now-and-how-to-fix-it diff --git a/_events/test-driven-development-it-s-easier-than-you-think.md b/_events/test-driven-development-it-s-easier-than-you-think.md index edd3660f..9a582a18 100644 --- a/_events/test-driven-development-it-s-easier-than-you-think.md +++ b/_events/test-driven-development-it-s-easier-than-you-think.md @@ -13,8 +13,8 @@ description: "Everyone loves writing tests, don’t they? How do you write good mocking, spying, and interaction-based testing/verification.\r\n\r\nI'll even spend some time showing how IDE-based AI assistants can help!\r\n\r\nOnce you see how easy TDD really can be there isn't a reason to not do it!" -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -33,8 +33,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 53140 +room: Cloud Native liveUrl: recordingUrl: status: Accepted diff --git a/_events/testing-legacy-code-refactoring-patterns.md b/_events/testing-legacy-code-refactoring-patterns.md index c60fcc3a..6d99d6ff 100644 --- a/_events/testing-legacy-code-refactoring-patterns.md +++ b/_events/testing-legacy-code-refactoring-patterns.md @@ -11,8 +11,8 @@ description: "Our jobs don't deal with new code, but old crufty and evil code. H \ We discuss the following maneuvers:\r\n\r\n* Extract Delegate\r\n* Extract Interface\r\n* Parameterize Method\r\n* Parameterize Constructor\r\n* Sprout Method and Class\r\n* Wrap Method and Class\r\n" -startsAt: -endsAt: +startsAt: '2025-03-06T14:30:00' +endsAt: '2025-03-06T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -31,13 +31,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58701 +room: Core Java liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Core Java format: session slug: testing-legacy-code-refactoring-patterns diff --git a/_events/testing-on-thin-ice-chipping-away-at-test-unpredictability.md b/_events/testing-on-thin-ice-chipping-away-at-test-unpredictability.md index b890f624..549b51e1 100644 --- a/_events/testing-on-thin-ice-chipping-away-at-test-unpredictability.md +++ b/_events/testing-on-thin-ice-chipping-away-at-test-unpredictability.md @@ -14,8 +14,8 @@ description: "Ever tried to catch melting snowflakes? That's the challenge of de and ultimately melt away these flaky tests. Through our combined experience, we'll provide actionable techniques and tools to make sure snow is the only flakiness you experience, ensuring a smoother, more reliable journey in software development." -startsAt: -endsAt: +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -36,8 +36,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58704 +room: Practices liveUrl: recordingUrl: status: Accepted diff --git a/_events/testing-your-way-to-production-confidence-with-native-images.md b/_events/testing-your-way-to-production-confidence-with-native-images.md index cf36c4d0..bf62cf41 100644 --- a/_events/testing-your-way-to-production-confidence-with-native-images.md +++ b/_events/testing-your-way-to-production-confidence-with-native-images.md @@ -17,8 +17,8 @@ description: "For Spring developers, GraalVM native images offer exciting potent this talk to gain practical insights and a step-by-step approach for testing Spring Boot native images with confidence. Feel the freedom to deploy with performance gains without sacrificing reliability." -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -37,13 +37,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58701 +room: Core Java liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Core Java format: session slug: testing-your-way-to-production-confidence-with-native-images diff --git a/_events/the-human-factor-in-devops-because-even-robots-need-good-teammates-almost.md b/_events/the-human-factor-in-devops-because-even-robots-need-good-teammates-almost.md new file mode 100644 index 00000000..2a5dbc92 --- /dev/null +++ b/_events/the-human-factor-in-devops-because-even-robots-need-good-teammates-almost.md @@ -0,0 +1,47 @@ +--- +questionAnswers: [] +id: '838546' +title: 'The Human Factor in DevOps: Because Even Robots Need Good Teammates (Almost)' +description: "Remember when \"DevOps\" meant throwing code (and maybe a few passive-aggressive + emails, that thankfully weren’t meetings) over the wall? We’d like to think that + the last decade and a half has dispelled us of that notion, but has it really? Often + when organizations begin their “DevOps Transformation” they focus so much on automation, + but the component that is more often than not overlooked is the human element. Human + connection. \r\n\r\nIn this talk, Jeremy will dig into some strategies for building + teams that actually work together, and might even come to like each other (though + he can’t promise “meetings that are emails” will become a norm). He’ll talk about + ways to encourage open communication, resolve conflicts, and create a team culture + where everyone feels valued - because even the best automation tools can’t replace + a team that actually works together." +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 56115ae3-406f-47af-818c-20354acc07b2 + name: Jeremy Meiss +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290609 + name: Practices and other tech + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58704 +room: Practices +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Practices and other tech +format: session +slug: the-human-factor-in-devops-because-even-robots-need-good-teammates-almost + +--- diff --git a/_events/the-kafka-consumer-an-unexpected-journey-of-data-consumption.md b/_events/the-kafka-consumer-an-unexpected-journey-of-data-consumption.md deleted file mode 100644 index 5ae8f7d1..00000000 --- a/_events/the-kafka-consumer-an-unexpected-journey-of-data-consumption.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -questionAnswers: [] -id: '751350' -title: 'The Kafka Consumer: An Unexpected Journey of Data Consumption' -description: "Once your data is stored on your Apache Kafka® cluster, the next step - is to consume that data and do something interesting with it. Enter: Kafka Consumers. - We all know how to set up a Kafka Consumer to poll data… but do you know how a consumer - fetches the data from the cluster? Let’s find out!\r\n\r\nEvery call to consumer.poll() - is translated into a low-level request which is sent along to the brokers for fulfillment. - In this session, we’ll join Kafka Consumers as they embark on their epic adventure - to consume your data. First, see how these clients band together in a single fellowship - and follow the guidance of their consumer group coordinator. Then, follow a request - from an initial call to poll(), all the way to disk, and back to the client with - your data via the broker’s final response. Along the way, we’ll explore a number - of client and broker configurations that affect how these requests are handled and - discuss the metrics that you can monitor to keep track of every stage of the consumer - life cycle.\r\n\r\nBy the end of this session, you’ll know the ins and outs of your - Kafka Consumer requests, making your next debugging or performance analysis session - a breeze." -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: ea7292a0-1a85-4830-af21-00c9484c19fe - name: Danica Fine -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290609 - name: Practices and other tech - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290619 - name: session - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: Practices and other tech -format: session -slug: the-kafka-consumer-an-unexpected-journey-of-data-consumption - ---- diff --git a/_events/the-offheap-podcast-devnexus-edition-now-with-more-ai.md b/_events/the-offheap-podcast-devnexus-edition-now-with-more-ai.md deleted file mode 100644 index d5778312..00000000 --- a/_events/the-offheap-podcast-devnexus-edition-now-with-more-ai.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -questionAnswers: [] -id: '754896' -title: The OffHeap Podcast. Devnexus Edition (Now with more AI) -description: Come and listen to our Offheap podcast live from Devnexus where we'll - discuss current topics in the Java ecosystem, play a trivia game and in general - have a great time! (who knows, maybe we throw in more AI since that's what everyone - is doing) -startsAt: -endsAt: -isServiceSession: false -isPlenumSession: false -speakers: -- id: 4d4ac30a-3cf4-4c64-99d4-8261e8e966ad - name: Freddy Guime -- id: 7f8e5588-7314-41ac-854a-0ddf6fe867d2 - name: Bob Paulin -categories: -- id: 81703 - name: Track - categoryItems: - - id: 290602 - name: Agile - sort: 0 -- id: 81704 - name: Session Format - categoryItems: - - id: 290619 - name: session - sort: 1 -roomId: -room: -liveUrl: -recordingUrl: -status: Accepted -isInformed: true -isConfirmed: false -track: Agile -format: session -slug: the-offheap-podcast-devnexus-edition-now-with-more-ai - ---- diff --git a/_events/the-overwhelmed-spring-developer-s-guide-to-ai.md b/_events/the-overwhelmed-spring-developer-s-guide-to-ai.md index fce5caf3..8ab66d2b 100644 --- a/_events/the-overwhelmed-spring-developer-s-guide-to-ai.md +++ b/_events/the-overwhelmed-spring-developer-s-guide-to-ai.md @@ -9,8 +9,8 @@ description: 'What is the antidote when a Spring developer hears you hear, “He Spring tools like Spring Boot, Spring Batch, and Spring Pulsar to help you to populate your favorite vector store with the data necessary help reduce those pesky hallucinations provided for free from our favorite AI models. ' -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -31,8 +31,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58702 +room: Frameworks liveUrl: recordingUrl: status: Accepted diff --git a/_events/the-problems-micro-frontends-won-t-solve-that-no-one-wants-to-talk-about.md b/_events/the-problems-micro-frontends-won-t-solve-that-no-one-wants-to-talk-about.md index 9c6faf0f..0fdd2e47 100644 --- a/_events/the-problems-micro-frontends-won-t-solve-that-no-one-wants-to-talk-about.md +++ b/_events/the-problems-micro-frontends-won-t-solve-that-no-one-wants-to-talk-about.md @@ -13,8 +13,8 @@ description: "Everyone wants to ship more software faster, and following the lea provide ... and that gap is the basis of this talk. We'll discuss the consequences that arise when attempting to implement MFE architecture that no on seems to want to talk about." -startsAt: -endsAt: +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -33,13 +33,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58707 +room: Web and front-end liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Web and Front-end format: session slug: the-problems-micro-frontends-won-t-solve-that-no-one-wants-to-talk-about diff --git a/_events/there-s-an-authz-for-that-spring-security-in-2025.md b/_events/there-s-an-authz-for-that-spring-security-in-2025.md index 11d3750e..a70ae315 100644 --- a/_events/there-s-an-authz-for-that-spring-security-in-2025.md +++ b/_events/there-s-an-authz-for-that-spring-security-in-2025.md @@ -13,8 +13,8 @@ description: "Alongside authentication, Spring Security simplifies your authoriz challenges of local and remote authorization, coarse- and fine-grained authorization, and authorized domain objects.\r\n \r\nNo previous authorization or Spring Security experience is required." -startsAt: -endsAt: +startsAt: '2025-03-05T13:30:00' +endsAt: '2025-03-05T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -33,13 +33,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58705 +room: Security liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Security format: session slug: there-s-an-authz-for-that-spring-security-in-2025 diff --git a/_events/to-java-24-and-beyond.md b/_events/to-java-24-and-beyond.md index 601f75b7..616ec47b 100644 --- a/_events/to-java-24-and-beyond.md +++ b/_events/to-java-24-and-beyond.md @@ -10,8 +10,8 @@ description: "Java 21 has come and gone, but the Java release train continues wi and how they will rewrite the Java concurrency story. \r\n\r\nWe will also cover other important changes including: Generational ZGC, the Foreign Function and Memory API, JavaDoc updates, and even take a look into the future of where Java is heading! " -startsAt: -endsAt: +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,13 +30,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58701 +room: Core Java liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Core Java format: session slug: to-java-24-and-beyond diff --git a/_events/top-security-flaws-hiding-in-your-code-right-now-and-how-to-fix-them.md b/_events/top-security-flaws-hiding-in-your-code-right-now-and-how-to-fix-them.md index 4d0dfb0c..7b036e8f 100644 --- a/_events/top-security-flaws-hiding-in-your-code-right-now-and-how-to-fix-them.md +++ b/_events/top-security-flaws-hiding-in-your-code-right-now-and-how-to-fix-them.md @@ -14,8 +14,8 @@ description: "Security vulnerabilities aren’t just hypothetical—they’re re Deserialization Injection, and Logging Injection.\r\nPractical code examples and fixes to secure your applications.\r\nInsights into real-world case studies of major security breaches.\r\nTooling that will help us to commit safe code." -startsAt: -endsAt: +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -34,13 +34,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58705 +room: Security liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Security format: session slug: top-security-flaws-hiding-in-your-code-right-now-and-how-to-fix-them diff --git a/_events/typescript-deep-dive.md b/_events/typescript-deep-dive.md new file mode 100644 index 00000000..00b1de73 --- /dev/null +++ b/_events/typescript-deep-dive.md @@ -0,0 +1,40 @@ +--- +questionAnswers: [] +id: '752387' +title: Typescript Deep Dive +description: 'Mapped types, template literals, conditional types with infer: oh my! + Come to this talk if you already understand how to use typescript day to day, but + want to take a deeper dive and understand the more advanced topics in Typescript + through real world examples and usecases.' +startsAt: '2025-03-05T10:00:00' +endsAt: '2025-03-05T11:00:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: 76cd083c-68f1-46b7-8a4e-9dd9d6d6fd08 + name: Waller Goble +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290612 + name: Web and Front-end + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58707 +room: Web and front-end +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: false +track: Web and Front-end +format: session +slug: typescript-deep-dive + +--- diff --git a/_events/unlock-lightning-fast-delivery-mastering-software-craft-for-unrivaled-success.md b/_events/unlock-lightning-fast-delivery-mastering-software-craft-for-unrivaled-success.md index cc076a09..700ca24b 100644 --- a/_events/unlock-lightning-fast-delivery-mastering-software-craft-for-unrivaled-success.md +++ b/_events/unlock-lightning-fast-delivery-mastering-software-craft-for-unrivaled-success.md @@ -14,8 +14,8 @@ description: "Break free from arbitrary workflows and flawed productivity metric leave this session equipped with actionable insights to transform your team's productivity and unlock unparalleled success. Don't miss this opportunity to elevate your software craft and join the ranks of industry leaders!" -startsAt: -endsAt: +startsAt: '2025-03-06T15:45:00' +endsAt: '2025-03-06T16:45:00' isServiceSession: false isPlenumSession: false speakers: @@ -34,8 +34,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58710 +room: Tech Leadership liveUrl: recordingUrl: status: Accepted diff --git a/_events/unlock-the-power-of-generative-ai-simplifying-ad-creation.md b/_events/unlock-the-power-of-generative-ai-simplifying-ad-creation.md new file mode 100644 index 00000000..72b81a5d --- /dev/null +++ b/_events/unlock-the-power-of-generative-ai-simplifying-ad-creation.md @@ -0,0 +1,47 @@ +--- +questionAnswers: [] +id: '825095' +title: 'Unlock the Power of Generative AI: Simplifying Ad Creation' +description: "In this insightful session, Amazon Ads experts will unveil how they + leverage generative AI technologies to revolutionize multimedia creation, and elevate + the advertising creative process. Discover how Amazon Ads generates millions of + images, videos, and ads across multiple channels, drastically simplifying the experience + of building advertising campaigns. Deep dive in the generative AI inference processes + which enable advertisers to create ad creatives in seconds, virtually at no cost. + This session offers a deep dive into advanced generative AI inference use cases, + technical best practices, and valuable lessons learned from research and serving + thousands of customers.\r\n" +startsAt: '2025-03-06T15:45:00' +endsAt: '2025-03-06T16:45:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: b1c4a924-b6db-453f-91d2-16b0fcf3bafd + name: Nikhil Nanivadekar +- id: 9e911c91-495e-4dd3-a06a-0eaa3be9c3f7 + name: Garry Galinsky +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290615 + name: Artificial Intelligence + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 53139 +room: AI +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: false +track: Artificial Intelligence +format: session +slug: unlock-the-power-of-generative-ai-simplifying-ad-creation + +--- diff --git a/_events/unlocking-machine-learning-potential-in-javascript-a-journey-through-cutting-edge-tools.md b/_events/unlocking-machine-learning-potential-in-javascript-a-journey-through-cutting-edge-tools.md new file mode 100644 index 00000000..684394e7 --- /dev/null +++ b/_events/unlocking-machine-learning-potential-in-javascript-a-journey-through-cutting-edge-tools.md @@ -0,0 +1,43 @@ +--- +questionAnswers: [] +id: '787704' +title: 'Unlocking Machine Learning Potential in JavaScript: A Journey Through Cutting-Edge + Tools' +description: While synonymous with web development, JavaScript has proven to be a + versatile language. Though it may not shine as brightly as Python in the machine + learning world, a range of powerful JavaScript tools have emerged to cater to various + stages of the machine learning pipeline. Let’s explore a few such as Danfo.js, for + efficient data manipulation, and Transformers.js, which empowers developers to integrate + pre-trained ML models seamlessly into their applications. +startsAt: '2025-03-05T16:00:00' +endsAt: '2025-03-05T17:00:00' +isServiceSession: false +isPlenumSession: false +speakers: +- id: b09194cd-b9be-44bd-81e5-4346bbf0f39e + name: Danielle Maxwell +categories: +- id: 81703 + name: Track + categoryItems: + - id: 290612 + name: Web and Front-end + sort: 0 +- id: 81704 + name: Session Format + categoryItems: + - id: 290619 + name: session + sort: 1 +roomId: 58707 +room: Web and front-end +liveUrl: +recordingUrl: +status: Accepted +isInformed: true +isConfirmed: true +track: Web and Front-end +format: session +slug: unlocking-machine-learning-potential-in-javascript-a-journey-through-cutting-edge-tools + +--- diff --git a/_events/unveiling-the-hidden-layers-of-java-class-files-beyond-bytecode.md b/_events/unveiling-the-hidden-layers-of-java-class-files-beyond-bytecode.md index 30d6c906..7ae4ea66 100644 --- a/_events/unveiling-the-hidden-layers-of-java-class-files-beyond-bytecode.md +++ b/_events/unveiling-the-hidden-layers-of-java-class-files-beyond-bytecode.md @@ -11,8 +11,8 @@ description: In this session, we will explore the intricate details of Java clas you are a seasoned Java developer or new to understanding the depths of the JVM, this session will provide valuable insights into the hidden layers of Java class files. -startsAt: -endsAt: +startsAt: '2025-03-06T15:45:00' +endsAt: '2025-03-06T16:45:00' isServiceSession: false isPlenumSession: false speakers: @@ -31,13 +31,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58701 +room: Core Java liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Core Java format: session slug: unveiling-the-hidden-layers-of-java-class-files-beyond-bytecode diff --git a/_events/unveiling-the-magical-power-of-java-virtual-threads.md b/_events/unveiling-the-magical-power-of-java-virtual-threads.md index ab599891..f909b849 100644 --- a/_events/unveiling-the-magical-power-of-java-virtual-threads.md +++ b/_events/unveiling-the-magical-power-of-java-virtual-threads.md @@ -15,8 +15,8 @@ description: "Thread-per-request programming limits application scalability, lea cases, and the APIs introduced by Project Loom. We'll also compare traditional threads with virtual threads through a simple programming example to see their benefits in action." -startsAt: -endsAt: +startsAt: '2025-03-06T11:30:00' +endsAt: '2025-03-06T12:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -35,13 +35,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58701 +room: Core Java liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Core Java format: session slug: unveiling-the-magical-power-of-java-virtual-threads diff --git a/_events/we-hate-code-the-joy-of-maintaining-dead-code.md b/_events/we-hate-code-the-joy-of-maintaining-dead-code.md index c988f13c..46f4bb33 100644 --- a/_events/we-hate-code-the-joy-of-maintaining-dead-code.md +++ b/_events/we-hate-code-the-joy-of-maintaining-dead-code.md @@ -10,8 +10,8 @@ description: "Disclaimer: If you love to maintain legacy code than this session to another…and the codebase is growing.\r\nThis session will give you an idea about what you can do to get rid of legacy code. Which tools are available and how they can help you to male your life easier." -startsAt: -endsAt: +startsAt: '2025-03-06T10:00:00' +endsAt: '2025-03-06T11:00:00' isServiceSession: false isPlenumSession: false speakers: @@ -30,8 +30,8 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58701 +room: Core Java liveUrl: recordingUrl: status: Accepted diff --git a/_events/web-apps-and-devices-yes-we-can.md b/_events/web-apps-and-devices-yes-we-can.md index e50e3a46..429b3081 100644 --- a/_events/web-apps-and-devices-yes-we-can.md +++ b/_events/web-apps-and-devices-yes-we-can.md @@ -12,8 +12,8 @@ description: "Device integrations have for decades been a problem for many busin web apps. As a hands-on code example, we use Web Bluetooth API available in Chrome to collect ECG precise data from a wireless heart monitor belt. The row bytes are then sent over to the Java server for further analysis." -startsAt: -endsAt: +startsAt: '2025-03-06T13:30:00' +endsAt: '2025-03-06T14:30:00' isServiceSession: false isPlenumSession: false speakers: @@ -32,13 +32,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58707 +room: Web and front-end liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Web and Front-end format: session slug: web-apps-and-devices-yes-we-can diff --git a/_events/workshop-on-400-level.md b/_events/workshop-on-400-level.md new file mode 100644 index 00000000..dd5a08da --- /dev/null +++ b/_events/workshop-on-400-level.md @@ -0,0 +1,21 @@ +--- +questionAnswers: [] +id: 88f90b8c-b2aa-4436-bc81-133985c5e2a3 +title: Workshop (on 400 level) +description: +startsAt: '2025-03-04T09:00:00' +endsAt: '2025-03-04T17:05:00' +isServiceSession: true +isPlenumSession: false +speakers: [] +categories: [] +roomId: 58709 +room: Keynote +liveUrl: +recordingUrl: +status: +isInformed: false +isConfirmed: false +slug: workshop-on-400-level + +--- diff --git a/_events/write-once-deploy-everywhere-from-containers-to-serverless.md b/_events/write-once-deploy-everywhere-from-containers-to-serverless.md index 4e0b7563..84299491 100644 --- a/_events/write-once-deploy-everywhere-from-containers-to-serverless.md +++ b/_events/write-once-deploy-everywhere-from-containers-to-serverless.md @@ -12,13 +12,15 @@ description: "While Java apps are technically portable across many platforms, it Abstract service configuration / binding\r\n* Utilize Testcontainers across local dev/test & CI\r\n* Efficiently avoid cold starts with CRaC and other techniques\r\n* Package applications most efficiently for the target platforms" -startsAt: -endsAt: +startsAt: '2025-03-05T14:30:00' +endsAt: '2025-03-05T15:30:00' isServiceSession: false isPlenumSession: false speakers: - id: 5c84d73d-1b13-4383-a7ec-e7ce3151794e name: James Ward +- id: 9548c494-2cab-45b9-af37-398f9b6d1f9d + name: Vinicius Senger categories: - id: 81703 name: Track @@ -32,13 +34,13 @@ categories: - id: 290619 name: session sort: 1 -roomId: -room: +roomId: 58711 +room: Cloud Tech liveUrl: recordingUrl: status: Accepted isInformed: true -isConfirmed: false +isConfirmed: true track: Cloud Technology format: session slug: write-once-deploy-everywhere-from-containers-to-serverless diff --git a/_speakers/adi-polak.md b/_speakers/adi-polak.md deleted file mode 100644 index 49c7a8a6..00000000 --- a/_speakers/adi-polak.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: 185360b0-48a1-4ba3-9e49-b9018c669d3c -firstName: Adi -lastName: Polak -fullName: Adi Polak -bio: "Adi is an experienced software engineer and people manager. For most of her - professional life, she dealt with data and machine learning for transactional and - analytics workloads by building large-scale systems. As a data practitioner, she - developed software to solve real-world problems with Apache Spark, Kafka, HDFS, - K8s, AWS, and Azure in high-throughput, high-scale production environments for companies - like Akamai and Microsoft.\r\n\r\nAdi has taught Spark to thousands of students - throughout the years and is the author of the successful book — Scaling Machine - Learning with Spark. \r\nWhen not thinking up new architecture, teaching new tech - or pondering on a distributed systems challenge, you can find her at the local cultural - scene. \r\n" -tagLine: Director Developer Experience Engineering and Advocacy -profilePicture: https://sessionize.com/image/9a49-400o400o1-pGSYDAvmULb6QzCiPoycH8.jpg -sessions: -- id: 735832 - name: Demystifying Apache Flink -isTopSpeaker: false -links: -- title: X (Twitter) - url: https://twitter.com/AdiPolak - linkType: Twitter -- title: LinkedIn - url: https://www.linkedin.com/in/polak-adi/ - linkType: LinkedIn -questionAnswers: -- id: 81698 - question: Company - questionType: Short_Text - answer: Confluent - sort: 17 - answerExtra: -- id: 81702 - question: 'Twitter handle with @ ex: @prpatel' - questionType: Short_Text - answer: "@adipolak" - sort: 21 - answerExtra: -- id: 81705 - question: LinkedIn URL - questionType: Short_Text - answer: https://www.linkedin.com/in/polak-adi/ - sort: 22 - answerExtra: -categories: [] -slug: adi-polak - ---- diff --git a/_speakers/aicha-laafia.md b/_speakers/aicha-laafia.md deleted file mode 100644 index e669e66d..00000000 --- a/_speakers/aicha-laafia.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -id: d0e6b397-e663-46f1-ba2f-70472049af6e -firstName: Aicha -lastName: Laafia -fullName: Aicha Laafia -bio: "A Java software engineer at Adservio with a love for coding, a taste for delicious - food, and a heart for volunteering.\r\n\r\nA member of the Moroccan Association - of Computing Science, a Women Techmakers ambassador, and an IAmRemarkable facilitator.A - Women Techmakers ambassador." -tagLine: 'Java Software engineer at Adservio ' -profilePicture: https://sessionize.com/image/4ef7-400o400o1-sEwhWH5iiypd3tNVc8g7gU.jpg -sessions: -- id: 750255 - name: Let's make your Java code Bug-Proof -isTopSpeaker: false -links: -- title: X (Twitter) - url: https://twitter.com/AichaLaafia - linkType: Twitter -- title: LinkedIn - url: https://www.linkedin.com/in/aicha-laafia-0266a6126 - linkType: LinkedIn -questionAnswers: -- id: 81698 - question: Company - questionType: Short_Text - answer: "-" - sort: 17 - answerExtra: -- id: 81702 - question: 'Twitter handle with @ ex: @prpatel' - questionType: Short_Text - answer: "@aichalaafia" - sort: 21 - answerExtra: -- id: 81705 - question: LinkedIn URL - questionType: Short_Text - answer: https://www.linkedin.com/in/aicha-laafia-0266a6126/ - sort: 22 - answerExtra: -categories: [] -slug: aicha-laafia - ---- diff --git a/_speakers/ajuna-kyaruzi.md b/_speakers/ajuna-kyaruzi.md index 35a90162..b951283a 100644 --- a/_speakers/ajuna-kyaruzi.md +++ b/_speakers/ajuna-kyaruzi.md @@ -16,7 +16,7 @@ sessions: name: Delivery Engineering isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/ajunaky linkType: Twitter - title: LinkedIn diff --git a/_speakers/alex-riviere.md b/_speakers/alex-riviere.md new file mode 100644 index 00000000..737593f6 --- /dev/null +++ b/_speakers/alex-riviere.md @@ -0,0 +1,40 @@ +--- +id: 5c386803-b673-4259-a6ce-d85e1fd0a016 +firstName: Alex +lastName: Riviere +fullName: Alex Riviere +bio: Alex Riviere is a Senior Frontend Developer for Nexcor Technologies and a Co-Organizer + for the Atlanta Vue.js Meetup. +tagLine: Co-Organizer for Atlanta Vue.js Meetup +profilePicture: https://sessionize.com/image/2a67-400o400o1-Gvb6U4BXbHxWHRApqyTe58.jpg +sessions: +- id: 749192 + name: Fresh Hot CSS Features! +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/fimion + linkType: Twitter +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Nexcor Technologies + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@fimion" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/fimion/ + sort: 22 + answerExtra: +categories: [] +slug: alex-riviere + +--- diff --git a/_speakers/andres-almiray.md b/_speakers/andres-almiray.md index 66fda609..4e2c381d 100644 --- a/_speakers/andres-almiray.md +++ b/_speakers/andres-almiray.md @@ -14,6 +14,8 @@ bio: Andres is a Java/Groovy developer and a Java Champion Alumni, Developer Adv tagLine: Seasoned Sourceror profilePicture: https://sessionize.com/image/5dab-400o400o1-YGt5m7v9F1XRMaWb8uE9Qu.jpg sessions: +- id: 741181 + name: Setting up data driven tests with Java tools - id: 741176 name: Going beyond ORMs isTopSpeaker: false diff --git a/_speakers/andrus-adamchik.md b/_speakers/andrus-adamchik.md index 66c40112..540610a3 100644 --- a/_speakers/andrus-adamchik.md +++ b/_speakers/andrus-adamchik.md @@ -16,7 +16,7 @@ sessions: name: DataFrame - a Swiss Army Knife of Java Data Processing isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/andrus_a linkType: Twitter - title: LinkedIn diff --git a/_speakers/ashwin-m-s.md b/_speakers/ashwin-m-s.md new file mode 100644 index 00000000..e9c686a4 --- /dev/null +++ b/_speakers/ashwin-m-s.md @@ -0,0 +1,42 @@ +--- +id: 02757751-2055-43a0-afb7-a8654d46bffe +firstName: Ashwin +lastName: M S +fullName: Ashwin M S +bio: 'Ashwin M S is working as a Software Developer at IBM as a part of the WebSphere + team. He pursued his B.Tech Degree in Computer Science and Engineering and graduated + in 2023. He was an active student member of his IEEE Student Branch and served as + a Technical Coordinator during his final year of education. ' +tagLine: 'IBM, Software Developer ' +profilePicture: https://sessionize.com/image/4db7-400o400o1-Lnnsv3952rqqrXxQe3yAJZ.jpg +sessions: +- id: 751261 + name: 'Concurrency redefined: what’s new in Jakarta Concurrency 3.1' +isTopSpeaker: false +links: +- title: LinkedIn + url: https://www.linkedin.com/in/ashwin-ms + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: 'IBM ' + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@AshwinMS1703" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: www.linkedin.com/in/ashwin-ms + sort: 22 + answerExtra: +categories: [] +slug: ashwin-m-s + +--- diff --git a/_speakers/avishay-zawoznik.md b/_speakers/avishay-zawoznik.md deleted file mode 100644 index 463d0f1d..00000000 --- a/_speakers/avishay-zawoznik.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: c554d9bf-c70a-45d6-9587-64da50a7dbf0 -firstName: Avishay -lastName: Zawoznik -fullName: Avishay Zawoznik -bio: Avishay Zawoznik manages the content group in Cato’s security research department, - carrying ten years of experience in different fields of network and web security. - Avishay specializes in network-based and application-based attack research, keeping - up with the latest security publications, analyzing and implementing ways to detect - and mitigate potential threats, focusing on a data-oriented approach provided by - Cato’s cloud network, and looking at variants of exploits seen in the wild. -tagLine: Security Research Manager at Cato Networks -profilePicture: https://sessionize.com/image/1035-400o400o1-N4g5ffaCxSkxPvCXaj5vb8.jpg -sessions: -- id: 750550 - name: Start covering your bases & Stop chasing APT headlines -isTopSpeaker: false -links: -- title: LinkedIn - url: https://www.linkedin.com/in/avishayza/ - linkType: LinkedIn -questionAnswers: -- id: 81698 - question: Company - questionType: Short_Text - answer: Cato Networks - sort: 17 - answerExtra: -- id: 81702 - question: 'Twitter handle with @ ex: @prpatel' - questionType: Short_Text - answer: "@zavishh" - sort: 21 - answerExtra: -- id: 81705 - question: LinkedIn URL - questionType: Short_Text - answer: https://www.linkedin.com/in/avishayza/ - sort: 22 - answerExtra: -categories: [] -slug: avishay-zawoznik - ---- diff --git a/_speakers/barry-burd.md b/_speakers/barry-burd.md new file mode 100644 index 00000000..f7d00e53 --- /dev/null +++ b/_speakers/barry-burd.md @@ -0,0 +1,45 @@ +--- +id: 4c3fdc08-0216-46a1-a36f-a1b6abe6315f +firstName: Barry +lastName: Burd +fullName: Barry Burd +bio: Barry Burd is a Mathematics and Computer Science Professor at Drew University + in Madison, New Jersey, US. He's the author of twelve books, including "Java For + Dummies," "Quantum Computing Algorithms," and an upcoming book on the Internet of + Things. In 2020, he was named a Java Champion. +tagLine: Professor at Drew University +profilePicture: https://sessionize.com/image/653c-400o400o1-BuZokXgB6nXrJiEr2dSfQX.jpg +sessions: +- id: 751799 + name: Java and the Internet of Things +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/allmycode + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/barry-burd/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Drew University + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@allmycode" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/barry-burd + sort: 22 + answerExtra: +categories: [] +slug: barry-burd + +--- diff --git a/_speakers/bazlur-rahman.md b/_speakers/bazlur-rahman.md new file mode 100644 index 00000000..7ee56c52 --- /dev/null +++ b/_speakers/bazlur-rahman.md @@ -0,0 +1,57 @@ +--- +id: 79e95ec4-23ec-48ec-9046-98d3e1776283 +firstName: Bazlur +lastName: Rahman +fullName: Bazlur Rahman +bio: "A N M Bazlur Rahman is a Software Engineer with over a decade of specialized + experience in Java and related technologies. His expertise has been formally recognized + through the prestigious title of Java Champion. Beyond his professional commitments, + Mr. Rahman is deeply involved in community outreach and education. He is the founder + and current moderator of the Java User Group in Bangladesh, where he has organized + educational meetups and conferences since 2013.\r\n\r\nIn the past two years, Mr. + Rahman has been an active speaker at various international conferences and Java + user groups. His talks have often focused on specialized topics such as concurrency + and virtual threads. In addition to his community work, Mr. Rahman also serves as + an editor for Java Queue at InfoQ and Foojay.io, both of which are leading platforms + for technology content. Notably, he has authored five books on the Java programming + language in Bengali, three of which have become best sellers in Bangladesh. \r\n\r\nHe + is currently writing a new book with O'Reilly titled \"Modern Concurrency in Java\". + \r\nhttps://learning.oreilly.com/library/view/modern-concurrency-in/9781098165406/\r\n\r\n" +tagLine: "Java Champion \U0001F3C6 Empowering Developers through Speaking \U0001F5E3️ + Writing ✍️ Mentoring \U0001F91D & Community Building \U0001F30D Published Author + \U0001F4D6 Contributing Editor at InfoQ and Foojay.IO" +profilePicture: https://sessionize.com/image/cf20-400o400o1-w15zxmEaPXC9jyJKvYWZzC.jpg +sessions: +- id: 751660 + name: 'Java + LLMs: A hands-on guide to building LLM Apps in Java with JakartaEE' +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/bazlur_rahman + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/bazlur/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Canada + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@bazlur_rahman" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/bazlur/ + sort: 22 + answerExtra: +categories: [] +slug: bazlur-rahman + +--- diff --git a/_speakers/ben-westmoreland.md b/_speakers/ben-westmoreland.md new file mode 100644 index 00000000..2142eb05 --- /dev/null +++ b/_speakers/ben-westmoreland.md @@ -0,0 +1,58 @@ +--- +id: 34b5127e-3fb1-4506-813a-3cd68f86bf22 +firstName: Ben +lastName: Westmoreland +fullName: Ben Westmoreland +bio: "The future of IT is in the AI innovations in the cloud. ☁️ My overall goal is + to enable complex solutions to maximize the benefits and outcomes for organizations. + Providing innovative solutions while controlling costs is my passion and highest + value.\r\n\r\nI am an innovative thought leader that provides organizational leadership + focused on taking on challenging initiatives. Actually, I am driven by complex challenges. + I am most effective in up front project architecture, strategy, and planning, then + leading projects to completion with the delivery teams. I enjoy building both technology + strategy and the teams to provide effective results. I am seasoned in breaking down + complex solutions and workloads into smaller and more manageable components. I can + go on and on about common keywords here like domain driven design, microservices, + design patterns, observability, cloud enablement, IaaS, PaaS, IaC, CaC, CI/CD, DevSecOps, + automation, Azure, GCP, and AWS. However, the point being is that I have experienced + the wrong and right ways to approach large solutions. I know to use what technology, + where to use it, and the level of teams to get the job done most effectively. Also, + I have learned from project mistakes and failures. I strive to iteratively improve + myself, my teams, my projects ,and the organizations that I am working with.\r\n\r\nI + am a humble technologist with a passion for serving my clients. I am the neighborhood + and family \"IT Guy\". Also, I love to assist with local non-profits. I am a loving + father with a wonderful wife and twin boys. Lastly, I am Linux hobbyist and huge + into saltwater fishing." +tagLine: Empowering Organizations on their Innovation Journey +profilePicture: https://sessionize.com/image/fc91-400o400o1-DXzv2g3SsjKjESYZkE44Yc.jpg +sessions: +- id: 751195 + name: REST vs GraphQL vs gRPC +isTopSpeaker: false +links: +- title: LinkedIn + url: https://www.linkedin.com/in/btwestmo/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: 'Insight ' + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: btwestmo + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/btwestmo/ + sort: 22 + answerExtra: +categories: [] +slug: ben-westmoreland + +--- diff --git a/_speakers/billy-korando.md b/_speakers/billy-korando.md index b5ea0fd1..f9b68ab0 100644 --- a/_speakers/billy-korando.md +++ b/_speakers/billy-korando.md @@ -13,13 +13,13 @@ bio: 'Billy is a Java Developer Advocate with the Java Platform Group at Oracle. tagLine: Java Developer Advocate profilePicture: https://sessionize.com/image/a3ad-400o400o1-35ppNMVjk7tRjTToBVm3S4.jpg sessions: -- id: 755076 - name: Taking off With JDK Flight Recorder - id: 755075 name: To Java 24 and Beyond! +- id: 755076 + name: Taking off With JDK Flight Recorder isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/BillyKorando linkType: Twitter questionAnswers: diff --git a/_speakers/bob-paulin.md b/_speakers/bob-paulin.md index be589d90..ff2dd333 100644 --- a/_speakers/bob-paulin.md +++ b/_speakers/bob-paulin.md @@ -14,8 +14,6 @@ profilePicture: https://sessionize.com/image/98ab-400o400o1-VuCZmD1St8MMLfJRHtnw sessions: - id: 753956 name: Polyglot Pipelines with Apache Nifi -- id: 754896 - name: The OffHeap Podcast. Devnexus Edition (Now with more AI) isTopSpeaker: false links: - title: Twitter diff --git a/_speakers/brian-benz.md b/_speakers/brian-benz.md index f553387c..9b6d0356 100644 --- a/_speakers/brian-benz.md +++ b/_speakers/brian-benz.md @@ -16,7 +16,7 @@ sessions: name: 'AI-Driven Development: Enhancing Java with the latest AI Innovations' isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/bbenz linkType: Twitter - title: LinkedIn diff --git a/_speakers/carmen-delgado.md b/_speakers/carmen-delgado.md index 9ab1df07..50fb4541 100644 --- a/_speakers/carmen-delgado.md +++ b/_speakers/carmen-delgado.md @@ -18,7 +18,7 @@ sessions: name: 'Nurturing OpenJDK distribution: Eclipse Temurin Success History and Plan' isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/cldelgadop linkType: Twitter - title: LinkedIn diff --git a/_speakers/chandra-guntur.md b/_speakers/chandra-guntur.md index ad5cc7e2..2f1917b5 100644 --- a/_speakers/chandra-guntur.md +++ b/_speakers/chandra-guntur.md @@ -13,10 +13,10 @@ bio: "Chandra is a technologist in the financial services industry since 2003 an tagLine: Sr. Principal Engineer, Java Champion, JUG Leader profilePicture: https://sessionize.com/image/9c8e-400o400o1-D4674eAuPNWvtthbVLUFgr.jpg sessions: -- id: 754901 - name: 'Hands On: Apache Maven 4' - id: 754870 name: Starting with Java in 2025 +- id: 754901 + name: 'Hands On: Apache Maven 4' isTopSpeaker: false links: - title: Twitter diff --git a/_speakers/chiara-civardi.md b/_speakers/chiara-civardi.md deleted file mode 100644 index 1b85c1c7..00000000 --- a/_speakers/chiara-civardi.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: 4e13d9ca-073e-4348-bd6e-0c8ac51d5f6e -firstName: Chiara -lastName: Civardi -fullName: Chiara Civardi -bio: Chiara is a communicator with over 10 years of experience in producing technical - content on automation. Her expertise includes automation engineering, robotics, - networks for industrial communications as well as DevOps. Chiara has a passion for - sharing knowledge about efficient and innovative solutions for the digital transformation. - She holds a PhD for ETH Zurich and a MSc from the University of Southampton. -tagLine: Payara Services, Marketing Coordinator, Dr -profilePicture: https://sessionize.com/image/560f-400o400o1-T1ABmjSbLCFm2M62o3Vik2.png -sessions: -- id: 750035 - name: Connected Industries with an Edge -isTopSpeaker: false -links: [] -questionAnswers: -- id: 81698 - question: Company - questionType: Short_Text - answer: www.payara.fish - sort: 17 - answerExtra: -- id: 81702 - question: 'Twitter handle with @ ex: @prpatel' - questionType: Short_Text - answer: "@PayaraFish" - sort: 21 - answerExtra: -- id: 81705 - question: LinkedIn URL - questionType: Short_Text - answer: https://www.linkedin.com/in/chiaracivardi/ - sort: 22 - answerExtra: -categories: [] -slug: chiara-civardi - ---- diff --git a/_speakers/chris-corriere.md b/_speakers/chris-corriere.md index a82e043e..e5a2de30 100644 --- a/_speakers/chris-corriere.md +++ b/_speakers/chris-corriere.md @@ -15,7 +15,7 @@ sessions: name: Sociotechnical Platform Engineering isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: http://www.twitter.com/cacorriere linkType: Twitter - title: LinkedIn diff --git a/_speakers/chris-demars.md b/_speakers/chris-demars.md new file mode 100644 index 00000000..7b3975f5 --- /dev/null +++ b/_speakers/chris-demars.md @@ -0,0 +1,48 @@ +--- +id: 730a789f-e2a8-483d-91bc-6e794f1b44d5 +firstName: Chris +lastName: DeMars +fullName: Chris DeMars +bio: Chris DeMars is a Senior Developer Advocate II at DigitalOcean with over 20 years + of technical experience. He speaks all over the world on web accessibility, feature + flags, A/B testing, and CSS. For his community contributions, he holds awards as + a Progress Champion and former Microsoft MVP, Google Developer Expert, Cloudinary + Media Developer Expert, and Auth0 Ambassador. When he is not working on making the + web great and accessible you can find him fishing, on the paintball field, rating + Detroit Style pizza, and looking for UFO's. +tagLine: Senior Developer Advocate II @ DigitalOcean +profilePicture: https://sessionize.com/image/0aff-400o400o1-DZTrRVmXSXXmBCc1HeyCNF.jpg +sessions: +- id: 748220 + name: 'Run to the light Carol Anne: Auditing with Lighthouse' +isTopSpeaker: false +links: +- title: X (Twitter) + url: http://twitter.com/saltnburnem + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/chrisdemars/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: DigitalOcean + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@saltnburnem" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/chrisdemars/ + sort: 22 + answerExtra: +categories: [] +slug: chris-demars + +--- diff --git a/_speakers/chuck-bridgham.md b/_speakers/chuck-bridgham.md index d4ff8e7b..c4acc5f7 100644 --- a/_speakers/chuck-bridgham.md +++ b/_speakers/chuck-bridgham.md @@ -11,7 +11,7 @@ tagLine: Development Lead Open Liberty profilePicture: https://sessionize.com/image/4343-400o400o1-h8ySipDsFg31BvZseBZzJp.png sessions: - id: 751791 - name: A developers guide to running SpringBoot applications on Open Liberty + name: A developers guide to running Spring Boot applications on Open Liberty isTopSpeaker: false links: - title: LinkedIn diff --git a/_speakers/dan-haywood.md b/_speakers/dan-haywood.md deleted file mode 100644 index 0020e28c..00000000 --- a/_speakers/dan-haywood.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -id: dbde3fbe-b40e-4205-bb53-d7d8acea9df9 -firstName: Dan -lastName: Haywood -fullName: Dan Haywood -bio: Dan Haywood is an independent consultant based in the UK, an ASF member and committer - to Apache Causeway. He spends his days either cutting code or advising governments. -tagLine: Haywood Associates Ltd. -profilePicture: https://sessionize.com/image/350f-400o400o1-DZLb5hqMZSnrovufG5Pr6C.jpg -sessions: -- id: 735668 - name: 'Big things with tiny teams : Live coding with Apache Causeway' -isTopSpeaker: false -links: -- title: X (Twitter) - url: https://twitter.com/ApacheCauseway - linkType: Twitter -- title: LinkedIn - url: https://www.linkedin.com/in/dkhaywood - linkType: LinkedIn -questionAnswers: -- id: 81698 - question: Company - questionType: Short_Text - answer: Haywood Associates Ltd. - sort: 17 - answerExtra: -- id: 81702 - question: 'Twitter handle with @ ex: @prpatel' - questionType: Short_Text - answer: "@ApacheCauseway" - sort: 21 - answerExtra: -- id: 81705 - question: LinkedIn URL - questionType: Short_Text - answer: https://www.linkedin.com/in/dkhaywood/ - sort: 22 - answerExtra: -categories: [] -slug: dan-haywood - ---- diff --git a/_speakers/danica-fine.md b/_speakers/danica-fine.md index a4a02e0f..ae863854 100644 --- a/_speakers/danica-fine.md +++ b/_speakers/danica-fine.md @@ -9,16 +9,18 @@ bio: "Danica began her career as a software engineer in data visualization and w to San Francisco and pivoted to backend engineering with a derivatives data team which was responsible for building and maintaining the infrastructure that processes millions of financial market data per second in near real-time. Her first project - on this team involved Kafka Streams – she never looked back. Danica now works as - a Developer Advocate with Confluent where she helps others get the most out of their - event-driven pipelines. \r\n\r\nOutside of work, Danica is passionate about sustainability, - increasing diversity in the technical community, and keeping her many houseplants - alive. She can be found on Twitter, tweeting about tech, plants, and baking @TheDanicaFine." -tagLine: Staff Developer Advocate, Confluent -profilePicture: https://sessionize.com/image/2e67-400o400o1-L5JDTynn86zA1wT9hUiCiN.jpg + on this team involved Kafka Streams and Kafka Connect. From there, she immersed + herself in the world of data streaming and found herself quite at home in the Apache + Kafka and Apache Flink communities. She now leads the open source advocacy efforts + at Snowflake, supporting Apache Iceberg and Apache Polaris (incubating).\r\n\r\nOutside + of work, Danica is passionate about sustainability, increasing diversity in the + technical community, and keeping her many houseplants alive. She can be found on + X (Bluesky and Mastodon), talking about tech, plants, and baking @TheDanicaFine." +tagLine: Lead Developer Advocate, Open source ❄️ +profilePicture: https://sessionize.com/image/95da-400o400o1-3TSU7jajmeHPwKcpfEwvSx.jpg sessions: -- id: 751350 - name: 'The Kafka Consumer: An Unexpected Journey of Data Consumption' +- id: 783614 + name: 'Take the Polar Plunge: A Fearless Introduction to Apache Iceberg®' isTopSpeaker: false links: - title: X (Twitter) @@ -31,7 +33,7 @@ questionAnswers: - id: 81698 question: Company questionType: Short_Text - answer: Confluent + answer: Snowflake sort: 17 answerExtra: - id: 81702 diff --git a/_speakers/daniel-oh.md b/_speakers/daniel-oh.md index a334c3a7..9afd6bc0 100644 --- a/_speakers/daniel-oh.md +++ b/_speakers/daniel-oh.md @@ -12,8 +12,13 @@ bio: Daniel Oh is a Java Champion and Senior Principal Developer Advocate at Red tagLine: Senior Principal Developer Advocate profilePicture: https://sessionize.com/image/5565-400o400o1-BUkFnSQGzACGTgZh7xtYrf.png sessions: +- id: 751412 + name: 'Practical AI Lab for Enterprise Java Developers: From Zero to Hero' - id: 734811 name: Create AI-Infused Java Apps with LangChain4j +- id: 751398 + name: 'Supercharge Agentic AI Projects: A DevEx-Driven Approach to Cloud-Native + Scaffolding' - id: 770490 name: 'Shield your Java code: Practical guides for trusted software' isTopSpeaker: false diff --git a/_speakers/danielle-maxwell.md b/_speakers/danielle-maxwell.md new file mode 100644 index 00000000..600b714f --- /dev/null +++ b/_speakers/danielle-maxwell.md @@ -0,0 +1,45 @@ +--- +id: b09194cd-b9be-44bd-81e5-4346bbf0f39e +firstName: Danielle +lastName: Maxwell +fullName: Danielle Maxwell +bio: Danielle Maxwell is a Junior Distributed Systems Engineer at Rotational Labs. + She’s an experienced developer in JavaScript, React, and Go. Danielle enjoys watching + Liverpool matches (when they win) and discovering new foods while traveling. +tagLine: Rotational Labs, Jr. Distributed Systems Engineer +profilePicture: https://sessionize.com/image/c191-400o400o1-YRfzuwEDtpnpiUDA9jQvWP.png +sessions: +- id: 787704 + name: 'Unlocking Machine Learning Potential in JavaScript: A Journey Through Cutting-Edge + Tools' +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://x.com/thedanimaxwell + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/daniellemaxwell/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Rotational Labs + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@thedanimaxwell" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/daniellemaxwell/ + sort: 22 + answerExtra: +categories: [] +slug: danielle-maxwell + +--- diff --git a/_speakers/dashaun-carter.md b/_speakers/dashaun-carter.md index 44b11bbd..ccf3e924 100644 --- a/_speakers/dashaun-carter.md +++ b/_speakers/dashaun-carter.md @@ -15,7 +15,7 @@ sessions: name: Testing Your Way to Production Confidence with Native Images isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/dashaun linkType: Twitter - title: LinkedIn diff --git a/_speakers/dave-neary.md b/_speakers/dave-neary.md new file mode 100644 index 00000000..bba178e6 --- /dev/null +++ b/_speakers/dave-neary.md @@ -0,0 +1,46 @@ +--- +id: f9e44c9c-823d-47dc-9853-924dcb375b96 +firstName: Dave +lastName: Neary +fullName: Dave Neary +bio: Dave Neary has been active in free and open source communities for more than + 20 years. In that time, he has worked on projects relating to infrastructure management, + cloud computing, and the telecommunications industry. He currently leads the Developer + Relations team at Ampere Computing, promoting the adoption of Arm64 Cloud-Native + Processors. +tagLine: Director of Developer Relations, Ampere Computing +profilePicture: https://sessionize.com/image/d9fa-400o400o1-fGezSBAJoYfCsvtSt4Yfb1.jpg +sessions: +- id: 750836 + name: AMP-ing Your Java with AArch64/Arm64 Servers +isTopSpeaker: false +links: +- title: Twitter + url: https://twitter.com/nearyd + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/dneary/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Ampere Computing + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@nearyd" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/dneary + sort: 22 + answerExtra: +categories: [] +slug: dave-neary + +--- diff --git a/_speakers/david-campbell.md b/_speakers/david-campbell.md deleted file mode 100644 index 3825a3a9..00000000 --- a/_speakers/david-campbell.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: e3c99a3a-4d01-479f-9f96-5e8758e70746 -firstName: David -lastName: Campbell -fullName: David Campbell -bio: David Campbell is a seasoned technology leader with nearly 20 years of experience - in Silicon Valley's startup ecosystem, now spearheading Responsible AI initiatives - at Scale AI. As the Lead AI Risk Engineer, David has been pivotal in developing - a cutting-edge AI Red Teaming platform that marries ethical AI practices with rigorous - security evaluations. His work, recognized by the U.S. Congress and highlighted - by the White House, underscores his commitment to shaping a safer AI ecosystem. - With a deep background in Security, Core Infrastructure, and Platform Engineering, - David actively drives discussions and actions that integrate responsible AI principles - into practical security frameworks, aiming to nurture robust, ethical AI applications - across industries. -tagLine: AI Risk Security Platform Lead at Scale, AI -profilePicture: https://sessionize.com/image/616d-400o400o1-aUG5QE8E5NEXRBxrZkqCQM.JPG -sessions: -- id: 748266 - name: 'Ignore Previous Instructions: Embracing AI Red Teaming' -isTopSpeaker: false -links: -- title: X (Twitter) - url: https://twitter.com/MrDavidCampbell - linkType: Twitter -- title: LinkedIn - url: https://www.linkedin.com/in/ddcam/ - linkType: LinkedIn -questionAnswers: -- id: 81698 - question: Company - questionType: Short_Text - answer: Scale AI - sort: 17 - answerExtra: -- id: 81702 - question: 'Twitter handle with @ ex: @prpatel' - questionType: Short_Text - answer: MrDavidCampbell - sort: 21 - answerExtra: -- id: 81705 - question: LinkedIn URL - questionType: Short_Text - answer: https://www.linkedin.com/in/ddcam/ - sort: 22 - answerExtra: -categories: [] -slug: david-campbell - ---- diff --git a/_speakers/david-parry.md b/_speakers/david-parry.md index 32b8cf3e..2b0a3a95 100644 --- a/_speakers/david-parry.md +++ b/_speakers/david-parry.md @@ -30,6 +30,9 @@ sessions: name: 'Codebase Resurrection: Revive and Refactor with AI' isTopSpeaker: false links: +- title: X (Twitter) + url: https://x.com/daviddryparry + linkType: Twitter - title: LinkedIn url: https://www.linkedin.com/in/david-parry-47b4a44 linkType: LinkedIn diff --git a/_speakers/elder-moraes.md b/_speakers/elder-moraes.md index 0c3311c4..8cc5acd0 100644 --- a/_speakers/elder-moraes.md +++ b/_speakers/elder-moraes.md @@ -12,13 +12,13 @@ bio: Elder helps Java developers to build and deliver secure, available, and fas tagLine: Developer Advocate, Red Hat profilePicture: https://sessionize.com/image/4265-400o400o1-EnDT4kzMKfWnbCxCkzNEPQ.png sessions: -- id: 750788 - name: 'ML Ops for Java Developers: A Hands-On Guide with Kubeflow and Quarkus' - id: 751289 name: Optimizing Containerized Java Apps with Jib, GraalVM, CDS, and CRaC +- id: 750788 + name: 'ML Ops for Java Developers: A Hands-On Guide with Kubeflow and Quarkus' isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/elderjava linkType: Twitter - title: LinkedIn diff --git a/_speakers/eric-deandrea.md b/_speakers/eric-deandrea.md index 693fa079..7b89c1e0 100644 --- a/_speakers/eric-deandrea.md +++ b/_speakers/eric-deandrea.md @@ -15,12 +15,14 @@ bio: Eric Deandrea is a Java Champion & Senior Principal Developer Advocate at R tagLine: Java Champion & Senior Principal Developer Advocate, Red Hat profilePicture: https://sessionize.com/image/a726-400o400o1-GDEFAutNNeMep9QCJyJ6VS.png sessions: +- id: 751412 + name: 'Practical AI Lab for Enterprise Java Developers: From Zero to Hero' - id: 750111 name: 'Test-Driven Development: It''s easier than you think!' isTopSpeaker: false links: - title: X (Twitter) - url: https://twitter.com/edeandrea + url: https://x.com/edeandrea linkType: Twitter - title: LinkedIn url: https://www.linkedin.com/in/edeandrea diff --git a/_speakers/eswaran-rathinam.md b/_speakers/eswaran-rathinam.md new file mode 100644 index 00000000..43425203 --- /dev/null +++ b/_speakers/eswaran-rathinam.md @@ -0,0 +1,37 @@ +--- +id: 616f816d-a777-4392-a9cd-f93bf93ddab9 +firstName: Eswaran +lastName: Rathinam +fullName: Eswaran Rathinam +bio: +tagLine: +profilePicture: +sessions: +- id: 755446 + name: 'Cache Smarter, Not Harder: A Practical Guide to Choosing the Best Caching + Strategy' +isTopSpeaker: false +links: [] +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: + sort: 22 + answerExtra: +categories: [] +slug: eswaran-rathinam + +--- diff --git a/_speakers/evgeny-mandrikov.md b/_speakers/evgeny-mandrikov.md index 4241ba6a..3f3a176f 100644 --- a/_speakers/evgeny-mandrikov.md +++ b/_speakers/evgeny-mandrikov.md @@ -16,7 +16,7 @@ sessions: name: Code coverage MythBusters isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/_Godin_ linkType: Twitter - title: LinkedIn diff --git a/_speakers/fabio-alessandro-locati.md b/_speakers/fabio-alessandro-locati.md deleted file mode 100644 index 2010250c..00000000 --- a/_speakers/fabio-alessandro-locati.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -id: '04725191-5f4a-4f6a-b63e-c5ca9a7e7b78' -firstName: Fabio Alessandro -lastName: Locati -fullName: Fabio Alessandro Locati -bio: Fabio Alessandro Locati - commonly known as Fale - is an EMEA Associate Principal - Solutions Architect at Red Hat, public speaker, author, and Open Source contributor. - His primary areas of expertise are Linux, automation, security, and cloud technologies. - Fale has more than 15 years of working experience in IT, with many of them spent - consulting for many companies, including dozens of Fortune 500 companies. He is - the author of the books Practical Ansible 2, Learning Ansible 2, Learning Ansible - 2.7, and OpenStack Cloud Security. In the spare time he helps in the Kubernetes, - Fedora Project, Ansible, Wikimedia, Open Street Map communities as well as in many - smaller projects on GitHub and similar platforms. -tagLine: EMEA Associate Principal Solutions Architect, Red Hat -profilePicture: https://sessionize.com/image/b827-400o400o1-JPaNyCBB9TgE6ietNFiBpJ.png -sessions: -- id: 751444 - name: Leverage Event Driven Ansible to reduce your automation reaction time -isTopSpeaker: false -links: -- title: LinkedIn - url: https://www.linkedin.com/in/fale - linkType: LinkedIn -questionAnswers: -- id: 81698 - question: Company - questionType: Short_Text - answer: Red Hat - sort: 17 - answerExtra: -- id: 81702 - question: 'Twitter handle with @ ex: @prpatel' - questionType: Short_Text - answer: "@falocati" - sort: 21 - answerExtra: -- id: 81705 - question: LinkedIn URL - questionType: Short_Text - answer: https://www.linkedin.com/in/fale/ - sort: 22 - answerExtra: -categories: [] -slug: fabio-alessandro-locati - ---- diff --git a/_speakers/fernanda-machado.md b/_speakers/fernanda-machado.md index a0763a3b..e95f41c0 100644 --- a/_speakers/fernanda-machado.md +++ b/_speakers/fernanda-machado.md @@ -3,10 +3,11 @@ id: 763e5a81-e0ba-4663-8dec-86a46ab80604 firstName: Fernanda lastName: Machado fullName: Fernanda Machado -bio: Fernanda Machado is a Senior Solutions Architect with over 15 years of experience - at Hewlett-Packard and AWS. She has led large-scale cloud-native projects using - Java and is a regular speaker at major conferences such as re:Invent and JFall. - She has also published articles in Java Magazine in the Netherlands. +bio: Fernanda Machado is a Senior Solutions Architect currently working at AWS, with + over 15 years of experience in the tech industry, including previous work at Hewlett-Packard. + She has led large-scale cloud-native projects using Java and is a regular speaker + at major conferences such as re:Invent and JFall. She has also published articles + in Java Magazine in the Netherlands. tagLine: Sr. Developer Specialist Solutions Architect, AWS profilePicture: https://sessionize.com/image/7253-400o400o1-WT6FizxT7PbthVYQtzvMUq.jpg sessions: @@ -14,7 +15,7 @@ sessions: name: Optimizing Containerized Java Apps with Jib, GraalVM, CDS, and CRaC isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/machadfe linkType: Twitter - title: LinkedIn diff --git a/_speakers/freddy-guime.md b/_speakers/freddy-guime.md deleted file mode 100644 index ea218ca6..00000000 --- a/_speakers/freddy-guime.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: 4d4ac30a-3cf4-4c64-99d4-8261e8e966ad -firstName: Freddy -lastName: Guime -fullName: Freddy Guime -bio: "Freddy is a Principal Developer at Expedia. Always dealing with performance - and usability he is always curious on how to make the overabundance of data useful - for travelers, traders and consumers. Having worked with different technologies - before has allowed him to come with solutions to rendering bottleneck problems. - A Usability Guru, Freddy understands and bridges the concepts of high-throughput - with usability within software.\r\n\r\nHe is also the author and maintainer of the - javapubhouse.com, a podcast dedicated to tutorial topics in Java that covers everything - from the use of the keyword volatile to the definition of beautiful code, also of - javaoffheap.com, a java news podcast.\r\n\r\n" -tagLine: Principal Engineer - Expedia Group -profilePicture: https://sessionize.com/image/28a9-400o400o1-HymvfXXNZJkWKg9Avg3V5p.jpg -sessions: -- id: 754896 - name: The OffHeap Podcast. Devnexus Edition (Now with more AI) -isTopSpeaker: false -links: -- title: Twitter - url: https://twitter.com/fguime - linkType: Twitter -- title: LinkedIn - url: https://www.linkedin.com/in/fguime/ - linkType: LinkedIn -questionAnswers: -- id: 81698 - question: Company - questionType: Short_Text - answer: Expedia Group - sort: 17 - answerExtra: -- id: 81702 - question: 'Twitter handle with @ ex: @prpatel' - questionType: Short_Text - answer: "@fguime" - sort: 21 - answerExtra: -- id: 81705 - question: LinkedIn URL - questionType: Short_Text - answer: https://www.linkedin.com/in/fguime/ - sort: 22 - answerExtra: -categories: [] -slug: freddy-guime - ---- diff --git a/_speakers/gant-laborde.md b/_speakers/gant-laborde.md index f46a95ec..6e125b31 100644 --- a/_speakers/gant-laborde.md +++ b/_speakers/gant-laborde.md @@ -26,7 +26,7 @@ sessions: name: Complex Problems... and other ways to disappoint your friends. isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/GantLaborde linkType: Twitter - title: LinkedIn diff --git a/_speakers/garry-galinsky.md b/_speakers/garry-galinsky.md new file mode 100644 index 00000000..ad5effc6 --- /dev/null +++ b/_speakers/garry-galinsky.md @@ -0,0 +1,40 @@ +--- +id: 9e911c91-495e-4dd3-a06a-0eaa3be9c3f7 +firstName: Garry +lastName: Galinsky +fullName: Garry Galinsky +bio: 'Garry Galinsky has over 20 years of progressive high tech experience in the + Telecommunications, Local Search, Internet, and Financial industries. During his + career, Garry has successfully designed, developed, delivered, and evangelized multiple + Internet, web 2.0, local & social search, and mobile solutions to small, medium, + and large corporate customers in North America, Europe, the Middle East, and Asia. ' +tagLine: Principal Solutions Architect +profilePicture: https://sessionize.com/image/4369-400o400o1-SPiTVHFeYiddvcz8b7jdqL.jpg +sessions: +- id: 825095 + name: 'Unlock the Power of Generative AI: Simplifying Ad Creation' +isTopSpeaker: false +links: [] +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Amazon Web Services + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@galinsky" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/garrygalinsky/ + sort: 22 + answerExtra: +categories: [] +slug: garry-galinsky + +--- diff --git a/_speakers/gerald-venzl.md b/_speakers/gerald-venzl.md deleted file mode 100644 index a11691ce..00000000 --- a/_speakers/gerald-venzl.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: d389ed05-18fe-4c1b-a9ba-c11417d11ad8 -firstName: Gerald -lastName: Venzl -fullName: Gerald Venzl -bio: Gerald Venzl is the Lead Product Manager of Developer Initiatives, Oracle Database - technologies. During his career, Gerald has worked as a Developer, DBA, Performance - Engineer, Software Architect, Consultant, Enterprise Architect and Distinguished - Product Manager before his current role. He is still active as a developer in his - free time and on open-source projects. This allowed Gerald to live several different - lives in the IT sector, providing him with a solid understanding of the concerns - in these respective areas while gaining a holistic view overall. Gerald focuses - on advocating how to build systems that offer flexibility yet still meet the users' - needs. He is also a member of the ISO SQL Standard committee. -tagLine: Defender of common sense in a practical world -profilePicture: https://sessionize.com/image/c40d-400o400o1-wwvx44zC8vA7iAsijxP2QU.jpg -sessions: -- id: 729888 - name: Polyglot persistence - which data model to pick for your workload? -isTopSpeaker: false -links: -- title: X (Twitter) - url: https://twitter.com/GeraldVenzl - linkType: Twitter -- title: LinkedIn - url: https://www.linkedin.com/in/geraldvenzl/ - linkType: LinkedIn -questionAnswers: -- id: 81698 - question: Company - questionType: Short_Text - answer: Oracle - sort: 17 - answerExtra: -- id: 81702 - question: 'Twitter handle with @ ex: @prpatel' - questionType: Short_Text - answer: "@geraldvenzl" - sort: 21 - answerExtra: -- id: 81705 - question: LinkedIn URL - questionType: Short_Text - answer: https://www.linkedin.com/in/geraldvenzl/ - sort: 22 - answerExtra: -categories: [] -slug: gerald-venzl - ---- diff --git a/_speakers/harry-hoots-iii.md b/_speakers/harry-hoots-iii.md index 3bb4a9aa..9f093b51 100644 --- a/_speakers/harry-hoots-iii.md +++ b/_speakers/harry-hoots-iii.md @@ -13,7 +13,7 @@ tagLine: 'IBM Software Engineer ' profilePicture: https://sessionize.com/image/a3c2-400o400o1-h1RAQcV7BnmpqzqwBaGhAt.jpg sessions: - id: 751791 - name: A developers guide to running SpringBoot applications on Open Liberty + name: A developers guide to running Spring Boot applications on Open Liberty isTopSpeaker: false links: - title: Twitter diff --git a/_speakers/hugo-guerrero.md b/_speakers/hugo-guerrero.md deleted file mode 100644 index 0f55c07e..00000000 --- a/_speakers/hugo-guerrero.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -id: a4797c7b-e72c-4619-9a92-c8c667a43a88 -firstName: Hugo -lastName: Guerrero -fullName: Hugo Guerrero -bio: "I'm an information technology professional with 20+ years of experience in software - development. I have worked as a developer, consultant, architect, and software development - manager with major clients in the private and federal public sectors. \r\n\r\nCurrently, - I'm an open source developer advocate. In this role, I help the marketing team with - technical overview and support to create, edit and curate product content. The content - is shared with the communities through webinars, conferences, and other activities. - I also develop workshops and support material to help the internal and partner enablement.\r\n\r\nSoftware - development is my passion and I have been able to make it my life. As a passionate - traveler, history, and food enthusiast, when I'm not at work I love to grab my suitcase - and travel around the world in search of the tastiest food.\r\n\r\nI have a bachelor's - degree in engineering from Tec de Monterrey Campus Monterrey and I'm always happy - to contact old friends and coworkers, so contact me to get in touch.\r\n\r\nFor - the past 20 years, Red Hat’s development model has produced high-performing, cost-effective - solutions. Today, more than 90% of Fortune 500 companies rely on Red Hat. We offer - the only fully open technology stack, from operating system to middleware, storage - to cloud, and virtualization solutions. We also provide a variety of services, including - award-winning support, consulting, and training." -tagLine: Red Hat, Chief Software Architect, APIs & Integration Developer Advocate -profilePicture: https://sessionize.com/image/a574-400o400o1-wp31BuRegNsCM4CrSjY4ni.jpg -sessions: -- id: 770645 - name: Building APIs in the AI Era -isTopSpeaker: false -links: [] -questionAnswers: -- id: 81698 - question: Company - questionType: Short_Text - answer: Red Hat - sort: 17 - answerExtra: -- id: 81702 - question: 'Twitter handle with @ ex: @prpatel' - questionType: Short_Text - answer: "@hguerreroo" - sort: 21 - answerExtra: -- id: 81705 - question: LinkedIn URL - questionType: Short_Text - answer: https://www.linkedin.com/in/hugoguerrero/ - sort: 22 - answerExtra: -categories: [] -slug: hugo-guerrero - ---- diff --git a/_speakers/james-falkner.md b/_speakers/james-falkner.md new file mode 100644 index 00000000..3b78c87e --- /dev/null +++ b/_speakers/james-falkner.md @@ -0,0 +1,48 @@ +--- +id: b9f343b4-5370-4839-bd53-572b0322882e +firstName: James +lastName: Falkner +fullName: James Falkner +bio: "Technology evangelist, teacher, learner, author, dedicated to open source and + open computing. I work at Red Hat as a product marketing director for Red Hat's + portfolio of open source products and love what we do and learning from others, + and occasionally teaching at conferences.\r\n\r\n" +tagLine: Director, Red Hat Runtimes Technical Marketing +profilePicture: https://sessionize.com/image/623e-400o400o1-ar9PEMPtUSyWbeJZVUxjrU.jpg +sessions: +- id: 751412 + name: 'Practical AI Lab for Enterprise Java Developers: From Zero to Hero' +- id: 751398 + name: 'Supercharge Agentic AI Projects: A DevEx-Driven Approach to Cloud-Native + Scaffolding' +isTopSpeaker: false +links: +- title: Twitter + url: https://twitter.com/schtool + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/jamesfalkner0/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Red Hat + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@schtool" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/jamesfalkner0/ + sort: 22 + answerExtra: +categories: [] +slug: james-falkner + +--- diff --git a/_speakers/jamie-coleman.md b/_speakers/jamie-coleman.md new file mode 100644 index 00000000..9f799750 --- /dev/null +++ b/_speakers/jamie-coleman.md @@ -0,0 +1,49 @@ +--- +id: eb8e3906-8c75-4876-9fe1-0aca5db8ef40 +firstName: Jamie +lastName: Coleman +fullName: Jamie Coleman +bio: "Jamie is a Developer Advocate for Loqate formally at IBM & Sonatype, based in + the UK. He talks about the importance of security in software, improving developer + productivity, data quality AI and raising awareness about energy consumption of + technology.\r\nPassionate about discovering ways to help reduce developers carbon + footprint, he is also a subject matter expert in containerised solutions and build + technologies. He fell in love with Java at University and has gone on to talk at + many conferences about using Java with microservices and related technologies. He + has worked on a wide variety of projects such as modernising IBM CICS mainframe + testing infrastructure, creating, and automating the creation of Docker images for + IBM’s products and contributing to a DevOps pipeline offering." +tagLine: Loqate +profilePicture: https://sessionize.com/image/a415-400o400o1-GC2PgsADGr9ZX5WgDnPBzJ.jpg +sessions: +- id: 784396 + name: 'Black Friday Brilliance: Managing a Billion Transactions with Tech, Tactics, + and Teamwork' +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/Jamie_Lee_C + linkType: Twitter +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Loqate + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@Jamie_Lee_C" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/jamie-coleman/ + sort: 22 + answerExtra: +categories: [] +slug: jamie-coleman + +--- diff --git a/_speakers/jeanne-boyarsky.md b/_speakers/jeanne-boyarsky.md index fea80a14..1de14a9e 100644 --- a/_speakers/jeanne-boyarsky.md +++ b/_speakers/jeanne-boyarsky.md @@ -14,7 +14,7 @@ tagLine: 'Java Author: Cert books & Real World Java' profilePicture: https://sessionize.com/image/5789-400o400o1-HHbAw2bpM1RQfrcBTsofHR.jpg sessions: - id: 747847 - name: Logging Deep Dive + name: Mastering Logging in Java isTopSpeaker: false links: - title: Twitter diff --git a/_speakers/jennifer-reif.md b/_speakers/jennifer-reif.md deleted file mode 100644 index 02759f73..00000000 --- a/_speakers/jennifer-reif.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -id: e8154769-ac25-4c42-890f-6ccd70e2ec79 -firstName: Jennifer -lastName: Reif -fullName: Jennifer Reif -bio: Jennifer Reif is a Developer Relations Engineer at Neo4j, speaker, and blogger - with an MS in CMIS. An avid developer and problem-solver, she has worked with many - businesses and projects to organize and make sense of widespread data assets and - leverage them for maximum business value. She has expertise in a variety of commercial - and open source tools, and she enjoys learning new technologies, sometimes on a - daily basis! Her passion is finding ways to organize chaos and deliver software - more effectively. -tagLine: Neo4j Developer Relations Engineer -profilePicture: https://sessionize.com/image/57e0-400o400o1-PAM74upE4799Tu7rb79G8W.jpg -sessions: -- id: 739382 - name: 'Commonly Uncommon: Diverse Paths that Lead to Winning Outcomes' -isTopSpeaker: false -links: -- title: Twitter - url: https://twitter.com/JMHReif - linkType: Twitter -- title: LinkedIn - url: https://www.linkedin.com/in/jmhreif/ - linkType: LinkedIn -questionAnswers: -- id: 81698 - question: Company - questionType: Short_Text - answer: Neo4j - sort: 17 - answerExtra: -- id: 81702 - question: 'Twitter handle with @ ex: @prpatel' - questionType: Short_Text - answer: "@JMHReif" - sort: 21 - answerExtra: -- id: 81705 - question: LinkedIn URL - questionType: Short_Text - answer: https://www.linkedin.com/in/jmhreif/ - sort: 22 - answerExtra: -categories: [] -slug: jennifer-reif - ---- diff --git a/_speakers/jeremy-meiss.md b/_speakers/jeremy-meiss.md new file mode 100644 index 00000000..3a32f576 --- /dev/null +++ b/_speakers/jeremy-meiss.md @@ -0,0 +1,49 @@ +--- +id: 56115ae3-406f-47af-818c-20354acc07b2 +firstName: Jeremy +lastName: Meiss +fullName: Jeremy Meiss +bio: Jeremy is an international speaker and currently the Director of DevRel at OneStream + Software, previously at CircleCI, Solace, Auth0, and XDA. With almost 30 years in + Tech, covering just about every functional area, including support, system and database + administration, application and web development, project management, program management, + and systems analysis, Jeremy is active in the DevRel and DevOps communities, a co-creator + of DevOpsPartyGames.com, and organizer for DevOpsDays Kansas City. A lover of all + things coffee, community, open source, and tech, he is also house-broken, and (generally) + plays well with others. +tagLine: Developer Experience & Community Leader +profilePicture: https://sessionize.com/image/1f95-400o400o1-SMXXHoVnzy6h19Y4Cu54Ec.png +sessions: +- id: 838546 + name: 'The Human Factor in DevOps: Because Even Robots Need Good Teammates (Almost)' +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/IAmJerdog + linkType: Twitter +- title: LinkedIn + url: https://linkedin.com/in/jeremymeiss + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: N/A + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@IAmJerdog" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://linkedin.com/in/jeremymeiss + sort: 22 + answerExtra: +categories: [] +slug: jeremy-meiss + +--- diff --git a/_speakers/jorge-cajas.md b/_speakers/jorge-cajas.md index adcd1016..cec22402 100644 --- a/_speakers/jorge-cajas.md +++ b/_speakers/jorge-cajas.md @@ -9,7 +9,7 @@ tagLine: Manager @ MangoChango profilePicture: https://sessionize.com/image/bbc4-400o400o1-Wsva8hGVPTdXE2mTwSNr1u.jpg sessions: - id: 746924 - name: 'JakartaEE meets AI: Beyond the chatbot with Langchain4j' + name: 'Jakarta EE meets AI: Beyond the chatbot with LangChain4j' isTopSpeaker: false links: - title: Twitter diff --git a/_speakers/josh-long.md b/_speakers/josh-long.md index b6034a48..9ce5b72f 100644 --- a/_speakers/josh-long.md +++ b/_speakers/josh-long.md @@ -13,6 +13,10 @@ bio: 'Josh (@starbuxman) is the Spring Developer Advocate at Pivotal. Josh is a tagLine: Spring Developer Advocate, Pivotal profilePicture: https://sessionize.com/image/1c2f-400o400o1-TbAFhMW5XdfBkKGsu9z4we.jpg sessions: +- id: 771631 + name: 'Spring AI: Seamlessly Integrating AI into Your Enterprise Java Applications' +- id: 800031 + name: 'Building Scalable Systems and Services with Spring Boot 3.4 ' - id: 763722 name: 'Bootiful Spring Boot: A DOGumentary' isTopSpeaker: false diff --git a/_speakers/kenneth-kousen.md b/_speakers/kenneth-kousen.md index 31f9d3b5..ca172eec 100644 --- a/_speakers/kenneth-kousen.md +++ b/_speakers/kenneth-kousen.md @@ -15,11 +15,11 @@ bio: "Ken Kousen is the author of the Pragmatic Programmers books \"Mockito Made tagLine: President, Kousen IT, Inc. profilePicture: https://sessionize.com/image/03d9-400o400o1-LBfebaEnfDgihWECZf46pX.png sessions: -- id: 751645 - name: 'LangChain4j: The Awesome Framework for AI and Java' +- id: 751652 + name: Managing Your AI-Driven Manager isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/kenkousen linkType: Twitter - title: LinkedIn diff --git a/_speakers/kevin-dubois.md b/_speakers/kevin-dubois.md index 95ea1dee..0ff6d151 100644 --- a/_speakers/kevin-dubois.md +++ b/_speakers/kevin-dubois.md @@ -21,8 +21,8 @@ profilePicture: https://sessionize.com/image/7df3-400o400o1-WoJXMV1WNg5WJ88aFuYT sessions: - id: 734811 name: Create AI-Infused Java Apps with LangChain4j -- id: 743625 - name: 'Platform Engineering 101: Building Internal Developer Platforms' +- id: 770645 + name: Building APIs in the AI Era isTopSpeaker: false links: - title: X (Twitter) diff --git a/_speakers/kito-mann.md b/_speakers/kito-mann.md new file mode 100644 index 00000000..46449b48 --- /dev/null +++ b/_speakers/kito-mann.md @@ -0,0 +1,49 @@ +--- +id: ff0a1dd3-c9f2-48e2-88a8-9c0e429251be +firstName: Kito +lastName: Mann +fullName: Kito Mann +bio: Kito D. Mann is the Principal Consultant at Virtua, Inc., specializing in enterprise + application architecture, training, development, and mentoring with microservices, + cloud, Web Components, Angular, and Jakarta/Java EE technologies. He is also the + co-host of The Stackd Podcast and the author of JavaServer Faces in Action. Mann + has participated in several Java Community Process expert groups (including CDI, + JSF, and Portlets) and is an internationally recognized speaker. He is also a Java + Champion and Google Developer Expert in Web Technologies. He holds a BA in Computer + Science from Johns Hopkins University. +tagLine: 'Principal Consultant, Virtua, Inc. ' +profilePicture: https://sessionize.com/image/c7e2-400o400o1-VUNXct1q21jDDr529GtJJy.jpg +sessions: +- id: 754875 + name: Foundations of Modern Java Server Apps +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/kito99 + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/kitomann/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Virtua, Inc. + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@kito99" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/kitomann/ + sort: 22 + answerExtra: +categories: [] +slug: kito-mann + +--- diff --git a/_speakers/luis-majano.md b/_speakers/luis-majano.md new file mode 100644 index 00000000..23f4cd37 --- /dev/null +++ b/_speakers/luis-majano.md @@ -0,0 +1,51 @@ +--- +id: 01ad1e48-e43b-4af2-b3f3-e65232d55ff1 +firstName: Luis +lastName: Majano +fullName: Luis Majano +bio: "Luis Majano is a Computer Engineer, published author, founder, and CEO of Ortus + Solutions, Corp (www.ortussolutions.com), a consulting firm specializing in open-source + tooling, web development, architecture, and professional open-source.\r\n\r\nHe + has been designing and working with software architecture and technologies since + the year 2000. He has a passion for learning and mentoring developers so they can + succeed with sustainable software practices and the usage and development of open-source + software.\r\n\r\nHe is the creator of ColdBox HMVC, ContentBox Modular CMS, TestBox + BDD, CommandBox CLI, and over 200 open-source projects. He speaks regularly at + several international conferences and you can read his blog at www.luismajano.com.\r\n" +tagLine: Christian, Husband, Father, Engineer, Author - CEO of Ortus Solutions, creator + of ColdBox HMVC, TestBox, CommandBox, ContentBox CMS & many more POSS projects. +profilePicture: https://sessionize.com/image/fc4b-400o400o1-Q14LzEUeY3dLoFjrvsQPiY.jpg +sessions: +- id: 734869 + name: BoxLang - The Future is Dynamic +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/lmajano + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/lmajano/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Ortus Solutions, Corp + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: lmajano + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/lmajano/ + sort: 22 + answerExtra: +categories: [] +slug: luis-majano + +--- diff --git a/_speakers/madhuvanthi-v.md b/_speakers/madhuvanthi-v.md new file mode 100644 index 00000000..f2487123 --- /dev/null +++ b/_speakers/madhuvanthi-v.md @@ -0,0 +1,41 @@ +--- +id: 8fc26242-b3ec-4e47-b3e2-3e2fc6f9d459 +firstName: Madhuvanthi +lastName: V +fullName: Madhuvanthi V +bio: I am a Software Developer at IBM. My expertise lies in Java and Full-Stack application + development. I’m also deeply involved in tech communities and other related activities, + which keeps me engaged with new ideas and trends in the industry. +tagLine: Software Developer at IBM +profilePicture: https://sessionize.com/image/d235-400o400o1-sxLSXePXruuo6VN3P8ZzGg.jpg +sessions: +- id: 751261 + name: 'Concurrency redefined: what’s new in Jakarta Concurrency 3.1' +isTopSpeaker: false +links: +- title: LinkedIn + url: https://www.linkedin.com/in/madhuvanthi-v/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: IBM + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@VMadhuvant44858" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/madhuvanthi-v/ + sort: 22 + answerExtra: +categories: [] +slug: madhuvanthi-v + +--- diff --git a/_speakers/mahmoud-ben-hassine.md b/_speakers/mahmoud-ben-hassine.md new file mode 100644 index 00000000..97da6d08 --- /dev/null +++ b/_speakers/mahmoud-ben-hassine.md @@ -0,0 +1,46 @@ +--- +id: b7081806-6f1d-4d53-803a-b5f7ecabc1b0 +firstName: Mahmoud +lastName: Ben Hassine +fullName: Mahmoud Ben Hassine +bio: Mahmoud is the Lead of Spring Batch at VMware. He is a passionate software engineer + with 15 years of experience in enterprise software development. Mahmoud is an open + source advocate and has contributed to several open source projects. When he is + not coding, Mahmoud enjoys spending time with his family and friends, reading, running + and playing chess! +tagLine: Spring Batch Lead, VMware +profilePicture: https://sessionize.com/image/2dbb-400o400o1-sd9sJGzmXUndjEPZG4Z7Tb.jpg +sessions: +- id: 779565 + name: 'Spring Batch 5.2 and beyond: What''s new and what''s coming next' +isTopSpeaker: false +links: +- title: Twitter + url: https://twitter.com/fmbenhassine + linkType: Twitter +- title: LinkedIn + url: http://linkedin.com/in/fmbenhassine + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: broadcom + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@fmbenhassine" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/fmbenhassine + sort: 22 + answerExtra: +categories: [] +slug: mahmoud-ben-hassine + +--- diff --git a/_speakers/mark-heckler.md b/_speakers/mark-heckler.md index efb09f86..e2fa8d18 100644 --- a/_speakers/mark-heckler.md +++ b/_speakers/mark-heckler.md @@ -19,7 +19,7 @@ sessions: Cloud' isTopSpeaker: false links: -- title: Twitter +- title: X (Twitter) url: https://twitter.com/mkheck linkType: Twitter - title: LinkedIn diff --git a/_speakers/michael-redlich.md b/_speakers/michael-redlich.md new file mode 100644 index 00000000..f9b52710 --- /dev/null +++ b/_speakers/michael-redlich.md @@ -0,0 +1,60 @@ +--- +id: 9820a802-240a-4fc0-9541-36ff1c2f760b +firstName: Michael +lastName: Redlich +fullName: Michael Redlich +bio: "Michael Redlich has been an active member within the Java community for the + past 25 years. He founded the Garden State Java User Group (formerly the ACGNJ Java + Users Group) in 2001 where he serves as one of the directors. Since 2016, Mike has + served as a Java community news editor for InfoQ where his contributions include + the weekly Java news roundup, news items, technical articles and technical reviews + from external authors. He is currently the lead Java Queue editor. Mike joined Payara + as a contract Developer Advocate and Technical Writer in the summer of 2023.\r\n\r\nHe + has presented at venues such as Devnexus, Oracle Code One, JCON World, Emerging + Technologies for the Enterprise, Trenton Computer Festival (TCF), TCF IT Professional + Conference, and numerous Java User Groups. Mike serves as a committer on the Jakarta + NoSQL and Jakarta Data specifications and the Eclipse JNoSQL project. He also participates + on the leadership council of the Jakarta EE Ambassadors. Mike was named a Java Champion + in April 2023.\r\n\r\nMike retired from ExxonMobil Technology & Engineering in June + 2023 with 33½ years of service. His experience included developing custom scientific + laboratory and web applications, polymer physics, chemometrics, infrared spectroscopy + and automotive testing. He also has experience as a Technical Support Engineer at + Ai-Logix, Inc. (now AudioCodes) where he provided technical support and developed + telephony applications for customers.\r\n" +tagLine: Java Champion | Director at Garden State JUG | Lead Java Editor at InfoQ + Java | Contract Developer Advocate and Technical Writer at Payara +profilePicture: https://sessionize.com/image/2016-400o400o1-XpP3ZWPcLGLTeV4xTgAa48.jpg +sessions: +- id: 750246 + name: A Developer's Guide to Jakarta EE 11 +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/mpredli + linkType: Twitter +- title: LinkedIn + url: http://www.linkedin.com/pub/michael-redlich/0/966/13a + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Garden State Java User Group + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@mpredli" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/michael-redlich-13a966 + sort: 22 + answerExtra: +categories: [] +slug: michael-redlich + +--- diff --git a/_speakers/mo-haghighi.md b/_speakers/mo-haghighi.md new file mode 100644 index 00000000..8e0689ca --- /dev/null +++ b/_speakers/mo-haghighi.md @@ -0,0 +1,53 @@ +--- +id: 21924ec2-96d9-4b4a-b2c8-99dd2efb77a7 +firstName: Mo +lastName: Haghighi +fullName: Mo Haghighi +bio: Dr Mo Haghighi is distinguished engineer/director for Cloud Platform and Infrastructure + at Discover Financial Services. His current focus is hybrid and multi-cloud strategy, + application modernisation and automating application/workload migration across public + and private clouds. Previously, he held various leadership positions as a program + director at IBM, where he led Developer Ecosystem and Cloud Engineering teams in + 27 countries across Europe, Middle East and Africa. Prior to IBM, he was a research + scientist at Intel and a Java developer at Sun Microsystems/Oracle. Mo obtained + a PhD in computer science, and his primary areas of expertise are distributed and + edge computing, cloud native, IoT and AI, with several publications and patents + in those areas. Mo is a regular keynote/speaker at major developer conferences including + DevOpsCon, Java/Code One, Codemotion, DevRelCon, O’Reilly, The Next Web, DevNexus, + IEEE/ACM, ODSC, AiWorld, CloudConf and Pycon. +tagLine: Distinguished Engineer +profilePicture: https://sessionize.com/image/847b-400o400o1-c2-96d9-4b4a-b2c8-99dd2efb77a7.821c48d1-543c-4922-b5b1-f9e6b8dbb291.JPEG +sessions: +- id: 844129 + name: Developer Productivity with Large Language Models +isTopSpeaker: false +links: +- title: Twitter + url: http://twitter.com/mohaghighi + linkType: Twitter +- title: LinkedIn + url: http://linkedin.com/in/mohaghighi + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: 'Discover Financial Services ' + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@mohaghighi" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/mohaghighi + sort: 22 + answerExtra: +categories: [] +slug: mo-haghighi + +--- diff --git a/_speakers/nikhil-nanivadekar.md b/_speakers/nikhil-nanivadekar.md new file mode 100644 index 00000000..e1dd6eff --- /dev/null +++ b/_speakers/nikhil-nanivadekar.md @@ -0,0 +1,54 @@ +--- +id: b1c4a924-b6db-453f-91d2-16b0fcf3bafd +firstName: Nikhil +lastName: Nanivadekar +fullName: Nikhil Nanivadekar +bio: Nikhil currently works as a Principal Engineer at Amazon. Prior to working at + Amazon, Nikhil worked in the financial sector designing and developing mission critical + applications. He holds a Bachelor’s degree in Mechanical Engineering from the University + of Pune, and a Master’s of Science in Mechanical Engineering with a specialization + in robotics and controls from the University of Utah. He has always been passionate + about open-source software, and is the active project lead of the open-source Eclipse + Collections library. He has hosted workshops and talks revolving around the theme + of robotics, data structures, and introductory talks to share his enthusiasm about + different technologies. He is a regular speaker at technical conferences worldwide. + Nikhil has contributed to 97 Things Every Java Programmer Should Know (O’Reilly) + and 97 Things Every Cloud Engineer Should Know(O’Reilly). In 2018, Nikhil was selected + as a Java Champion. He enjoys cooking with his family, hiking, skiing, reading, + and working with animal rescue and relief organizations. +tagLine: Principal Engineer, Amazon +profilePicture: https://sessionize.com/image/1a9c-400o400o1-24-b6db-453f-91d2-16b0fcf3bafd.5fad5095-f522-48bc-a490-dacfe9532e22.jpg +sessions: +- id: 825095 + name: 'Unlock the Power of Generative AI: Simplifying Ad Creation' +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/NikhilNanivade + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/nikhil-n-331a8329 + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Amazon + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@nikhilnanivade" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/nikhilnanivadekar/ + sort: 22 + answerExtra: +categories: [] +slug: nikhil-nanivadekar + +--- diff --git "a/_speakers/ondro-mih\303\241lyi.md" "b/_speakers/ondro-mih\303\241lyi.md" new file mode 100644 index 00000000..cd76d120 --- /dev/null +++ "b/_speakers/ondro-mih\303\241lyi.md" @@ -0,0 +1,52 @@ +--- +id: a525f812-1f48-41fa-a4cf-cd6c10fb3f69 +firstName: Ondro +lastName: Mihályi +fullName: Ondro Mihályi +bio: "Ondro is a software developer and consultant specializing in combining standard + and proven tools to solve new and challenging problems. He's been developing in + Java for over 10 years. He’s worked for clients like Payara, LottoLand, Uniqa and + others. \r\n\r\nHe has co-founded OmniFish, which provides enterprise support for + Eclipse GlassFish and expert Jakarta EE services. He’s passionate about helping + his clients and the wider Java community with their projects based on Jakarta EE + and similar technologies.\r\n\r\nAs an experienced Java developer and instructor, + he's helped companies build and educate their development teams and improve their + development processes.\r\nHe's a core member of several opensource projects and + Jakarta EE specification projects. He’s a frequent conference speaker, leader of + the Czech JUG, and a Java Champion.\r\n" +tagLine: Director, Jakarta EE Expert at OmniFish +profilePicture: https://sessionize.com/image/dda8-400o400o1-hvFkaVdZP2DJ8AQYU1NmW7.jpg +sessions: +- id: 751804 + name: Migrating from Java EE - to Spring Boot or something else? +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/OndroMih + linkType: Twitter +- title: LinkedIn + url: https://cz.linkedin.com/in/mihalyiondrej + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: OmniFish + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@OndroMih" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://cz.linkedin.com/in/mihalyiondrej + sort: 22 + answerExtra: +categories: [] +slug: ondro-mihályi + +--- diff --git a/_speakers/petr-aubrecht.md b/_speakers/petr-aubrecht.md index 8679085f..dfc7621f 100644 --- a/_speakers/petr-aubrecht.md +++ b/_speakers/petr-aubrecht.md @@ -14,7 +14,7 @@ tagLine: Payara Services, Senior Software Engineer profilePicture: https://sessionize.com/image/fa00-400o400o1-wKBFFrWDYeQvabzxf9S3zR.jpg sessions: - id: 750035 - name: Connected Industries with an Edge + name: 'Jakarta EE: Connected Industries with an Edge' isTopSpeaker: false links: [] questionAnswers: diff --git a/_speakers/richard-fichtner.md b/_speakers/richard-fichtner.md new file mode 100644 index 00000000..f03a8b4d --- /dev/null +++ b/_speakers/richard-fichtner.md @@ -0,0 +1,51 @@ +--- +id: c53d0ee3-4ee1-4a19-ac0a-26a38a4c43af +firstName: Richard +lastName: Fichtner +fullName: Richard Fichtner +bio: Richard Fichtner is Principal Software Architect at XDEV Software GmbH and has + worked in the software industry for more than 20 years, often at the interface between + business and technology. He is involved in the open-source community to spread knowledge + about Java technologies. He speaks at conferences and contributes to various open-source + projects such as https://www.rapidclipse.com/. Richard is a leader of the Java User + Group Oberpfalz, Co-organizer of JCON conferences https://jcon.one/, recognized + as Java Champion, Oracle ACE Pro, IBM Champion and holds a Master of Science degree + in applied computer science. He is passionate about enabling developer productivity + and supports teams in the use of cloud solutions. His interests are Java, clean + code, cloud, new technologies and everything pragmatic. +tagLine: Principal Software Architect / CEO at XDEV Software GmbH +profilePicture: https://sessionize.com/image/0dfd-400o400o1-SxrV6UaTfdNi5HK88LWvKW.jpg +sessions: +- id: 751799 + name: Java and the Internet of Things +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/RichardFichtner + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/richardfichtner/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: XDEV Software GmbH + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@RichardFichtner" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/richardfichtner/ + sort: 22 + answerExtra: +categories: [] +slug: richard-fichtner + +--- diff --git a/_speakers/rohit-bhardwaj.md b/_speakers/rohit-bhardwaj.md index a3d688a6..4e21e38e 100644 --- a/_speakers/rohit-bhardwaj.md +++ b/_speakers/rohit-bhardwaj.md @@ -19,6 +19,9 @@ bio: Rohit Bhardwaj is the Director of Architecture at Salesforce, where he spec tagLine: Director of Architecture, CTO, Salesforce profilePicture: https://sessionize.com/image/22e3-400o400o1-Y9DATxkJE8fWD1XBuFSRCP.jpg sessions: +- id: 753084 + name: 'Securing the Digital Landscape: A Deep Dive into OWASP Top 10 for Applications, + APIs, and LLMs' - id: 753081 name: Mastering the System Design Methodology isTopSpeaker: false diff --git a/_speakers/roni-dover.md b/_speakers/roni-dover.md new file mode 100644 index 00000000..a4a9ed17 --- /dev/null +++ b/_speakers/roni-dover.md @@ -0,0 +1,49 @@ +--- +id: 223365e9-c6b0-437a-a028-e69038ad44c0 +firstName: Roni +lastName: Dover +fullName: Roni Dover +bio: Holistic developer and builder with a passion for development processes and practices. + Afflicted by an acute Product Manager/Developer split personality disorder that + was never treated. Currently, CTO and co-founder of Digma (digma.ai), an IDE plugin + for code runtime AI analysis to help accelerate development in complex codebases. + A big believer in evidence-based development, and a proponent of Continuous Feedback + in all aspects of Software Engineering. +tagLine: 'Infovore, product developer, and a board game geek. Writing and talking + about development practices, Devops, and design/architecture topics. ' +profilePicture: https://sessionize.com/image/d782-400o400o1-LMjkq5edS6wEP34gJBPzYE.jpg +sessions: +- id: 782799 + name: OpenTelemetry and Continuous Feedback - Things you need to know about Spring + application at runtime +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/doppleware + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/ronidover/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Digma + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@doppleware" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/ronidover/ + sort: 22 + answerExtra: +categories: [] +slug: roni-dover + +--- diff --git a/_speakers/sandon-jacobs.md b/_speakers/sandon-jacobs.md new file mode 100644 index 00000000..0cc56ddc --- /dev/null +++ b/_speakers/sandon-jacobs.md @@ -0,0 +1,47 @@ +--- +id: 81c2a2e6-f9f4-4acf-abf3-d6a26409bc30 +firstName: Sandon +lastName: Jacobs +fullName: Sandon Jacobs +bio: Sandon Jacobs is a Senior Developer Advocate at Confluent based in North Carolina. + Sandon has built microservices and event streaming applications in several industries + - including television media, energy, mobile advertising, rail freight logistics, + and healthcare. This experience spans multiple JVM languages - Java, Scala, Kotlin, + Groovy - with smatterings of Python and JavaScript along the way. +tagLine: Confluent, Senior Developer Advocate +profilePicture: https://sessionize.com/image/e66d-400o400o1-UNZu7ZMXVEzABcKDAtwg3E.jpg +sessions: +- id: 754716 + name: 'Stream Processing As You’ve Never Seen Before (Seriously): Apache Flink for + Java Developers' +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/sandonjacobs + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/sandonjacobs/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Confluent + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@SandonJacobs" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/sandonjacobs/ + sort: 22 + answerExtra: +categories: [] +slug: sandon-jacobs + +--- diff --git a/_speakers/sean-mcquaid.md b/_speakers/sean-mcquaid.md new file mode 100644 index 00000000..9b88c4ae --- /dev/null +++ b/_speakers/sean-mcquaid.md @@ -0,0 +1,46 @@ +--- +id: 27a63fc1-2981-4a83-8f13-fa986f36de8d +firstName: Sean +lastName: McQuaid +fullName: Sean McQuaid +bio: Sean is a Lead Software Engineer at Chick-fil-A where he works on overall web + architecture throughout the Operator Technology Solutions team. Prior to learning + how to code, he attended music school and played the trumpet professionally for + over a decade. Sean is very passionate about testing, performance and tools that + provide a good developer experience. +tagLine: Lead Software Engineer at Chick-fil-A +profilePicture: https://sessionize.com/image/e8ea-400o400o1-nvCP6RxeDYaSYEUPH1nup3.jpg +sessions: +- id: 751886 + name: Architecting a Front-End Project for Longevity +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/SeanMcQuaidCode + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/sean-mcquaid-292b3588/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Chick-fil-A + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: SeanMcQuaidCode + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/sean-mcquaid-292b3588/ + sort: 22 + answerExtra: +categories: [] +slug: sean-mcquaid + +--- diff --git a/_speakers/simon-brown.md b/_speakers/simon-brown.md new file mode 100644 index 00000000..d6fda1d5 --- /dev/null +++ b/_speakers/simon-brown.md @@ -0,0 +1,48 @@ +--- +id: 9530c418-5704-4313-a39c-2d027cfa2ad4 +firstName: Simon +lastName: Brown +fullName: Simon Brown +bio: Simon is an independent consultant specialising in software architecture, and + the author of “Software Architecture for Developers” (a developer-friendly guide + to software architecture, technical leadership and the balance with agility). He + is also the creator of the C4 model for visualising software architecture, and the + founder of Structurizr. Simon is a regular speaker at international software development + conferences, and travels the world to help organisations visualise and document + their software architecture. +tagLine: Independent Consultant +profilePicture: https://sessionize.com/image/8d68-400o400o1-R4hb5YcPrPypZr7moEMjD3.jpg +sessions: +- id: 754404 + name: Reverse-engineering architecture diagrams from your Java app +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/simonbrown + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/simonbrownjersey/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: "-" + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@simonbrown" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/simonbrownjersey/ + sort: 22 + answerExtra: +categories: [] +slug: simon-brown + +--- diff --git a/_speakers/simon-ritter.md b/_speakers/simon-ritter.md index dc16c85e..46f11b3f 100644 --- a/_speakers/simon-ritter.md +++ b/_speakers/simon-ritter.md @@ -27,7 +27,7 @@ links: url: https://twitter.com/speakjava linkType: Twitter - title: LinkedIn - url: https://www.linkedin.com/in/sritter/ + url: https://www.linkedin.com/in/siritter/ linkType: LinkedIn questionAnswers: - id: 81698 diff --git a/_speakers/spencer-gibb.md b/_speakers/spencer-gibb.md index c665f519..bb72f515 100644 --- a/_speakers/spencer-gibb.md +++ b/_speakers/spencer-gibb.md @@ -18,7 +18,7 @@ sessions: isTopSpeaker: false links: - title: X (Twitter) - url: https://twitter.com/spencerbgibb + url: https://x.com/spencerbgibb linkType: Twitter - title: LinkedIn url: https://www.linkedin.com/in/spencergibb/ diff --git a/_speakers/sven-peters.md b/_speakers/sven-peters.md new file mode 100644 index 00000000..9859ff38 --- /dev/null +++ b/_speakers/sven-peters.md @@ -0,0 +1,46 @@ +--- +id: 7d63385a-e91e-4983-9b08-90ced6c2a05b +firstName: Sven +lastName: Peters +fullName: Sven Peters +bio: Sven Peters, DevOps advocate at Atlassian, has been studying trends in software + development for the last 15 years uncovering the cultural and technical attributes + to help development teams work effectively and drive innovation. He has 20 years + experience in writing code, leading teams, and sharing his experience with thousands + of developers at uncountable conferences in 25+ countries. +tagLine: DevOps Advocate at Atlassian +profilePicture: https://sessionize.com/image/1528-400o400o1-ELmKof8q4XvAr84EBKLa4q.png +sessions: +- id: 751537 + name: Recalibrate - How AI Shakes Up Agile Teams +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/svenpet + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/svenpeters73/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Atlassian + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@svenpet" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/svenpeters73/ + sort: 22 + answerExtra: +categories: [] +slug: sven-peters + +--- diff --git a/_speakers/syed-m-shaaf.md b/_speakers/syed-m-shaaf.md new file mode 100644 index 00000000..58362487 --- /dev/null +++ b/_speakers/syed-m-shaaf.md @@ -0,0 +1,47 @@ +--- +id: 4e0f1b70-c9ff-4351-b21e-eee43fdd44df +firstName: Syed M +lastName: '"Shaaf"' +fullName: Syed M "Shaaf" +bio: "Shaaf is a Principal Architect at Red Hat. A contributor to Konveyor community + a CNCF Sandbox project.\r\nMostly developing code with Java, Node and recently AI/ML. + For the last 15 years, he has helped customers create and adopt open source solutions + for applications, cloud and managed service, continuous integration environments, + and frameworks. Shaaf is a technical editor and InfoQ and spends his time writing + about Kubernetes, Security and Java" +tagLine: Principal Architect @ Red Hat +profilePicture: https://sessionize.com/image/41a7-400o400o1-RyW6SgbgVRh4Xn1VYfGvRf.jpg +sessions: +- id: 751660 + name: 'Java + LLMs: A hands-on guide to building LLM Apps in Java with JakartaEE' +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://www.twitter.com/syshaaf + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/shaaf/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Red Hat + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: syshaaf + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/shaaf/ + sort: 22 + answerExtra: +categories: [] +slug: syed-m-shaaf + +--- diff --git a/_speakers/venkat-subramaniam.md b/_speakers/venkat-subramaniam.md new file mode 100644 index 00000000..6a0383a8 --- /dev/null +++ b/_speakers/venkat-subramaniam.md @@ -0,0 +1,52 @@ +--- +id: b576bdc5-c994-40f5-b1dd-e0f9f7999fa9 +firstName: Venkat +lastName: Subramaniam +fullName: Venkat Subramaniam +bio: "Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, + Inc., and an instructional professor at the University of Houston.\r\n\r\nHe has + trained and mentored thousands of software developers in the US, Canada, Europe, + and Asia, and is a regularly-invited speaker at several international conferences. + Venkat helps his clients effectively apply and succeed with sustainable agile practices + on their software projects.\r\n\r\nVenkat is a (co)author of multiple technical + books, including the 2007 Jolt Productivity award winning book Practices of an Agile + Developer. You can find a list of his books at agiledeveloper.com. You can reach + him by email at venkats@agiledeveloper.com or on twitter at @venkat_s." +tagLine: Agile Developer, Inc. +profilePicture: https://sessionize.com/image/5480-400o400o1-RPaFqq6ZZiYjxgxKBC21BA.jpg +sessions: +- id: 800469 + name: 'OOP vs. Data Oriented Programming: Which One to Choose?' +- id: 800468 + name: Refactoring to Modernize Java Applications +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/venkat_s + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/vsubramaniam/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Agile Developer, Inc. + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@venkat_s" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/vsubramaniam/ + sort: 22 + answerExtra: +categories: [] +slug: venkat-subramaniam + +--- diff --git a/_speakers/victor-grazi.md b/_speakers/victor-grazi.md new file mode 100644 index 00000000..de93815c --- /dev/null +++ b/_speakers/victor-grazi.md @@ -0,0 +1,47 @@ +--- +id: 29076748-33f5-4e17-a392-8a9ec55550c7 +firstName: Victor +lastName: Grazi +fullName: Victor Grazi +bio: Victor Grazi is SVP at BNY Pershing X. He is a Java Champion, author of several + open source projects including the popular Java Concurrent Animated, and coauthor + of the book Real World Java-Helping you navigate the Java ecosystem. He serves on + the Java Community Process Executive Committee, won an Outstanding Spec Lead award + for JSR 354 Java Money and Currency, and has presented on Java-related topics across + the globe. +tagLine: Java Champion, author and Pluralsight instructor +profilePicture: https://sessionize.com/image/9b07-400o400o1-Bna7czCzedEtwBoeUNeAbA.jpg +sessions: +- id: 747847 + name: Mastering Logging in Java +isTopSpeaker: false +links: +- title: Twitter + url: http://twitter.com/vgrazi + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/victorgrazi + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Bank of NY + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: vgrazi + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/victorgrazi + sort: 22 + answerExtra: +categories: [] +slug: victor-grazi + +--- diff --git a/_speakers/vinicius-senger.md b/_speakers/vinicius-senger.md new file mode 100644 index 00000000..11124ce2 --- /dev/null +++ b/_speakers/vinicius-senger.md @@ -0,0 +1,50 @@ +--- +id: 9548c494-2cab-45b9-af37-398f9b6d1f9d +firstName: Vinicius +lastName: Senger +fullName: Vinicius Senger +bio: Vinicius Senger is a developer, inventor, and technical speaker working for AWS + in California in the Global Specialist Team as a Senior Developer Advocate for Java. + He started developing software at just 8 years old and never stopped accumulating + 30 years of work in the IT area. Founder of Globalcode and The Developers Conference, + Vinicius was considered top 20 influencer in IoT development, Java Champion winning + two Duke's Choice Award in California for innovation projects in automation, robotics, + boats, houses, helmets and many others. Since 2017 at AWS, he has been working with + Java, IoT, Serverless, Machine Learning, Artificial Intelligence and traveling around + the world promoting open-source technologies and AWS services. +tagLine: Sr Developer Advocate for Java +profilePicture: https://sessionize.com/image/bc45-400o400o1-rpfe49GpmfNW4gW4Yt9neS.png +sessions: +- id: 750943 + name: 'Write Once, Deploy Everywhere: From Containers to Serverless' +isTopSpeaker: false +links: +- title: X (Twitter) + url: https://twitter.com/vsenger + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/viniciussenger/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Amazon Web Services + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@vsenger" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: https://www.linkedin.com/in/viniciussenger/ + sort: 22 + answerExtra: +categories: [] +slug: vinicius-senger + +--- diff --git a/_speakers/waller-goble.md b/_speakers/waller-goble.md new file mode 100644 index 00000000..ef6fa458 --- /dev/null +++ b/_speakers/waller-goble.md @@ -0,0 +1,43 @@ +--- +id: 76cd083c-68f1-46b7-8a4e-9dd9d6d6fd08 +firstName: Waller +lastName: Goble +fullName: Waller Goble +bio: Software Engineer at PayPal working on Checkout. When not coding, Waller enjoys + biking, hiking, and being from Atlanta +tagLine: Senior Software Engineer @ Paypal +profilePicture: https://sessionize.com/image/1551-400o400o1-2q6oP17bYxwrG4GG3Xigs.png +sessions: +- id: 752387 + name: Typescript Deep Dive +isTopSpeaker: false +links: +- title: Twitter + url: http://twitter.com/wallergoble + linkType: Twitter +- title: LinkedIn + url: https://www.linkedin.com/in/wallergoble/ + linkType: LinkedIn +questionAnswers: +- id: 81698 + question: Company + questionType: Short_Text + answer: Paypal + sort: 17 + answerExtra: +- id: 81702 + question: 'Twitter handle with @ ex: @prpatel' + questionType: Short_Text + answer: "@wallergoble" + sort: 21 + answerExtra: +- id: 81705 + question: LinkedIn URL + questionType: Short_Text + answer: linkedin.com/u/wallergoble + sort: 22 + answerExtra: +categories: [] +slug: waller-goble + +---