#405 Zero-Dependency Java 25, Event Sourcing, and Stabilizing Legacy Systems
discussion about the guest's path from an Atari and a 486 to professional Java development, loading games from cassette tapes, building a clock with the Logo programming language, making websites with PHP for a community, studying data management and computer science, learning Perl, Bash, Pascal, Python, C, C++, Ruby and Java, Java 1.4 and Java 5 with generics and annotations, an island optimization algorithm switching from Python to Java for memory control, preference for strictly typed languages, first job at motorola Solutions building a server-side Java configuration system with SNMP and SNMP4J, moving from Tomcat to Netty, using Ant and Maven, managing a Jenkins server, rebuilding a buggy no-code Spring CRUD generator, rewriting an application with Apache Wicket for stateful web development, comparing Wicket structure coupling with Jakarta Faces, event sourcing with the Axon Framework and domain objects, bitemporal awareness and Hibernate Envers versioning, the 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 and docker Compose, near zero-downtime deployment with Ansible, migrating from Maven to Gradle and removing the Buck build tool, upgrading legacy systems from Java 1.4 to Java 8, minimalistic Maven usage, a zero-dependency Java builder zb and zero-dependency unit runner zunit using only built-in compiler and jar tools, Java 25 as an automation tool replacing Python scripts, executable JARs without external dependencies, shebang instance-method scripting, reactive or infinite streams and stream gatherers, Git-tag-based versioning for monorepos, the AWS DeepRacer and AWS AI community, the mediocris blog
Tomasz Ptak on linkedin: https://www.linkedin.com/in/tomasz-ptak