IntelliJ Elixir v10.3.0

  • Add Type Specifications to Dbgi tab for :elixir_erl backend for .beam files.
  • Cache all computed Elixir levels at the file, module, project, and SDK levels. The computed Elixir level is used to determine how to emulate the various grammar changes made for the different Elixir versions. This bug was potentially introduced as earlier asv7.0.0 (2017-12-15) and as late as v7.5.0 (2018-06-03) as that’s the history for LevelPropertyPusher.java and has affected all later versions. If you ever experienced the 6.X series as faster than the 7.X series and later, this bug may be why and you should upgrade/reinstall immediately.

Installation Instructions

Credo v1.0.3 released

I released v1.0.3 of Credo, the static code analysis tool emphasizing code consistency and teaching.

For details, please refer to the CHANGELOG.

Que v0.9 released! 🎉

Que v0.9 brings massive improvements to the performance and reliability of job workers, especially under high load / concurrency. 🎉🎉🎉


Que

Que is a simple background job processing library for Elixir that’s backed by Mnesia for storage. That makes it fast, reliable and still super easy to use without depending on any external services like Redis. 🙌

Shameless plug: Check out @elixirstatus' other community project:

Credo, a new static code analysis tool that acts as a code linter, but also focusses on teaching coding practices and code consistency.

Using Control Flow in Elixir to Improve Discoverability

Code is read many more times than it is written, so it is important to us that our code is understandable. Here are a couple of guidelines we tend to follow in order to boost the discoverability and convey purpose to the reader.

https://medium.com/podium-engineering/using-control-flow-in-elixir-to-improve-discoverability-21341b27d851

QuickFormat for running the formatter without BEAM startup

I made https://github.com/obrok/quick_format for my own usage when formatting on save in Vim, because the latency was getting to me. It’s a little rough around the edges, but maybe someone will find it of use.

Pattern Matching to Format Text

Elixir supports pattern matching strings, making formatting text like phone numbers, SSNs, and more very clean and fun.

Check out how here

Spawning processes in Elixir, a gentle introduction to concurrency

Spawning processes in Elixir, a gentle introduction to concurrency

Along with pattern matching, one of the coolest things in Erlang and Elixir is their concurrency implementation based on Actor model. In this article I introduce concurrency and show how we can start making our code concurrent in Elixir, using processes.

Memento v0.3.0 released

Memento

Memento is a fast and easy-to-use Mnesia wrapper for Elixir.

The latest release of Memento includes important changes that improve its reliability and overall performance under high-load.

Salsa dancing website: https://bailar.dance/

I just released a new salsa and latin dancing website built with Elixir, Phoenix, and Vue. The main feature to start is a weekly-ish newsletter with a new move or step that’s been added to the site. We will aggregate the best videos demonstrating the move. I’ve been doing a lot with Rails lately so it was a great joy to work in Elixir and Phoenix again, and get a feel for incorporating Vue and SASS now that Phoenix is using Webpack. https://bailar.dance

Shameless plug: Check out @elixirstatus' other community project:

Credo, a new static code analysis tool that acts as a code linter, but also focusses on teaching coding practices and code consistency.

Achieving 100k connections per second with Elixir

In this article, we look at scaling Elixir to handle 100k connections per second.

ElixirMix Podcast 041 - What Makes Elixir Fault Tolerant and Scalable with Francesco Cesarini

In this episode of ElixirMix, the panel talks with Francesco Cesarini about ErlangSolutions, making scalable and reliable systems with Elixir, and the power of immutability! We talk about community evolution, BEAM history, why other languages can’t do it, and much more!

Podcast Episode

To use or not to use the ++ operator in Elixir

In this article, performance implications of using the ++ operator with lists in Elixir are discussed. Hope that people starting to use the language find it interesting!

Elixir Outlaws on Umbrella applications

The elixir outlaws discuss their feelings on umbrella apps.

Fast Cowboy microservice: Recipe

In the post the pure Plug+Cowboy microservice structure is described, finally with WebSockets and Static file serving.

Better Control over ExMachina Factories

The latest release of ExMachina allows you to read passed attributes from an optional argument in your factories, giving you much finer control over how to define them.

Read full post here.

Lonestar ElixirConf 2019 Highlights

My recap of Lonestar ElixirConf 2019 https://www.jackmarchant.com/articles/lonestar-elixir-conf-2019-highlights

Easy Concurrency Locking in Erlang/Elixir

A quick tour of a library I wrote to simulate spinlocking: https://whitfin.io/easy-concurrency-locking-in-erlang-elixir/

IndieWeb Gets an Elixir Library

Though without a major release, the Elixir library for the IndieWeb has a lot of functionality baked in. If you’re eager to get into the IndieWeb and want to know more, join us at https://chat.indieweb.org/dev/ - we’d love to hear from you.

Event Sourcing With Elixir - Part 2

In Part 2 of this series on Event Sourcing you’ll be introduced to the basic concepts you’ll need to be familiar with for the rest of the series.

ExVenture & Grapevine Updates for February 2019

ExVenture is a text based MMORPG, Grapevine is a community site for text based games. Grapevine has a new web client that connects to telnet based games, and is also a local cluster. Check out the blog post for more information.

https://blog.oestrich.org/2019/02/exventure-updates