Welcome! Submit your posts for the next ElixirWeekly!

AWS IoT Core, Elixir, and Nerves: A Crash Course

https://www.verypossible.com/blog/aws-iot-core-elixir-and-nerves-a-crash-course

Build on a solid foundation of Nerves, quickly write robust firmware in Elixir, and rocket through the clouds with AWS. Along the way this post will expose you to some of the biggest pieces of the IoT puzzle.

Event Sourcing With Elixir - Part 3

In Part 3 of this series on Event Sourcing we’ll build our first feature!

Solving the "Cannot return null for non-nullable field" error in an Absinthe GraphQL API

Solving the “Cannot return null for non-nullable field” error in an Absinthe GraphQL API when using Kronky and Elixir: https://link.medium.com/z1bmdO5Y6U

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.

Iteraptor.Array

Iteraptor package update.

Iteraptor.Array is a naïve implementation of Array, the idea borrowed from MapSet. It wraps a list into a structure with an internal map %{index => value}. where index ∈ [0, length).

It implements Access behaviour. It could be useful if the structure requires deep access and an intermediate term is a list: simply wrap it with Array and voilà.

THINGS YOU COULD DO WITH MIX - PART 1

https://www.theguild.nl/things-you-could-do-with-mix/

Mix, is something that everybody that uses Elixir has definitely used. But you might have not discovered the power (and fun!) this little tool can bring to your workflow.

Most tutorials will show you to create the task itself as that is very straightforward, but let’s not do that. Let’s write a test first!

Decoding Dialyzer - part 1

I decided to start a new series about better understanding Dialyzer. The first post in the series goes through understanding the no_return and call warnings.

http://devonestes.herokuapp.com/decoding-dialyzer

Hey Process, there is a Message for you!

Hey Process, there is a Message for you!

Messages are a fundamental part of concurrency in Elixir. In this article I introduce how messaging between processes works. We play with simple examples to see how a process sends and receives messages.

Elixir Umbrella Applications and Testing with Mox

I’ve written a post about umbrella applications and testing with Mox. Check it out at: https://simplabs.com/blog/2019/03/13/elixir-umbrella-mox.html

Test Suite as a Complexity Measuring Tool

In this post, I want to discuss how to measure our module’s external complexity with our test suite.

To demonstrate that:

  1. I used StreamData to write a property-based test for a Fibonacci function.
  2. I wrote two different implementations for the Fibonacci function, to explain the differences between internal and external complexity.

Finally, I reached a conclusion that different test styles are just different perspectives of understanding our code, and this idea aligns with the idea of complexity measurement pretty well.

https://dsdshcym.github.io/blog/2019/03/12/test-suite-as-a-complexity-measuring-tool/

ElixirWeekly: The Elixir Community Newsletter, covering community news you easily miss, shared on ElixirStatus and the web, in one email every Thursday.

Elixir's If and Elixir's Do

I saw a single line of if statement in Elixir and it excited me enough to write an article about it.

https://dev.to/edisonywh/elixirs-if-and-elixirs-do-jol

Cool CLIs in Elixir (part 2) with IO.ANSI

After writing about how to use IO.write/2 to build cool command line interfaces, I decided to follow it up with a post about IO.ANSI. We walk through working with color, cursor movement, and covering the entire terminal.

https://dennisbeatty.com/2019/03/12/cool-clis-in-elixir-part-2-with-io-ansi.html

ElixirMix Podcast 042 - Updates on ExVenture with Eric Oestrich

In this episode of ElixirMix, the panel catches up with Eric Oestrich about his ExVenture project. We talk about instrumenting Elixir applications for Prometheus, Elixir and CI solutions, his live coding on twitch.tv, letting Elixir talk to Ruby and Python, and much more!

Podcast Episode

EnvHelper 0.1.0 released, now without warnings!

EnvHelper is a convenience library for working with application and environment variables. Thanks to a pull request from Tony Walker, a lot of compiler warnings just went away for Elixir 1.5+.

Ack With Ease

Ack → the tiny drop-in package to enable ACK functionality in your Elixir microservice intercommunication.

Here is the article on What? Why? Why not?.

Testing with Mock Processes in Elixir

Recently at SmartLogic and in my side projects, I’ve wanted to test code that interacts with processes. This post covers what I came up with after listening to an episode of Elixir Mix and toying around with a better way to test my code.

https://blog.smartlogic.io/testing-against-processes-in-elixir/

Playing with FFmpeg C code in Elixir

using NIFs to segfault the BEAM

  • erl_nif
  • reductions
  • dirty schedulers
  • rustler
  • and more!

https://dnlserrano.dev/2019/03/10/elixir-nifs.html

Personal notes from Lonestar Elixir Conf 2019

My personal notes from Lonestar Elixir Conf 2019.

Exenv - Dynamically Load Env Vars

Exenv provides an adapter-based approach to dynamically loading environment variables from external sources.

Features include:

  • Adapters for both .env and .yml files.
  • Makes loading env vars based on your app environment easy.
  • No need to source env files all the time.

Lonestar ElixirConf 2019 Lunchisode

We sat down with numerous developers, including José Valim and Chris McCord, during the Saturday lunch at Lonestar ElixirConf 2019. Hear what they had to say about the state of Elixir!

https://podcast.smartlogic.io/special-lonestar-elixir-2019

Free Episode on Elixir Agents

In this episode I discuss the Basics of Agents. I talk about when / why you should use Agents over GenServer

https://www.codemy.net/posts/elixir-agent-basics-016/sets/elixir-foundation