ElixirWeekly: The Elixir Community Newsletter, covering community news you easily miss, shared on ElixirStatus and the web, in one email every Thursday.
We’ve recently implemented smooth token emission for the Elixium Network, which means that block rewards for miners will be more evenly distributed and will scale down without massive downward spikes. The algorithm for smooth emission is also weighted to distribute more tokens early on in order to incentivize early adopters.
I created DeltaCrdt to help me build Horde, and this blog post is about how you can use DeltaCrdt to build your own distributed applications in Elixir.
The CodeBEAM lite Amsterdam edition is fully packed with great talks. Check out this blogpost for a sneak peak into the programme.
In part 1 of this series I went over a couple rules that I follow when writing unit tests. Now I’m going to dig in to some of the specifics of how to unit test certain types of behavior that can be a little tricky to do properly. In part 1 I said that unit tests test all functionality within a single process. But then how can we unit test something that talks to another process?
The guide we wanted to have before integrating the Cybersource payment system into an Elixir module -> blog post.
GenBrowser enables web clients to send and receive messages like an Elixir process.
I have written the following introduction, including a brief comparison to Phoenix Channels
A blinking light tutorial on how to use Elixir on the GRiSP platform.
In this episode we generate the needed contexts, schemas, migrations, controllers, views, and templates for users, their credentials and chat rooms. We also create relations between users and their credentials and set up password hashing.
Unlike Part 1, nothing in this one was specific to Phoenix 1.4.
I just published a post today ‘Jupyter Notebooks with Elixir and RDF: Using IElixir in JupyterLab with the SPARQL.Client package’.
The post very briefly touches on the role of Jupyter Notebooks as computational notebooks which integrate live code, text, math and media.
It then shows how we can use the IElixir kernel to run a Jupyter Notebook with Elixir as our language of choice. Using the TestQuery module developed in an earlier post it shows how this can be used within a Juyter Notebook context to run SPARQL queries using the SPARQL.Client package directly from the notebook and to process the SPARQL query result sets.
https://github.com/igor-drozdov/mafia is a web application for playing Mafia game offline
This is the blog post about the backend architecture behind this game: https://ihar.me/elixir/2018/10/26/mafia-werewolf-game-elixir-phoenix-elm/
Exvalibur is the generator for blazingly fast validators of maps based on sets of predefined rules.
Under the hood, it generates a module with many different clauses of the same
valid?/1 function with direct hardcoded pattern matches and guards on the input.
Here is the blog post shedding a light on what goodness it provides and h)ow is it implemented → https://dev.to/mudasobwa/--smart-validation-in-elixir-4bcm
NEW YORK, NY, October 31, 2018 — Today POA Network, Compound, and ConsenSys announce that they have formed a collaboration on an open-source Ethereum client called Mana written in Elixir.
When I first started Elixir, I had a hard time figuring out if I should wrap all my code in a GenServer, or what the boundaries were while utilizing them.
In my new blog post I go over the pitfalls of using GenServers and potential strategies to avoid them.
#spawnfest is happening in less than a month!!
The annual 48-hour free online development competition for the BEAM community around the world where you have exactly one weekend to create the best applications you can.
Participation in 100% Free of Charge and you can win some amazing prizes.
Register your team or just yourself and join us on November 24th-25th, 2018 :)
I often feel that we are not using modules/classes/functions to extract domain knowledge often enough.
In this post, I discussed why we need DRY and when is the best time to do it: https://dsdshcym.github.io/blog/2018/10/26/dont-repeat-your-domain-knowledge/
- We need DRY because we need to eliminate the duplication of knowledge.
- Both “abstract later” and “abstract early” are bad.
- What we really should do is to look out for our domain knowledge and persist them as part of our code.