ThinkingElixir 112: Putting LiveView in a Chrome Extension

Episode 112 of Thinking Elixir. Google Chrome extension that displays a LiveView and integrates with a web page like Gmail? Steve Bussey shares how he did just that! We learn how it worked, why he did it, the benefits he sees, and how this differs from the conventional approach. He explains the small JS shim used, recommends a library to help when integrating with Gmail and he explains how the user experience is great, particularly when rolling out new versions! Steve goes further to talk about Chrome’s new v3 extension API and targeting multiple browsers.

FSM Driven Development

A new library to manage statefull processes as Finite Automatæ and the impudent proposal for the HTTP verbs extentions.

The solution of Elixir continuous runtime system code coverage collection

Code coverage is an effective means to assist software engineers in verifying code quality. The runtime environment’s ability to collect code coverage fully combines black and white box testing capabilities and greatly increases engineers’ confidence in software quality. This article introduces a solution for code coverage collection in the Elixir runtime environment, and provides an in-depth insight into its internal principles.

A new public repository for Elixir security advisories

We just launched mirego/elixir-security-advisories, a new repository to replace the community-maintained (and now archived) dependabot/elixir-security-advisories.

The new repository data is completely automated and sourced from GitHub Advisory Database and is perfect for public usage (while GitHub API requires authentication to fetch security advisories).

Alias, import, require and use in Elixir - complete guide with use cases.

In most programming languages we often deal with instructions responsible for handling dependencies. Elixir is no different.

In Elixir, dependency is nothing more than compiled module which for some reason you want to use in another module. There are a couple of instructions that we use in Elixir to either make it easier or possible to interact with modules.

In this blog post Szymon Soppa explains and presents use case examples of four of them:

alias, require, import, use.

Elixir Meetup # 9 hosted by Curiosum

Elixir Meetup # 9 hosted by Curiosum on September 14, 2022 at 18 CET - FREE & ONLINE

The speakers will be:

Pedro Paulino with a presentation: ELIXIR: CHOOSING THE RIGHT TOOL

Mika Kalathil with a presentation: MULTI-NODE COMMUNICATION & STRATEGIES

How database transactions work in Ecto and why Elixir makes it awesome?

This is a thorough guide for SQL experts and newbies alike, so let’s summarize what we’ll talk about in this article:

We’ll explain what the purpose and characteristics of transactions are Then, we’ll outline how to approach them in Elixir, using “the Ecto way” Finally, we’ll get to explain how it feels superior to different ORMs

Getting Rusty with Elixir and NIFs

Check out an example project that aims to create a Rust NIF that crops an image and makes it grayscale to show you a way to run your Rust code from Elixir efficiently.

How to become a Senior Elixir Developer? The popularity of Elixir. - interview with Szymon Soppa, CEO at Curiosum

Page transitions with Phoenix Liveview

7 GUIs: Implementing a Circle Drawer in LiveView

I recently completed the 6th GUI task in LiveView 🎉 - a Circle Drawer with undo/redo functionality.

I wrote a post about the implementation and some decisions I made, and I hope others find it interesting!


One of the most interesting things was that the task was meant to be a challenge of undo/redo functionality:

“In an ideal solution the undo/redo functionality comes for free… just comes out as a natural consequence of the language / toolkit / paradigm.”

When it came time to implement the undo/redo functionality, I was happily surprised that the solution definitely “came for free” because of Elixir’s functional paradigm and LiveView’s reactivity.

In the end, the undo/redo functionality was the easiest part of the whole task!

ThinkingElixir 111: Deploying a PR for Review

Episode 111 of Thinking Elixir. Ever wanted to deploy a PR for show-and-tell, QA testing, or to get feedback on it? Jason Axelson joins us to share how he did that on We explore how it can be done on other platforms like as well. We talk about how this ability benefits teams and companies. We dig into how setting up a seeded DB for the code isolates data changes but also makes it easier for people to test the code with multiple data scenarios. Turns out doing this may be easier than I thought!

Write a Standalone CLI Application in Elixir

Find out how to write a command-line application in Elixir, using tools such as ElixirScript, OptionParser, Escript, Bakeware, and Burrito.

Write a Standalone CLI Application in Elixir

Find out how to write a command-line application in Elixir, using tools such as ElixirScript, OptionParser, Escript, Bakeware, and Burrito.

Elixir 1.14 Release Candidate in action

Check out
Elixir 1.14 Release Candidate in action
Improvements in Debugging

Air quality station with Nerves and LiveView

Siblings → `multi_call/2` and `multi_transition/3`

Siblings v0.4.0 has been released.

Added Siblings.multi_call/2 and Siblings.multi_transition/3 to operate on all the dynamic children.

The Titanic Machine Learning Problem in Elixir

Elixir’s machine learning suite is still relatively new, but it stands as a viable alternative to a lot of the more established tools in the Python ecosystem. Follow along as I build a neural network using nx and axon to work through the famous Kaggle Competition “Titanic - Machine Learning from Disaster” and visualize the results in livebook:

Using Elixir Telemetry and Tesla

Tesla provides a Telemetry middleware which is pretty straightforward to configure for your clients. It is possible to extend the middleware behaviour and group metrics by host, method or path.

This post will show how to setup Telemetry with Tesla and path grouping:

PlugLimit - rate limiting library based on Redis Lua scripting

PlugLimit is using Redis Lua scripting to provide rate-limiting functionality for web applications based on a Plug library. Salient Redis Lua scripting feature is a race conditions resiliency which makes it a recommended solution for distributed systems (e.g.: Phoenix servers swarm behind a round robin load-balancer).

PlugLimit provides two built-in rate limiters: fixed window and token bucket. Custom rate limiters can easily be added as a user defined Redis Lua scripts.

Previous page Next page