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.
Exploring (simple) ways to generate dynamic styling for your Phoenix Live View projects
Latest episode of Elixir Wizards is out today! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s6e6-deblois/
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?
A quick intro on using LiveView uploads to upload CSV files.
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!
Are you curious about the most popular beam projects on Github and Top 100 downloads on hex.pm ? Find it out on beam-trending
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
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.
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.
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/
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 ;)
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:
- Parse HTML string
- Fetch information from a URL
Following are document and repo URLs:
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:
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: