Arnaud Bailly has been a researcher, consultant, agile and XP coach, architect, developer, trainer and teacher, CTO for startups...
Every application has a narrator commenting its execution, be it a humble println or a more structured log. But this narrator is unreliable: It decides what's important and what's not, forgets to mention the juiciest parts of the plot, and usually rambles for gigabytes.
Obviously, though, there are more things coming out of your application: Metrics, tracing events, all the system chatter that surrounds a running process. Every single sub-system supporting your application, be it databases, message queues, git dags, which deep down are logs.
Meanwhile, architects have been promoting Event Sourcing as a full and faithful representation of the application's business. From the “domain” emerges a well-defined language, exhaustively describing all event affecting the state of the application and focusing on its dynamics.
But what if there was One Log? What if we used well structured messages, integrating in a single stream dtrace application logs, iostat metrics, prometheus signals, and domain events. What if we relinquished up-front filtering and throttling and let serendipity do its job? What if the separate realms of information (business events, kibana views, grafana boards) we work with were just views of a big stream of log events?
This session will be a live-running experiment pushing knobs to 11 and explore what information we can harvest from this hoard of data. Building upon a simple event source application, we'll aggregate more events, implement traffic replay as a reverse event log, embrace system logs, and see what happens when we don't silence the narrator but let it loose.
What is software?
Is software development engineering or art? What if software "was" not? What if it could only be approximated and never been given a precise ontological definition? What if the correct paradigm to think about software was the infinite network of potentiality it creates and is part of?
This talk is an attempt at deconstructing all the representations that are commonly used to talk about software, be it building (e.g. constant reference to Christopher Alexander's work), craftmanship, engineering, science... I will try to demonstrate that software has its own specific mode(s) of existence and consequently must be addressed in specific ways, lest we stay at the doorstep of understanding it. In particular, I will criticise static views of software and specifically the mere concept there is such a thing as software design.
This talk is highly experimental, philosophic and controversial: Questions, feedback, critics and arguments are most welcomed.
Relation databases are great... for querying. When it comes to writing/updating data they are not so great and can quickly become the main pain point of your architecture. This talk presents how we implemented Event Sourcing at Capital Match, using Haskell as our backend language and Clojurescript as our frontend language. We shall provide a balanced diet of theory on event sourcing and the benefits of choosing such an architecture, especially in functional programming language setting, mixed with practical insights on how we implemented and deployed it at Capital Match.
Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, or religion (or lack thereof). We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers.