Hands-on Elixir & OTP: Create a cryptocurrency trading bot - Ep. 16 - Add end-to-end tests

Hi everyone!

I’m extremely happy to announce that I’ve released the 16th episode in the series dedicated to creating a cryptocurrency trading bot in Elixir. In this episode, we will focus on creating end-to-end tests and all the issues that you can see on the way in case of caching the Binance response as well as cyclic dependencies in your umbrella.


PS. Update to the book will follow soon!


Erebus - Elixir implementation of the envelope encryption paradigm, utilising Google KMS or local keys

Erebus is an implementation of the envelope encryption paradigm. It uses a separate key (called DEK, short for data encryption key) for each encrypted struct. The key is regenerated on each save, making key encryption barely necessary. During each encryption, the DEK is encrypted using the KEK (key encryption key).

The DEK is a symmetric key (Erebus uses AES-256 with Galois mode (AES-GCM) with AEAD), which guarantees both the security and the integrity of the data. The KEK is an asymmetric key – Erebus uses the public key for encryption (for performance reasons when using external key storage) and the private key for decryption. The specific implementation depends on the backend.


Dynamic Styles with Phoenix Live View

Exploring (simple) ways to generate dynamic styling for your Phoenix Live View projects


Elixir Wizards S6E6 From Developer to Director of Engineering with Estelle DeBlois

Latest episode of Elixir Wizards is out today! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s6e6-deblois/

Progressive Web Apps & Elixir Phoenix

Elixir Phoenix is one of the best choices out there for building server side web applications. So, how does one build progressive web apps on it?

Find out at https://iotready.co/blog/progressive-web-apps-elixir-phoenix/

Two new life saving functions worth knowing | Elixir 1.12 | tap & then|

New improvements tap/2 and then/2 in Kernel module Elixir 1.12 Artticle Image This article is all about knowing the two newly added macros then/2 and tap/2 from Kernel module.

Here, we cover some real world situations with simple examples where these functions would be useful.

Introduction to Phoenix

Phoenix is the main web framework in the Elixir ecosystem. Learn how it works and what’s special about it.


LiveView Uploads with CSV Data

A quick intro on using LiveView uploads to upload CSV files.


ThinkingElixir 051: Live Auctions with Alex Loukissas

In episode 51 of Thinking Elixir, Alex Loukissas talks about using Phoenix sockets to build a live auction system. We talk about the situation of flash-mob-like users coming to a system and needing to handle high traffic volumes for shorter durations. We talk about how the Horde library helps solve fun distributed clustering problems, we cover observability tools, how and why companies should support open source development through sponsorships and more!

Podcast Episode

Find popular beam projects on Github and top 100 downloads on hex.pm!

Are you curious about the most popular beam projects on Github and Top 100 downloads on hex.pm ? Find it out on beam-trending

How I develop ogp in Livebook

I developed ogp in last week, it is a very simple library, the joy is when I explore the idea in Livebook and finally made it. Although it is simple, it shows Livebook is an ideal way to write documents and explore ideas.

I write a post to record the development process: https://goofansu.medium.com/livebook-driven-development-50f82e66fbff

Geolocation search input + autocomplete + caching results with Phoenix LiveView

In this post, I want to share with you all the powerful machinery I’ve used to implement a geolocation search input with autocomplete using Here Maps API. With this approach, I’ve also implemented a browser’s geolocation to improve precision, as well as results caching for better performance and cost saving when hitting geolocation third-party backends.


Elixir em Foco Podcast launched the new episode!

You all probably know that José Valim is Brazilian and that his native language is Portuguese.

I (Adolfo Neto), Herminio Torres, Matheus Pesanha and Cristine Guadelupe have started a podcast in Portuguese:

Elixir em Foco (translation: Elixir in Focus) - https://elixiremfoco.com

We launched the new episode, interviewing Elaine Naomi Watanabe, a software engineer and The RealReal.


Improve the Clarity of Your Elixir Code Through Expressive and Consistent Language

The following is a collection of terms I try to be mindful of in my own work. Hopefully this list helps inspire some of your own terminology choices. https://elixirfocus.com/posts/programming-terminology/

How I Handle Static Assets in my Phoenix apps


Video: Prometheus and Grafana with Elixir

In this video Alex Koutmos joins me to show us all how his library PromEx helps making setting up Prometheus and Grafana with Elixir oh so much simpler. He came prepared so it is a pretty tightly packed video. Let me know if I should let him back on to do custom metrics as well ;)


ogp: An Open Graph protocol library

I’m building a product with the requirement to fetch website social media information. So I created an Open Graph protocol library.

There are two kinds of APIs, you can have a try with the Livebook file in the repo:

  1. Parse HTML string
  2. Fetch information from a URL

Following are document and repo URLs:

Branchpage: A blogging platform that uses your GitHub .md files as blog posts.

I made branchpage.com, every article published there has its source code on github, allowing writes to get pull requests from readers and improve their content thanks to open source.

You can check a blog example here: branchpage.com/felipelincoln.


Promox: Protocol-based mocks

Because of Protocol Consolidation, defining a Protocol-based mock in a test environment is harder than Behaviour-based mock.

So I wrote Promox to make that easier.

Surprisingly, Protocol-based mocks are actually easier to use. Check the docs and source code to see why:

Three real-world examples of distributed Elixir (pt. 2)

Hi there!

Here’s the second part of the Three real-world examples of distributed Elixir series, in which we will see how to create and supervise a singleton periodic process across the cluster using three different global registries: :global, swarm, and horde.


Happy coding!

Next page