Pasha Finkelshteyn
Developer Advocate
Berlin, Germany
Actions
Years of experience in software engineering and the team's leading roles combined with his passion for Java made Pasha know all the hidden details in this IT niche. As a Developer Advocate for @Bellsoft, he educates the public on the latest software tools built by BellSoft and helps to create and test instruments for developers. He writes in Kotlin, speaks at conferences, composes a new articles, or maintains his pet projects.
Area of Expertise
Topics
Ktor+htmx: the perfect mix for a software Craftsman
There is a well-established framework for development in high enterprises: Spring Framework. It fits amazingly complex enterprise processes and integrations. It has a lot of magic, which we can avoid learning how it works inside. But what if we need to craft something working quickly, avoiding the hidden complexity and within a small team? Comes in the mix of ktor and htmx. The perfect cocktail of a dictate craftsman, allowing to build amazing things without diving into traps of complexities of Spring and "modern frontend".
From ChatGPT User to RAG Implementer: A Developer's Journey
For ages, I was just another ChatGPT user—searching, brainstorming, you know the drill. But then Spring AI was released, and a light bulb went off: what if I index all our documentation and blog posts to build a bot that could actually answer users' questions about our products? As it turns out, there's a name for this magic trick—Retrieval-Augmented Generation (RAG).
Visit my talk for a wild ride as we break the RAG concept down bit by bit. We'll understand embeddings, figure out how to obtain and store them, and how we further work with them. And of course, the grand finale: creating a simple bot that knows our docs inside and out. Join me and let’s turn the Spring AI foundation into a really useful knowledge base helper!
The Epic Battle of Kotlin and C#
It is hard to find an enterprise language as modern and powerful as Kotlin. It is hard to find an innovative enterprise language such as C#. In this epic battle, you, the attendee, will help us to understand which language we should pick for a new project (yes, we believe you will be impartial). And we will try to provide you with facts and points for your judgment. As unbiased as we can.
Platform, language features, ecosystems — we have them all covered! Come to our session, and you will become our judge. You will be presented with a series of topics with solutions in both languages, and you will vote for a winner in each category. Perhaps you can make a choice for your own future?
Himalayan Peaks of Testing Data Pipelines
Everybody knows how to test backend applications: usually, it's just unit tests and API calls. Things are a bit more complex when interfaces are involved. But here is the question: how to test data pipelines? There is so much data, and the pipelines are so slow!
Let's discuss!
Breaking Boundaries with Advanced Kotlin Testing Techniques
In this session, you'll learn the ins and outs of testing in Kotlin. I'll start with the basics, covering the current widespread problems of tests. But don't worry; I won't bore you with endless slides full of code snippets. Instead, it will mostly be a live coding session with real-life examples.
I'll also explore advanced testing techniques, such as property testing and organizing your tests into a hierarchical structure, and show you how to put them into practice. We will use Kotest, MockK, Atrium and more! Whether you're a seasoned tester, developer, or newcomer to the testing field, you'll come away from this talk with a better understanding of testing with Kotlin and, hopefully, a smile.
Advanced Kotlin Techniques for Spring Developers
As a seasoned developer, you're likely already familiar with Spring. But Kotlin can take your developer experience with Spring to the next level!
Join this session and learn how to:
- Add new functionality to existing classes with Kotlin extension functions.
- Use Kotlin bean definition DSL.
- How ot use varags to improve on 3rd party libraries
- How to use coroutines with Spring idiomatically
By the end of this talk, you'll have a deeper understanding of the advanced Kotlin techniques that are available to you as a Spring developer and be able to use them effectively in your projects.
Crafting the Ultimate Docker Image for Spring Applications
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.
CRaCing Java Snapshots
Imagine your Java application starting up in just 5 milliseconds. Sounds incredible, right? Almost too good to be true? And no, this isn’t about native images. There's an innovative solution called Coordinated Restore at Checkpoint (CRaC).
Initially, this concept emerged from the Linux CRIU project: Checkpoint/Restore In Userspace. However, CRIU doesn't always deliver reliable results. That’s where CRaC comes in, offering a JVM-specific implementation.
In this talk, we’ll look into the complexities of CRIU and after that, we will turn to CRaC. We will discuss how CRaC operates within the Java ecosystem, its integration with Spring, and how you can use it in your own applications for near-instant startup times.
From this talk you will learn what is possible to CRaC and what is not, what are the benefits and limitations, and what is the cost of CRaC-ing.
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