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.

https://hexdocs.pm/eex_html/EExHTML.html

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.

https://leveljournal.com/why-phoenix-liveview-is-a-big-deal

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.

https://blog.oestrich.org/2018/09/introducing-squabble/

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!

http://devonestes.herokuapp.com/avoiding-flakey-tests

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 dialyzer warnings
  • Fixes Elixir v1.7 warnings for String to Atom conversions
  • Updates the development/test dependencies
  • Updates the id generator source in the test configuration
  • Removes deprecated EventBus.Util.String module

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.

Podcast Episode

TIL :calendar rocks!

last_day_of_the_month/2 appeared in a shinning armour to help me out.

https://blog.trenpixster.info/TIL-calendar-rocks/

Deploying with Gigalixir

In this episode learn how to deploy an Elixir application with Gigalixir.

https://elixircasts.io/deploying-with-gigalixir

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.

https://hexdocs.pm/raxx/Raxx.Layout.html

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.

http://codeloveandboards.com/blog/2018/08/31/elixir-and-phoenix-basic-passwordless-and-databaseless-authentication-pt-3/

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

Installation Instructions

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!

Previous page Next page