Let's meetup, listen to cool talks and great people :)

There will be Pizza, as always on a first come first served basis. There will also be some cool drinks.

Topics

Tidings from the Abbasid Florescence

3 no-obvious algorithms which solve interesting problems

I recently gave a talk at an internal company event which was about 3 non obvious algorithms I found while trying to solve real world problems and why it can be worthwhile to read a few papers from the graybeards sometimes

Its quite beginner friendly as I will give a quick intro as well.

Saga Pattern: 2 years and 40 000 000 domain events later

As you build more complex solutions, you may find that certain interactions in your system depend on more than one module. Order, Inventory, Payments, Delivery... To finish one feature often many sub-system are involved. But you want the modules to be isolated and independent. Yet something must coordinate their work and business processes. Welcome the choreographer - the Saga Pattern a.k.a. Process Manager.

What we try to do everyday in an 8 year old Rails application is to split it into multiple independent parts of application called bounded contexts. But many features requires them to communicate with each other. We do it by publishing domain events and having objects called sagas orchestrate the processes which touch multiple parts of the application. We work on a ticketing&e-commerce application that sells thousands of tickets every day. The insights will be based on real-world battle-tested examples.

I think a lot of talks describe a ways to split your application horizontally with more layers such as presenters, decorators, service objects, repositories etc... But I think much bigger problem is how to split your application vertically into more isolated sub-systems. This is what I would like to show and discuss how we use domain events and sagas so that those sub-systems can communicate between each other.

P.S. I was planning on delivering this topic in September.

Stop Guessing and Start Measuring - Benchmarking in Practice

“What’s the fastest way of doing this?” – you might ask yourself during development. Sure, you can guess what’s fastest or how long something will take, but do you know? How long does it take to sort a list of 1 Million elements? Are tail-recursive functions always the fastest?

Benchmarking is here to answer these questions. However, there are many pitfalls around setting up a good benchmark and interpreting the results. This talk will guide you through, introduce best practices and show you some surprising benchmarking results along the way.

Attendees: (30)

Nico Hagenburger
Events: 30
Topics: 3

Max Mulatz
Events: 20
Topics: 2

Armin Pašalić
Events: 69
Topics: 3

Sudhanshu Kumar Singh
Events: 18
Topics: 0

Jason Neylon
Events: 4
Topics: 0

Organizer

Tobias Pfeiffer
Events: 101
Topics: 15

Adam Niedzielski
Events: 11
Topics: 2

Paul Götze
Events: 63
Topics: 1

Miguel Schmitz Grazziotin
Events: 8
Topics: 0

RKushnir
Events: 29
Topics: 0

Martin Rehfeld
Events: 3
Topics: 0

TPei
Events: 8
Topics: 0

Philipp Hansch
Events: 14
Topics: 1

Johannes Lüdke
Events: 4
Topics: 0

Carsten Behnert
Events: 27
Topics: 0

Kai-Uwe Niephaus
Events: 5
Topics: 0

lislis
Events: 7
Topics: 2

sjferoze
Events: 1
Topics: 0

Gaetano Contaldi
Events: 2
Topics: 0

Sahil Gadimbayli
Events: 2
Topics: 0

Markus Herzog
Events: 10
Topics: 0

Zhuo-Fei Hui
Events: 34
Topics: 1

Andreas Finger
Events: 15
Topics: 0

Oliver Grimm
Events: 3
Topics: 0

Daniel Reszka
Events: 12
Topics: 0

andelka
Events: 10
Topics: 0

Rik Zahradka
Events: 1
Topics: 0

Jolyon Pawlyn
Events: 16
Topics: 0

yonatan miller
Events: 21
Topics: 0

hukl
Events: 4
Topics: 4

Route