Tarearbol Update
Tarearbol library that eases the dealing with tasks got a massive update.
-
use Tarearbol.Poolto create worker pools with no boilerplate -
call/3,cast/2, andterminate/2callbacks to handle messages directly sent to the worker process -
__init_handler__/1(orinit: mfa()parameter in a call touse) to customize initialization process.
3rd release of the "Create a cryptocurrency trading bot in Elixir" book is out
Hi everyone,
I’ve managed to get 3rd release of my book out!
I guesstimate it to be about 75% finished and with 15 chapters, it’s 200+ pages long.
The book is reaching the stage where additional contents will be “add-ons” to what we already have there like for example indicators. I would love to get some feedback - are you happy about the contents? what else would you be keen to see inside this book?
Also, I decided that this book will be “sold” in the “pay what you want” form forever <3 (although some $$$ would be totally cool with me :D)
https://leanpub.com/create-a-cryptocurrency-trading-bot-in-elixir
Feel free to reach out if you found any issue / drop a comment / say hi ;)
Happy Tuesday!
Kamil
12factor Elixir/Phoenix releases
Finally, we can easily do Elixir releases with runtime configuration.
ThinkingElixir 038: Maintainable Elixir with Saša Jurić
In episode 38 of Thinking Elixir, Saša Jurić shares how the team at Very Big Things is building maintainable Elixir code. This ranges from the development processes to code design and organization. He takes some “radical” positions and challenges conventions on a mission to find what actually works well. We talk about his library Boundary and how it helps enforce API designs. He talks about the “Junk Drawer Pattern” and how code analysis helps identify lines of separation for refactoring. A thought provoking and fun discussion!
Building Git in Elixir — Part 1 (Initialize Repo & Store blobs)
I recently got hold of this book Building Git, written by James Coglan. It’s a pretty thick book covering, as the title says, building Git version control system using Ruby programming language. I thought it would be a fun exercise to implement Git using Elixir as I read the book. This article is the first introductory one in a series of articles focusing on my journey implementing Git in Elixir programming language.
Asynchronous browser tests with Phoenix (making our tests faster 🚀)
A deep-dive into how Wallaby uses the “sandbox” in Phoenix/Ecto, and how we can use it to keep browser tests asychronous even when using resources that must be explicitly shared between processes (such as Mox definitions).
Resources to learn Elixir - A study path
Here you can find resources for getting started with Elixir. It’s what I am following and it could be helpful for programmers that want to learn Elixir.
Elixir Wizards S5E14 Sophie DeBenedetto on Programming Phoenix LiveView
Latest episode of Elixir Wizards is out today! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s5e14-debenedetto/
How we use Python within Elixir
A blog post explaining how we added Python to an existing Elixir application:
https://medium.com/stuart-engineering/how-we-use-python-within-elixir-486eb4d266f9
😻-language
To promote Tarearbol.DynamicManager I created the 😻-language (which is a brainfuck dialect.)
Code outputting “Meow” to the console looks like this:
😺😺😺😺 😺😺😺😺
😸😼😺😺😺😺 😸😼😺😺😹 😸🐱😹 🐱😾😹
😼😼😺😺😺😺😺😻
😼😾😾😾😻
😺😺😺😺😺😺😺😺😺😺😻
😺😺😺😺😺😺😺😺😻
How I sped up one of our test suites by 17.5x by explicitly defining Elixir protocol implementations
A few months ago, I sped up one of our test suites from about 6 minutes to around 20 seconds. I describe my debugging journey and how I found out that fallback protocols could be causing slower tests when running with code coverage and defining protocol implementations can improve the speed.
https://www.synopsys.com/blogs/software-security/tinfoil-define-protocol-implementations/
Announcing Hush: Configure your Elixir Applications Securely
Today I am happy to announce https://github.com/gordalina/hush - the simplest way to inject secrets into your app configuration.
Hush was purpose built to solve a common use case for projects that require secrets and want to inject them in a secure way without having to depend on secret files or hardcoded configuration.
Read more about the announcement in the blog post: https://gordalina.com/articles/announcing-hush
Event Socket Outbound version 0.5.1 released
The version 0.5.1 includes package updates. Check it out: https://hex.pm/packages/event_socket_outbound
ThinkingElixir 037: The Lambda Days Conference and Elixir
In episode 37 of Thinking Elixir, after covering the news, we share a live recording of the show from the Lambda Days conference. It was a lot of fun! We covered topics like learning and teaching Elixir, functional programming, strengths of Elixir over Erlang, the developer tooling, why Elixir is awesome even when not building distributed systems, and much more!
DRY enums for Absinth
If you ever wondered, how to reference existing enum functions in Absinth enum macros, wonder no more.
Adding truly custom page to Phoenix LiveDashboard
Here’s a quick tip on how you can add more customized page, using own Phoenix LiveComponent to your LiveDashboard. https://www.amberbit.com/blog/2021/3/1/adding-truly-custom-page-to-phoenix-live-dashboard/
Handling Async Responses with Tarearbol
To build a supervised, fault-tolerant and robust system, to run many processes holding nearly the same state, it saves a lot of boilerplate, claiming to implement perform/2 callback only (and maybe two optional callbacks call/3 and terminate/2.)
▸ https://rocket-science.ru/hacking/2021/02/28/async-response-handling-with-tarearbol
