Breaking the rules when writing unit tests
This is part 3 in a series on unit testing in Elixir. In this post, I show two of the places where I break some of the rules that I set out earlier when I’m writing unit tests: http://devonestes.herokuapp.com/unit-tests-in-elixir-part-3
nerves_neopixel is now Blinkchain!
If you want a fun project to hack on over the upcoming holiday, pick up some NeoPixel RGB(W) LEDs for your Raspberry Pi-based Elixir/Nerves device and check out the latest release of blinkchain
(formerly known as nerves_neopixel
). It now supports commands to draw on a mutable 2D virtual canvas (e.g. composed of a bunch of strands or one or more Pimoroni Unicorn hats) instead of having to calculate the updated values for all LEDs manually each “frame.”
Check out the example and let me know what you think!
How Learning Elixir Made Me a Better Programmer
My notes on learning Elixir and how it helped me with my day job, where I dont write Elixir.
Morphix 0.5.0 released, now with unordered equality!
We sometimes run into a problem where we want to compare two enumerables for content, irrespective of ordering. So we’ve added equalify
and equaliform
(recursive version) methods to morphix to handle that situation. https://hex.pm/packages/morphix
Map vs List Performance
An optimization I made to use a map instead of enumerating through lists to match elements of a big dataset took the operation time from 30+ minutes to less than a second.
https://medium.com/@damonvjanis/map-vs-list-performance-in-elixir-c45642a25c6
just released erlang-rocksdb 0.26.0, a binding of rocksdb embedded K/V database
This version is using cmake for the build and allows you to customize your installation by reusing the libraries installed on your system: https://gitlab.com/barrel-db/erlang-rocksdb/tags/0.26.0
also available on hex.pm : https://hex.pm/packages/rocksdb
Enjoy!
The Best of Access @ Elixir
Re-introduce the Access
module, composable & extensible abstraction to get & update deep nested data.
http://c4se.hatenablog.com/entry/2018/12/05/164024
Viberex: Viber REST API wrapper in Elixir
Viberex is Viber client that helps to create Viber bot in Elixir.
Analyzing Phoenix performance using Graylog — Developers Bat mobile — Metadata.
Built Custom metrics, and custom analytic based on top of graylog.
u2f_ex: A pure-elixir u2f implementation
Hey! Just wanted to announce v0.4.0 of u2f_ex. You can find it here: https://github.com/GrappigPanda/u2f_ex or through hex: https://hex.pm/packages/u2f_ex
ElixirMix Podcast 030 - Writing Great Unit Tests with Devon Estes
In this episode of ElixirMix, the panel talks with Devon Estes about testing in Elixir. Unit tests, integration tests, outside-in, coverage, GenServers, the “right level” and much more!
Build a Simple Persistent Key-Value Store in Elixir, using Logs - Part 2
In this part we’ll do a step further, making both keys and values persistent. Taking inspiration from the Bitcask design, we will see how to enhance our implementation and to recover the Index in the case of a failure.
String.to_existing_atom/1 is a double-edged sword
I’d argue Elixir has relatively few gotchas. It’s a simple and consistent language and when you first learn it there’s only a few things that are genuinely counter-intuitive and catch you by surprise…
https://nietaki.com/2018/12/04/string-to-existing-atom-is-a-double-edged-sword/
🎄 Advent of Code with Elixir, Day 1
For this year’s Advent Of Code, I will be posting my solutions in Elixir with a breakdown of how the functions work and things I learned along the way.
Day 1: https://medium.com/@sean.handley/christmas-coding-with-elixir-day-1-982593198681
Assertions - helping you write better tests
Today I published a new package where I’ll collect all the best and most helpful assertions to help you write better tests! I add some version of these to pretty much every project I start.
The package is called, fittingly enough, assertions
: https://hex.pm/packages/assertions
EMx 028: Elixir, Node, and Bitcoin with Pete Corey
I was on a recent episode of Elixir Mix. We talked about a wide range of Elixir-related topics, and how I’m putting Elixir to good use in two of my ongoing projects.
IEx Remote Shell into your Elixir driven GRiSP Board
More bare metal Elixir. This time we open a remote terminal into our GRiSP application over a wifi connection.
https://medium.com/@toensbotes/iex-remote-shell-into-your-elixir-driven-grisp-board-76faa8f2179e
ExVenture Updates for November 2018
ExVenture is a text based MMORPG. Some pretty big refactors finalized this month, with multiple characters per account and logging in via Grapevine OAuth (a player portal for text based games.) Gossip also had some good updates this month as well. Check out the post for more information!