Recently
Tuesday, 01 Nov 2016 · 8 min read · thoughtsContinue reading →If you’re the smartest person in the room, you’re in the wrong room.
Here are my recent thoughts...
Continue reading →If you’re the smartest person in the room, you’re in the wrong room.
Passion comes after you put in the hard work to become excellent at something valuable, not before.
Here are my highlights from So Good They Can’t Ignore You, a blueprint for developing compelling careers.
Continue reading →Entity-Component-System (ECS) is a distributed and compositional architectural design pattern that is mostly used in game development. It enables flexible decoupling of domain-specific behaviour, which overcomes many of the drawbacks of traditional object-oriented inheritance.
Elixir is a dynamic, functional language built on top of the Erlang VM designed for building scalable and maintainable applications.
In this article, discover how we can use both ECS and Elixir in a novel approach to structure our programs beyond the class based inheritance paradigm.
Continue reading →This is a follow-up article for my Entity Component Systems talk. The source code for my ECS implementation in Elixir is open source on Github.
A rockstar developer, climbing out of the mess that is your library.
Taking lessons from Plug, Ecto, and Swoosh let’s examine how these libraries create composable and intuitive APIs like so:
Continue reading →Here are my highlights from The Personal MBA, a fantastic collection of mental models in business and life.
Continue reading →Publish-Subscribe is a messaging pattern that works as follows: a group of consumers subscribe to events of a given topic and are notified whenever an event of that topic arrives.
When an event is published into a topic
channel, the channel delivers a copy of the message to each of the output channels. The advantage of this is we can decouple the consumers from the producers. Neither party need knowledge of each other to communicate.
In other words, pub-sub is a pattern used to communicate messages between different system components without the components knowing anything about each other’s identity.
Let’s look at an implementation of Publish-Subscribe in Elixir. The full source code is provided below.
Continue reading →Continue reading →The day you stop practicing is the day you stop improving. Never let yourself be satisfied with how good you are at anything.
A hash tree or Merkle tree is a tree in which every non-leaf node is labelled with the hash of the labels or values (in case of leaves) of its child nodes. Hash trees are useful because they allow efficient and secure verification of the contents of large data structures.
Hash trees are used in the IPFS file system, BitTorrent protocol, Git, Bitcoin, Ethereum, and a number of NoSQL systems like Apache Cassandra and Riak.
They are used for many kinds of verification, especially of large chunks of data.
Continue reading →Continue reading →Make it easy for people to do the right things; make it hard for people to do the wrong things.
Let’s walk through the process of writing and publishing an Elixir
library from start to finish. For illustrative purposes, we’ll create a pretend simple_statistics
statistics toolkit for Elixir.
The full source code is available on Github.
Continue reading →