Speaker

Todd Ginsberg

Todd Ginsberg

Lead Engineer

Raleigh, North Carolina, United States

Actions

Todd Ginsberg is the Lead Engineer for Payments at a large multinational bank. He has been programming professionally using Java since 1995, Kotlin since 2016, and co-organizes the Triangle JUG. Todd lives in Raleigh, NC with his wife and their dog. When not programming, he enjoys reading, walking/hiking, and doughnuts.

Area of Expertise

  • Information & Communications Technology

Topics

  • java
  • Kotlin

Stream Gatherers: The Missing Link in Java Collections

Ever wished you could do more with Java Streams? While adding custom terminal operations through Collectors is straightforward, creating new intermediate operations has always been challenging. This talk introduces Stream Gatherers, the feature that elegantly solves this limitation. Drawing from extensive experience developing the open source Gatherers4J library, we'll examine how Gatherers enable developers to create custom intermediate operations that seamlessly integrate with the existing Stream API. Through live coding and practical examples, you'll discover how to write custom Gatherers, understand their internal mechanics, and learn when they're the right tool for the job. This session is perfect for developers who want to level up their Java Stream expertise and expand their stream processing capabilities beyond what collectors alone can provide.

Loom is more than virtual threads: Structured Concurrency and Scoped Values

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 453: Structured Concurrency and how it will simplify multi-threaded programming on the JVM. Next, we'll learn about JEP 487: 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.

API-first Development with OpenAPI

REST APIs are everywhere but keeping them organized and consistent can be very difficult, especially as APIs grow and teams change. Do we write a bunch of code and then document it and hope we were accurate? Do we write a bunch of markdown documents describing the ideal API before coding starts and hope that we got it right? How do we communicate these changes over time to the people using our API?

Instead, let's explore how the OpenAPI specification (formerly called Swagger) can help us with an API-first approach. In this talk we'll learn what problems OpenAPI was designed to solve, how to use it to make your REST APIs more consistent, and how we can use it to make our development process a lot simpler. Once we know the basics, we'll use it to create our own API, validate that it is consistent, and generate not only server code but clients in multiple languages. At the end of this talk, you'll know what kind of problems OpenAPI solves, and how to use it to make your REST APIs sing!

An Introduction to JDK Flight Recorder

Did you know that the Java Virtual Machine comes with a built-in high quality performance and diagnostic tool that has almost zero overhead? Come learn about the JDK Flight Recorder (JFR), a tool that provides high quality diagnostic and performance information about what’s going on inside the JVM and your code. We’ll go over what JFR is, how to use it, and work through several live examples. By the end of this talk, you’ll know how to use JFR to help solve performance problems, debug your code, and how to add your own metrics.

Java Cram Session: Get Caught Up on the Latest Java Changes

Let’s get caught up with the latest Java developments! Java is changing faster than ever, and it can become overwhelming to catch up. In this talk, we’ll go over the most important features you’re likely to use as a professional developer. You’ll learn what the new changes are, why you’d want to use them, and how to use them. This talk will cover changes starting with Java 9 and going all the way to the latest release. We will cover syntax changes, changes to the Java Virtual Machine, and changes to how Java is packaged and distributed. While that might seem like a lot, we’ll focus on the most essential parts to get you caught up without being overwhelmed. You don’t have to be a Java 8 developer forever. At the end of this talk you’ll be ready to start using all the great new features Java has to offer.

An Introduction to Kotlin

Kotlin has been catching on lately as an alternative to Java because of its null safety guarantees, type inference, cross-platform support, and ease of use with Android and Spring. Not to mention the fact that it is fully interoperable with Java. Is this something you and your team should considering spending time to learn?

Come to this session for an overview of Kotlin intended for Java developers (don't worry if you don't know Java, Kotlin is very easy to learn!). We will go over the major language features, syntax, and the Kotlin ecosystem so you'll know enough to make your own decisions by the end.

You will come away from this session with enough knowledge to decide if this is something you and your team should consider adopting.

Beyond JUnit - Pragmatic Ways to Increase Code Quality

You and your team are writing and running unit tests, great! Better yet, they pass (most of the time)! But can you do more to ensure the quality of your code? Come to this talk where you will learn some practical new skills to help increase the quality of your code and catch bugs early in the development cycle. This will be a balanced look at different testing styles and tools. At the end of this talk, you will have several new techniques to bring to your codebase that will ultimately make your customers happy. This talk is aimed at Java developers who have some basic testing knowledge and want to move to the next level.

Devnexus 2024 Sessionize Event

April 2024 Atlanta, Georgia, United States

KCDC 2022 Sessionize Event

August 2022 Kansas City, Missouri, United States

KCDC 2019 Sessionize Event

July 2019 Kansas City, Missouri, United States

Chicago Kotlin User Group

What's New in Kotlin 1.3?

November 2018 Chicago, Illinois, United States

Cream City code 2018

Is Kotlin Right for You?

November 2018 Milwaukee, Wisconsin, United States

dev up Conference 2018 Sessionize Event

October 2018 St. Louis, Missouri, United States

KCDC 2018 Sessionize Event

July 2018

Detroit Java User Group

Is Kotlin Right for You?

May 2018 Southfield, Michigan, United States

Chicago Java User Group

Is Kotlin Right for You?

March 2018 Chicago, Illinois, United States

Oracle Code Chicago

Is Kotlin Right for You?

March 2018 Chicago, Illinois, United States

Todd Ginsberg

Lead Engineer

Raleigh, North Carolina, United States

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top