In this article Keathley discusses some of the dangers of trying to maintain state in a single, unique process. He also presents some solutions to these problems as well as some alternatives.
DynamicManager to ease building the collections of supervised workers with similar behaviours, e. g. watchers for different changing entities.
- Scaffold for the supervised
- No code for managing processes required
- Implementation is as easy as 4 callbacks
- Extremely easy testing
- Behaviour-driven consumers
- Consistent state and callbacks on state changes (like restarting)
Covering some of the process rather than the detailed code of porting a python library for a hobbyist eInk display to Elixir. A bit of Nerves, a bit of Scenic, a bunch of refactoring for testability. Guest appearance by the Erlang wxWidgets library. References available for diving into the code. This is more of an overview than a code-along.
Erlang can be an intimidating language, but it doesn’t have to be. This article explores the more common features with the goal of enabling you to more easily include Erlang libraries in your Elixir projects, and to read and understand the documentation.
After coming back to full-time Elixir IC work. I’ve picked back up my Elixir Segment library I first release in 2016 and have reimplemented with batch and retry functionality. Segment.com is a popular analytics and customer data integration layer.
For people using the original library (0.1.x) in production, the new library (0.2.x) supports the same interface but will now, by default, send events in batch to Segment.
ElixirWeekly: The Elixir Community Newsletter, covering community news you easily miss, shared on ElixirStatus and the web, in one email every Thursday.
In this special episode of ElixirTalk we are joined by Dave Thomas and Brian Mitchell where we continue a discussion that we had at EMPEX NYC this year as a fishbowl style format. If you haven’t yet seen the talk, you can do so here –– probably best if you watch before listening, but you can also listen to this as a standalone episode. This episode is long, but is packed with some great tidbits about Elixir and Erlang and we go into considerable depth about how applications work today as well as outlining a vision for the future.
Part 2 in our series on building a simple OTP backed web app is out: https://elixircasts.io/otp-backed-web-application-part-2
In this episode of ElixirMix, we talk with James Edward Gray II and Bruce Tate about their new book Designing Elixir Systems with OTP: Write Highly Scalable, Self-Healing Software with Layers, their experiences with Elixir, getting the life-cycle right, starting with the right data, and much more!
I wanted to get experience writing libraries in Elixir so I started a project called Genex. Genex makes it easy to write Genetic Algorithms in Elixir.
As of right now, the project supports several crossover, selection, and mutation methods, visualizations of the population and solution, and a basic Genealogy tree representing the history of the population. Additionally, Genex allows for full customization of all stages in the Genetic Algorithm. You can define your own methods for crossover, selection, mutation, population evaluation, population seeding, and generational advancements.
The project is very new; however, it’s still fun to mess around with. Hope you guys enjoy!
We at BetterDoc are big fans of mox.
In this post we are going to explore how we concretely use behaviours for mocking, the pattern we follow to access and call their implementations, and how we used metaprogramming to reduce boilerplate to an absolute minimum.
Application observability is becoming more and more important nowadays. Phoenix LiveView is a perfect technical solution for this use case. In this post, we will see how important observability is and why Phoenix LiveView is a perfect fit.
The first part in our series on building a simple OTP backed web app is out: https://elixircasts.io/otp-backed-web-application-part-1
Cachex v3.2.0 has just been released, with some improvements and API additions such as:
- Adding a new API
import/3to re-import records previously exported using
- Allowing the ability to enable table compression to reduce memory.
- New benchmark options to test with/without compression enabled.
- Supported test matrix bumped to include latest Elixir/OTP combinations.
Check it out and feel free to give your feedback <3
Smart Software S2E4 is out today! We talked with Meryl Dakin from the Flatiron School about moving from Ruby to Elixir, her library Token Alchemist, and more. https://podcast.smartlogic.io/season-two-dakin