Building Git in Elixir — Part 2 (Store Trees & Initial Commit)

https://itnext.io/building-git-in-elixir-part-2-store-trees-initial-commit-9013ed02b75a

Tarearbol Update

Tarearbol library that eases the dealing with tasks got a massive update.

  • use Tarearbol.Pool to create worker pools with no boilerplate
  • call/3, cast/2, and terminate/2 callbacks to handle messages directly sent to the worker process
  • __init_handler__/1 (or init: mfa() parameter in a call to use) 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!

Podcast Episode

A simple way to store secrets using Parameter Store for your ECS applications

https://minhajuddin.com/2021/03/07/a-simple-way-to-store-secrets-using-parameter-store-for-your-ecs-applications/

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.

https://link.medium.com/o5NsxCp2qeb

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).

Elixir - Understand Data Immutability

Article Header This article comprises a simple example with an anonymous function that explains the data immutability in Elixir Programming.

The concept of data immutability is that the data once it is created in a memory location cannot be altered. Immutability must be preserved

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.

https://cri.dev/posts/2021-03-03-learn-elixir-study-path/

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:

😺😺😺😺 😺😺😺😺
    😸😼😺😺😺😺 😸😼😺😺😹 😸🐱😹 🐱😾😹
  😼😼😺😺😺😺😺😻
  😼😾😾😾😻
  😺😺😺😺😺😺😺😺😺😺😻
  😺😺😺😺😺😺😺😺😻

https://github.com/am-kantox/bf

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!

Podcast Episode

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

Previous page Next page