Tag Archives: yow

YOW Conference Sydney 2025 – Conference Review

Day 1 – Thu, Dec 11th 2025

Kent BeckSustainable Augmented Development

Kent told us we have been thrust from a predictable world of extraction into a brave new era of exploration, where AI amplifies our leverage but requires us to prioritize high-level systems thinking and design optionality over raw coding speed.

Rather than fearing obsolescence, we must embrace our duty to mentor junior developers, whose fresh adaptability combined with our experienced guidance is the only way to prevent this powerful “genie” from creating unmanageable technical debt.

Ultimately, that we must resist the anxiety to simply run faster and instead claim your time to experiment and learn, remembering that your life is a finite opportunity for craftsmanship, not just a race to clear tickets.

Alexander ChatzizachariasA Fun and Absurd Introduction to Vector Databases

We have entered the era of “vector magic,” where high-dimensional mathematics allows computers to finally understand context, turning everything from wizard spells to Pikachu images into number arrays that measure semantic meaning.

While the tooling landscape is now so crowded that you can essentially “pick the logo you like,” the real power lies in using these dense vectors to connect distinct worlds, like building a “Shazam for heavy metal” that deciphers growled lyrics.

Ultimately, the talk leaves us with a hilarious survival strategy for the future: since AI is mastering human language, our only hope to stay off the grid might be communicating exclusively in unintelligible grunts.

Jim WebberThe Pub-Time Parliament

Jim Webber traces the evolution of distributed consensus from the academic complexity of Paxos to the empathy-driven design of RAFT, arguing that true engineering brilliance favors understandable solutions over intellectual “flexing.”

He introduces RIOT, a protocol designed to handle the unique tensions of sharded graph databases, proving that we can achieve massive scale and strict correctness without creating systems too complex for humans to manage when disaster strikes.

Ultimately, this talk serves as a reminder that the most robust architectures are built on kindness and clarity, urging us to “be awesome to each other” by designing systems that our future selves can actually understand.

Roy van RijnPushing Java to the Limits: Processing a Billion Rows in Under 2 Seconds

This talk showcases a thrilling “Advent of Code” style competition, pushing Java performance from a baseline of 4 minutes and 50 seconds down to an astonishing 1.5 seconds by ruthlessly optimising every layer of the computing stack.

The journey from simple streams to victory involved deep mechanical sympathy, leveraging advanced techniques like SIMD As A Register (SWAR) for fast delimiter finding, and using magic numbers to write branchless code that fundamentally eliminated CPU pipeline bottlenecks .

The takeaway is that true high-performance engineering means exploiting the underlying hardware, from using Unsafe and memory-mapped files to eliminating object allocation and understanding L3 cache shared access, proving that peak performance is a continuous, fascinating process of questioning every assumption.

Nicolas FränkelWebAssembly on Kubernetes

WebAssembly has evolved from a client-side browser optimization into a powerful, secure, and fast universal binary format for polyglot applications across the entire stack, delivering on the promise of “write once, run anywhere” with exceptionally small binary sizes.

The exciting journey to run WASM on Kubernetes is demonstrated through lean, multi-flavor containers, showcasing a massive reduction in image size down to a mere 2MB by replacing the OS layer with a simple WASM runtime shim.

However, be warned: while this world is blazing fast and full of potential, the ecosystem is currently moving so rapidly that dependency instability can break production code in a week, meaning this is the perfect arena for innovation, but not yet for stability-hungry enterprises.

Conor HoekstraEnter the Matrix

This talk presents “Vibe Coding” as the evolution of software craftsmanship, urging you to take the “red pill” and embrace AI tools like Cursor to dramatically maximize your coding output by making you a more precise, high-level architect rather than a typist.

The true secret to unlocking this potential is not just using the tools, but actively experimenting with the latest models and feeding them detailed prompts, enabling them to handle the vast majority of the implementation details for you.

Ultimately, your expectations must be reset: modern AI assistance paired with array programming paradigms (like BQN) and highly optimized GPU frameworks (like Parrot) completely transforms what is possible, allowing you to focus on elegant, dense solutions at speeds previously unimaginable.

Sam AaronBeyond Sonic Pi: Tau5 and the Art of Coding with AI

Sam Aaron’s journey with Sonic Pi reveals that programming’s true power lies not in business logic, but as a vibrant tool for human expression, using music as the infectious bridge to teach complex concepts like concurrency to children.

Driven by the need to make this experience accessible and live-codable in the browser, he faced the monumental challenge of porting a complex C++ synthesizer (SuperCollider) to WebAssembly, a task only made possible by treating the LLM as a tool that constantly tries to gaslight you, demanding meticulous verification and code annihilation.

Ultimately, by overcoming technical impossibilities and refusing to let institutional barriers stamp out interest, Aaron is creating a new world of “fun human expression and joy,” inviting us to redefine programming as an exciting, performative art form that everyone is eager to embrace.

Day 2 – Fri, Dec 12th 2025

Michael FeathersConceptualisation – The Form Behind Names

The core struggle behind “God classes” is a conceptual drift where the structure outgrows its original name, challenging the rigid Aristotelian view of categorization and demanding we recognize that our software abstractions are always lossy maps, not the full territory.

To refactor effectively, we must move beyond simple renaming by fundamentally evolving the conceptual space, leveraging insights from Prototype Theory and the potential of LLMs to discover new, deeply resonant ways of classifying the complex behaviors we model.

Therefore, our task is to become conscious vocabulary inventors, coining precise new terms and comparing models across different contexts to break the inertia of existing names, thus fostering a shared understanding that empowers us to manage the inevitable growth and complexity of our systems.

Simon BrownThe C4 Model – Beyond The Basics

The C4 model provides a practical, notation-independent framework for visually documenting software architecture at increasing levels of detail: System Context, Containers (process boundaries like web apps or databases), Components, and Code.

To maximize usefulness, focus on the first two levels, Context and Containers, which define system boundaries and inter-process network interactions, treating containers not as deployment artifacts but as crucial isolation boundaries to clarify technology choices and communication paths.

Ultimately, C4 is a tool for achieving architectural clarity; by using its structure to map complex systems, you move your team past the “ad hoc” documentation stage toward a mature, shared understanding that enables large-scale organisation and efficient system evolution.

Kevin DuboisCreate (Agentic) AI-infused Apps, the Easy Way

Kevin Dubois showed how to build powerful agentic AI apps effortlessly using the Quarkus stack and Langchain4j, leveraging features like structured POJO returns, conversational memory, and Retrieval-Augmented Generation (RAG) to inject specific knowledge.

He demonstrated control with the Model Context Protocol (MCP), enabling deterministic tool use, while critical GuardRails and fault tolerance mechanisms ensure your agents, even when orchestrating multiple specialised experts, are safe and enterprise-ready.

Kevin showed the future of development where minimal code creates sophisticated, goal-based autonomous systems with hot-reloading developer experience, proving that integrating cutting-edge AI into Java applications is now both simple and profoundly powerful!

Nada AminMetaprogramming, Synthesis, and Verification

This talk was a vision of the future, led by Nada Amin, illuminated the goal of Verified Synthesis, uniting the expressive power of neural language models with the certainty of formal verification systems like Dafny, defining a frontier where code is generated with provable correctness.

The presentation showcased the dedication required to achieve high-assurance software, detailing how techniques like design-by-contract verification and structural induction, even when aided by AI scaffolding, provide strong signals that ensure complex systems, such as the AWS authorisation engine, are formally guaranteed to uphold their semantics at scale.

This pushes the boundaries of programming itself by exploring powerful paradigms like relational programming and utilising constraint solvers (Holey, minikanren) not just for debugging, but for synthesising correct-by-construction code, promising a future of trustworthy intelligent systems that fundamentally change how we reason about and build software.

  • Dafny Sketcher (https://github.com/namin/dafny-sketcher),
  • multi-stage miniKanren (https://github.com/namin/staged-miniKanren),
  • VerMCTS (https://github.com/namin/llm-verified-with-monte-carlo-tree-search),
  • Holey (https://github.com/namin/holey).

Rod JohnsonWhy Do We Need An Agent Framework?

The AI revolution’s next phase demands a shift from fragile, non-deterministic Python notebook experiments to robust, enterprise-grade applications, especially in mission-critical business processes where failures are costly.

Rod Johnson’s Embabel framework addresses this challenge by maximizing determinism through careful orchestration, breaking complex goals into small, testable steps, and deeply integrating with existing business systems and type-safe domain models, leveraging the strengths of Java developers.

Everything we learned about building resilient software—types, transactions, and testing—is now more vital than ever to build reliable agents that move beyond personal augmentation into trustworthy, goal-driven automation.

Sarah Meiklejohn13 Years of Cryptocurrency De-anonymization (and Counting)

Despite the initial premise of anonymity, the globally visible nature of public ledgers like Bitcoin makes them fundamentally traceable, allowing researchers and law enforcement to effectively de-anonymise transactions by treating cryptocurrency like traceable digital cash.

By applying clustering heuristics, like identifying change addresses, it is possible to group disparate addresses back to a single entity, allowing investigators to track vast sums of money across the blockchain, even tracing funds stolen from exchanges or used in Dark Net Markets.

This work transforms the blockchain into a powerful tool for accountability, offering a testament to human ingenuity: though technology attempts to obscure, the careful study of transaction patterns can always bring transparency to complex systems.

YOW Conference Sydney 2024 – Conference Review

Day 1 – Thu, Dec 12th 2024

Nilesh Makwana – Bridging the Digital Divide: A Path to Inclusive Innovation and Prosperity

Nilesh threw down the gauntlet, daring the room to confront their assumptions about inclusivity. He challenged them to reimagine their teams, their client targets, and their customer bases in a way that pushed against the very grain of the room’s prevailing mindset. Drawing on his own deep commitment to inclusivity, he shared powerful examples from his work with First Nations Communities, Local Councils, and people with disabilities, showcasing how he’d woven these principles into the very fabric of his teams.

Rachel Laycock – A New Era for Legacy Modernisation

This talk explored the challenges of legacy code modernisation and the potential of generative AI (Gen AI) to revolutionise the process. Legacy systems are complex, poorly documented, and resistant to change. Gen AI offers a new approach that can understand unstructured data, reverse engineer code, and generate documentation. This can empower developers to explore and modify legacy systems much faster and with fewer errors. The potential benefits include faster bug fixing, increased developer productivity, and a deeper understanding of complex codebases.

Thomas Vitale – Concerto for Java and AI – Building Production-Ready LLM Applications

This talk dived into building real-world applications with generative AI. It flipped the script on traditional development, starting with user experience. Imagine a composer’s assistant that understands emotions and suggests music based on movie scenes, director notes, and even free-form transcripts. This talk used real code examples to show how to build AI pipelines that spark creativity, not replace it. The audience learnt about vector search, semantic understanding, and how to leverage AI as a tool to empower human artistry. Added to that was Thomas’ live music performance that is weaved into the final output.

Marty Pitt – Adaptive Architectures – Building API Layers that Build Themselves

Tired of brittle, point-to-point integrations that break with every producer update? Taxi and Orbital offer a revolutionary approach, moving beyond traditional glue code and endless mapping. By focusing on semantics—the meaning of data—rather than just structure, Taxi provides a powerful language to define relationships between disparate systems. Combined with Orbital, an open-source UI, this dynamic duo empowers developers to connect data sources on demand, adapt seamlessly to change, and query information by its meaning, not just field names. Imagine a world where integration logic is generated automatically, where schema changes are handled gracefully, and where you can ask for exactly the data you need, regardless of its underlying structure. This is the promise of Taxi and Orbital: a world where integration is no longer a bottleneck, but a powerful enabler of innovation.

Joakim Sundén – How Autonomy Saved One of Spotify’s Most Loved Features From Being Killed

Joakim Sunden’s story reveals how Spotify’s autonomous squads saved its beloved Discovery Weekly feature from the chopping block. Faced with the challenge of helping users discover new music beyond simple search, Spotify experimented with various approaches, from human curation to complex algorithms. A small team, empowered by Spotify’s unique structure, resurrected a discarded “Play it Forward” hackathon project, transforming it into the personalised mixtape we know today. This wasn’t a top-down mandate, but a bottom-up revolution fuelled by trust, rapid experimentation, and a culture that embraced failure as a learning opportunity. Despite initial skepticism from leadership and scaling hurdles, Discover Weekly exploded in popularity, proving that true innovation thrives in environments where teams are given the freedom to explore, experiment, and ultimately, surprise the world.

Steve Smith – Understanding Rust; or how I learned to stop worrying and love the borrow-checker

Steve Smith’s talk dives into the world of Rust, a systems programming language that tackles memory safety and concurrency head-on. He demystifies Rust’s infamous “borrow checker,” explaining how it prevents race conditions by enforcing strict ownership and borrowing rules. From managing resources with Drop and exploring stack vs. heap allocation with Box, to navigating the complexities of lifetimes, Rc, Arc, and the Send/Sync traits for thread safety, Smith illuminates Rust’s powerful features. He even touches on the current state of asynchronous programming in Rust, advising caution for production use. This talk was an engaging tour through Rust’s unique approach to building robust and performant software.


Allen Holub – Getting Buy-In: Overcoming Larman’s Law

In an illustration of organisational transformation, a group of engineers defied the odds and overcame the stifling status quo. Recognising the limitations of traditional methods, they championed experimentation and a culture of “ask for forgiveness, not permission.” By focusing on clear business cases and demonstrably reducing risk through techniques like mobbing (multiple programmers working together) and queue management, they chipped away at ingrained resistance. This bottom-up approach, driven by a passion for efficiency and a willingness to learn from mistakes, ultimately led to a more productive and collaborative work environment.

Day 2 – Fri, Dec 13th 2024

Holly Cummins – The Efficiency Paradox and How to Save Yourself and the World

Looking at the technical history of the steam engines of the 1700s to modern software, the pursuit of minimising waste has been a central theme. Holly’s talk explored how everything from pre-cloud provisioning nightmares to e-waste and slow code contributed to a global inefficiency crisis. Solutions emerged, from LightSwitchOps for server management to optimising code and embracing build-time initialisation. Looking at the Vroom Model, Holly declared that faster code saves the world, linking execution time directly to energy consumption. But the narrative took a turn, questioning the very definition of efficiency. Jevons Paradox and queuing theory revealed that sometimes, slack—in systems and in human lives—is not waste, but a crucial component for resilience, productivity, and even happiness. The talk concluded with a powerful message: by examining our assumptions, working less, and embracing idleness, we can paradoxically achieve more.

Holly Cummins – Tradeoffs, Bad Science, and Polar Bears – The World of Java Optimisation

In a fascinating talk about performance optimisation, we explored the past pitfalls and paradoxes that have plagued this field. We learned that blindly chasing speed can backfire, as Akamai discovered with a 100ms delay leading to a 7% drop in conversation rates. Even high-frequency trading firms lose millions due to platform delays. The key takeaway? We must optimise for the right thing, at the right time. Throughput, response time, latency, and resource utilisation are all crucial aspects to consider. Interestingly, Google once used station wagons to deliver data tapes for maximum throughput, highlighting the trade-offs involved. Furthermore, requirements change. An API optimised for desktop use might crumble under the load of mobile users. The talk also emphasised the importance of measurement over intuition. We saw how the McNamara Fallacy can mislead us to focus on lagging indicators that are easy to measure but hard to improve, instead of leading indicators that might be harder to grasp but offer more control. The concept of “micro-optimisation theatre” was another fascinating point. Spending hours tweaking code that has minimal impact is a waste of time. Finally, the talk addressed the allure of the “shiny stuff” like virtual threads, which may not be helpful for all situations. The core message? Optimise with data-driven insights, not fads.

Lu Wilson – Beyond Chat: Bringing Models to The Canvas

In a rapid-pace tour of the past and future of human-computer interaction, Lu talked about how their team has explored how LLM and generative AI interfaces might move beyond text. Lu started by revisiting the limitations of early computer interactions and the paradigm shift brought about by the Macintosh’s graphical interface. Next, they highlighted the text-based limitations of current AI tools like ChatGPT and proposed a “canvas” approach where users and AI collaborate on a visual workspace. This canvas could be used for many purposes, from generating websites with drawings to creating flowcharts and data visualisations. Lu’s team of researchers even experimented with using a programming language under the hood to instruct the AI and achieved some impressive results. They believe this canvas approach holds immense potential for the future, allowing us to interact with AI in richer and more intuitive ways.

Rod Johnson – Practical Gen AI: Building a Chatbot using Spring AI

In this talk Rod explored how Spring, a mature framework, is being adapted for the emerging world of AI. Spring is well adapted to this new challenge due to its structure and principles. A strong community and core team who’ve kept the framework relevant for over 20 years. Spring’s core principles of dependency injection, portable service abstractions, and aspect-oriented programming (AOP) are proving valuable for building AI applications. Rod showed how Spring integrates with tools like OpenAI and Ollama, allowing developers to leverage powerful AI models. While large language models (LLMs) like GPT-4 offer impressive capabilities, their black box nature creates challenges. The solution in this talk, was that Spring’s framework helps break down interactions into smaller, more manageable pieces. Rod also explored how to integrate factual information retrieval using vector databases like Neo4J to ground chatbots in reality. Finally, the talk showcased how Spring’s features like topic guards and advisor chains can be used to create robust and informative chat experiences. This approach demonstrates the continued relevance of Spring in the ever-evolving world of AI.

Rasmus Lystrøm – How to Lead your Organisation’s AI-transformation: Strategies, Skills, and Culture

Rasmus deconstructed the hype surrounding enterprise AI adoption, arguing that many organisations fall into predictable traps. He then debunked common strategies like building internal “ChatGPT” replicas or creating isolated AI Centers of Excellence, highlighting their inefficiency and tendency to create more problems than they solve. The core message emphasised that simply buying AI tools doesn’t equal transformation; true value comes from organisational change. Rasmus advocated for empowering full-stack teams, granting them ownership and autonomy, and focusing on business outcomes rather than chasing the latest tech. He then criticised the tendency to optimise prematurely and the dilution of solutions by traditional IT processes. Ultimately, Rasmus urged a shift towards building small, functional AI solutions, getting them into production quickly, and iteratively expanding them—a path that prioritises practical application over grand, often failing, centralised projects. Rasmus concluded by questioning the current direction of AI development, suggesting it should focus more on automating menial tasks rather than focusing on creative outputs, which are more interesting to AI developers.

Ben Sadeghipour – AI Powered Bug Hunting

Ben, a white-hat researcher, driven by insatiable curiosity, has amassed a $1M bounty haul since 2022, discovering vulnerabilities for giants like Airbnb, Zoom, and Apple. Leveraging the power of AI, he effortlessly navigated the digital landscape, bypassing traditional research methods like Stack Overflow to use LLMs like Claude and ChatGPT to generate malicious payloads and categorise vast troves of data, such as NASA’s 20,000 subdomains. From uncovering exposed GitLab repositories and exploiting insecure IIS Direct Object References to employing techniques like Zip Slip and SSRF attacks (even accessing AWS metadata and exploring PDF renderers at major companies), Ben demonstrated the immense potential of AI in both offense and defense, effectively using it as a “second brain” to uncover and exploit weaknesses that would have been impossible to find alone.