In my talk I will argue that we can do much better by relying in a systematic way on types and capabilities.

AI agents are taking over many tasks that required humans before. This could be very good for productivity but how can we possibly trust our agents? There are a multitude of known ways an agent could go wrong, including prompt injections or plain hallucinations. The current techniques to control agent behavior are patchy and rudimentary, they certainly don't instill trust.
In my talk I will argue that we can do much better by relying in a systematic way on types and capabilities. We can use them to make not only bad states but also bad actions unrepresentable. This points us to a possible future where an inherently untrustworthy LLM agent can be trusted to stay within defined parameters when put in the right environment.
In this talk, we will walk through a concrete example of a boilerplate-heavy domain. By replacing common Scala 2 workarounds with Opaque Types, Extension Methods, Enums, and Union Types, we will demonstrate how to achieve a strictly typed, decoupled architecture without the noise.
So, is there a modern solution for web apps that is powerful, simple, and blazingly fast in both CI and the browser? A solution that lets you write in your favorite backend language and is fun? The answer is Datastar!
This talk presents McCCT, a new concurrency testing tool developed at KTH by the speakers in the context of an ongoing research project.
When writing software, we currently seem to have to choose between an imperative style - easy to read and write, hard to reason about - and a monadic style - hard to read and write, easy to reason about.This talk is about being greedy and getting the best of both worlds, because we deserve it.
This talk will explore the use of Scala as a scripting language, replacing the Bash and Python scripts common throughout the industry.