20 lat mineło - czego możemy nauczyć się z historii Git'a?

Mateusz Łyczek

Git narodził się 20 lat temu z praktycznej potrzeby. Pod wieloma względami był projektem nowatorskim w "tamtych czasach" (czy to było już na tyle dawno, że można tak powiedzieć? ;-) ), a potem zawojował świat. Czy dziś, dokładnie 20 lat od jego powstania, możemy się nauczyć z jego historii czegoś co pomoże nam projektować i dostarczać lepsze systemy?

Zapraszam do podróży w czasie do początków narzędzia, które towarzyszy codziennie każdemu programiście (i nie tylko). Prześledzimy wybrane momenty z historii powstawania Git'a a także niektóre decyzje oraz ich motywacje, i na tej podstawie opowiem o wnioskach jakie można z nich wyciągnąć, które pomimo upływu czasu, ciągle pozostają aktualne, choć często o nich zapominamy. A wszystko to wzbogacone odniesieniami do praktycznych doświadczeń ze współczesnych projektów nad którymi pracowałem.

3 oblicza AI: NoCode, LowCode, CustomCode - dopasowanie scenariusza pod ROI

Dawid Detko

"W ramach sesji pokażę trzy podejścia do wdrażania AI w organizacjach na bazie technologii Microsoft — NoCode (Copilot for Microsoft 365), LowCode (Copilot Studio) i CustomCode (Azure AI) — skupiając się na realnych scenariuszach, doświadczeniach projektowych i zebranych opiniach klientów. Odpowiem na pytania:

  • Kiedy AI może wspierać organizację ""od ręki"", bez kodowania, i w jakich scenariuszach Copilot for Microsoft 365 sprawdza się najlepiej ?
  • Gdzie Copilot Studio dostarcza największą wartość w automatyzacji,
  • Kiedy budowa dedykowanego rozwiązania przynosi rzeczywisty zwrot z inwestycji.

Sesja będzie miała charakter biznesowy z dużym nastawieniem na efekty wdrożeniowe i ich wpływ na biznes."

Adaptacja językowa, domenowa i zadaniowa LLM-ów na przykładzie modeli PLLuM

Piotr Pęzik

"Przydatność generatywnych modeli językowych (GMJ) zależy w dużej mierze od zdolności interpolacji międzyzadaniowej. Odpowiednie pokrycie ‘przestrzeni’ zadaniowej w fazie pretreningu i dostrajanie na instrukcjach skutkuje wykształceniem nowych, niereprezentowanych wprost w danych umiejętności. Ta kluczowa właściwość GMJ-ów jest w ogólności bardzo pożadąna, ale może też przejawiać się nadmiarowo; modele czasem nieskutecznie interpolują wiedzę i zdolności dla wysoce specjalistycznych zadań, których właściwe wykonanie wymaga precyzyjnych danych uczących, tzn. tekstów lub instrukcji. W kontekście wielojęzyczności modeli taki nadmierny transfer uczenia przejawia się negatywnym transferem językowym, czyli np. stosowaniem kalk stylistycznych i gramatycznych z dominującego języka modelu na język wyjściowy.

Tematem wystąpienia jest próba ograniczenia nadmiernej interpolacji GMJ-ów poprzez adaptację językową (kontynuację pretreningu na polskich tekstach), adaptację domenową (kontynuację pretreningu na tekstach domenowych i tzw. ‘wyżarzanie’ na tekstach i instrukcjach) oraz adaptację zadaniową poprzez dostrajanie na celowanych instrukcjach. Autor zaprezentuje przykłady adaptacji zadaniowej dla domeny konwersacyjnej i urzędowej na bazie doświadczeń w pracach nad modelami PLLuM."

AI w dostępności cyfrowej: wyzwania, korzyści i zagrożenia

Michał Marcińczuk
Ariel Drozd

Dostępne cyfrowo treści są tworzone, testowane i poprawiane w oparciu o różnorodne procesy. Część z nich jest oparta o stosunkowo proste i jednoznaczne reguły, dzięki czemu można łatwo je zautomatyzować. Większość wymaga jednak subiektywnej interpretacji kontekstu, funkcji czy wyglądu poszczególnych elementów. Wystąpienie stanowi przegląd wybranych wyzwań z zakresu dostępności cyfrowej, dla których metody sztucznej inteligencji mogą stanowić rozwiązanie lub ułatwienie. Potencjalne korzyści i problemy związane z użyciem AI do automatyzacji zapewniania dostępności zostaną omówione na przykładzie generowanych automatycznie opisów alternatywnych dla grafik.

AI w Javie? Poznaj LangChain4j i twórz inteligentne serwisy

Kacper Staniszewski

Czy w Javie można tworzyć serwisy wykorzystujące narzędzia AI, czy też jesteśmy skazani na Pythona? W tej prezentacji opowiem, dlaczego postawiłem na Javę i pokażę, jak stworzyć inteligentny serwis z wykorzystaniem frameworka LangChain4j, nie będąc jednocześnie ekspertem w dziedzinie Data Science.

Framework LangChain4j udowadnia, że integracja z dużymi modelami językowymi (LLM) w Javie może być intuicyjna, elegancka i gotowa do użycia w projektach komercyjnych. Uczestnicy poznają nie tylko architekturę rozwiązania, ale też realne przykłady zastosowania, które mogą później wykorzystać w swoich aplikacjach.

Podczas live codingu krok po kroku zbuduję wyspecjalizowanego chatbota, dodając kolejne elementy aplikacji, takie jak mechanizmy RAG (Retrieval Augmented Generation) oraz Function Calling.

Archetypes - your secret superpower

Mike Wojtyna

Imagine jumping into a new project. In a very short time you start asking meaningful questions, understand the business, and model it correctly. Somehow you just feel what’s right. You manage to solve some of the problems the team was facing for months. You suggest improvements that can benefit your clients tremendously. All within the first few weeks. Some team members may admire you, while others might make accusations that you are cheating or faking your abilities, or that you possess some special superpowers. Sounds like a fairy tale? During this presentation I’m going to show you how you can utilize archetypes to immediately recognize the business patterns, make right modeling decisions and astonish your fellow team members.

Archetypy modelowania biznesowego - studium przypadku

Sławomir Sobótka

W trakcie prezentacji zobaczysz dwa systemy realizujące te same wymagania. Przyjrzymy im się z punktu widzenia: modularyzacji, kodu warstwy aplikacyjnej i kodu warstwy bogatego modelu dziedzinowego. Architektura pierwszego będzie oparta o naiwną analizę, pospieszną modularyzację i krótkowzroczną integrację. Architektura drugiego będzie oparta o kilka rozdziałów z wydanych pół wieku temu książek, będących biblioteką rozwiązań typowych problemów biznesowych - archetypów. A przy okazji zrewidujemy podstawy OO i połączymy je z FP.

At least once delivery: Outbox i jakieś 14 innych wzorców

Jacek Milewski

„Nie robimy wszystkiego w ten sam sposób tylko dlatego, że raz się udało lub nie.” Ten często powtarzany błąd podkreśla kluczowe wyzwanie w niezawodnym przesyłaniu wiadomości: wybór odpowiedniego wzorca dostarczania dla Twoich konkretnych potrzeb. Chociaż wzorzec Outbox jest dobrze znanym rozwiązaniem do dostarczania wiadomości „at least once”, jest on daleki od jedynej opcji – a nawet on ma wiele wariantów.

Ta sesja wyposaży Cię w kompleksowe zrozumienie różnorodnych wzorców dostarczania wiadomości „at least once”, od uproszczonych podejść po bardziej złożone implementacje. Zbadamy, jak każdy wzorzec optymalizuje różne czynniki architektoniczne, pomagając Ci uniknąć typowych pułapek i podejmować prawdziwie świadome decyzje projektowe.

Zdobędziesz praktyczne spostrzeżenia i jasne kryteria, aby:

  • Oceniać efektywność istniejących lub proponowanych mechanizmów dostarczania.
  • Wybierać najbardziej odpowiedni wzorzec dla unikalnych wymagań Twojego projektu.
  • Prowadzić swój zespół z pewnością, przedstawiając mocne argumenty za swoimi wyborami architektonicznymi i demonstrując szeroką perspektywę w złożonych wyzwaniach komunikacyjnych. Zostań liderem, który rozumie potrzeby i konsekwencje niezawodnej komunikacji sieciowej. Opuść tę sesję gotów do podniesienia poziomu podejścia Twojego zespołu do dostarczania wiadomości i budowania bardziej niezawodnych, odpornych systemów.

Bezpieczne aplikacje Java: Jak unikać podatności i wdrażać najlepsze praktyki bezpieczeństwa?

Tomasz Janczewski

Prezentacja w przystępny sposób wprowadza uczestników w bezpieczeństwo aplikacji Java, pokazując najczęstsze podatności i praktyczne rozwiązania oparte na Spring Boot oraz narzędziach OWASP. Dzięki mojemu 20-letniemu doświadczeniu jako architekt i specjalista ds. bezpieczeństwa, uczestnicy otrzymają realne przykłady kodu oraz gotowe techniki, które mogą od razu zastosować w swoich projektach. Prezentacja jest idealna dla początkujących, którzy chcą podnieść poziom bezpieczeństwa aplikacji bez zbędnej teorii.

Czego programista Javy może nauczyć się od Golanga?

Grzegorz Piwowarek

Golang jest często wyśmiewany za swoje uproszczone podejście do rozwiązywania każdego problemu za pomocą skończonej liczby instrukcji 'if' i pętli 'for'. Czy możemy się czegoś nauczyć od tak “prymitywnego" języka? Sprawdźmy!

Omówimy takie zagadnienia jak modularność, interfejsy, współbieżność i narzędzia, a następnie zobaczymy, jak można przenieść niektóre pomysły do Javy.

Czy AI może być kreatywna?

Ros Apostol

Sztuczna inteligencja pisze, komponuje i projektuje – ale czy to naprawdę twórczość? W prezentacji przyjrzymy się granicom i możliwościom AI, jej wpływowi na biznes i zawody kreatywne oraz temu, dlaczego autentyczność i autorstwo stają się dziś kluczowe.

Czy hakerzy z Korei Północnej zagrażają także Tobie i Twojej firmie? Jakie techniki stosuje grupa Lazarus*, by przełamać nawet najskuteczniejsze zabezpieczenia?

Marcin Zajączkowski

Przerażające statystyki cyberataków na całym świecie nie pozostawiają złudzeń: zagrożenie jest realne, a skala strat liczona jest już w dziesiątkach miliardach dolarów rocznie. Jakie techniki stosują hakerzy, by przekraczać kolejne granice cyberbezpieczeństwa? Jaki aspekt generuje największe ryzyko dla firm? Kto jest najbardziej zagrożony?

Poznaj techniki i sztuczki używane przez północnokoreańską “państwową” grupę Lazarus* przy atakach, wobec których nie można pozostać obojętnym. W skrócie opowiem oczywiście o ich największych i najbardziej bolesnych akcjach, którymi ofiarami padały instytucje finansowe, firmy medialne, koncerny farmaceutyczne, czy giełdy kryptowalut. Najwięcej uwagi poświęcimy jednak atakom grupy, które mogą stanowić niebezpieczeństwo w 2025 roku zarówno dla JDG, MŚP, jak i wielkich korporacji.

Celem prezentacji jest zwiększenie świadomości uczestników (bez wchodzenia w niskopoziomowe szczegóły techniczne) na temat skali i natury tych zagrożeń. Jest to pierwszy krok do skutecznego zabezpieczenia Twojej firmy. Przygotuj się, bo jutro celem możesz być Ty.

OSTRZEŻENIE. Autor prezentacji NIE BIERZE ODPOWIEDZIALNOŚCI za ewentualne koszmary senne albo chorobliwy lęk towarzyszący każdemu kliknięciu linku w mailu oraz otworzeniu załącznika (nie mówiąc już o patrzeniu wilkiem na "zbyt ciekawe" oferty otrzymane przez LinkedIn). Jeżeli wybierasz (pozorny) spokój i wolisz żyć w (błogiej) niewiedzy, rozważ alternatywne prezentacje.

Czy jesteś śrubokrętem?

Sebastian Buczyński

Mimo tego, że Inżynieria Produktu zyskuje popularność, nie jest wcale łatwo wywierać realny wpływ na projekt. Same umiejętności czy nastawienie potencjalnego Inżyniera/Inżynierki Produktu to za mało.

To procesy wytwarzania oprogramowania w firmach zamykają zespoły w produktowym friendzonie. Jeśli chcesz z niego wyjść, potrzebujesz czegoś więcej niż chęci.

Omówimy jak [nie]świadomie zespoły programistyczne są pozbawiane sprawczości i kończą w spirali długu technicznego przez swoje otoczenie. Przyjrzymy się jak PO/PM, sprzedaż czy mityczny biznes skutecznie rozbrajają zespoły techniczne, nawet jeśli te zgromadzą dane dla poparcia swoich propozycji.

Czy warto uruchamiać Javę na ARM? Uwierz mi, to interesujące pytanie

Artur Skowronski

Co się wydarzy, kiedy wrzucisz do kotła trendy ostatnich lat, takie jak oszczędzanie pieniędzy ("cloud spending optimization", jak nazywają to profesjonaliści), sustainability (jak nazywają to firmy budujące reaktory atomowe do napędzania trenowania modeli) oraz wewnętrzne incentivy dostawców chmurowych? Efektem są ciekawe wdrożenia aplikacji Javowych na procesory ARM. Mieliśmy okazje takie przeprowadzić w dwóch różnych chmurach, i w tej prezentacji chciałem się podzielić tym, czego się nauczyliśmy.

  • Ile można zyskać 💸 (zwłaszcza jak cloud provider Cię lubi)
  • Jak całość wygląda od strony wydajnościowej (i dlaczego benchmarking jest tak trudny)
  • Na ile ekosystem JVM jest na cały proces gotowy i gdzie uderzy Cię to w twarz.

Fail Fast, Save Millions: AI for Smarter Clinical Trials

Piotr Ćwikliński

Failed clinical trials costs $5–25M per study, with current AI prediction accuracy capped at 67%. In Sii we have ellaborated an AI-powered early warning system that combines four specialized BERT models with novel text analysis methods to flag high-risk trials before launch. The system analyzes design-phase documents, detecting subtle indicators such as enrollment feasibility, regulatory complexity, and sponsor confidence. Tested across diverse disease areas, it outperforms previous systems, offering potential savings of $125M in evaluated portfolios. Predictions are interpretable, enabling proactive adjustments and shifting failure management from reactive to preventive. During the talk you will learn more about the challange, the solution and potential benefits.

Farewell Kotlin, welcome new Java

Mateusz Kamiński

W tym roku Java świętuje swoje 30. urodziny! To język, który od trzech dekad rządzi w świecie programowania, a dziś przeżywa prawdziwy comeback — zarówno dzięki ewolucyjnym, jak i rewolucyjnym zmianom w kodzie, nowym funkcjom w SDK i ciągłym usprawnieniom JVM, które sprawiają, że nasze aplikacje działają szybciej i sprawniej niż kiedykolwiek.

Podczas tej sesji sprawdzimy, czy warto wciąż stawiać na Kotlina, czy może Java dogania konkurencję. Dowiesz się też, co szykuje dla nas przyszłość i jak zmiany w Javie mogą zacierać granice między nią a innymi językami.

Four Approaches to Reducing Java Startup Time: AppCDS, Native Image, Project Leyden, CRaC

Pasha Finkelshteyn

Java applications can be incredibly performant in the long run, but their weakest spot is at the startup as they may take seconds to start and minutes to warm up. During that period, they consume more memory and process fewer requests. It gets even worse when you restart the application hundreds of times a day or when you use services that charge you for the compute time. Luckily, there are not one but four approaches to dealing with this problem:

  • Application Class Data Sharing
  • GraalVM Native Image
  • Coordinated Restore at Checkpoint
  • Project Leyden They all differ in terms of ease-of-use and impact on startup/warmup time reduction. We will explore them one by one unveiling caveats and opportunities they offer so that you can choose a perfect solution for your project.

From Confusion to Clarity: Advanced Observability Strategies for Media Workflows at Netflix

Naveen Mareddy

Managing media workflows at the Netflix scale is both thrilling and daunting. With millions of workflow executions across hundreds of types and over 500 million CPU hours consumed quarterly, costs can skyrocket, and encoding issues can disrupt the streaming experience. The challenge is immense: ensuring the timely delivery of high-resolution encodes, avoiding costly codec bugs, supporting last-moment redeliveries, and identifying bottlenecks before they drain compute resources. How do we navigate this complex system without spiraling into budget and delay disasters? This isn't just about fixing bugs faster anymore. This is connected to observability driving real business value. Imagine instantly knowing the true cost of encoding each movie, or precisely tracking redelivery metrics that directly impact revenue.

We confronted these challenges directly and discovered that traditional observability tools, designed primarily for RPC-style services, were inadequate for media workflows. We required observability at scale to support asynchronous media workflows with long-running tasks. By embracing domain-specific events, distributed tracing, and consistent tagging, we achieved a comprehensive view of our users' workloads. We developed a stream-processing pipeline that processes events from various parts of media workflows and collates them into actionable insights. This powers our observability platform, capable of handling billions of events in real-time, enabling rapid insights and on-the-fly aggregations.

In this talk, we’ll cover the following aspects of how we built observability for long-running, distributed, and high-throughput systems, and how you can apply these learnings: Near real-time insights: Learn how to process events promptly to meet the monitoring needs of low-latency encoding. Discover techniques to enable users to catch bugs sooner, limiting wasted compute on encodes known to fail. Optimal rollup strategies: Explore how to consolidate millions of low-level events into hundreds of business insight events. We'll share techniques like pre-aggregation and event collapsing to minimize storage and efficiently support top queries. Opinionated tagging taxonomy: Understand the importance of a defined tagging taxonomy and how it ensures all business metrics are expressed consistently within your observability platform. Enabling ROI analysis for feature development: See how to facilitate long-pole analysis, gain insights into compute usage, and understand latency implications for better ROI analysis of your feature development.

By the end of this session, attendees will have concrete strategies to implement effective observability, transforming operations from reactive firefighting to proactive decision-making. Get ready to move from panic to clear, actionable insights, bringing clarity and control to your own large-scale systems!

HIVE AI: nowe modele PLLuM i wdrożenia polskich LLM-ów w administracji i sektorze prywatnym

Marek Kozłowski
Agnieszka Karlińska

Wystąpienie poświęcone będzie najnowszym wynikom prac nad rozwojem polskich dużych modeli językowych PLLuM realizowanych przez konsorcjum HIVE AI. Omówimy proces tworzenia modeli – od przygotowania danych, przez metody uczenia, po ewaluację – oraz podjęte decyzje metodologiczne. Szczególny nacisk położymy na prezentację nowych modeli z rodziny PLLuM, a także na kwestie ich zabezpieczania oraz dostosowywania do oczekiwań odbiorców. Przedstawimy również udoskonalone narzędzie ShpaRAG do projektowania i testowania systemów typu RAG w wariancie jedno- i wieloturowym oraz podzielimy się doświadczeniami z wdrażania polskich LLM-ów w administracji publicznej i sektorze prywatnym.

How Google built a Consistent, Global Authorization System with Zanzibar (and you can too!)

Sohan Maheshwar

Google Zanzibar is the singular authorization service that powers permissions and sharing across all Google properties, including Docs, YouTube, and Cloud IAM. Creating a consistent, global-scale authorization system that can process "more than 10 million client queries per second” is not a trivial task. The talk will cover how the paper lays out an engineer-friendly blueprint for building a highly scalable distributed system with flexible consistency guarantees.

This talk will start with foundational knowledge of Relationship Based Access Control (ReBAC) and then cover the technical implementations behind Zanzibar - How Google solved for correctness, scale and speed. The presentation will cover the different APIs for interacting with the system and also a deep-dive into how the “New Enemy” problem was solved. The talk will conclude with how you can use open source tools to build authZ into your application.

Jak ujarzmić firmową bazę wiedzy? Praktyczne lekcje z wdrożeń asystentów AI opartych na LLM

Rafał Wojdan

"Firmowe bazy wiedzy bywają ogromne, rozproszone i trudne w wykorzystaniu. W ostatnich miesiącach mieliśmy okazję wdrażać asystentów AI opartych na LLM w różnych organizacjach — od ubezpieczeń, przez budownictwo i energetykę, aż po edukację. Dzięki temu zebraliśmy zestaw praktycznych lekcji, które są równie ważne dla inżynierów, jak i dla liderów biznesowych.

Podczas wystąpienia opowiem o tym, jak:

  • przygotować i uporządkować wiedzę pod kątem Retrieval-Augmented Generation (RAG),
  • dobrać konfigurację LLM i mechanizmów RAG, by odpowiedzi były trafne i użyteczne,
  • monitorować asystenta AI i oceniać jakość odpowiedzi
  • zadbać o bezpieczeństwo, zgodność i „guardrails”,
  • monitorować i optymalizować koszty (FinOps) tak, aby rozwiązanie było skalowalne.

Będzie to spojrzenie zarówno techniczne, jak i biznesowe — pokazujące, jak przełożyć nowe możliwości AI na realną wartość w organizacji."

Jak zautomatyzować i nie zwariować? Tworzenie wydajnego, wygodnego i niezawodnego CI.

Krzysztof Czartoryski

Zaawansowane praktyki i wzorce, które pozwolą Ci utrzymać fason i opanować problemy z wydajnością oraz wygodą użycia Twojego CI. Czego się dowiesz:

Czy można stworzyć podobne CI dla różnych języków? Jak najwygodniej wersjonować? Jakie typy weryfikacji powinny pojawić się w Twoim CI? Jak uzyskać czasy wykonania podobne do tych na lokalnym komputerze? Jakie zasady powinny być przestrzegane, aby zadanie w potoku działało poprawnie?

Usłyszysz tu moc zaawansowanych porad, dzięki którym Twój potok stanie się lepszy, szybszy i mniej awaryjny. Przedstawię również moje autorskie podejście do pracy na gałęziach z narzędziem GIT w połączeniu z CI.

Java vs CPU - runda 2

Krzysztof Ślusarski

"Pisz ładny kod a JIT zajmie się wydajnością" - takie piękne frazesy można spotkać na niejednej prezentacji. Czy jest to na pewno prawda? Czy znajomość tego jak działa procesor jest w ogóle jeszcze w dzisiejszych czasach potrzebna? Czy może wystarczy, żeby umieli to "goście" od kompilatorów?

Identyczny opis mogliście zobaczyć w mojej prezentacji w 2023 roku. Tym razem chcę opowiedzieć trochę bardziej teoretycznie jak działa procesor, dokumentując wszystko przykładami w Javie.

Learning modern Java the playful way

Piotr Przybył
Marit van Dijk

Staying up to date with Modern Java can feel overwhelming. If you don’t have any experience with recent Java versions (or at all), features like Structured Concurrency or Stream Gatherers might sound exciting, but also scary: “How do I even get started with that?” Fear not! In this session Marit and Piotr will explain to you the new exciting things and also show you how to use them in your IDE, so that the next day you can start having fun and profit with modern Java in your favorite tools on your own.

Monolith to Microservices at 20M+ requests per second: Latency and Scale Challenges

Maciej Łukasik

This presentation explores the unique challenges of migrating a monolithic application to microservices under extreme scale and strict latency requirements. As a leading ad re-targeting company operating in over 70 countries, RTB House processes Exabytes of data and handles over 20 million requests per second. We will detail our journey in deconstructing a core application, extracting its memory-intensive functionalities into independent, gRPC-accessible microservices while maintaining millisecond-level response times.

We will share our key technical solutions for the critical hurdles we faced:

  • Scalable Load Balancing: We moved from a cumbersome, 300+ instance centralized load balancer to a nimble client-side gRPC model using DNS-based service discovery, resulting in significant resource optimization.
  • Mitigating Microservice Overhead: With our business logic being exceptionally lightweight, the cumulative overhead from the microservice binding layer—spanning TCP/HTTP handling, serialization, and thread pool dispatch—became a primary bottleneck. We engineered a custom batching mechanism that was so effective it enabled us to reduce the number of required microservices instances globally from around 900 to 300.
  • Controlling Tail Latency: To eliminate high tail latencies caused by 'stop-the-world' garbage collection pauses, we transitioned from G1 to the Z Garbage Collector (ZGC), specifically designed for low-latency workloads.
  • Ensuring High Resiliency: The introduction of batching increased the blast radius of failures. We adopted the hedging technique with a throttling policy, available in the Java gRPC client, to guarantee robust system operation.

This session offers a comprehensive look at the architectural decisions and technical solutions essential for migrating high-throughput monoliths, focusing on principles applicable to any demanding, high-performance system.

Obiekty - gdzie żyją, co jedzą i jak je podglądać?

Kacper Koza

Na co dzień nie przejmujemy się pamięcią ani działaniem Garbage Collectora. Wszystko działa w tle i nie wymaga naszej ingerencji.

Co jednak zrobić, gdy aplikacja nagle przestaje się uruchamiać? Na przykładzie jednego z problemów pamięciowych w Allegro pokażę narzędzia, które pomogą nam rozwikłać tę zagadkę.

OpenTelemetry Tracing - To nie takie proste: Prawdziwe wyzwania w złożonych systemach

Sebastian Kozak

Na początku wszystko wygląda dobrze, automatyczna instrumentacja działa, trace’y są widoczne. Ale z czasem coś zaczyna się psuć: część danych znika, trace’y się urywają, a koszty monitoringu rosną.

W tej prezentacji pokażę z czym naprawdę mierzymy się przy wdrażaniu OpenTelemetry w złożonych architekturach. Dowiesz się:

  • Jak działa tracing "pod maską"
  • Dlaczego trace'y czasem się gubią i jak to naprawić w scenariuszach takich jak:
    • wielowątkowość
    • wzorce Outbox/Inbox (manualne i z Debezium)
    • Kafka Streams i przetwarzanie wsadowe
    • sagi
  • Jak nie utonąć w danych i kosztach:
    • head-based vs tail-based sampling
    • konfiguracja OpenTelemetry Collector
    • jak filtrować to, co naprawdę istotne

Pokażę konkretne przykłady z projektów produkcyjnych: kod, konfiguracje, pułapki i skuteczne strategie. Po tej prezentacji będziesz wiedzieć, jak tworzyć naprawdę użyteczny system monitorowania nawet w najbardziej złożonych środowiskach.

Panel Dyskusyjny: Z jednej strony napiera AI, z drugiej młodzi, mało-zdolni skrypciarze, jak żyć.

Jakub Kubryński
Sławomir Sobótka
Jakub Nabrdalik

Panel dyskusyjny z udziałem ekspertów z branży IT, którzy podzielą się swoimi spostrzeżeniami na temat aktualnych trendów, wyzwań i przyszłości technologii.

Pod wodą nie ma internetu, czyli jak wdrażane jest oprogramowanie na łodziach podwodnych

Sebastian Łaskawiec

Chcesz dowiedzieć się, jak wyglądają wdrożenia technologii dla najbardziej wymagającego klienta – Departamentu Obrony? Poznaj realia pracy przy wdrożeniach do środowisk wojskowych, gdzie odcięcie od internetu jest standardem, a bezpieczeństwo danych ma kluczowe znaczenie. Podczas prelekcji przeniosę Cię z cyfrowego zaplecza bazy wojskowej do zamkniętego, odciętego od świata środowiska gdzieś na dnie oceanu, gdzie bezpieczeństwo i niezawodność są absolutnym priorytetem.

Naszą podróż rozpoczniemy od dobrze znanych środowisk chmurowych opartych na Kubernetesie. Krok po kroku przejdziemy przez procesy oraz niezbędne modyfikacje platformy, umożliwiające wdrożenie zasad Zero Trust. Poznamy techniki pozwalające w prosty sposób wdrażać oprogramowanie w środowiskach odciętych od internetu, a na koniec — zagramy w DOOM-a!

PolEval 2025: Konkurs dla narzędzi informatycznych do przetwarzania języka polskiego

Iwona Christop
Alina Wróblewska
Maciej Czajka
Łukasz Kobyliński

We wrześniu 2025 rozpocznie się kolejna edycja konkursu dla narzędzi informatycznych do przetwarzania języka polskiego - PolEval. Jego celem jest poprawa jakości istniejących rozwiązań, przetestowanie nowych algorytmów oraz promocja inżynierii lingwistycznej.

W zadaniach tych rywalizowało dotąd łącznie ponad 140 systemów przygotowanych zarówno przez przedstawicieli środowisk naukowych, jak i firm prywatnych.

W tym roku ogłoszone zostały następujące zadania, które omówione zostaną podczas prezentacji:

  1. Spotting Machine-Generated Text from Language Models for Polish (ŚMIGIEL)
  2. Gender-inclusive LLMs for Polish
  3. Polish Language Document Layout Detection
  4. Polish Speech Emotion Recognition Challenge

Retrieval-Augmented Generation (RAG) w NLP – jak łączyć LLM z wiedzą zewnętrzną

Marcin Wierzbiński

W trakcie prezentacji pokażemy praktyczne przykłady wykorzystania RAG-ów, omówimy architekturę, wyzwania wdrożeniowe oraz zastosowania w realnych projektach.

Sandboxing AI-generated code - WebAssembly vs AWS Lambda

Piotr Migdał

"Where should you run LLM-generated code to ensure it's both safe and scalable? And why did we move from a cool in-browser WebAssembly approach to boring, yet reliable, cloud computing?

Our AI chart generator taught us that running R in the browser with WebR, while promising, created practical issues with user experience and our development workflow. Moving the code execution to AWS Lambda proved to be a more robust solution."

Scooby RAM, where are you?

ags

Java, the runtime, likes memory.

It is a fact well known to those who know it well, that subtle differences in code, can lead to drastic changes to applications memory and runtime profiles. I’ll take you through the memory lane part of my work, and show how do I approach analysis, problems and troubleshooting. Tools, what information can they surface, and how to navigate back to the code. Techniques and libraries, how do they affect what the application does. Feel invited if you believe troubleshooting memory in Java is “magic”, or “only tuning the GC can save us”.

Serwery (Authorization i Resource), OAuth Client, SecurityFilterChain i ciut więcej ze Spring Security

Mateusz Chrzonstowski

Ostatnio w rozwijanym systemie wewnętrznym pojawiły się "nietypowe" wymagania - uwierzytelnianie i autoryzacja. Implementację przypisano mojemu zespołowi, co było dobrą okazją do odświeżenia sobie kilku pojęć, OAutha oraz do skorzystania z podprojektów Springa Security.

Pokażę/przypomnę czym się różni AuthenticationProvider od AuthenticationManagera, gdzie w tym wszystkim jest słynny UserDetailsService, jak ograć sprawdzanie uprawnień w jednym miejscu, wybierając dobrą konwencję i jak podpięcie zależności od Okty pomogło nam znaleźć różnice pomiędzy serwerem organizacji a domyślnym serwerem.

Simplify your architecture: events and publishing

Jakub Nabrdalik

We tend to overcomplicate things especially when we learn them. Your friend comes back from a conference with shiny new ideas and the next day you wake up with event driven architecture for communication, event sourcing for persistence, domain driven concepts scattered randomly on your sources and a distributed monolith in a monorepo. And none of this helps, quite the contrary. Since this is usually where I help companies, I’d like to show you a few recurring patterns of overcomplication and how to avoid them. I’m going to talk about:

  • when NOT to use an event bus and when it pays off,
  • why an in-memory events bus is useful mostly in Minecraft / Excel / Totalcmd,
  • how we steal concept and reuse them badly, thus making our lives harder
  • where 3 layered architecture is an antipattern, and why we came up with vertical slices and a few more things

Skalowanie projektu mobilnego na wiele zespołów i produktów

Witold Sieński

Opowiem, jak zespół rozrósł się z 8 do 70 deweloperów mobilnych oraz jak udało się stworzyć szeroki portfel produktów dostępnych w jednej aplikacji. Prezentacja będzie prowadzona w konwencji gry RPG, z licznymi odniesieniami do świata gier. Poruszę następujące zagadnienia: budowa i podział struktury zespołów, kluczowe procesy i narzędzia (współpraca, komunikacja), architektura projektu oraz rozwiązania techniczne ułatwiające skalowanie, platforma usprawniające pracę dużej organizacji. W ramach cyklu LeSS & Learn podzielę się również przykładami błędnych założeń, nietrafionych decyzji oraz wyciągniętymi z nich wnioskami.

Software Design: Mity i Legendy

Tomasz Fijałkowski

Software design to temat, który często redukuje się do zestawu buzzwordów: SOLID, KISS, YAGNI. W rzeczywistości to jednak codzienne decyzje związane z zarządzaniem złożonością – i to właśnie one decydują o jakości kodu.

W tej prezentacji:

  • Obalę popularne mity na temat „dobrego designu”
  • Pokażę praktyczne techniki, które realnie wpływają na jakość kodu
  • Podzielę się projektowymi fuckupami, które widziałem w swojej karierze – wiele z nich może śmieszyć, ale kiedy trafiasz na coś takiego w realnym projekcie, śmiech szybko znika
  • Zdefiniuję kluczowe pojęcia, takie jak jakość czy „dobry design”, i pokażę, co naprawdę za nimi stoi

Przykłady będą proste, ale realistyczne – oparte na prawdziwym kodzie (Java, GraphQL i nie tylko).

SSL/TLS For Mere Mortals

Marcin Kruglik

In this talk, in layman's terms, I will explain how SSL/TLS works and how it helps to address 3 critical questions of secure communication:

  • Is my message read only by authorised receivers?
  • Can I trust that I'm sending the message to the right receiver?
  • Can I be sure that my message was not changed during transport?

Startups don't die from wrong frameworks

Krzysztof Debski
Michał Niczyporuk

We were building a new product with a rare luxury: full freedom in choosing the tech stack. So naturally, we did what many dream of - went microservices from day one, adopted event-driven architecture everywhere, use all modern cloud tooling. In short: the “right” way.

This talk is about what happened over the next couple years - the trade-offs, the slowdowns, and the hard lessons from building a startup where the architecture was technically sound… but not always aligned with what the business needed most.

Delivered by engineers who lived it end to end, we’ll cover:

  • How tech freedom can be a blessing and a trap.
  • Why EDA and microservices felt right, but got in the way
  • When infrastructure decisions helped, and when they backfired
  • What we’d change if we started again - and what we’d keep
  • How to avoid letting architecture distract from product delivery

If you're starting something new, or advising teams who are, this talk will give you honest, battle-tested perspective. No buzzwords. No hero stories. Just two devs sharing what worked, what hurt, and what really matters when you’re building from zero.

STM and Structured Concurrency – The Battle with Multithreading Dragons

Bartek Kuczyński

Concurrency in Java is a huge and scary part of the language. Many programmers try to avoid this dragon's land. However, I invite you to take a tour of the lesser known corners of this land. We'll have a look at the innovations associated with Structured Concurrency (The Green Dragon) and visit the unknown territories associated with Software Transactional Memory (The Blue Dragon). I will show you how to build a simple pseudo-transactional system on your own (The Pink Dragon, and yes, we have pink dragons). We will end our journey through the magical land of concurrency by building a demo that uses the above solutions. The presentation is aimed at people who are familiar with the basic concurrency mechanisms in Java, but want to expand their knowledge with novelties and techniques from other languages available on the JVM platform.

Surviving operational "Chernobyl"

Grzegorz Sztandera

How to survive an operational cataclysm? What to do when it happens, at a time when we mostly neither expect it, and often even less ready for it? You can't bury your head in the sand and pretend that nothing happened. You have to act, very actively, very decisively, and use all possible competencies to get the situation under control. I will go thru the process of surviving a critical situation including real project disasters.

Teaching databases to speak human with LLMs and MCP

Olena Kutsenko

Imagine asking your database a question in plain English - and getting the right answer back, instantly. Thanks to advances in large language models (LLMs), this is now a practical reality. Natural Language to SQL (NL2SQL) systems are making data more accessible than ever, helping teams move faster without writing a single query by hand. In this talk, we’ll walk through the key building blocks that make it possible for LLMs to "talk" to databases.

We’ll start with natural language: how NL2SQL systems understand what the user is asking, map questions to the right parts of a database, and generate executable SQL. Of course, this is easier said than done. Natural language is full of ambiguity, and many databases have complex schemas, tricky joins, and domain-specific terms. But despite these challenges, benchmarks like Spider and BIRD show just how far we've come in the past decade.

Next, we’ll introduce the Model Context Protocol (MCP) - a way to give LLMs access to metadata, table relationships, and tools for query execution. Instead of guessing, the model can reason step-by-step using chain-of-thought, consult the schema, and run sub-queries to reach the right result.

Whether you're an engineer building LLM-powered interfaces or a data leader exploring self-serve analytics, this session will give you a clear view of how natural language is reshaping the way we interact with data and how to start using it in your stack today.

Thinking in Streams

Kamil Banach

In 2014, JDK 8 introduced the Stream API, bringing a taste of functional programming to Java. 11 years later, in 2025, with the release of JDK 24, the biggest change awaits us in the form of JEP 485 - Stream Gatherers. Do streams make sense (spoiler: yes!), what benefits do gatherers bring, when is it worth using parallel streams, and when can they get in our way - these and other questions will be answered!

Vibe coding, vibe thinking - o współczesnych zagrożeniach dla krytycznego myślenia

Przemysław Chmielecki

Współczesne środowisko informacyjne i rozwojowe coraz częściej promuje tzw. "vibe coding" i "vibe thinking" – praktyki polegające na działaniu w oparciu o intuicyjne „odczucie”, kontekst społeczny lub trendy, a nie rzetelną analizę problemu i krytyczne myślenie. Zjawiska te są szczególnie widoczne w środowiskach IT, data science i AI, gdzie szybkie iteracje i gotowe rozwiązania (np. z GitHub Copilot, StackOverflow, ChatGPT) mogą skutkować spadkiem umiejętności analitycznego rozumowania, weryfikacji źródeł i rozumienia fundamentów technologii. Prezentacja analizuje mechanizmy psychologiczne i technologiczne stojące za tym trendem, wskazuje zagrożenia dla jakości kodu, bezpieczeństwa systemów i podejmowania decyzji w oparciu o dane, a także proponuje strategie utrzymania standardów myślenia krytycznego w erze „programowania na vibe”.

Why today, more then ever you need Dependency Isolation in Distributed Systems

Matej Nedic

In this talk, we’ll dive into what it really takes to build resilient, efficient systems both on-prem and in the cloud. Too often, teams prioritize “just make it work” over thoughtful design, leading to brittle architectures and rising costs.

We’ll explore concepts like load shedding what it is, when to apply it and whether failing fast is always the right strategy. Is horizontal scaling the answer to every problem? Not necessarily. Sometimes it simply masks deeper issues.

Using a simple, relatable architecture as an example, we’ll break down how different types of requests behave, how to avoid wasting CPU cycles, and why certain architectural decisions are key to building systems that are both reliable and cost-effective.

Wiedza w kodzie to złoto – jak automatycznie ją wydobyć i zasilić nią zespół oraz AI

Szymon Janikowski

Czy da się automatycznie stworzyć sensowny diagram albo dokumentację prosto z kodu? Czy w kodzie jest wystarczająco dużo wiedzy, a może wręcz przeciwnie – jest jej tak dużo, że trudno wybrać, co jest najważniejsze?

Coraz wyraźniej widać, że to możliwe. Wraz z rozwojem LLM i agentów AI pojawia się coraz więcej narzędzi tego typu – ale, co ciekawe, nie wszystkie opierają się na AI. Statyczna analiza kodu wciąż ma się bardzo dobrze.

W prezentacji pokażę efekty poszukiwań odpowiedzi na pytanie: “Która wiedza w kodzie jest naprawdę kluczowa i jak ją wyłowić – w zależności od tego, kto chce się czegoś dowiedzieć.”

Przyjrzymy się, jak różne narzędzia rozwiązują ten problem: do kogo są skierowane, co pokazują, co ukrywają i jak powtarzalne są ich wyniki. Będzie o rozwiązaniach opartych wyłącznie na LLM (wpychających całe repo do prompta), o eksperymentach Simona Browna (C4/Structurizr) i o tym, jak podobny problem rozwiązywaliśmy w Noesis.vision.

Będzie kod i będzie live demo. Zapraszam!

Would Your System Survive a Million Concurrent Players? A Real Story from Kahoot!

Bartosz Rogowicz

Running real-time quizzes for millions of players worldwide puts serious pressure on the backend. In this talk, I’ll walk through how we’ve scaled Kahoot as it grew — from a well-designed monolith that served us reliably, to a gradual transition toward microservices driven purely by scale and evolving needs.

We’ll look at our current architecture, the metrics that pushed us to rethink parts of the system, and how we’re migrating using safe, proven patterns — with practical lessons, diagrams, and real-world stories along the way.

Zrób se cebulowego SaaSa, czyli cebularstwo stosowane w projektach IT

Michał Mazur

To prezentacja o tym, jak stawiać projekty za darmo albo prawie za darmo. Będą darmowe tiery, tanie VPS-y, open source, rozwiązania enterprise i chmurowę i trochę zdrowego kombinowania. Bo po co przepłacać, skoro można mieć działający side-project i nie wydać ani złotówki?

Pokażę podejście, które pozwala szybko uruchamiać fronty, backendy, bazy danych czy mini-aplikacje — nie mając nic poza pomysłem i odrobiną cierpliwości do konfiguracji.

To sesja dla osób, które robią projekty po godzinach, z pasji. Bez narzędziowego fetyszyzmu — za to z dużą dawką praktycznych wskazówek, inspiracji i lekkiego cebularstwa.

Nie musisz mieć pieniędzy, żeby mieć projekt. Wystarczy mieć głowę — i wiedzieć, czego nie klikać.