GeeCON 2019
| title | author | length |
|---|---|---|
| Do not put all eggs in one container | Dmitry Chuyko | 55m |
Shows concrete steps to make Java microservices actually fit in containers: builds and compares images (Alpine/musl Liberica/OpenJDK base, smallest image ~37… | ||
| MADPIG: Measure and deepen performance in Go | Valentin Deleplace | 50m |
Shows concrete wins: instrumenting with pprof and Trace reveals 97% of time spent opening files, not the network; moving file reads out of the inner loop and… | ||
| Secrets of top performance in Java revealed | Jonatan Kazmierczak | 51m |
Comparative benchmarks parse the Bible text (4.3 MB, ~825k words, ~84.5k lines) with four Java implementations (Java 2 style, Java 7 IO/scanner, Java 8… | ||
| Is writing performant code too expensive? | Tomasz Kowalczewski | 49m |
Argues that targeted optimization can beat big-cloud defaults with real numbers and experiments: uses JMH microbenchmarks and a NUMA ping‑pong test to show… | ||
| From notebooks to production - bringing devops to scientists | Raam Rosh Hai | 20m |
A deployable model-serving stack called Assaf turns a notebook function into a running service via a single-library import, uses RabbitMQ queues and connectors… | ||
| Machine Learning in Visual Search | Ola Kunysz | 33m |
Visual search drives higher conversions and is practical today using either image-to-text tagging stored in Elastic or true image-to-image search via VGG16… | ||
| Data Streaming: Which horse to bet on? | Kamil Owczarek | 44m |
Compares Akka Streams, Kafka Streams, Flink, Spark Streaming and Beam and claims there is no silver bullet: low latency vs high throughput is the core… | ||
| Apache Beam - what do I gain? | Łukasz Gajowy | 47m |
Apache Beam implements the Dataflow model so one pipeline describes both batch and streaming, with concrete demos sending simulated air‑quality events to… | ||
| Coroutines explained by example | Dmitry Kandalov | 41m |
Coroutines appear as concrete, runnable examples in Lua, JavaScript, Scheme showing yield, generators and async/await mapped to the same idea: suspend and… | ||
| Devops@Scale | Leonid Igolnik | 48m |
Starts at three engineers and scales to ~100, moving through clearly named stages: fire brigade, smoke alarm installers, then a centralized DevOps enablement… | ||
| What do I do with 1000 cores | Andrzej Grzesik | 46m |
A JVM-based agent‑based modeling SDK at Simudyne targets wall‑clock speed on 1,000+ cores and shows concrete tradeoffs: JDK 1.8 is common, NUMA matters so use… | ||
| Rediscovering gRPC with Kotlin coroutines | Marharyta Nedzelska | 47m |
Shows that replacing gRPC Java callbacks and futures with Kotlin coroutines and channels cuts the callback hell in a bidirectional streaming microservice demo… | ||
| How do we approach event streaming at Revolut? | Jacek Spólnik | 51m |
Revolut builds its own event streaming on Postgres rather than Kafka: events are appended immutably to a partitioned Postgres event log (monthly partitions… | ||
| The Java Module System in practice | Serban Iordache | 48m |
Shows concrete steps and gotchas for modularizing real projects: adds module-info, resolves removed JDK modules (e.g., JAXB) from Maven Central, and changes… | ||
| Testcontainers: a year-in-review | Sergei Egorov | 53m |
Testcontainers is a JVM library that spins up throwaway Docker instances of databases, browsers and services; the demo wires a Spring Boot app to TC… | ||
| Jazon - test assertions on JSONs have never been easier | Paweł Mikołajczyk | 15m |
Jazon is an open-source Java/Groovy library that makes JSON assertions concise and robust, showing live Spock examples that execute and produce readable… | ||
| The time relativity principle | Jakub Marchwicki | 18m |
Shows that converting an XML timestamp through XMLGregorianCalendar to Instant conversion plus a ZoneId produces an unexpected shift (example result becomes… | ||
| Closing Ceremony | 07m | |
Conference wraps up after the 11th main geeking event with organizers noting persistent volunteer effort and sponsors that fund the meetup. Organizers hand out… | ||
| Reactive message driven service 2 service communication with RSocket | Rafał Kowalski | 40m |
RSocket is a bi-directional multiplexed binary protocol that runs over TCP, WebSocket or Aeron and implements four interaction models: fire-and-forget… | ||
| Stress Driven Development, and How to Avoid It | Dmitry Vinnik | 50m |
Claims that chronic job stress causes long-term health damage and that short acute stress can be useful, then offers concrete practices that proved helpful… | ||
| Modern Web Testing: Going Beyond Selenium | Dmitry Vinnik | 53m |
Argues that teams can drastically cut slow, flaky Selenium end-to-end suites by moving most tests to fast unit/integration layers and using a few Protractor or… | ||
| From annotations to code: describing HTTP endpoints with Tapir | Adam Warski | 52m |
Live-coding shows replacing annotation-driven HTTP mappings with immutable Scala values using the Tapir library, building two endpoints: GET /books (optional… | ||
| On-stage hacking: build 12-factor microservices | Emily Jiang | 47m |
Live coding that builds a 12‑factor microservice using MicroProfile 2.2 and Open Liberty: generates JAX‑RS services, injects config via MicroProfile Config… | ||
| java.util.concurrent for Distributed Coordination | Ensar Basri Kahveci | 45m |
Hazelcast implements linearizable distributed java.util.concurrent primitives on top of the Raft algorithm: AtomicLong, AtomicReference, CountDownLatch… | ||
| Automating your development experience with Atomist | Lieven Doclo | 44m |
Atomist presents a TypeScript SDM that captures GitHub, CI, Sentry and Slack events, auto-applies fixes (license, TSLint), generates a Maven app, builds it… | ||
| What Lies Beneath | Maurice Naftalin | 54m |
Tiny Java program is traced from source to bytecode to machine code and hardware; the template interpreter emits extra checks around integer division… | ||
| Taming Code Quality in the Worst Language I Know: Bash | Michał Kordas | 49m |
Bash is full of real hazards but can be tamed by concrete practices: enable set -eu -o pipefail to avoid silent failures, run shellcheck for hundreds of common… | ||
| Superpowers of Kotlin Delegation | Marcin Moskała | 56m |
Shows concrete Kotlin delegation mechanics: interface delegation via "by" and property delegation compiling to getValue/setValue, used to implement lazy… | ||
| Standard Web Payment APIs | A.Mahdy Abdelaziz | 48m |
Claims that adopting the web Payment Request API cuts mobile form pain and lowers checkout abandonment, with a live demo using new PaymentRequest(), a web… | ||
| When your boss decides to have an architecture team… | Krzysztof Debski | 44m |
Companies create architecture teams without a clear remit and hiring ads mix microservices + Kubernetes vs TOGAF, promising impossible five‑year microservices… | ||
| Create your own Interpreter with a JIT in 1 hour | Charlie Gracie | 43m |
Shows how to use Eclipse OMR with the JITBuilder and InterpreterBuilder to write one interpreter that automatically yields a JIT for a tiny stack VM called EL… | ||
| Recycling examples | Thomas Sundberg | 44m |
Explains how to reuse Gherkin examples by swapping adapters: a delegator asks an adapter factory for either a model adapter, REST adapter (Dropwizard +… | ||
| Fast & Functional | Michał Płachta | 46m |
Builds a minimal Scala microservice that aggregates YouTube-video likes/views, models side effects as small algebras returning an abstract F (higher-kinded… | ||
| The Slower the Stronger: A Story of Password Hash Migration | Tomasz Borowiec | 51m |
A case study of migrating Ocado’s password store: benchmarks show 19–20 billion MD5 hashes/sec per GPU, while bcrypt cost=8 ≈80 ms on their machines, so PBKDF2… | ||
| 8ms/99th write percentile latency - is it fast? | Maciej Lasyk | 48m |
Claims production Cassandra clusters hit 8ms 99th write latency at scale while serving ~300k req/s across ~1k EC2 nodes. Built self‑healing runbooks in… | ||
| Building a continuous secure delivery pipeline | Shirish Padalkar | 50m |
In today’s fast paced software development world, we have seen teams facing difficulties keeping up with security requirements. Regular security breach in news… | ||
| Leveraging Emerging Technologies in Travel for Competitive Advantage | Ben Vinod | 55m |
Sabre Labs runs a hybrid cloud and Hadoop-based data stack (AWS Azure Oracle, MapReduce, Spark, Kafka, Cassandra) and holds 15 petabytes of data including 170… | ||
| Scaling yout Architecture with Services and Events | Randy Shoup | 51m |
History shows monoliths morph to microservices after scale pain points such as feature velocity and database limits like the 3.4 million lines eBay monolith or… | ||
| Enough java.lang.String to Hang Ourselves ... | Heinz M. Kabutz | 46m |
Shows measured JDK behaviors and concrete costs: JMH benchmarks and jcmd scans show + faster than StringBuilder since Java 9 for mixed concatenation… | ||
| Reactive Spring | Josh Long | 51m |
Spring 5 adds a reactive baseline built on Reactor so applications use Mono/Flux reactive streams and a Netty-based runtime instead of a servlet thread per… | ||
| Kotlin is for hipsters | Jorrit van der Ven, Riccardo Lippolis | 44m |
A production container-routing app (think Skyscanner for containers) runs on a React front end with Kotlin microservices + Spring + Neo4j graph DB, delivered… | ||
| Chaos Development: Removing software as the inhibitor of Agile | Fred George | 52m |
Claims that adopting Smalltalk-style OO reduces change cost are backed by concrete results: a legacy Java model with 72 classes is refactored to 1,400 classes… | ||
| Developer’s Torment: The Documentation | Z.Papierski, J.Marchwicki | 39m |
Recommendation: use EventStorming to build a ubiquitous language in a half-day workshop; capture architecture choices as Architecture Decision Records with… | ||
| CharBusters - 10 Unicode Myths | Tomasz Nurkiewicz | 51m |
Unicode hides gotchas: CJK already needs ~88,000 code points, Java char and String length are misleading — String.length() measures code units (surrogates)… | ||
| Survivability of Observability: Taking your DIY system to success | Janet Yu, A.Mukherji | 40m |
A DIY observability platform that scales to thousands of users and hundreds of thousands of servers relies on a streaming analytics pipeline that delivers… | ||
| Purely Functional Data Structures | Grzegorz Piwowarek | 48m |
Persistent immutable collections minimize copying by structural sharing and often match mutable performance with clever designs. Practical examples: a singly… | ||
| Three Programming Disruptions | Bruce Eckel | 01h 08m |
Kotlin removes nulls for pure code and forces handling when calling Java, with the Elvis operator for concise fallbacks; its extension functions add methods to… | ||
| Thread Safety with Phaser, StampedLock and VarHandle | Heinz M. Kabutz | 51m |
Compares Phaser, StampedLock and VarHandle with code and microbenchmarks: starting threads via volatile spin, wait/notify, CountDownLatch and phaser arrive and… | ||
| Non-zero sum game: a talk about diversity | J. Dębska, A. Dubiel | 53m |
Evidence-based case that bias, not talent, shapes hiring: blind auditions raise women’s hires by 40%; recruiters form decisions within about four minutes… | ||
| Habits of efficient developers | Daniel Lebrero Berna | 41m |
Efficient developers cut interruptions (context-recovery costs ~10–15 minutes) by disabling all notifications and batching email, use headphones or pair… | ||
| Jenkins Configuration as Code - Automate your automation Server | Ewelina Wilkosz | 51m |
An open source Jenkins Configuration as Code plugin stores full Jenkins master config as YAML files and generates a data model, JSON schema and IDE validation… | ||
| An overview of available opensource tools to secure your Java code | Bruno Bossola | 49m |
Quick survey of practical open‑source Java security tools with live demos: shows Gitleaks and truffleHog finding committed AWS keys, runs OWASP… | ||
| Another year, another language | Jarek Ratajski | 53m |
A rapid history that traces concrete shifts: hardware changes from Babbage’s engine to multi‑core CPUs drive new language designs, and a community site shows… | ||
| Reactive for the Impatient - A Gentle Intro to Reactive Java | Mary Grygleski | 52m |
Explains why reactive Java matters, shows concrete APIs and code patterns and compares real libraries: RxJava and Spring Reactor with map/flux/mono examples… | ||
| Forget Go. Go, Java, go! | Jaroslav Tulach | 49m |
GraalVM’s Substrate VM and native-image compile JVM apps ahead-of-time into single self-contained executables (Linux/macOS; Windows preview) that start… | ||
| Java 10/11 Memory Management and GC | Ken Sipe | 51m |
HotSpot heuristics evolve from Parallel GC through CMS to G1 default in Java 10/11 and the talk gives concrete tuning notes: default region size is 2MB region… | ||
| Test && commit || revert | Dmitry Kandalov | 15m |
Explains and demos TCR using an limited-wip plugin in IntelliJ while coding a Kotlin FizzBuzz demo, claiming the workflow forces very small, safe changes. The… | ||
| Consumer Driven Software Development | Aiko Klostermann | 19m |
Argues for making every artifact readable by its actual consumer and gives concrete habits: put why in commit messages not just what, name tests with… | ||
| Reactive Integration with Akka Streams and Alpakka | Jacek Kunicki | 43m |
Shows a runnable Java pipeline using Akka Streams plus Alpakka connectors: a file tail source reads CSV lines, a Flow parses to a domain model, a GraphDSL… | ||
| Property-based testing:You won't look at your tests the same way ever again | Jan Stępień | 46m |
Property-based testing generates large volumes of automatic inputs, finds edge cases and shrinks failures to a minimal counterexample, and runs configurable… | ||
| Micronaut, Dragon-Slayer (Spring/boot) or just another framework | Vladimir Dejanovic | 52m |
Compares a Spring Boot and a Micronaut REST API that include H2 + JPA persistence, Thymeleaf views and basic login security, all on Java 11. Both… | ||
| How to save money on long-term support for Java 11? | Marcin Zajączkowski | 25m |
Compares concrete LTS choices for Java 11 and shows which vendors provide ongoing security updates without fees: AdoptOpenJDK, Amazon Corretto, Azul Zulu and… | ||
| How to make technical decisions? | Oresztesz Margaritisz | 19m |
Shows a repeatable process: pick a shortlist of alternatives, pick 4 metrics from the categories design, learning curve, runtime and support, assign quick… | ||
| Why you (don't) want to write you own memory buffer recycler? | Rafal Foltynski | 22m |
A custom object pool for recycled byte buffers replaces per-request string and array allocations in a log-to-Elasticsearch plugin, using Jackson to write into… | ||
| Developer's guide to selling your soul | Hrvoje Crnjak | 22m |
Team lead from Radian who builds cloud core banking in Scala lays out 11 lessons aimed at engineers moving into management: the Peter Principle means half of… | ||
| Production level Docker | Ken Sipe | 51m |
Claims production-grade Docker requires immutable, versioned images (no never use latest), small layered images identified by SHAs, and building artifacts… | ||
| How shit works: TCP/IP | Tomer Gabel | 53m |
Explains how TCP turns an unreliable packet network into a reliable, ordered byte stream using a three-way handshake for connections, RTT sampling to set… | ||
| Machine Learning powered regression | Paweł Dyrek | 50m |
Proposes automated full-regression by storing baseline screenshots for every sitemap URL and comparing new screenshots to detect unexpected changes, claiming… | ||
| Busy Architect’s Guide to the Cloud Offerings | Ted Neward | 56m |
Overview of practical cloud tradeoffs: compares Amazon Web Services, Azure and Google Cloud, plus Heroku, Salesforce, Parse and Meteor; highlights Docker, S3… | ||
| Iconoclasm | Ted Neward | 01h 19m |
Argues that being an iconoclast means three concrete skills: see the world differently (examples: Florence Nightingale uses a pie chart to force hand‑washing… | ||
| Monolith? Microservices? Who cares? | Bartłomiej Kuczyński | 43m |
Argues that architecture choice matters far less than code modularity and deployment setup: moving between monolith and microservices is trivial if code… | ||
| nothing matches | ||