Interesting architecture patterns in Elixir

decorative: patterned rectangles hanging in rows

A circuit breaker is used to detect failures and encapsulates the logic of preventing a failure from constantly recurring during maintenance, temporary external system failure, or unexpected system difficulties.

In the age of microservices, we are more than likely to have services that are calling and are dependent on external services outside of control.

Remote services can hang, fail, or become unresponsive. How can we prevent those failures from cascading through the system? From taking critical resources?

Enter the circuit breaker pattern. The pattern was popularized in the book Release It!


Exploring the current state of headless commerce and how to best take advantage

One of the interesting side effects of the COVID-19 pandemic is the unprecedented acceleration and adoption of e-commerce by many companies.

However, is my experience that headless commerce is a very abused term and as someone brilliantly put it:

Headless Commerce is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, sp everyone claims they are doing it.

The purpose of this article is to explore a bit of the general concepts of Headless commerce as well as review some of the available technologies and platforms available for…


Love the Elixir language and stack, if you don’t already

decorative image of abstract strings of lights

Whenever I have a new side project idea, the need to build a quick prototype, or even an opportunity to build something from scratch at work, I keep coming back to Elixir time and time again.

Elixir has a strong pull on me, and not without reason. The language creators have done an exceptional job of building not only a fantastic language but also a thriving ecosystem.

The following five are some of the reasons why I keep coming back to Elixir.

Mix

Mix is a build tool that ships with Elixir and provides tasks for creating, compiling, testing, debugging, managing…


Using a project management tool and the agile approach to track and improve my habits.

Over the past 2 years I’ve tried dozens of methods, systems and different morning routines, all eventually going away or eventually failing.

About 2 months ago I decided to rethink my approach and use tools that I’m deeply familiar and comfortable with, Scrum and Agile.

Scrum?

Scrum is an Agile framework for completing complex projects. Scrum originally was formalized for software development projects, but it works well for any complex, innovative scope of work. — “What is Scrum?

For my goals, I’m borrowing two core ideas:

  • Scrums
  • Retrospectives

In software development, a sprint is a set period of time on which…


So Adobe announced the acquisition of Magento, now what? What does this mean for the community and for the ecosystem?

First, let’s address the elephant in the room this is nothing like the eBay acquisition in 2011 the community and the Magento leadership are both more mature to handle something like this. Adobe is also nothing like eBay; this is both a good and a bad thing.

Personally, I have mixed feelings about the acquisition from one end I feel extremely happy for the leadership at Magento, getting a deal like this one done and closed is a massive thing…


After almost 8 years, today is my last day at Demac Media.

Demac Media’s has an amazing team of dedicated and talented people. I’ve learned so much during, as well realized that I have much to learn. I feel extremely fortunate and thankful to have been part of it and I take with me invaluable experiences, and more importantly many great friendships.

Over my tenure at Demac I had the opportunity to experience many changes and in different roles, going from a freelancer on a retainer to part of the executive team as Director of Engineering.

I experienced the company…


2017 has arguably been the year of Cryptocurrency, with Bitcoin being getting most of the spotlight; at the core of Bitcoin, we have the Blockchain.

Blockchain technology applications go way beyond digital currency, and one of the best examples is Ethereum which is a decentralized platform that runs smart contracts.

This allows developers to build enormously powerful decentralized applications, at this point there is still a lot of active development and innovation happening both around blockchain and ethereum.

The downside of all this constant innovation and development is that tutorials, documentation, and resources go out of date quickly, this has…


This is the second part of our Ethereum Zero to Hero guide. If you have not read part, I highly recommend it before jumping ahead.

In this post, we are going to set up a basic private test-net environment for ethereum development and experimentation.

Step 0: Requirements

  • You are using MacOS
  • You have a basic understanding of software development
  • You know what Ethereum is and understand it is basic usage.
  • You have a basic understanding of MacOS Terminal usage.
  • You have homebrew installed

Step 1: Setting Test-Net

While we are learning the in’s and out’s of Ethereum development, we probably don’t want to test against the real…


This is the third part of our Ethereum Zero to Hero guide. If you have not read the previous post, I highly recommend checking it before moving forward.

In this post we are going take were we left off and start developing a basic Smart Contract and learn more about solidity and how the contracts work.

One of the most interesting qualities of the Ethereum blockchain is the ability create digital tokens. Tokens are digital assets that can represent anything from coins, loyalty points to actual objects in the physical world. …


With 2018 around the corner is prudent to take some time and see what new and existing trends will dominate 2018.

Blockchain

In 2017 we saw many of the Silicon Valley giants experiment or even introducing their own blockchain implementations, IBM been the most significant one by collaborating with food distributors, government regulation agencies and banks for leveraging blockchain.

Why it matters

With applications ranging from cryptocurrency, to smart properties, to identity like passports; we have only started scratching the surface of what Blockchain technology can offer and in 2018 it won’t be a surprise if we see a rise in the creation and…

Allan MacGregor

Senior Engineering Lead @Humi, Regularly writing about software engineering and technology

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store