Linearly Scalable RAG Data Ingestion on Commodity Infrastructure

Details

Wednesday April 9, 2025 at Thrive Workplace Centennial(9200 E Mineral Ave, Centennial, CO 80112)

5:30-6:00: Food, Soda, Beer, and Networking

6:00-6:15: Announcements

6:15-7:45: Linearly Scalable RAG Data Ingestion on Commodity Infrastructure

The Oracle Coherence team has developed a distributed parallel data ingestion solution for Retrieval Augmented Generation (RAG) use cases. The solution’s linear scalability allows users to choose the speed of data ingestion, including document loading and chunking, and vector embedding creation, by scaling out the Coherence cluster doing the work.

Faster data ingestion allows for more frequent and rapid experimentation with document chunking strategies, and LLM selection for vector embedding creation, to improve answer quality in RAG applications. It also allows for more frequent re-ingestion of changing knowledge corpuses. Initial vetting has validated that the Coherence-based solution is at least an order of magnitude faster and cheaper than the common approach of running custom Python programs on GPUs, which are hard to find. By running on commodity infrastructure, the Coherence-based solution avoids that problem entirely.

Exhibiting architectural flexibility, the Coherence-based solution allows the created vector embeddings to be stored in Oracle Database 23ai, in OpenSearch, in Coherence itself, or in other possible stores, for later searching during generative AI chat sessions. These strengths of the Coherence-based solution – ingestion speed and architectural flexibility – are based on unique Coherence features like distributed parallel processing, grid-side eventing, and data source integration.

If you are implementing RAG features in your company or software, you might be interested in this Coherence-based solution, to optimize the speed and cost of repetitive data ingestion in your use case.

About Randy Stafford

Randy Stafford is the product manager of Oracle Coherence since 2019, after twelve years of consulting and developing on it. He was formerly Chief Architect of IQNavigator in Denver, and a member of Rally Software’s technical advisory board. Randy has contributed to the enterprise architecture patterns literature, with chapters in Martin Fowler’s Patterns of Enterprise Application Architecture, and O’Reilly’s 97 Things Every Software Architect Should Know (also O’Reilly’s 97 Things Every Programmer Should Know, and Floyd Marinescu’s EJB Design Patterns way back in the day). An old Smalltalk programmer, he was an early member of the Domain Driven Design community and has presented at many software conferences over the years.

About Aleks Seović

Aleks Seović is an architect at Oracle, where he works on Oracle Coherence, a leading in-memory data grid product, and contributes to Helidon microservices framework. Most recently, Aleks led the design and implementation of the AI-related features in Coherence, such as low-level vector storage and indexing, as well as higher level features such as scalable document ingestion, vector embeddings creation, and vector search, as part of Coherence RAG. He also leads the implementation of Coherence native clients and microservices framework integrations. Prior to joining Oracle in 2014, Aleks led a boutique consultancy practice, where he worked with customers around the world to help them implement mission critical applications using Oracle Coherence. Aleks is the author of “Oracle Coherence 3.5” (Packt Publishing, 2010) and frequently speaks about and evangelizes Coherence at industry conferences, as well as Java User Group events.

7:45: Door prizes

Thanks to our sponsors!

Posted in Uncategorized | Comments Off on Linearly Scalable RAG Data Ingestion on Commodity Infrastructure

Robert Statsinger: Business Intelligence from Running JVMs – ‘For Free’

Wednesday, March 12, 2025

5:30-6:00: Food, Soda, Beer and Networking

6:00-6:15: Announcements

6:15-7:45: Business Intelligence from Running JVMs – ‘For Free’

Your JVMs are pretty smart. Observing them while they run can teach you about things such as code that never runs, CVEs you really need to fix, and platform compliance. Runtime Observability in production Java can help reduce technical debt, improve efficiency, and reduce licensing risk – and all you need to do is watch your JVMs.

About Robert Statsinger

Robert is a Solution Architect with a background in Observability and Application Security. His prior experience includes APM, Middleware, and Embedded Systems. Robert holds a Masters Degree in Computer Science from the University of Southern California. He lives in Santa Cruz, California.

You can find Robert on LinkedIn.

7:45: Door prizes

Thanks to our sponsors!

Posted in Uncategorized | Comments Off on Robert Statsinger: Business Intelligence from Running JVMs – ‘For Free’

Daniel Hinojosa: Stay Ahead with Java’s Latest Features in JDK 23!

PLEASE NOTE: We’re back at Thrive Cherry Creek in February because Thrive Centennial was already booked.

Wednesday February 12, 2025

5:30-6:00: Food, Soda, Beer and Networking

6:00-6:15: Announcements

6:15-7:45: Stay Ahead with Java’s Latest Features in JDK 23!

Java’s evolution is remarkable, and the leap from JDK 17 to JDK 23 brings a wealth of powerful features to elevate your projects. Join us for an exciting session to explore select JEPs (Java Enhancement Proposals) introduced up to JDK 23, diving into their use cases and practical benefits for your work or open-source initiatives.

What You’ll Learn: How to enable and utilize advanced Java features introduced in JDK 23. Real-world demonstrations of cutting-edge updates, including:

  • Stream Gatherers: Handle complex data streams with ease.
  • Statements Before super(): Test invariants without constructing objects.
  • Unnamed Variables and Parameters: Enhance code readability and maintainability.
  • Launch Multi-File Source-Code Programs: Rapidly prototype with multiple source files.
  • Implicitly Declared Classes & Enhanced Main Methods: Streamline application development.
  • Updates on `switch` Expressions: We will discuss pattern matching as well as dealing with primitives in a new JEP
  • Structured Concurrency and Scoped Values. Additional concurrent APIs that are used with Virtual Threads.

About Daniel Hinojosa

Daniel Hinojosa is a programmer, consultant, instructor, speaker, and author. With over 20 years of experience, he does work for private, educational, and government institutions. Daniel loves JVM languages like Java, Groovy, and Scala; but also works with non-JVM languages like Haskell, Ruby, Python, LISP, C, and C++. He is an avid Pomodoro Technique Practitioner and makes every attempt to learn a new programming language every year. Daniel is the author of Testing in Scala and the video Beginning Scala Programming Video Series for O’Reilly Publishing. For downtime, he enjoys reading, swimming, Legos, football, and cooking.

You can find Daniel on LinkedIn.

7:45: Door prizes

Thanks to our sponsors!

Posted in Uncategorized | Comments Off on Daniel Hinojosa: Stay Ahead with Java’s Latest Features in JDK 23!

Lightning Talks!

Wednesday, December 11, 2024

5:30-6:00: Food, Soda, Beer and Networking

6:00-6:15: Announcements

6:15-7:45: Lightning Talks

For our December meetup, we’ll be doing lightning talks!

Please submit your proposals on Sessionize: https://sessionize.com/djug-talks

What is a Lightning Talk?
Lightning Talks are short, powerful presentations lasting 5 to 10 minutes that focus on a single idea, insight, or topic. They’re fast-paced, engaging, and designed to leave a lasting impression. This is your chance to share your knowledge, spark conversations, and inspire the audience—without the long-form commitment of a full presentation.

Speakers

1. Gordon Weakliem, Efficient Interviewing for Java Developers

Coding questions are an unfortunate reality of interviews and Java isn’t the most efficient language to crank out quick and dirty solutions. Yet there are techniques to improve your performance. I’ll cover some basic tricks of the trade.

2. Gabe Hamilton, AI Trust

How do you Trust your AI Agents? Did my agent find me a good deal or get fooled by Ads? Did it make a biased decision? I’ll present some techniques for building AI Trust and Reputation systems for individuals and companies.

3. Graham Shalvoy, AI did what to my resume??

Have you ever applied to a job that you were an absolute ringer for and never got a call? AI is being used to screen resumes in 90% of the Fortune 500 companies. But the problem is, it’s not very intelligent. In this short session, we will talk about how AI for ATS’s work and give you an idea on how to beat the machine.

4. Christina Naff, Cracking the Code: How I Landed a Job in Today’s Tough Market

Most of us have heard stories about top-notch developers with solid experience applying for countless jobs and getting no call-backs. Or maybe you’ve experienced this yourself. What’s going on here? Could it all just be attributed to the soft job market for IT Professionals? I’ll share some insights and best practices I picked up during my long, arduous job search this year. Some of these you may already know, but others might surprise you. My hope is to help you navigate and potentially speed up your own job search. And for those who are gainfully employed, count your blessings—but grab a pen, too. You never know when you might find yourself navigating the unpredictable waters of the job market.

5. Jarek Krych, Distributed Software for the Next-Generation Distributed Power Grid

Key highlights
* Vision of our future power grid (Distributed Energy Resources DERs, data-driven operations, real-time data, optimization, reliability, resilience);
* Power grid and distributed software system analogies.

6. Greg Ostravich, Rubik’s Cube Primer

Teach some basic moves of the Rubik’s cube, walk through the first few steps together of the 8 steps to solve using the layered method. Attendees can bring their own cube.

7:45: Door prizes

Thanks to our sponsors!

Posted in Uncategorized | Comments Off on Lightning Talks!

Laurent Doguin: Building AI Agents with Shell Scripts

Wednesday November 13th, 2024

Thrive Workplace, Centennial (9200 E Mineral Ave, Englewood, CO 80112)

Details

5:30-6:00: Food, Soda, Beer and Networking

6:00-6:15: Announcements

6:15-7:45: Building AI Agents with Shell Scripts

When considering an AI agent in its simplest form, it can be understood as a system with one or more inputs that takes action(s) based on those inputs, produces outputs for other actions, and continues this process iteratively. For developers, there are various approaches to building such systems, including workflow engines, no-code solutions, or simply coding. However, one of the most familiar concepts for devs is shell scripting, where CLI output is piped to other CLI tools using the “|” character. A powerful feature for one-liner, but devs can always do more thanks to flow control and variables supported in most shell.

Over time, numerous shells have evolved, with new ones still being created from scratch,because devs still spend time in the terminal. For example, shells like zsh and fish have become increasingly popular, and Nushell is one of the latest additions, offering a native way to manage tabular data—ideal for handling structured inputs and outputs. This talk will explore AI agents from the perspective of a generalist developer, demonstrating how to build AI agents using Nushell and Couchbase as vector database.

About Laurent Doguin

Laurent is a nerdy metal head who lives in Paris. He mostly writes code in Java and structured text in AsciiDoc, and often talks about data, reactive programming and other buzzwordy stuff. He is also a former Developer Advocate for Clever Cloud and Nuxeo where he devoted his time and expertise to helping those communities grow bigger and stronger. He now runs Developer Relations at Couchbase.

You can find Laurent on LinkedIn.

7:45: Door prizes

Thanks to our sponsors!

Posted in Uncategorized | Comments Off on Laurent Doguin: Building AI Agents with Shell Scripts

Orchestrate the Chaos: Process Automation in Modern Architectures

Wednesday, October 9th 2024

Details

5:30-6:00: Food, Soda, Beer and Networking. Sponsored by Teksystems

6:00-6:15: Announcements

6:15-7:45: Orchestrate the Chaos: Process Automation in Modern Architectures

A recent (2022) poll by Kong placed the average number of microservices for a single enterprise at 184! Modern architecture patterns are great at optimizing resource usage, but what happens when you need to make a critical change to one process that spans multiple shared services? Complex business processes can be difficult to manage and automate. How do you quickly implement changes while maintaining uptime? How do you introduce a new service to an existing process? In this talk, we will discuss how to use Business Process Modeling (BPM) to orchestrate and execute complex business processes in your application. Don’t let the name fool you: this is not your father’s Visio diagram. Everyone should leave this talk with a new approach to solving their orchestration complexities!

About Samantha Holstine

Samantha is a Developer Advocate at Camunda. She has a background in software development and is passionate about learning. She loves all things tech and is enthusiastic about trying new things. Outside of work, she teaches dance fitness and studio rowing, loves to hike and be outdoors with her dog and partner, travels, and dabbles in photography.

You can find Samantha on LinkedIn.

Posted in Uncategorized | Comments Off on Orchestrate the Chaos: Process Automation in Modern Architectures

Eric Honsey: A Tour of JVM Languages

Wednesday, September 11 2024

5:30-6:00: Food, Soda, Beer and Networking

6:00-6:15: Announcements

6:15-7:45: A Tour of JVM Languages

And then there was bytecode…

Tired of the same old Java program? Join us for a tour of Java Virtual Machine (JVM) languages, their unique features, and the advantages they offer to developers.

In a world where software development is constantly evolving, the JVM ecosystem provides a platform for experimentation and innovation. From Kotlin to Scala, Groovy to Clojure, the JVM offers a diverse range of tools and frameworks that cater to different programming styles and application requirements.

In this talk, we’ll explore the evolution of the JVM, the rise of alternative languages, and the impact they have on modern software development. Whether you’re a seasoned Java developer or a curious tech enthusiast, this session will open your eyes to the rich and vibrant world of JVM languages.

About Eric Honsey

Eric Honsey is a seasoned software professional with a diverse background spanning finance and technology. His early years as a financial analyst led to a love for technical problem-solving and his first role as a software developer. He has honed his skills in several languages, functional programming, big data technologies, infrastructure, software architecture, and Domain-Driven Design (DDD).

Eric has leveraged his unique blend of business acumen and technical expertise throughout his career to deliver innovative solutions. He frequently gets obsessed with smoothing out the kinks in software systems and pushing the team beyond the status quo. His passion for superb software is matched only by his dedication to continuous learning.

When he is not jamming on the keyboard, Eric is likely strumming a guitar or hitting the ice for a game of hockey.

You can find Eric on LinkedIn.

7:45: Door prizes

Posted in Uncategorized | Comments Off on Eric Honsey: A Tour of JVM Languages

Venkat Subramaniam: Design Trade offs in Modern Architectures

NOTE: This event is on Monday August 12th, and at Thrive in Centennial(9200 E Mineral Ave, Centennial, CO 80112)

5:30-6:00: Food, Soda, Beer and Networking

6:00-6:15: Announcements

6:15-7:45: Design Trade offs in Modern Architectures

Over the years we have learned and applied several software design principles. Many of these principles have been very useful and have served as guiding principles and, at times, as guard rails to develop better software. However, the principles do not work in isolation. They interplay with each other and sometimes even against each other. In this presentation we will look at the trade offs in applying well known design principles within the confines of the architectures that applications may be based on.

About Venkat Subramaniam

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., an instructional professor at the University of Houston, and the creator of the dev2next conference.

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

Venkat 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 https://www.agiledeveloper.com. You can reach him by email at venkats@agiledeveloper.com or on Twitter at @venkat_s.

7:45: Door prizes

Posted in Uncategorized | Comments Off on Venkat Subramaniam: Design Trade offs in Modern Architectures

Pratik Patel: Cloud Cost Optimization for Java Developers

Wednesday July 10, 2024

Details

5:30-6:00: Food, Soda, Beer and Networking

6:00-6:15: Announcements

6:15-7:45: Cloud Cost Optimization for Java Developers

Cloud usage has been soaring over the last few years, and now developers are starting to get pressure to reduce cloud spend. In this session, we’ll discuss how to optimize your cloud utilization, and hence how much your team spends, on cloud infrastructure. We’ll discuss these topics with a specific focus on Java applications:

  • Architecture of your application
  • PaaS, CaaS, Cloud Functions or Kube?
  • JVM ramp-up & optimization time
  • Headroom for variable load
  • Over provision or elastic compute?
  • Database and caching techniques

About Pratik Patel

Pratik Patel is a Java Champion and lead developer advocate at Azul Systems. He wrote the first book on ‘enterprise Java’ in 1996, “Java Database Programming with JDBC” and “Developing Open Cloud Native Microservices”. An all around software and hardware enthusiast with experience in the travel, healthcare, telecom, financial services, and startup sectors. Helps to organize the Atlanta Java User Group, frequent speaker at tech events, and master builder of nachos.

You can find Pratik on Twitter @prpatel.

7:45: Door prizes

Posted in Uncategorized | Comments Off on Pratik Patel: Cloud Cost Optimization for Java Developers

Andrus Adamchik: DataFrame – a Swiss Army Knife of Java Data Processing

Wednesday, June 12

Details
5:30-6:00: Food, Soda, Beer and Networking

6:00-6:15: Announcements

6:15-7:45: DataFrame – a Swiss Army Knife of Java Data Processing

As Java developers, we do a lot of data processing. If you have terabytes pumped through your system daily, maybe you would reach for Spark, Flink or some other “big data” solution. But there are also many everyday tasks that do not warrant the complexity of traditional data pipelines. Some examples are analysis of app logs, cleaning up and persisting Excel files, simple ETL copying tables between different databases, etc. So, how can you use “big data” techniques without big data infrastructure?

This talk will focus on “DataFrame” – an in-memory table-like data structure with operations including column / row filtering and transformations, joins, aggregations, etc. I will use an open source DFLib library (https://dflib.org) and Jupyter notebook to demonstrate how to do data processing in any Java app without much fuss.

About Andrus Adamchik

Andrus is a passionate open-source developer and a member of the Apache Software Foundation. He started programming in Java back in 1998, and founded a number of open-source projects: Apache Cayenne – a developer-friendly ORM, Bootique.io – a lightweight Java app platform, Agrest.io – a framework for dynamic REST services, and DFLib – DataFrame for Java. In his day job, Andrus is an IT entrepreneur, running a software company called ObjectStyle.

You can find Andrus on Twitter @andrus_a.

7:45: Door prizes

Posted in Uncategorized | Comments Off on Andrus Adamchik: DataFrame – a Swiss Army Knife of Java Data Processing