Learning IoT: First Steps with Elixir, Nerve UART and Phoenix
I made my first IoT Example using a RaspberryPi and Arduino, connected with Elixir using UART Nerves project and Phoenix Framework. Complete post here: http://carlogilmar.me/post/learning-iot/
EExHTML - safely embed content into HTML
Extension to Embedded Elixir (EEx), that allows content to be safely embedded into HTML. Handles auto-escaping and safely injecting JavaScript variables.
Why Phoenix.LiveView is a big deal
Last week at ElixirConf, Chris McCord announced a new project called Phoenix.LiveView. I believe this library has the potential to reshape the way many developers build reactive user interfaces on the web. Here’s why.
Phoenix’s LiveView: Client-Side Elixir At Last?
A quick rundown of the new LiveView feature for Phoenix announced by Chris McCord at last week’s ElixirConf
https://shift.infinite.red/phoenixs-liveview-client-side-elixir-at-last-2280716ae791
How to create beautiful pipelines on Elixir with Opus
How to create pipeline modules where you could read them like a poem and know, without going deep in the implementation, how the working flow works.
The answer is Opus. https://medium.com/quiqup-engineering/how-to-create-beautiful-pipelines-on-elixir-with-opus-f0b688de8994
Yet another HTTP/1 and HTTP/2 client for Elixir
Combined battle tested poolboy and gun to create yet another HTTP client:
https://github.com/petrohi/machine_gun
Supports HTTP/1 and HTTP/2 and isolated configurable connection pools. Heavily used in production for 6 month now!
Introducing Squabble, Simple Leadership Election
As part of my ElixirConf talk, I showed off Squabble my new Elixir package for selecting a leader in your cluster. Squabble uses the leadership election part of the Raft Protocol. This was pulled out of ExVenture, my clustering text based multi-player game server.
SpawnFest 2018 is here!
Hey #erlang / #elixirlang people! @spawnfest is back! 2018th edition will be held on November 24th & 25th. You can already register your team at http://spawnfest.github.io And we’re looking for #sponsors, too: https://goo.gl/forms/p5r4x3xXsJRaj2sJ3
Avoiding flaky tests with Phoenix
There is far and way a single type of assertion I’ve see that is responsible for more test flakiness than any other. It’s probably the culprit for more than half of all test failures that shouldn’t fail. But there’s an easy way to make your tests less flaky!
EventBus v1.5.0 is out
The event_bus library is a traceable, extendable and minimalist message bus implementation for Elixir with built-in event store and event watcher based on ETS.
Source code:https://github.com/otobus/event_bus
License: MIT
Hex source: {:event_bus, “~> 1.5”}
Recent changes:
-
Fixes all
dialyzerwarnings -
Fixes Elixir
v1.7warnings for String to Atom conversions - Updates the development/test dependencies
- Updates the id generator source in the test configuration
-
Removes deprecated
EventBus.Util.Stringmodule
Learn more:
Using Facades to Simplify Elixir Modules
Let’s dive into how I’ve been using the “facade” pattern to simplify and shorten my Elixir modules.
A Quick Guide to the Complex: Ecto.Multi
Ecto.Multi, a data structure added in Ecto 2.0, is an extremely useful tool for creating and executing complex, atomic transactions. This very brief guide will cover a few of the most useful methods associated with Ecto.Multi and when to use them.
ElixirMix Podcast 017 - Logging in Elixir
In this episode of Elixir Mix, the panel talks to Daniel Spofford who is a Senior Software Engineer through Very where he uses Elixir constantly. Check out the episode to get more information about Elixir, Phoenix, Logging, and things to consider when deploying and supporting Elixir applications.
ExVenture Performance Tweaks
In the week or two leading up to ElixirConf I started trying to see how far I could push ExVenture with concurrent players.
I was able to do three simple changes to go from maxing out at 230 concurrent players to maxing out at 3500 concurrent players on the same machine, 15x more players.
https://blog.oestrich.org/2018/09/exventure-performance-tweaks/
Now available. A safe HTML view layer for Raxx apps
The latest release of Raxx introduces the concepts of views and layouts. More convenient to work with and HTML escaping is handled by default.
Elixir and Phoenix basic passwordless and databaseless authentication (pt. 3)
Here goes the third and final part of the series where we cover setting up webpack as the asset bundler, adding Elm support, building the Elm single-page application and the interaction with the Phoenix socket and channel.
Happy coding :)
IntelliJ Elixir 8.1.0
- Flat icons to match IntelliJ IDEA 2018.2
- Plugin icon for 2018.3
- Restore Indexing, Completion, Go to Definition and Find Usage for SDK in non-IntelliJ-IDEA IDEs
OpenTracing for Elixir with Spandex and Datadog
Lots of news for users of the Spandex library for tracing their Elixir applications with OpenTracing and DataDog!
- Spandex 2.2.0 has been released at its new home in the spandex-project organization on GitHub: https://github.com/spandex-project
- The former spandex library has been split into a core library and several optional dependencies to allow you to choose the frameworks you want to trace and the back-ends you want to send the spans to.
- In the future, we envision having support for more OpenTracing-compatible back-ends like Zipkin and Jaeger (contributions welcome!)
- spandex_datadog now supports distributed tracing across services, including priority sampling to ensure your traces are always complete.
Check out the READMEs in the project repos and join us in the brand-new #spandex channel on the Elixir-lang Slack if you have any questions!
