airhacks.fm podcast with adam bien· Folge 404

Zero-Dependency Java 25, Event Sourcing, and Stabilizing Legacy Systems

Donnerstag, 9. Juli 2026 · 1 h 15

MP3

Shownotes

An airhacks.fm conversation with Tomasz Ptak about:
discussion about the guest's path from an en.wikipedia.org/wiki/Atari_8-bit_computers and a en.wikipedia.org/wiki/Intel_80486 to professional Java (java.com/en) development,
loading games from cassette tapes,
building a clock with the Logo programming language (en.wikipedia.org/wiki/Logo_(programming_language)),
making websites with PHP (php.net) for a community,
studying data management and computer science,
learning Perl (perl.org),
Bash,
c64-wiki.com/wiki/Pascal,
Python (python.org),
C,
C++ (en.wikipedia.org/wiki/C%2B%2B),
en.wikipedia.org/wiki/Ruby_(programming_language) and Java,
Java 1.4 and Java 5 (en.wikipedia.org/wiki/Java_version_history#Jav…) with docs.oracle.com/javase/tutorial/java/generics and docs.oracle.com/javase/tutorial/java/annotations,
an island optimization algorithm switching from Python to Java for memory control,
preference for strictly typed languages,
first job at motorola.com Solutions building a server-side Java configuration system with SNMP and SNMP4J (snmp4j.org),
moving from Tomcat (tomcat.apache.org) to Netty (netty.io),
using Ant (ant.apache.org) and Maven (maven.apache.org),
managing a Jenkins (jenkins.io) server,
rebuilding a buggy no-code Spring CRUD generator,
rewriting an application with Apache Wicket (wicket.apache.org) for stateful web development,
comparing Wicket (wicket.apache.org) structure coupling with Jakarta Faces (jakarta.ee/specifications/faces),
event sourcing (en.wikipedia.org/wiki/Event_store) with the Axon Framework (axoniq.io/axon-framework) and domain objects,
bitemporal awareness and Hibernate Envers (hibernate.org/orm/envers) versioning,
the Naked Objects (en.wikipedia.org/wiki/Naked_objects) pattern and object-oriented UI generation,
third job at Open Market stabilizing a legacy Java SMS gateway,
weekly outages and same-day retrospectives,
containerizing bare-metal systems with Testcontainers (testcontainers.com) and docker (en.wikipedia.org/wiki/Docker_(software)) Compose,
near zero-downtime deployment with Ansible (ansible.com),
migrating from Maven to Gradle (gradle.org) and removing the Buck build tool (buck.build),
upgrading legacy systems from Java 1.4 to Java 8,
minimalistic Maven usage,
a zero-dependency Java builder github.com/adamBien/zb and zero-dependency unit runner github.com/adamBien/zunit using only built-in compiler and jar tools,
Java 25 (openjdk.org/projects/jdk/25) as an automation tool replacing Python scripts,
executable JARs without external dependencies,
shebang instance-method scripting,
reactive or infinite streams and stream gatherers (openjdk.org/jeps/485),
Git-tag-based versioning for monorepos,
the AWS DeepRacer (aws.amazon.com/deepracer) and AWS AI community,
the mediocris (mediocr.is) blog

Tomasz Ptak on linkedin: linkedin.com/in/https://www.linkedin.com/in/to…

0:00 / 0:00