Jfokus 2023
2023-02-06..2023-02-08
Stockholm, Sweden
Jfokus ·
[Jfokus 2016, Jfokus 2018, Jfokus 2019, Jfokus 2021, Jfokus 2022, Jfokus 2023, Jfokus 2025, Jfokus 2026]
| title | author | length |
|---|---|---|
| Staying Human While Coding | April Wensel | 46m |
Three concrete habits to stay human while coding: cultivate avoid binary thinking by judging code by context not absolutes (example: the Dutch government… | ||
| Decision Dials | Venkat Subramaniam | 01h 02m |
Argues decisions are decision dials not binary switches, and designing software is constant trade‑off optimization: choose where to be robust versus malleable… | ||
| Dr. Futamura and the Projection Machine: From Interpreters to Compilers | Edoardo Vacchi | 46m |
Futamura projections let a partial evaluator turn a high‑level interpreter into a compiled program by specializing the interpreter on a fixed source program… | ||
| Strong Foundations: Insightful learning vs trial-and-error in CI/CD | Ixchel Ruiz | 48m |
Outlines a practical CI/CD foundation: pick one CI tool (Jenkins/CircleCI/Bamboo) and measure progress using 4 DORA metrics (lead time, MTTR, deploy frequency… | ||
| Compliance-as-Code: How to do regulated business using public cloud | Emelie Ohlson | 52m |
Shows a concrete compliance-as-code setup for Azure using ARM/Terraform and Azure Policy to prevent/detect/remediate noncompliant resources, with a live demo… | ||
| A Community Approach to OSS Distribution | Stephen Chin | 51m |
Pyrsia builds a decentralized OSS distribution network that uses peer-to-peer via libp2p, authority nodes that run consensus (requires compromising two‑thirds… | ||
| How we completely rewrote our static code analyzer for Kotlin | Marharyta Nedzelska | 47m |
A complete rewrite replaces the old Slang intermediate with Kotlin’s native tree and Kotlin compiler semantics so rules use the compiler’s binding context… | ||
| Quality in a Square K8s-native Quality Assurance of Microservices w. Testkube | Mario-Leander Reimer | 56m |
Claim: move integration, performance and security tests out of huge CI pipelines and run them natively on the cluster, triggered by cluster events or GitOps… | ||
| "Multi-Player" Enterprise Applications: Why and How to Build a Collaborative UX | Leif Åstrand | 49m |
Practical blueprint for adding live collaboration to CRUD-heavy enterprise apps: explains tradeoffs between CRDTs vs event sourcing, when to use optimistic or… | ||
| Fast and Furious Multi-Cloud Connectivity | Patrycja Wegrzynowicz | 47m |
Architecture shows Kubernetes clusters in AWS GCP and Azure connected with either VPN or private links (Direct Connect Interconnect ExpressRoute via Megaport… | ||
| The Metaverse from a Developer Perspective | Pär Sikö | 14m |
Builds a true-to-scale office in VR with Oculus Rift, adds dinosaurs and zombies, and finds the platform fun but too immature for mass use. Estimates 10–15… | ||
| Offline first! | Rowdy Rabouw | 44m |
Demonstrates an Offline first site built with Service Workers plus the Cache API and Fetch API that caches a static asset list and creates a dynamic cache of… | ||
| Foreign Function and Memory API | Per Minborg | 16m |
Shows Java 20’s Foreign Function and Memory API (JEP 434, Project Panama) calling native C and mapping files: uses memory segment and arena primitives, maps a… | ||
| Saving the Planet, One Byte at a Time | Sofia Larsson | 15m |
Claim: the internet is roughly the sixth largest polluter and data centers cause about 2% of global CO2, the same as aviation. A JFokus page measures 8 g CO2… | ||
| Growing Development Efficiency | Jörgen Andersson | 14m |
Argues that DPE and DORA metrics are useful but too narrow and presents a concrete Development (Organisation) Efficiency model used at Pensionsmyndigheten… | ||
| Change streams act on events in realtime | Pierre Petersson | 14m |
Demonstrates a working Java pipeline that captures every document change with MongoDB change streams, filters via the aggregation framework, and pushes results… | ||
| Math Behind Software | Bartłomiej Żyliński | 14m |
Explains the concrete claim that vacuous truth is why empty collections make predicates like allMatch returns true, not a bug; demonstrates this with Java… | ||
| Choice is great, but not having to choose is better | Mikael Sundberg | 15m |
Argues that removing routine choices cuts cognitive load and speeds onboarding by making defaults do the work: use Backstage or Spring Initializer to scaffold… | ||
| Space, the final frontier | Niklas Mörnesten | 15m |
Swedbank builds an application platform called Andromeda to replace a 20‑year monolith of 1,800 Java projects and 16 million LOC by requiring teams to rewrite… | ||
| Just trust me - public key infrastructure in less than twelve minutes | Christer Wendel | 16m |
Quick primer that explains how public/private keys and RSA factorization enable encryption and signing, how a x509 certificate bundles a public key with… | ||
| How to System Design - Running a startup in a corporate company | Lekha Muraleedharan | 15m |
A small team designs and ships a Spotify Rewards tab that gives challenges (example: spend 10 days on the premium mini plan to earn discounts or free days)… | ||
| Test Automation Framework Design and Implementation | Meryem Zaid | 14m |
Overview of concrete framework choices and patterns: compares Selenium WebDriver (multi‑language, now TypeScript), Appium for mobile, and lightweight options… | ||
| Final words and Thank you | Mattias Karlsson | 14m |
Closing session lists volunteers and stage crews, runs a charity auction for a Waterfront dinner+premium stay, and reports about 338,000 SEK raised so far with… | ||
| Pushing Deepfakes to the Limit-Fake video calls with AI | Martin Förtsch, Jonas Mayer, Thomas Endres | 58m |
Shows a working pipeline that moves from DeepFaceLab-style face swaps to whole-head, real-time replacement, trained on many identities (N-on-N) and reinforced… | ||
| In-Memory Computing - The Big Picture | Markus Kett | 51m |
Claims that keeping data as Java object graphs in memory and serializing only deltas yields dramatic speedups: a 250 GB bookstore demo shows up to 1,000x… | ||
| Learning Through Tinkering | Tom Cools | 47m |
Claims that relevant IT knowledge has a half-life 2–5 years, and concrete experiments using Java/JavaFX for a small physics engine (location, velocity… | ||
| Event Sourced Logging | Bob Dahlberg | 26m |
Adds a logging module that records an app event stream so it can be replayed as code or tests, using Kotlin data classes, an annotation-generated toLog to mask… | ||
| Understanding Probabilistic Data Structures with 112,092 UFO Sightings | Guy Royse | 53m |
112,092 UFO reports become a concrete data set for explaining what probabilistic structures actually do: a Bloom Filter that checks membership (one-sided false… | ||
| How to not Crash in Prod, Load Testing Crash Course | Stéphane Landelle | 48m |
Explains how to turn vague requirements like 1,000 users for 1 hour into concrete tests by choosing open vs closed workload models, shaping injection profiles… | ||
| Flaky tests | Andrei Solntsev | 50m |
Flaky tests hide in async timing, UI animation and tiny locale quirks: one project has 9,000 unit tests vs 900 UI tests where unit runs in ~1 minute and UI… | ||
| Faster builds and slimmer images with Docker multistage builds | Gustaf Cele | 50m |
Shows a concrete Dockerfile that replaces copying an external build with a single multi-stage pipeline that runs yarn install and produces gzip-compressed… | ||
| Mastering Testcontainers for better integration tests | Oleg Šelajev | 51m |
Shows concrete patterns: using jdbc TC URL to auto-provision Postgres, copying schema SQL into the container to initialize DB, and using a TCP proxy to expose… | ||
| Github Actions - from Zero to Hero | Yonatan Kra | 49m |
Starts with a real problem: a team burns 99% of its Actions minutes, then cuts usage by ~75% using specific techniques. Shows GitHub Actions YAML patterns… | ||
| IntelliJ IDEA Tips and Tricks | Anton Arhipov | 50m |
Demos show concrete workflows: reading a file into a List with extractor refactorings, using statement completion and double-press chain completion to expand… | ||
| JavaScript: The Fascinating Parts | Venkat Subramaniam | 49m |
Argues modern JavaScript is now respectable and gives concrete rules: use const over var (and prefer let to var), run eslint to enforce it, replace arguments… | ||
| The Real-Time Analytics Stack | Mark Needham | 50m |
Argues a lean, cloud‑native RTA stack that replaces Lambda with a simple pipeline: events into Kafka, stream joins via Kafka Streams, materialized into Apache… | ||
| How I built the world’s most efficient deepfake detector with $100 | Mathis Hammel | 46m |
Claims a 100% reliable detector for images from ThisPersonDoesNotExist.com and a method to recover the exact generation timestamp by continuously scraping the… | ||
| Building containers without DockerFile | Abdellfetah Sghiouar | 43m |
Claims that containers can be built without a Dokerfile using buildpacks and JIB and demonstrates building with pack build and pushing to Google Artifact… | ||
| Fallacies of Software Development | Nathaniel Schutta | 50m |
Argues that common mistakes are cognitive and concrete: teams not invented here hand-roll a Spring-like framework that costs hiring and maintenance, a free IDE… | ||
| Generate You Some Code for Great Good | Justin D Lee | 51m |
Argues that practical code generation is easy and powerful, showing source generators (JavaPoet, Roster) and bytecode generators (Gizmo, ASM, Byte Buddy) used… | ||
| Dependency management? Model it! | Louis Jacomet | 47m |
Explains concrete Gradle techniques: publish rich Gradle module metadata and use platform alignment (BOM import plus module metadata loops) to keep multi-jar… | ||
| Functional fashion for Kotlin projects | Anton Arhipov | 51m |
Builds an end-to-end Ktor + Arrow.kt end-to-end example that actually wires request → DB → response using suspend lambdas, extension functions and immutable… | ||
| Using DI to build customer specific internet offices with a single code base | Henrik Ygge | 49m |
A reusable internet office for Swedish pension insurers is built as a modular Java 17 project that compiles one single code base into customer-specific builds… | ||
| Vapourware: The best software that never was | Anders Norås | 44m |
We've all had our grand ideas and small side projects, but some people have turned these into great software projects that never came to be.
In this talk… | ||
| Cloud-Native Dev Tools: Bringing the cloud back to earth | Grace Jansen | 50m |
Practical checklist for local cloud-native Java work: use Open Liberty or alternative runtimes with dev mode with container integration to get hot reload… | ||
| Practical Pipelines: A Houseplant Alerting System with ksqlDB | Danica Fine | 52m |
A home system uses a Raspberry Pi and I²C capacitive soil sensors that can only be addressed four ways, producing moisture and temperature readings every 30… | ||
| Fresh - the next level in web applications? | Markus Schlichting | 47m |
Fresh runs on Deno and claims no build step by transpiling TypeScript on the fly and caching results, uses Preact for rendering, and pushes an island-based… | ||
| Be ‘Mr. Miyagi’ or find one! A talk about the power of mentoring | Kelly Jille | 52m |
Mentoring leads to concrete results: a karate brown belt with ~50 prizes, national titles and a third-in-Europe finish; a legal case won under Dutch equal… | ||
| How to write fast Java code – thinking about memory | Anders Peterson | 51m |
A simple JMH matrix‑multiply benchmark runs six loop orders on 1000×1000 double matrices and shows loop order alone causes 24× difference in speed… | ||
| CVE 101: The Unfolding Of A Zero Day Attack | Theresa Mammarella | 39m |
Explains how CVE IDs and CVSS scores work, shows timelines for Log4Shell and recent OpenSSL errors, and gives hard numbers: 30 days used to be average time to… | ||
| Confessions of a Rusty Java developer | Alex Snaps | 50m |
A Java developer switches to Rust to run code on microcontrollers and low‑latency audio hardware and demonstrates concrete patterns: ownership and borrow… | ||
| Taking Care of Business - for 10 000 hours | Ola Ellnestam | 51m |
Responsible for one product for over a decade, the talk offers nine concrete shifts: stop planning every corner case and instead remove corner cases by… | ||
| Confessions of a Professional Data Hoarder | Laurens Blankers | 47m |
Government and medical systems must keep every historic record searchable with exact timestamps, so the design records material time vs formal time (and… | ||
| Let's move to X - Comparing the security of architecture patterns | Sebastian Olsson | 47m |
Compares concrete security tradeoffs when moving from monolith to micro(ish) services, queues, serverless and Kubernetes and shows where risk actually shifts… | ||
| How to fast generate your API Test with OpenAPI Tools and Rest-Assured | Elias Nogueira | 44m |
Claims a repeatable pipeline that uses an OpenAPI spec plus a Maven step and the OpenAPI Generator to generate clients and models from OpenAPI, then produces… | ||
| Leveraging the Modern JVM: How JVM Languages Benefit from Loom, Panama, and More | Charles Oliver Nutter | 42m |
JRuby ports Ruby to the JVM and demonstrates concrete uses of new JVM features: invokeDynamic 3.7× speedups on some benchmarks and up to ~4× versus old JVMs… | ||
| WhatsApp, Web3 and Wordle: Evolving a Digital Society | Dylan Beattie | 54m |
ICANN and RIPE refuse to physically cut Russia off, arguing that global routing resilience matters; email and Gmail filtering break deliverability, while… | ||
| Event-Driven Change Data Capture using Apache Pulsar | Mary Grygleski | 50m |
Describes implementing log‑based CDC by wiring Cassandra (Astra DB) to Apache Pulsar: enabling CDC creates two topics per table (data + lock), Pulsar persists… | ||
| Cloud-Native Architecture | Nathaniel Schutta | 50m |
Cloud native is not a tool it’s an architecture choice: microservices can give independent deployability and polyglot freedom but often become a distributed… | ||
| Why your shared libraries are ill - and how to cure them | Willem Cheizoo | 47m |
Practical checklist for building reusable Java libs with Spring Boot: avoid putting domain logic in the shared artifact, split functionality into small modules… | ||
| Why You Should Be Doing Contract-First Development | Deven Phillips | 43m |
Argues that writing the API contract first eliminates front-end/back-end waits by letting teams iterate against the spec, then generate code and tests… | ||
| Welcome to the Jungle - A safari through the JVM landscape | Gerrit Grunwald | 38m |
A tour of JVM builds compares concrete differences: which distributions provide CPU (security) updates (Azul, BellSoft, Oracle) versus PSUs, which are… | ||
| Go Go Java Developer | Piotr Przybył | 52m |
Learning Go clarifies Java by forcing different tradeoffs: Go produces native executables via go build and manages dependencies with go.mod, uses pervasive… | ||
| Demystifying ‘Event’ Related Software Concepts and Methodologies | Milen Dyankov | 49m |
Defines events as immutable notifications and claims true event sourcing requires removing producer-side state so the event stream becomes the single source of… | ||
| Data Oriented Programming with the JDK 19 | José Paumard | 54m |
JDK 19/20 introduce records that auto-generate final fields, accessors, equals/hashCode/toString and support canonical and compact constructors for validation… | ||
| Take back control of your data with Event Driven Systems | Henrik Stene | 32m |
Built a new customer database using Kafka and Kotlin that stores commands, events and aggregated states rather than only current rows; commands like create… | ||
| From Zero to Hero in Kubernetes Native Java | Daniel Oh | 51m |
Claims Java apps can boot in milliseconds with tiny memory by using Quarkus and Graal-ish native builds, demonstrates scaffolding a project with Quarkus dev… | ||
| PostgreSQL, The Time-Series Database You Want | Chris Engelbert | 51m |
Argues PostgreSQL plus the TimeScale extension stores high‑volume time series by turning tables into hypertable chunks that auto‑partition (monthly/daily… | ||
| Programmer's Guide to JDK Flight Recorder | Joakim Nordström | 39m |
JDK Flight Recorder ships inside the JVM and records JVM, JDK and application events with low overhead (<1%); default continuous recordings keep roughly the… | ||
| Game of Loom: implementation patterns and performance implications playing with | Mario Fusco | 51m |
Implements Conway’s Game of Life with CSP channels and measures performance with JMH, flame graphs and ForkJoinPool carriers; virtual threads remove the… | ||
| Performance Testing Java Applications | Pratik Patel | 50m |
Walks through nine concrete steps for Java perf testing and runs live demos: a Spring PetClinic load test driven by JMeter, monitored with VisualVM, JHiccup… | ||
| The Easy Way to Do the Hard Stuff | Karen Huaulme | 48m |
A serverless GraphQL endpoint is created in Atlas against a FIFA‑22 dataset of about 19,000 players, with an added World Cup finals collection related by… | ||
| A Practical Guide to Containerizing Your Spring Boot Application | Melissa McKay | 48m |
Containerizing Spring Pet Clinic on Java 11 uses Dockerfiles, Dive and docker history to inspect layers, and compares builders: Dockerfile images, Cloud Native… | ||
| Jfokus 2023 Mood Video | 02m | |
Mood video praises JFokus as a growing, tightly run Java conference that claims growth from 800 to 2000 attendees, repeated yearly improvement, and an attendee… | ||
| nothing matches | ||