Published articles
Commanded application architecture
Published on Mar 18, 2021
Describes the various ways you can architect your Elixir application with Commanded and EventStore.
Commanded and EventStore v1.0
Published on Nov 25, 2019
Commanded v1.0.0 and EventStore v1.0.0 are now available from Hex.
An event-driven approach to building Elixir applications
Published on Jul 18, 2019
Watch the talk I gave at Code Elixir LDN 2019. Slides are available to view online or download
Telemetry for Elixir applications built with Commanded
Published on May 03, 2019
Learn how to produce and report on telemetry metrics for your Elixir application.
Domain-driven design and event storming workshop
Published on May 02, 2019
Discover what’s included in Eric Evan’s “Domain-Driven Design: Tackling Complexity in the Heart of Software” book with the slides from this introductory presentation from a recent workshop I gave.
Microservice integration patterns
Published on Apr 12, 2019
Services are autonomous processing units providing a specific business capability where all data and business rules reside within the service. What approaches are available when you need to aggregate data contained within multiple services? In this article I outline five different implementation strategies to consider.
Event sourcing in practice screencast
Published on Mar 29, 2019
Watch this screencast to learn how to apply event sourcing to an Elixir application.
Commanded's latest release
Published on Jan 27, 2019
Commanded v0.18 and EventStore v0.16 have both been published to Hex ready for you to enjoy.
Learn CQRS/ES and Commanded in twenty minutes
Published on Mar 19, 2018
Watch Bernardo Amorim’s CQRS and Event Sourcing talk at Code Beam SF 2018 to learn about Commanded, a CQRS/ES framework for Elixir.
Dealing with eventual consistency in a CQRS/ES application
Published on Oct 06, 2017
Eventual consistency can cause headaches when building a CQRS/ES application. You’ve successfully dispatched a command, but has the read model been updated with the latest changes? Commanded v0.14 supports command dispatch with strong consistency guarantees. This article describes how to use it to alleviate eventual consistency woes.
Supporting multiple event stores in Commanded using an adapter based approach for Elixir
Published on May 17, 2017
Commanded v0.10 includes support for Greg Young’s Event Store, in addition to the existing PostgreSQL-based Elixir EventStore. This article describes how an Elixir behaviour and adapter approach was used to support multiple event stores.
Building CQRS/ES web applications in Elixir using Phoenix
Published on Mar 23, 2017
Full slides for the talk I gave at Dev South Coast today.
Using Elixir's GenStage and Flow to build product recommendations
Published on Jan 20, 2017
Crowdsourcing product mentions, applying sentiment analysis, and scoring to find the best resources to Start learning Elixir. A real-world example of building a computational parallel pipeline using Flow.
Building a CQRS/ES web application in Elixir using Phoenix
Published on Jan 04, 2017
Case study describing how Segment Challenge was built following a Command Query Responsibility Segregation and event sourcing pattern.
HTTP unit tests using ExVCR
Published on Nov 07, 2016
Request/response recorder for rapid test-driven development when accessing external web services.
String manipulation micro optimisation using IO lists in Elixir
Published on Oct 28, 2016
Replace string concatenation and interpolation with IO lists to improve performance.
Phoenix, React, Redux example
Published on Nov 18, 2015
Integrating React and Redux with the Phoenix web framework.
D3 and React - the future of charting components?
Published on Feb 19, 2014
Using D3.js with React.js for reusable charts.
Pipes and Filters to cure Node.js async woes
Published on Feb 11, 2014
Using the Pipes and Filters architectural pattern for complex processing within Node.js applications.
Jekyll + lunr.js = Static websites with powerful full-text search using JavaScript
Published on Mar 06, 2013
Plugin to provide client-side search capability to your Jekyll powered static website.
Introduction to TypeScript presentation
Published on Oct 12, 2012
Full slides for a tech talk I gave today on Microsoft’s new programming language TypeScript.
Populating test data using C# for realistic unit and integration testing
Published on Nov 18, 2011
Is there any framework for .NET to populate test data? Yes here’s one I made earlier — Faker C# for generating fake data such as names, addresses, emails and the classic lorem ipsum placeholder text.
Rails-style "flash" messages for ASP.NET MVC with Razor view templates
Published on Aug 29, 2011
Inspired by Rails’ “flash” messages to provide a simple way of showing a message to the user after a web request, this guide (with source code) provides similar functionality using JavaScript and cookies.
Installing git and gitosis on an Ubuntu server
Published on Aug 28, 2011
Discover a simple way to manage git repositories, with tight access control. This quick setup guide runs through the install of git and gitosis on an Ubuntu server.