GitHub Actions for Elixir

A blog post on how to write GitHub Actions for Elixir. This allows you to do things like run tests, check code formatting, and manage releases for Elixir projects using GitHub Actions.

https://jclem.net/posts/2019-01-26-github-actions-for-elixir/

Ethereum Contract Application Binary Interface (ABI) in Elixir

https://www.badykov.com/elixir/2019/01/26/ethereum-abi-in-elixir/

ExVenture Updates for January 2019

ExVenture is a text based MMORPG. Refactors continue this month, along with some new game mechanics (proficiencies). Check out the post for more information!

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

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

Authex hits v1.0!

With a year and a half of heavy production use under its belt, Authex has finally hit 1.0. The latest release includes a loosening of dependency requirements. If you’re using tokens for API’s - be sure to check it out!

Managing External Commands in Elixir with Ports

Managing External Commands in Elixir with Ports

This article goes over the basics of starting an external command, and watching its progress with Ports and GenServer callbacks.

OTP in Elixir: Learn GenServer by Building Your Own URL Shortener

OTP in Elixir: Learn GenServer by Building Your Own URL Shortener

In this article we explore the basics of BEAM processes, how to build a stateful process and how to migrate it to use a GenServer behaviour by building a very simple URL shortener.

Building a Tic-Tac-Toe game in WebAssembly with WaspVM

With the release of WaspVM 0.8.1 we’ve created a host function DSL that allows developers to define Elixir functions that get executed from within WebAssembly. Here’s a guide to building a simple tic tac toe game with WaspVM

ElixirMix Podcast 035 - Adopting Elixir with Tiago Duarte

In this episode of ElixirMix, the panel talks with Tiago Duarte at Coletiv.com about betting on Elixir, the change from OOP to Functional, hiring and training people, Elixir debugging, and much more!

Podcast Episode

Implementing connection draining in Phoenix

After lots of investigation, I finally figured out how to do connection draining in Phoenix (or any library using Ranch) in a nice way. This blog post explains how it works!

Library: https://github.com/derekkraan/ranch_connection_drainer

Blog post: https://medium.com/@derek.kraan2/implementing-connection-draining-for-phoenix-or-any-library-that-uses-ranch-8e640f3bd4cf

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

ecto_autoslug_field version 1.0.0 release

ecto_autoslug_field is a reusable ecto library which can automatically create slugs for schemas from other fields.

With the new release we now support ecto >= 3.0 and latest elixir versions.

Empex 2019 - Los Angeles Elixir Conference 2/2/19

Hi all, the Empex organizing committee wanted to let you know there’s an upcoming Elixir conference in Los Angeles - Sat Feb 2, 2019. The agenda, ticketing information, and talk summaries can be found at our conference site at http://empex.co/la.html, along with more details. It is also featuring Nerves Training by the amazing Nerves team members Frank Hunleth and Justin Schneck! @nervesproject

Please help us spread the word! We’re proud to announce that this year we are one of the premier Elixir conferences featuring a wonderfully diverse lineup of speakers. And yes, we still plan on having a disco ball! #techdiversity #myelixirstatus @elixirlang @empexco

Distributed Phoenix Chat using Redis PubSub

Distributed Phoenix Chat using Redis PubSub

In this article we see how to solve an issue we faced in the previous article, scaling horizontally the Phoenix Chat app. We’ll see how to integrate the PubSub Redis adapter to our chat app, and make it distributed.

Decoding JSON into Elixir Structs

This post covers a few things I learned when decoding JSON into Elixir structs.

https://davidtang.io/2019/01/22/decoding-json-into-elixir-structs.html

Serving Plug: Building an Elixir HTTP server from scratch

To understand how HTTP servers work, we’ll implement a minimal example of one that can run a Plug application. We’ll learn about decoding requests and encoding responses, as well as how Plug apps interact with web servers.

https://blog.appsignal.com/2019/01/22/serving-plug-building-an-elixir-http-server.html

How To Get Struct Type In Elixir

Three ways on how to quickly get the type of a struct in Elixir.

http://mattheakis.com/blog/view.php?name=how_to_get_struct_type_in_elixir

PDX |> Elixir |> Group - Monthly Meetup Feb 20th

Elixir Monitoring Tools: Observer, New Relic, Telemetry and more

Presented by: Vince Foley

https://elixirforum.com/t/2019-02-20-pdx-elixir-group-elixir-monitoring-tools-observer-new-relic-telemetry-more-portland-oregon-usa/19555

Arcdown: a plain-text blogging format w/parser

Last week I invented a simple plain-text blogging format called Arcdown (.ad) to assist in publishing rich-featured blog posts in a simple plain-text format. It currently supports these attributes:

  • title
  • slug
  • author/email
  • topics/sub-topics
  • tags
  • article summary/content

It’s compatible with Markdown and presumes you’ll parse the article content with a library like Earmark. I’ve written a relatively robust Arcdown parser and published it to hex as version 0.1.1:

This will be developed into the backend of a plain-text blogging engine called Archivist, somewhat like Nabo but tailored for a more robust featureset. Any thoughts, PRs, or feedback are welcome :)

~Mike

Utah Elixir meetup: "Mox" library for defining concurrent mocks in Elixir

Utah Elixir meetup recording on January 17, 2019: Denver Smith is talking about Mox, an Elixir library for defining concurrent mocks.

https://www.youtube.com/watch?v=HZCntOz6UNE

ElixirMix Podcast 034 - First Nerves project with Anders Smedegaard Pedersen

In this episode of ElixirMix, the panel talks with Anders Smedegaard Pedersen about overcoming the fear of “doing it wrong” and getting started. We talked about Nerves project structure and organization, community standards, contexts, domains, Poncho projects with Nerves and much more!

Podcast Episode

Avoid these OTP Supervision performance pitfalls

Jose dropped a gem in a recent discussion on elixir-lang-core that for me was totally non-obvious, so I decided to write about it:

https://medium.com/@derek.kraan2/avoid-these-otp-supervision-performance-pitfalls-c3fe64e70f9e