Adam Warski

Talks

Slides, videos, podcasts, papers

& the places where I’ve had the pleasure to participate in conferences, events and gatherings.

# 150: Kraków Kafka Meetup

Cracow, Poland • Nov 2024

Fast & blocking Kafka streaming on the JVM

# 149: Scala.IO

Paris, France • Nov 2024

How functional is direct-style?

# 148: JDD

Cracow, Poland • Oct 2024

Towards Blocking Streams

# 147: Devoxx Poland

Cracow, Poland • Jun 2024

Go-like channels for Java using Project Loom

# 146: Scala Matsuri

Tokyo, Japan • Jun 2024

Direct-style Scala using Ox

# 145: Studencki Festiwal Informatyczny

Cracow, Poland • Apr 2024

The unique features that make Scala, Scala

# 144: QCon

London, UK • Apr 2024

Virtual-thread friendly go-like channels for Java (lightning talk)

# 143: Wrocław JUG

Wrocław, Poland • Mar 2024

W kierunku blokujących strumieni

# 142: CTO Morning Coffee

Online • Mar 2024

Egzotyka w tech. Czy da się budować biznes?

# 141: Scalar

Warsaw, Poland • Mar 2024

Direct Style Scala Stack – an experiment

# 140: KJUG

Kielce, Poland • Feb 2024

W kierunku blokujących strumieni

# 139: Łódź JUG

Łódź, Poland • Feb 2024

W kierunku blokujących strumieni

# 138: Scala.IO

Nantes, France • Feb 2024

Unwrapping IO: is it a path that you want to follow?

# 137: Happy Path Programming

Online • Jan 2024

Virtual Threads Looming

# 136: Scala Matters

Paris, France • Nov 2023

Building a concurrency library on top of Loom

# 135: NEScala

Online • Oct 2023

Building a concurrency library on top of Loom

# 134: DevTalks

Cluj-Napoca, Romania • Sep 2023

Building a concurrency library on top of Loom

# 133: ScalaDays

Madrid, Spain • Sep 2023

Concurrency in Scala and on the JVM

# 132: LambdaDays

Cracow, Poland • Jun 2023

Unison: program differently

# 131: Devoxx Poland

Cracow, Poland • May 2023

Building a concurrency library on top of Loom

# 130: DevDays

Vilnius, Lithuania • May 2023

Essence of an HTTP framework

# 129: Jug Switzerland

Zurich, Switzerland • May 2023

Effects: To Be Or Not To Be?

# 128: GeeCON

Cracow, Poland • Apr 2023

Effects: To Be Or Not To Be?

# 127: KSUG

Cracow, Poland • Apr 2023

Direct style Scala – panel dyskusyjny

# 126: Scalar

Warsaw, Poland • Apr 2023

Oxes, Tapirs and Sttps

# 125: Functional Scala

London, UK • Dec 2022

Effects: To Be Or Not To Be?

# 124: BUGinnings

Cracow, Poland • Nov 2022

Never say never

# 123: Confluent Lunch and Learn

Warsaw, Poland • Nov 2022

Delivering: from Kafka to web sockets

# 122: SE Radio

Online • Oct 2022

Adam Warski on Scala and Tapir

# 121: Bolt Warsaw Tech Exchange

Warsaw, Poland • Apr 2022

Delivering: from Kafka to web sockets

# 120: Scale By The Bay

Online • Oct 2021

Exposing an HTTP API using Scala3 (workshop)

# 119: DevDaysEurope

Online • Jun 2021

Scala 3 Metaprogramming by Example

# 118: ScalaCon

Online • May 2021

Functional WebSockets

# 117: Kafka Summit Europe

Online • May 2021

Delivering: from Kafka to WebSockets

# 116: JFokus Brown Bag lunch

Online • Mar 2021

Your HTTP endpoints are data, as well!

# 115: Scala in the City

Online • Mar 2021

Context is King

# 114: Geekle Worldwide Software Architecture Summit

Online • Jan 2021

Delivering: from Kafka to WebSockets

# 113: JLove

Online • Dec 2020

Your HTTP endpoints are data, as well!

# 112: FunctionalScala

Online • Dec 2020

Metaprogramming in Scala 3 by example

# 111: ScaleByTheBay

Online • Nov 2020

Project Loom? Better Futures? What’s next for JVM concurrent programming

# 110: TECH3Camp

Online • Oct 2020

Definicja API HTTP: to też dane

# 109: JVM Wars 2020

Online • Oct 2020

JVM Wars

# 108: LambdaConf

Online • Oct 2020

Functional Scala CRUD

# 107: FP in the City

Online • Sep 2020

Scala 3 panel

# 106: WroJUG

Online • Sep 2020

Projekt Loom, a może lepszy Future?

# 105: Geekle Java Summit

Online • Aug 2020

Project Loom? Better Futures? What’s next for JVM concurrent programming

# 104: Scala in the City

Online • Jul 2020

Happy eyeballs live-coding using ZIO

# 103: London Scala Talks

Online • May 2020

FP + relational databases = ?

# 102: Scalar

Online • May 2020

A functional Scala stack for 2020

# 101: Dev@LDZ

Online • Apr 2020

Endpointy HTTP to też dane!

# 100: ScalaLove

Online • Apr 2020

Your HTTP endpoints are data, as well!

# 99: F(by)

Minsk, Belarus • Jan 2020

A functional Scala stack for 2020

# 98: BydgoszczJUG

Bydgoszcz, Poland • Jan 2020

FP + relational databases = ?

# 97: TricityJUG

Gdańsk, Poland • Dec 2019

FP + relational databases = ?

# 96: RzeszówJUG

Rzeszów, Poland • Dec 2019

FP + relational databases = ?

# 95: PolishJug

Cracow, Poland • Dec 2019

FP + relational databases = ?

# 94: ScalaConf

Moscow, Russia • Nov 2019

Designing programmer-friendly APIs, a tapir case study

# 93: JUGtoberfest

Poznań, Poland • Oct 2019

CRUD, ale funkcyjnie w Scali

# 92: scala.world

Penrith, UK • Sep 2019

Designing programmer-friendly APIs, a tapir case study

# 91: ScalaDays

Lausanne, Switzerland • Jun 2019

Concurrent programming in 2019: Akka, Monix or ZIO?

# 90: GeeCON

Cracow, Poland • May 2019

From annotations to code: describing HTTP endpoints with tapir

# 89: ScalaInTheCity

London, UK • Apr 2019

tapir: typed API descriptions

# 88: JUGtoberfest

Poznań, Poland • Oct 2018

Co z nami zrobiły @dnotacje?

# 87: Scala Days

New York, USA • Jun 2018

sttp: The Scala HTTP client you always wanted

# 86: Scala Days

Berlin, Germany • May 2018

sttp: The Scala HTTP client you always wanted

# 85: GeeCON

Cracow, Poland • May 2018

What have the annotations done to us?

# 84: KSUG

Cracow, Poland • May 2018

sttp: The Scala HTTP client you always wanted

# 83: NEScala

Boston, USA • Mar 2018

sttp (unconference), clippy (lightning talk)

# 82: Austin Scala Enthusiasts Meetup

Austin, USA • Mar 2018

Free Monad or Tagless Final? How Not to Commit to a Monad Too Early

# 81: Scala eXchange

London, UK • Dec 2017

Free Monad or Tagless Final? How Not to Commit to a Monad Too Early

# 80: Milan Scala Meetup

Milan, Italy • Nov 2017

sttp: The Scala HTTP client you always wanted

# 79: Devoxx

Antwerp, Belgium • Nov 2017

Kafka as a Message Queue

# 78: Scala.IO

Lyon, France • Nov 2017

Free monad or tagless final? How not to commit to a monad too early

# 77: Apache Kafka London Meetup

London, UK • Sep 2017

Kafka as a Message Queue

# 76: Scala London Meetup

London, UK • Sep 2017

sttp: The Scala HTTP client you always wanted

# 75: Private meetup

Seattle, USA • Jun 2017

Relational DBs & Scala: comparing libraries

# 74: Private meetup

Seattle, USA • Jun 2017

Readers vs Constructors: Dependency Injection showdown

# 73: SF Scala

San Francisco, USA • May 2017

Relational DBs & Scala: comparing libraries

# 72: Scala Bay

Bay Area, USA • May 2017

Relational DBs & Scala: comparing libraries

# 71: LambdaConf

Boulder, USA • May 2017

Origins of Free

# 70: ScalaDays

Chicago, USA • Apr 2017

Readers vs Constructors: Dependency Injection showdown

# 69: LambdaDays

Cracow, Poland • Feb 2017

Origins of Free

# 68: BeeScala

Ljubljana, Slovenia • Nov 2016

Web & mobile session management using akka-http

# 67: Wolvessummit

Warsaw, Poland • Oct 2016

Windowing data in big data streams by example: Kafka, Spark, Flink & Akka

# 66: ITS World Congress

Melbourne, Australia • Oct 2016

Open-source big data landscape and possible applications

# 65: Melbourne Scala Meetup Group

Melbourne, Australia • Oct 2016

Transactional event sourcing using Slick (audit log for free!)

# 64: Polyglot Tech Warsaw

Warsaw, Poland • Sep 2016

Comparing and contrasting Java, Scala and Kotlin

# 63: Corporate event

Santa Clara, USA • Aug 2016

Reactive? Functional? Or: Akka- & Scalaz- streams side-by-side?

# 62: Scala Bay Meetup

Sunnyvale, USA • Aug 2016

Transactional event sourcing using Slick (audit log for free!)

# 61: ScalaDays

Berlin, Germany • Jun 2016

Transactional event sourcing using Slick (audit log for free!)

# 60: ScalaDays

New York, USA • May 2016

Transactional event sourcing using Slick (audit log for free!)

# 59: Scala eXchange

London, UK • Dec 2015

Reactive? Functional? Or: Akka- & Scalaz- streams side-by-side?

# 58: JetConf

Minsk, Belarus • Sep 2015

Reactive? Functional? Or: Akka- & Scalaz- streams side-by-side?

# 57: Devoxx Poland

Cracow, Poland • Jun 2015

Supler: complex forms, not so complex

# 56: Łódź JUG

Łódź, Poland • May 2015

The no-framework Scala Dependency Injection framework

# 55: Geecon

Cracow, Poland • May 2015

Implementing the reactive manifesto with Akka

# 54: London Java Community meetup

London, UK • May 2015

Implementing the reactive manifesto with Akka

# 53: Warsaw JUG

Warsaw, Poland • May 2015

Suple(r): Aplikacje Hardkorowo!

# 52: London Java Community meetup

London, UK • Apr 2015

Supler: complex forms, not so complex

# 51: 4Developers

Warsaw, Poland • Apr 2015

Supler: complex forms, not so complex

# 50: Technology Hour Meetup

Prague, Czech Republic • Apr 2015

Implementing the reactive manifesto with Akka

# 49: Scalar

Warsaw, Poland • Apr 2015

Supler: complex forms, not so complex

# 48: Lambda Days

Cracow, Poland • Feb 2015

Implementing the reactive manifesto with Akka

# 47: Voxxed Days Vienna

Vienna, Austria • Feb 2015

Evaluating persistent, replicated message queues

# 46: SoftwareTalks

Rzeszów, Poland • Jan 2015

Evaluating persistent, replicated message queues

# 45: Chamberconf

Moszna, Poland • Jan 2015

Implementing the reactive manifesto with Akka

# 44: Scala eXchange

London, UK • Dec 2014

The no-framework Scala Dependency Injection framework

# 43: F(by)

Minsk, Belarus • Nov 2014

Framework-less Scala Dependency Injection framework

# 42: Tricity Scala User Group

Gdańsk, Poland • Nov 2014

Simple, fast & agile REST with Spray.io

# 41: Scala.IO

Paris, France • Oct 2014

The no-framework Scala Dependency Injection framework

# 40: Jazoon

Zurich, Switzerland • Oct 2014

The no-framework Scala Dependency Injection framework

# 39: JavaOne

San Francisco, USA • Sep 2014

Keep it simple with Scala

# 38: JavaOne

San Francisco, USA • Sep 2014

Recommendation systems: an introduction using Apache Mahout

# 37: JavaOne

San Francisco, USA • Sep 2014

Scala macros: what are they, how do they work & who uses them

# 36: SF-Scala Meetup

San Francisco, USA • Sep 2014

Simple, fast & agile REST with Spray.io

# 35: Bay Area Scala Meetup

Palo Alto, USA • Sep 2014

The no-framework Scala Dependency Injection framework

# 34: Boston Scala Meetup

Boston, USA • Sep 2014

The no-framework Scala Dependency Injection framework

# 33: New York Scala Meetup

New York, USA • Sep 2014

The no-framework Scala Dependency Injection framework

# 32: ScalaDays

Berlin, Germany • Jun 2014

The no-framework Scala Dependency Injection framework

# 31: Enterprise Search Warsaw Meetup

Warsaw, Poland • May 2014

Recommendation systems: an introduction using Apache Mahout

# 30: Geecon

Cracow, Poland • May 2014

Keep it simple with Scala

# 29: Technology Hour

Prague, Czech Republic • Apr 2014

Simple, fast & agile REST with Spray.io

# 28: Scalar

Warsaw, Poland • Apr 2014

Simple, fast & agile REST with Spray.io

# 27: BeScala meetup

Gent, Belgium • Feb 2014

Scala macros: scary or useful?

# 26: Jfokus

Stockholm, Sweden • Feb 2014

Scala macros: what are they, how do they work & who uses them

# 25: BuildStuff

Vilnius, Lithuania • Dec 2013

The no-framework Scala Dependency Injection framework

# 24: Devoxx

Antwerp, Belgium • Nov 2013

The ideal module system and the harsh reality

# 23: Devoxx

Antwerp, Belgium • Nov 2013

ElasticMQ: a fully asynchronous, Akka-based SQS server

# 22: Warsaw JUG

Warsaw, Poland • Nov 2013

Recommendation systems: an introduction using Apache Mahout

# 21: JavaZone

Oslo, Norway • Sep 2013

Scala macros: what are they, how do they work & who uses them

# 20: MongoDB Days Berlin

Berlin, Germany • Feb 2013

Event Streaming & Message Queueing with MongoDB

# 19: DevCrowd

Szczecin, Poland • Jun 2012

Cloud applications with AWS

# 18: Architect-wannabe meetup

Warsaw, Poland • Jan 2012

Modules, modules, modules … how to implement modularity?

# 17: SoftDevCon

Warsaw, Poland • Jun 2011

Cloud applications with AWS

# 16: Confitura

Warsaw, Poland • Jun 2011

Bean manipulation: CDI Portable Extensions

# 15: Confitura

Warsaw, Poland • Jun 2011

Cloud applications with AWS

# 14: Java4People

Szczecin, Poland • Jun 2011

Torquebox&CDI – how we built JBison

# 13: OpenBlend

Ljubljana, Slovenia • May 2011

Torquebox&CDI – how we built JBison

# 12: Riviera JUG

Nice, France • May 2011

Envers – Easy Entity Auditing

# 11: Riviera JUG

Nice, France • May 2011

Torquebox&CDI – how we built JBison

# 10: Poznan JUG

Poznań, Poland • Apr 2011

Torquebox&CDI – how we built JBison

# 9: Warsaw JUG

Warsaw, Poland • Mar 2011

Torquebox&CDI – how we built JBison

# 8: GeeCON

Poznań, Poland • May 2010

Static analysis using JSR308 annotations

# 7: Javarsovia

Warsaw, Poland • Jun 2009

Static analysis with annotations: FindBugs and JSR308

# 6: Jazoon

Zurich, Switzerland • Jun 2009

Envers – Easy Entity Auditing

# 5: Warsaw JUG

Warsaw, Poland • Feb 2009

Create your own Envers

# 4: Devoxx

Antwerp, Belgium • Oct 2008

Envers – Easy Entity Versioning/Auditing

# 3: Java Developers’ Day

Cracow, Poland • Oct 2008

Envers

# 2: Herbstcampus

Nurnberg, Germany • Sep 2008

Time will tell

# 1: CALCO-jnr

Bergen, Norway • Jun 2007

Limits and colimits in various categories of institutions

Any questions?

Can’t find the answer you’re looking for?