A baton relay process on a 4 node Erlang/Elixir cluster (running on Raspberry Pis), It is pushing through 3.5K messages per second one message at a time through the cluster https://minhajuddin.com/2021/04/20/a-baton-server-to-test-your-erlang-elixir-cluster/ #MyElixirStatus
This post is focused on helping you with uploading files to the Google Drive service since many times Google services are difficult to understand and it takes time to figure out how to make successful integration, as was my case. That’s why I would like to share with the community how I managed to do it after a long time of searching and testing.
Hi everyone 👋
As of today, I decided to make my book publicly available online(as a website - you can still download the PDF and EPUB through it) as well as open-source the markdown files of the book itself 🎉
Long story short, as my book grew(and the audience), people started to add suggestions/ideas/errata also dependencies updated, etc. I realized that publishing the book via the Leanpub is not best suited to maintain my book long-term for the benefit of the community.
The new home address of my book is: https://www.elixircryptobot.com/
Here’s the link to the markdown source: https://github.com/frathon/create-a-cryptocurrency-trading-bot-in-elixir
Implemented a new way to set
from transitions. With this new feature we can group many same-state
This is an option for a better organization and an increase of readability when having a large number of
from definitions with a same state.
Before version 0.4.0:
# ... transitions do from :locked, to: :unlocked, event: "unlock" from :unlocked, to: :locked, event: "lock" from :unlocked, to: :opened, event: "open" from :opened, to: :closed, event: "close" from :closed, to: :opened, event: "open" from :closed, to: :locked, event: "lock" end # ...
New option to write the transitions:
# ... transitions do from :locked, to: :unlocked, event: "unlock" from :unlocked do to :locked, event: "lock" to :opened, event: "open" end from :opened, to: :closed, event: "close" from :closed, to: :opened, event: "open" from :closed, to: :locked, event: "lock" end # .
I wrote a blog post about how I configure my projects with
.env support, and unified configuration between local development and production: https://blog.nytsoi.net/2021/04/17/elixir-simple-configuration
Latest blog post is out today! Check it out here: https://blog.smartlogic.io/introduction-to-ecto-multi/
Let's Build An Instagram Clone With The PETAL(Phoenix, Elixir, TailwindCSS, AlpineJS, LiveView) Stack [PART 2]
In this part we are going to work on user’s settings and avatar image uploads.
It talks about 5 unique ways of coding in Elixir that you might not have tried in elixir.
After an intro to the cryptocurrency exchange concepts, application design and poeticoins elixir application, in this episode we finally have a first contact with Phoenix LiveView creating our first LiveView module where we render cryptocurrency prices in real-time.
For a while, I’ve been looking for a perfect way to construct Ecto Queries. At Curiosum we came through a couple of iterations and eventually ended up with a solution that you may call resource-based query modules. Check it out: https://curiosum.dev/blog/composable-elixir-ecto-queries-modules
Let's Build An Instagram Clone With The PETAL(Phoenix, Elixir, TailwindCSS, AlpineJS, LiveView) Stack
The better way to learn is by getting our hands dirty and building things, let’s build a simplified version of the Instagram web application with the awesome PETAL(Phoenix, Elixir, TailwindCSS, AlpineJS, LiveView) stack.
In episode #132 we look at clustering an Elixir application that’s running on Gigalixir with libcluster.
In episode 43 of Thinking Elixir, we talk with Marcin Lewandowski about Membrane Framework. We learn what it is, the project’s goals, how people are using it and how it can solve the speed-to-market problem when streaming multimedia. We cover WebRTC, radio, industry challenges, why startups fail and much more!
Interpreting the output of SQL EXPLAIN ANALYZE might seem like dark magic at first. I’m starting a series of blog posts where I’ll be well… explaining it based on common use cases from web applications. Read on if you’ve ever wanted to start using EXPLAIN ANALYZE for debugging slow PostgreSQL queries but did not manage to wrap your head around it. In the first part, we’ll discuss how the PostgreSQL query planner decides whether to use an index.
Examples in this tutorial are based on Ruby on Rails. However, SQL query analysis tips apply to all the web technologies like NodeJS, Python Django, or Elixir Phoenix.
Temple went through a big update recently! So much closer to releasing v0.6.0! https://twitter.com/mitchhanberg/status/1381648752696557577?s=20
Open-source Deep Dive is a series I started this year where I analyse an open-source project and share my findings about it. In this installment, Broadway - an Elixir library for building data processing pipelines for data sources like message queues - takes center stage!
The article is split into two parts. Part one talks about the general concepts in Broadway like message queues and the architecture of a pipeline. Part two dives into the implementation of various features like rate limiting.
Thank you and happy reading!
I just released the 15th video in the series dedicated to creating a cryptocurrency trading bot in Elixir - this time we will focus on refactoring the data warehouse, naive, and streamer applications to leverage the Elixir Registry. What we will end up with is a very slim layer of implementation on top of the Registry module as well as we won’t need to use thousands of atoms for names and run out of memory(as atoms are not garbage collected by Erlang VM!).
Don’t forget to smash that like button if you like it ;)
I’m a big enthusiast of the efforts of the Lumen project (and mildly involved). I wanted to help people get enthusiastic and try it out. This gets you started.