Telemetría → Unveiling All Whys And Hows

Just blogged on why Telemetría, what is it, what is it not, how to use etc.

https://rocket-science.ru/hacking/2020/05/30/welcome-telemetria

Telemetria got zero-config and annotations

Telemetria handy wrapper around :telemetry became even more friendly. Here is the changelog. https://hexdocs.pm/telemetria

  • `0.5.0` —
    • [ENH] annotation @telemetria true as a synonym to deft/2
    • [FIX] polling is off by default
    • [ENH] default polling of system / vm states for free
    • [ENH] starting in phases ensuring proper instrumenter setup
    • [ENH] no need for any config in any environment
    • [BUG] proper handling of guards in compiler, correct event names

Elixir Processes: Observability

Observability in most programming languages is really just guesswork, but Elixir gives you the tools to know exactly what’s happening in your processes and applications. This article shows you how.

https://samuelmullen.com/articles/elixir-processes-observability/

Notes on "Code BEAM V 2020"

Here are my notes taken live during Code BEAM V #CodeBEAMV

2 days, 12 talks condensed in a 2k+ words blog post

See the Table of Talks for jumping to the talk of interest

https://cri.dev/posts/2020-05-28-Notes-on-Code-BEAM-V-2020/

Elixir Wizards S4E3 Steve Bussey on Real-Time Applications + Pattern Matching with Todd

Check your podcast feed for the latest episode of the Elixir Wizards podcast or listen to the episode here: https://podcast.smartlogic.io/s4e3-bussey

And listen to Pattern Matching with Todd here: https://podcast.smartlogic.io/s4e3b-pattern-matching-crumm

ElixirMix Podcast 094: Custom Credo Checks with Devon Estes

In this episode of ElixirMix, we catch up with Devon Estes to learn what he’s doing with Credo. Devon talks about creating custom Credo checks for the benefit of our teams and projects. We cover his project Nicene that defines additional Credo checks, learn tips like using git to only run checks on modified files and much more!

Podcast Episode

Linear regression with Elixir and Phoenix LiveView

A little two part series on Linear Regression using Elixir with Phoenix LiveView: https://tiemenwaterreus.com/posts/linear-regression-elixir-phoenix-liveview-i/

Preview "Phoenix Beginner's Guide"

A 4 chapter preview of my new “Phoenix Beginner’s Guide”: https://www.wintermeyer-consulting.de/books/phoenix/1.5/

It’s targeted to programmers who are interested in @elixirphoenix but might have never worked with @elixirlang before.

  • Elixir Introduction
  • Phoenix Basics
  • LiveView Basics
  • Router

A Comprehensive Guide to the Elixir pipe operator

Everything you should know about piping in Elixir: https://k.lelonek.me/elixir-pipe

Correios CEP 0.5.0 released! Support for proxy configuration.

Correios CEP allows to find Brazilian addresses by zip code, directly from Correios API. No HTML parsers.

Now you can find address using a proxy.

# Not using a proxy
iex> Correios.CEP.find_address("54250610")
{:ok,
 %Correios.CEP.Address{
   city: "Jaboatão dos Guararapes",
   complement: "",
   neighborhood: "Cavaleiro",
   state: "PE",
   street: "Rua Fernando Amorim",
   zipcode: "54250610"
 }}

# Using a proxy
iex> Correios.CEP.find_address("54250610", proxy: {"myproxyhost", 8888})
{:ok,
 %Correios.CEP.Address{
   city: "Jaboatão dos Guararapes",
   complement: "",
   neighborhood: "Cavaleiro",
   state: "PE",
   street: "Rua Fernando Amorim",
   zipcode: "54250610"
 }}

# Using a proxy with authentication
iex> Correios.CEP.find_address("54250610", proxy: {"myproxyhost", 8888}, proxy_auth: {"myuser", "mypass"})
{:ok,
 %Correios.CEP.Address{
   city: "Jaboatão dos Guararapes",
   complement: "",
   neighborhood: "Cavaleiro",
   state: "PE",
   street: "Rua Fernando Amorim",
   zipcode: "54250610"
 }}

Changelog for version 0.5.0:

Added

  • Support for proxy configuration. Issue #7

Changed

  • Update dependencies.

Check it out at:

IoT Traffic Light for CI Status Updates

This has been a pretty long-running hobby project of mine: A real world traffic light that shows the status of our CI server. I think I maintained and overengineered this for almost a decade and implemented it with various hardware and programming languages.

The newest iteration is done in Elixir, with the help of Nerves and Phoenix.

Client (on a Raspberry PI): https://github.com/fabrik42/traffic-light-client-elixir

Server: https://github.com/fabrik42/traffic-light-server-elixir

IntelliJ Elixir v11.7.0

Changelog

Enhancements

  • Convert annotator.ModuleAttribute to Kotlin
    • Apply optional Kotlin transformations.

Bug Fixes

  • Check if at least one resolution for module attribute references is valid

    Previously, it was checked if module attributes resolved to exactly one declaration, but this is no longer true with the looser reference resolution that allows invalid results for PisPolyVariantReference. resolve() will return null when there is more than one result from multiResolve even if some are invalid, so we need to explicitly check if the PsiReference is a PsiPolyVariantReference and if so check if any are valid.

  • Fix deprecation warnings for annotator.ModuleAttribute.

  • Quick fixes for inlinables in annotator.ModuleAttribute.

  • Fix iex and erl arguments not being saved for IEx Mix Run Configurations.

Installation Instructions

Adding Gleam to a Mix project

Minimal Elixir Mix project that also compiles Gleam code.

https://github.com/midas-framework/elixir_with_gleam

From Zero to Custom email templates and layouts with Bamboo

Seen a ticket in the repo a few weeks back and thought I would take a stab at showing people how easy it is to use Bamboo as your mailer in Elixir.

https://morphic.pro/posts/how-to-use-bamboo-with-custom-layouts-in-phoenix

Telemetría → :telemetry convenient wrapper

I am glad to announce the first Telemetria release. https://hexdocs.pm/telemetria

It takes care of event registration (through compilation manifest), runtime and release configs (through config provider), and basically allows to wrap any expressions and/or functions to “telemetryized” calls.

If you hesitated to add telemetry to your project, it’s a great time. Example from docs:

defmodule MyMod do
  import Telemetria

  defpt pi, do: 3.14
  deft answer, do: 42 - pi()

  def inner do
    short_result = t(42 * 42)
    result =
      t do
        # long calculations
        :ok
      end
  end
end

Enjoy. Feedback is very welcome, as always.

Elixir Wizards S4E2 Mohd Maqbool Alam on System and Application Architecture

Second episode of the Elixir Wizards podcast is out today. Check your podcast feed or listen here: https://podcast.smartlogic.io/s4e2-alam

Converting snake_case keys to camelCase in Elixir

How to <a href=”https://nts.strzibny.name/snake-case-camel-case-keys-elixir/“>convert snake_case to camelCase</a> in Elixir.

Printex V1.1.0

Elixir Library for printing debugging date types to terminal with colors and formats for easy identification.

scree shot

Using Mnesia in an Elixir Application

Learn more about Mnesia, see when you would use such a tool, and take a look at some of the pros and cons of using it. After covering the fundamentals of Mnesia, we’ll dive right into a sample application where we’ll build an Elixir application that uses Mnesia as its database.

https://blog.appsignal.com/2020/05/19/using-mnesia-in-an-elixir-application.html

Let’s Code: Contact Form in Phoenix – The Schema

I’m writing a series on adding a contact form to a Phoenix 1.4+ application. This first post covers the schema and how I approach data modeling in Phoenix applications that use Ecto. I hope you find it useful 💜

https://zachporter.dev/posts/lets-code-contact-form-in-phoenix-part-one/

Previous page Next page