Digests » 73

elixir

Reg and Green callbacks

There are two types of callback, I'll call them “Red” and “Green”. Red callbacks are evil and interrupt the flow of control in your program. Green callbacks are beautiful and do not interrupt the flow of control in your program. Javascript has red callbacks and Erlang has green callbacks.

Connecting Elixir Containers, With DNS-Based Discovery

More and more of us are writing distributed software these days, and BeamVM languages like Elixir and Erlang are seeing growth as a result. OTP, the Erlang framework for building fault-tolerant distributed applications, provides many of the abstractions and means of combination that we need to write maintainable apps that can work together across a cluster of nodes.

GenStage and Bioinformatics

In this post, I will describe my first attempt at using GenStage - in partiuclar, its Flow module - to implement a bioinformatics algorithm. My day job for the last couple of years has been the building of a full-stack system for the storage and searching of the metagenomic analyses (metagenomics) of hydrocarbon resources. That's a mouthful. Basically it means that there is a need to know what types of microorganisms live in oil deposits, for example. Primarily bacterial species, some of these organisms can corrode steel pipes and do other nasty things. binding.pry

Writing jobs for Kitto

For the past couple of weeks, I've been focused on a new framework, in the Elixir world, called Kitto. Kitto is a rebirth, so to speak, of the popular Dashing framework originally written by Shopify in Ruby. For those that haven't heard of either, Kitto is a framework for building data driven dashboards. Data to feed the widgets of the dashboard is pulled in via Jobs which polls web services, databases or any other source of information on a predefined schedule.

Why We Chose Turbolinks

Changelog.com is not a Rails app, but it is a Turbolinks app. Think about that for a moment. That means we aren't using Turbolinks because it's Omakase. We aren't using Turbolinks because we forgot to delete it from our Gemfile. We actively chose Turbolinks, installed it, and integrated it in to our application. I think that makes us pretty unique.