Elixir JSON 1.0 - Codename Bacon is out!
v1.0 of the first 100% native Elixir JSON library is out!
Changes include a profound reorganization of the code, and a better catch-all protocol for the encoder using Kernel.inspect.
Release Notes: https://github.com/cblage/elixir-json/releases/tag/v1.0.0
GitHub: https://github.com/cblage/elixir-json
Elixir, Erlang installation with asdf Version Manager
I needed to switch & track the multiple Elixir/Erlang versions used in different apps without losing my sanity. Did not want to install multiple managers - one for Elixir, one for Erlang and then Node.js.. So asdf Version Manager to the rescue. It manages versions for all 3 and ruby, postgres etc., Thank you @hashnuke!
I wrote down the steps to setup Elixir, Erlang and Node.js with asdf Version Manager..
https://www.icicletech.com/blog/elixir-and-erlang-setup-with-asdf-version-manager
Check it out!
Online Concentration/Memory game built with Phoenix and Elm
As a part of my getting acquainted with Elixir/Phoenix and Elm, I created this app that allows you to play the well-known Concentration (aka Memory) game over the Internet: http://pairs.one/ . It uses Phoenix channels for communication, Redis for state, supports 1-5 players and provides a few awesome visual themes. It requires no registration - just create a new game, share the URL with your opponent, and start playing. With enough interest I might open-source the code (needs a bit of clean-up) - let me know on Twitter!
Help with quality snippets
We already have 50+ nice idiomatic snippets on programming-idioms.org. Would you give a few minutes to add a playground link and/or a documentation link?
Photo Gallery from ElixirConf
We’ve added a Photo Gallery with over 90 shots from our time at Elixir and Phoenix Conf.
Adding a MAP API to a GenServer or Module with Agent-held state
I written a macro to generate wrapper functions to allow the state of a GenServer of Agent to be used with a Map API.
Intro to OTP in Elixir
A 30 minute talk I gave introducing some OTP in Elixir basics including processes, error handling, supervision trees, GenServer, and Agents. https://youtu.be/CJT8wPnmjTM
Artificial Neural Networks, Elixir, And You
The first of a new blog series about designing and building Artificial Neural Networks from scratch in Elixir. http://www.automatingthefuture.com/blog/2016/9/7/artificial-neural-networks-elixir-and-you
Insanity with Elixir, Phoenix and PostgreSQL
DISCLAIMER: This is not a “how to build a blog” article. If you do what I’m about to do, people will look at you funny (and probably should).
http://brightball.com/articles/insanity-with-elixir-phoenix-postgresql
Telegram Client
A Elixir wrapper that communicates with the Telegram-CLI. https://github.com/ccsteam/ex-telegram-client
Composable APIs with Elixir pipes
Taking lessons from Plug and Ecto let’s examine how these libraries create composable and intuitive APIs that fit well into pipe chains:
Weather
|> where(city: "Kraków")
|> order_by(:temp_lo)
|> limit(10)
|> Repo.all
Bus : simple mqtt client
Managing mqtt with your app can’t be easier than this, with that goal, i started working on mqtt client for elixir, and came up with Bus. it is usable right now, but will improve over time. please take a look and let me know what improvements can be made. thank you.
Github : https://github.com/i-m-v-j/Bus
Generate 3000 thumbnails per minute on Heroku free dyno with Elixir/OTP
Have you ever tested speed of elixir on heroku using OTP? What about 3000/minute thumbnail generation on heroku free dyno? Try creating your own instance by using heroku deploy button:
Github:https://github.com/mustafaturan/imgout
Load test results: http://bit.ly/2bYRnpp
Rails vs Phoenix: MVC
Phoenix places the controller as the center of communication. Compared to Rails, this has a couple benefits…
Recursively List Files in Elixir
Quick Elixir ditty to recursively list the files at a given path (relative or absolute):
defmodule FileExt
def ls_r(path \\ ".") do
cond do
File.regular?(path) -> [path]
File.dir?(path) ->
File.ls!(path)
|> Enum.map(&Path.join(path, &1))
|> Enum.map(&ls_r/1)
|> Enum.concat
true -> []
end
end
end
http://www.ryandaigle.com/a/recursively-list-files-in-elixir
Returning row data from PostgreSQL functions w/ Ecto
Continuing our exploration of all things Elixir, we’re going to convert our search query into a PostgreSQL function that returns rows and try put that row data into an Ecto schema.
http://www.brightball.com/articles/postgresql-functions-with-elixir-ecto
Introducing Tesla — the flexible HTTP client for Elixir
tl;dr for rubyists - faraday is here!
In this article I will show you how and why you might be interested in this new HTTP library.
https://medium.com/@teamon/introducing-tesla-the-flexible-http-client-for-elixir-95b699656d88
Function currying in Elixir
Kare lets you curry (partially apply) functions in Elixir.
iex> curried = Kare.curry(fn x, y, z -> x + y * z end)
iex> curried.(1).(2).(3)
7
Re-design with Elixir/OTP and Pattern Matching
Elixir is a fast growing elegant functional language on top of Erlang VM. One of the most important feature of Elixir is able use OpenTelecomPlatform(OTP) which allows to run concurrent supervised supervisor/workers on the same node and also across multiple machines. And secondly, use the pattern matching to keep code clear and more readable.
https://medium.com/@mustafaturan/re-architecting-with-elixir-otp-and-pattern-matching-b452213c7947
Keep your ETS tables alive forever (v1.1)!
ETS tables are ephemeral by nature, but sometimes you want to make sure that they hang around so you can recover from crashes or unexpected circumstances. Sadly, if the ETS owner process dies, your ETS table also falls over.
Eternal stops this from happening, and has been revamped to a (backwards compatible) v1.1 which now supports OTP Supervision trees instead of the clumsy functions allowed previously.
Check it out! https://github.com/zackehh/eternal
