Skip to main content

2 posts tagged with "tournament"

View All Tags

The Birth of Dike: A Tale of Practical Justice

· 3 min read
Max Kaido
Architect

Today marks a significant milestone in Mercury Bot's evolution with the release of version 1.15.3, introducing Dike - our new market ranking system named after the Greek goddess of justice and fair judgment. This release represents not just a technical improvement, but a journey from theoretical perfection to practical wisdom.

The Three Paths to Order

The Path to Practical Justice

Our journey to perfect market rankings has been a tale of architectural evolution through three distinct approaches:

  1. Kairos - Immutable QuickSort: Our first attempt embraced immutability with QuickSort. Like the god of perfect moments, each comparison created a pristine snapshot of truth. The approach was theoretically elegant - each state change produced a new, immutable copy, ensuring perfect consistency. However, the cost of creating and maintaining these immutable states for each comparison became overwhelming. The divine scrolls of our Redis store filled with countless versions of truth.

  2. Hermes - Event Sourced QuickSort: Learning from Kairos, we turned to Hermes's wisdom of recording history. Instead of storing states, we recorded each comparison as an event. This event-sourcing approach promised perfect traceability - every decision was a chapter in our story. Yet as our tournaments grew, reconstructing the current state from this historical narrative became increasingly complex. The events, though perfectly preserved, created a tapestry too intricate to unravel efficiently.