GeeCON 2024
| title | author | length |
|---|---|---|
| Why the Next Five Years Will Be About Languages | Ted Neward | 01h 03m |
Argues that language innovation becomes practical now because per-chip speed plateaus push multicore, VMs and tools remove low-level work, and microservices… | ||
| Transforming Analytical Data with Event-Driven Architecture | Josef Goldstein | 49m |
Argues that analytical data must be created as a first-class product, not recycled from operational DBs, and demonstrates a reproducible stack: domain-driven… | ||
| Java on AWS - all the details that matter | Sebastian Gebski | 56m |
Covers concrete JVM-first features on AWS: use AWS SDK v2 (and a Kotlin-native SDK), generate service clients with Smithy, and run Java on Lambda with Lambda… | ||
| Migrate your company to microservices: a step by step tutorial | Jakub Nabrdalik | 55m |
Nine years of microservices experience and six years of migrations inform a stepwise recipe: pick one pilot team, apply the strangler pattern, design one… | ||
| Tools for simplified large scale systems | Wojtek Ptak, Andrzej Grzesik | 01h 02m |
Argues concrete levers for scaling: adopt a single discovery catalog like Backstage (or an in‑house Revolt Tower) with SLO/SLA, automate updates via CI/CD, and… | ||
| Containerless, Bloatless, YAML-less, Serverless Java #slideless | Adam Bien | 52m |
Builds a monolithic serverless Java app with Quarkus on AWS Lambda, packaging a deployable function.zip via Maven (Java 21) and provisioning with AWS CDK… | ||
| Scaling Horizons Effective Strategies for Wix's Scaling challenges | Natan Silnitsky | 44m |
Wix runs ~4,000 microservices and handles 3.5 billion daily HTTP transactions and 70 billion Kafka messages, so scaling choices are concrete: deploy… | ||
| Bootiful Kubernetes Operators | Ties van de Ven, Tiffany Jernigan | 48m |
Shows how to implement a custom Kubernetes operator in Java using Spring Boot and the kubernetes-java-client: author creates a CRD, shared informer, reconciler… | ||
| OOMs!... I did it again | Nitsan Wakart | 51m |
Explains concrete diagnostics and fixes: use always pre-touch to avoid late RSS surprises; inspect proc maps, JFR and run jcmd nmt for native-memory breakdown… | ||
| Pain-free Functional Programming with Java 21 | Jacek Kunicki | 55m |
Demonstrates concrete code: use Java 22 records for immutable data, build an Attempt/Or wrapper (success/failure or left/right) to make errors first-class… | ||
| Trash Talk - Exploring the JVM memory management | Gerrit Grunwald | 50m |
Practical overview of JVM collectors with concrete tradeoffs: shows Serial/Parallel (stop-the-world vs threaded GC), explains generational GC with… | ||
| How to build distributed concurrency primitives | Andrii Rodionov | 48m |
Shows that wrapping local locks in RPC breaks: killed lock holders never release locks. Demonstrates heartbeats plus monotonic fenced lock tokens so resources… | ||
| Stream Gathers - The biggest change to Java Streams since 10 years | Ron Veen | 40m |
Java 22 adds Stream Gatherers as a new intermediate-operation API that lets code define a gatherer API with initializer integrator combiner and finisher, so… | ||
| Performance tests and other lies | Jarosław Pałka, Michał Jonko | 54m |
Eight practical anti‑patterns and concrete fixes: use percentiles and histograms instead of averages, prefer JMH for Java microbenchmarks and combine JMH with… | ||
| The Story of BASIC | Jarek Ratajski | 52m |
Microsoft BASIC fits into 3 KB assembly and boots on an Altair through a hand-entered bootstrap via front-panel switches to load a tape; the PDP emulator and… | ||
| Communication for Developers | Wojciech Pituła | 48m |
Be explicit: state what you’re estimating (scope), the assumed developer assignment and availability, and an uncertainty factor — e.g. 55 man-days × 1.2… | ||
| The Future of Software Development | Jonathan Harel | 42m |
A project that produced a web series interviews eight companies, transcribes 60+ hours with 28 engineers and extracts 81 blockers, then synthesizes five… | ||
| Why not all hexagons have eight sides | Krzysztof Przygudzki | 01h 01m |
Argues hexagonal architecture concretely solves layered architecture’s control-flow and coupling problems by pushing infrastructure above domain and using… | ||
| Freelancing: The good, the bad and the ugly | Tomer Gabel | 51m |
Fired in 2020, starts a consulting firm named substrate, writes a two‑page plan, hires a graphics designer and formalizes three core values: craftsmanship… | ||
| Confronting Common Productivity Hurdles in Modern Software Development | Anton Keks | 52m |
Claims that common defaults—GitHub pull requests, microservices by default, heavy Jira usage, and Kubernetes complexity—actually slow teams and lower… | ||
| Demystifying Java Virtual Threads | Ondro Mihályi | 56m |
Explains how Java 21 virtual threads run as heap objects scheduled onto a small set of OS carrier threads, shows a GlassFish/Grizzly executor was implemented… | ||
| Embracing Microservices | Grzegorz Piwowarek | 57m |
Argues that microservices often hurt when adopted prematurely: a six‑person team produced 68 services for a single customer and still ships rarely; Netflix… | ||
| Gemini, Google's Large Language Model | Guillaume Laforge | 54m |
Gemini is natively multimodal and ships as Nano, Pro and Ultra with a new Gemini 15 Flash variant that aims for faster, cheaper responses. It accepts up to a 1… | ||
| There is –module-path beyond –class-path! | Jaroslav Tulach, Pavel Marek | 51m |
A Java app is forced to migrate because Truffle Unchained starts requiring Java modules, so jars become module-jars and service discovery changes. Migration… | ||
| Butcher Virtual Threads like a pro! | Piotr Przybył | 52m |
Demo shows creating 1 million virtual threads in ~8 seconds but only when threads just sleep; CPU-bound work on those threads still saturates cores and runs no… | ||
| High performance Serverless Java on AWS | Vadym Kazulkin | 53m |
Measurements show unoptimized Java Lambdas hit ~3.3s P90 cold starts (warm P90 ~7ms) across ~100 cold starts/hour. Enabling SnapStart plus a simple DynamoDB… | ||
| Mitosis Pattern | Julien Topçu, Josian Chevalier | 49m |
Claims a practical way to evolve an MVP into a modular system by iteratively duplicating and specializing models to resolve “model tension,” then only moving… | ||
| Escaping Developer Nightmares | Rustam Mehmandarov | 52m |
Audits of large Java systems (around 450–500k LOC monolith) show concrete failures: no tests, no CI/CD pipelines, unchecked third‑party libraries including… | ||
| Going AOT: Everything you need to know about GraalVM for Java | Alina Yurenko | 50m |
GraalVM’s native-image compiles Spring and microservices into platform-specific executables that start in ~48–56 ms and can be as small as ~37–111 MB; a Spring… | ||
| Simplifying NoSQL Database Integration with Jakarta NoSQ | Max Arruda, Gabriel Silva | 45m |
Jakarta NoSQL + Jakarta Data claim to let Java apps talk to many NoSQL engines with a JPA-like API; the live demo uses Quarkus, MicroProfile, WebSocket events… | ||
| Migrate Spring Boot app to Quarkus. Stage unlocked | Jonathan Vila | 44m |
Migrates a Spring Boot Petclinic REST app to Quarkus, using Quarkus Spring extensions or direct CDI/Panache replacements, Mandrel (GraalVM fork) to produce a… | ||
| How do you query a stream? | Viktor Gamov | 54m |
Argues there is no single right way — choices depend on trade-offs. Lists concrete options: Kafka Connect ships topics into Postgres or other OLTP stores… | ||
| Kommandos vs Scouts – different style of development | Bartłomiej Kuczyński | 21m |
Argues that the Scout rule (always leave code cleaner) fits critical-path, product-level systems that require tests, docs, CI/CD, backups and careful… | ||
| Atomics Habits in cost optimizations in the cloud | Bartosz Wieczorek | 20m |
Saved 45% on cloud bills—about $900,000/year for one GCP project—by combining measurable steps: build a cost dashboard with labels to attribute spend, choose… | ||
| Virtual threads - no pain, no gain | Martin Stefanko | 50m |
Project Loom virtual threads run on a pool of carrier (ForkJoin) threads and make blocking code look synchronous while actually unmounting and remounting work… | ||
| Harnessing the power of LLM text embeddings | Srikar Yekollu | 41m |
Clary builds Co‑pilot to extract insights from sales call transcripts using text embeddings; experiments compare vanilla OpenAI embeddings, a learned… | ||
| Belbin Team Roles - utilize it to enhance team effectiveness | Włodek Krakowski | 25m |
Uses the nine Belbin roles to diagnose and fix real teams, mapping them to Tuckman stages and the Five Dysfunctions. Shows concrete failures when roles are… | ||
| Unmask hidden issues with Observability superpowers! | Marcin Grzejszczak | 53m |
Live demo uses Spring Boot with Micrometer Observability, Prometheus, Grafana, Tempo/Zipkin and Loki to triage two real faults: a 404 bug fixed by inserting a… | ||
| Dissecting serverless runtimes - from functions to databases | Jakub Marchwicki | 43m |
Maps Lambda internals to other serverless runtimes: shows Docker/bootstrap loop that polls for requests, explains cold vs warm behavior with cold starts from… | ||
| Who cares about speed | Rafal Foltynski | 55m |
Argues that speed includes developer feedback loops, startup time and memory churn not just CPU cycles and shows concrete wins: replacing Lombok/equals with… | ||
| Unveiling the Mysteries of GraalVM's Least Understood Component | Artur Skowroński | 53m |
Explains that Truffle is a language implementation framework that builds self‑optimizing ASTs which, after profiling and adding simple guards, undergo partial… | ||
| LLM—Search Engine Killer? | Zbyszko Papierski | 49m |
Compares LLMs to keyword/semantic search using a live RAG pipeline: OpenSearch + KNN for vector retrieval, MiniLM embeddings for indexing document chunks, and… | ||
| Developing AI applications in Java with Quarkus and Langchain4j | Jan Martiska | 50m |
Quarkus plus Langchain4j shows concrete recipes: a 12‑line JBang joke endpoint hitting GPT‑3.5, an easy RAG demo that ingests 4 files into 8 documents and… | ||
| Breaking the Spring Framework's code: annotation's witchcraft | Paweł Kowalski | 49m |
Builds small Spring examples that show how annotations become runtime behavior: a custom ProxyPostProcessor and an InvocationHandler that swallows exceptions… | ||
| Let's Learn to Identify Technical Requirements for Better Design | P. Duval, A. Touret | 47m |
Claims 69% of IT projects fail largely from vague nonfunctional requirements. Two case studies show choices and costs: a kebab ordering app required “never… | ||
| Embracing Interface-Driven Design: Coding in the AI Era | Tomas Rehak | 16m |
Claims that Interface-Driven Design becomes essential because well-defined service boundaries let LLMs and humans share context, reducing prompt ambiguity… | ||
| Magic of Automation and Everyday Chores | Jamie Coleman | 46m |
Demo code uses LangChain for Java with Open Liberty and a Hugging Face model to build an internal slack chatbot trained on company docs that routes tricky… | ||
| AI is Coming - Now What? Architecting the Future of Software | Hugh McKee | 55m |
A design shows a fully event-driven micro-architecture built from three simple components that runs with 13 entities and uses choreography sagas, one-to-many… | ||
| The Hacker’s Guide to Insecure Workload Configuration in Kubernetes | P. Węgrzynowicz | 51m |
Live interactive demos show newly registered accounts getting hijacked by exploiting misconfigured workloads: a created pod mounts an hostPath volume so… | ||
| Twenty years of the four rules of simple design | Thomas Sundberg | 48m |
Live refactoring of a Java Tennis kata: 198 unit tests run after each change while IDE refactor tools extract methods, inline one-liners, convert fields to… | ||
| The Final Frontier of Web Development: React Server Comp. vs Jakarta EE | Ivar Grimstad | 45m |
Compares concrete server-rendering setups: a Next.js React Server Components demo (Next.js rendering simple pages on port 3000) versus equivalent Jakarta EE… | ||
| You Too Can Do Threat Modeling | Grzegorz Milka | 26m |
Walks through threat modeling a real help site United for Ukraine: maps architecture with data‑flow diagrams and trust boundaries, applies STRIDE to each… | ||
| 5 tips to help you communicate with the business world | Maciej Krzysica | 10m |
Five concrete practices: use five tips as memory anchors, first always find the goal before accepting a ready solution; use the three rhetorical appeals ethos… | ||
| Unleash the power of your applications with Micronaut and GraalVM | ÁLVARO SÁNCHEZ | 55m |
Micronaut uses compile‑time annotation processing to generate code and avoid reflection so apps start in hundreds of milliseconds and use far less memory… | ||
| Climbing Towards a Managerial Career in Engineering | Katarzyna Osuch-Bukowska | 42m |
Provides a concrete strategy for surviving behavioral interviews: use the STAR technique to structure one‑minute stories about specific projects, decisions and… | ||
| Continuous Improvements of The Code Review Process | Keren Kenzi | 21m |
Avoid giant changes like a 100-file PR and prefer small commits — she shows a real before/after where a 3-file PR cuts ping‑pong and merge conflicts. Add a… | ||
| Hands-on-lab: It's all about going hands-on with Generative AI! | Abdel Sghiouar | 44m |
Live demos show Java calling Google Cloud AI via LangChain4J and Vertex AI, using Gemini Pro for multimodal chat and image captioning and running open weight… | ||
| Unlocking Data Access Excellence with Jakarta Data | Otavio Santana | 49m |
Jakarta Data delivers a cross-database repository pattern that works with JPA/Hibernate and NoSQL via providers like Eclipse JNoSQL provider, supporting… | ||
| Using vectors in Java [...] | Tomasz Kowalczewski | 56m |
Explains why power limits create dark silicon and shows how the Java Vector API maps to CPU vector registers, giving a concrete example: a cosine‑similarity… | ||
| How sand and Java are used to create the world’s most powerful chips | Johan Janssen | 45m |
Machines use a 40 kW laser amplifier to hit tin droplets at 70 m/s 50,000 times a second to produce EUV light; a single lithography system has ~450,000 parts… | ||
| mayAI? Exploring Graphical Tools for Model Visualization & Enh. | S. Kurnevich, S. Ilie | 19m |
A hackathon-built tool called mayAI parses neural nets in NNEF text form and renders node-and-dataflow graphs so convolutional, pooling and concat layers are… | ||
| Die Hard - Defeating a Java compiler bug IS an Xmas story | Przemek Bielicki | 32m |
A Java compiler bug breaks reproducible classfile output by producing different permit-list ordering for a sealed interface depending on input-file order… | ||
| How EventStorming Transformed Our Domain Modeling Process | Vadzim Prudnikau | 50m |
Claims that domain modeling compresses from days to hours using EventStorming and a strict workshop recipe: a long wall, standing participants, lots of sticky… | ||
| A Developer's Perspective On Greener Future: GreenOps in practice | Erik Dörnenburg | 56m |
Practical claims and tools: Thoughtworks and the Green Software Foundation push GreenOps with an estimate-driven measurement stack and concrete wins. Cloud… | ||
| The Emperor Has No Docs | Ignasi Marimon-Clos i Sunyol | 53m |
Argues for a documentation‑first workflow that prevents the expert paradox by forcing names, edge cases and user intent up front; shows using the C4 model and… | ||
| How to build cross-functional, hybrid teams that Get Stuff Done | Tomasz Manugiewicz | 51m |
Argues that cross-functional hybrid teams break silos by shifting from component silos to product teams vs project teams, warns business pressures (billable… | ||
| XR Demystified Separating Facts from Fiction in 2024 | Rafał Legiędź | 56m |
Starts from 2014 and names concrete turning points: 2016 HoloLens enables enterprise optical see‑through apps, 2017 ARKit and 2018 ARCore put AR on millions of… | ||
| nothing matches | ||