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.
This talk will explore the use of Scala as a scripting language, replacing the Bash and Python scripts common throughout the industry.
Writing client-facing APIs involves mundane tasks, whether it be REST, GraphQL, or gRPC. In this talk, I will pick two repetitive tasks during API development and demonstrate how we can utilize Scala to automate the most boring parts.
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.
This will be a live coding demonstration of Scala's newest feature set: capture checking.
I would like to present the use of NamedTuples to implement some cool things in SQL Libraries