Boost your test coverage with Elixir

In this article, I will help you build the appropriate tooling to track and measure your test coverage, and hopefully improve it.

https://www.christianblavier.com/boost-your-test-coverage-with-elixir/

Elixir Meetup #6 hosted by Curiosum

Elixir Meetup #6 on June 8, 2022 at 18 CET

Where? 👉 ONLINE & FREE

Register 👉👉 https://curiosum.com/meetups/elixir

🔥 Speakers 🔥

  1. Gustavo Oliveira - Use TDD step by step with live view
  2. Adolfo Neto - Learning Erlang and Elixir through exercises and the advent of code

Simple Dependency Injection in ExUnit

Smart testing strategies for Elixir with Dependency Injection design pattern: https://k.lelonek.me/simple-di-in-elixir

Conference report: Code BEAM, Stockholm 2022

I wrote up my experience at Code BEAM in Stockholm this year.

I really enjoyed it :) https://underjord.io/code-beam-sto-2022.html

Elixir Meetup #5 ▶ hosted by Curiosum ▶ Miguel Cobá & Michał Buszkiewicz

5th Elixir Meetup hosted by Curiosum We discussed 2 presentations of our Elixir experts:

  • Miguel Cobá: Elixir, Kubernetes and minikube
  • MichaĹ‚ Buszkiewicz: A Framework for Unified Authorization in Elixir

Check the video!
â–¶ https://curiosum.com/sl/e38klg5u


REGISTER FOR THE NEXT ELIXIR MEETUP: â–¶ https://curiosum.com/meetups/elixir

Using IO.puts and IO.inspect in ExUnit tests

By default in the test env, Phoenix doesn’t show IO.puts/IO.inspect outputs in the console. Debugging without access to these two functions may be a pain in the neck. Fortunately, there is a simple solution, you can apply in just a few seconds. Check the TIL: https://curiosum.com/til/io-puts-and-inspect-in-exunit-tests

Elixir is taking over! 5 Elixir Meetups behind us - check how was it!

Five Elixir Meetups are behind us! Who were the speakers, how many people attended, what is the idea? https://curiosum.com/blog/elixir-is-taking-over-meetups-curiosum-behind

Read raw request body from Plug.Conn after parsers

If you ever tried to use Plug.Conn.read_body/2 and it returned nil, you now know that it can only be used once. If you have :json in your Plug.Parsers, you cannot read the raw body again, because it was already used by the parser. That’s a trick Plug does to save memory as request bodies can be of any size. However there’s a way to cache the raw body when you need it:

Read more: https://vinibrasil.com/plugrawbody

Showing how to use LiveView with Nerves

These are a few of my favorite things, as they say. I had no voice but it turned out quite artistic. Love to my editor for that. https://youtu.be/Fude1tM3kg0

ThinkingElixir 100: 10 Years of Elixir with José Valim

The 100th episode of Thinking Elixir is spent with José Valim celebrating 10 years of Elixir. We close out our 5-part series talking about the recent 1.13 release, the upcoming 1.14 release and looking into the future and v2.0. We learn that many features were created with Nx in mind but are still broadly helpful to Elixir developers. José gives a 1-minute explanation of how ex_unit works, explains what usually makes it into a point release, and how adding stepped ranges meant changes to many Enum functions and so much more! In addition to Elixir, we talk about his journey with Dashbit and we end up learning how the song “The Final Countdown” by Europe might actually be teaching functional programming and recursion?? A super packed episode!

https://podcast.thinkingelixir.com/100

Livebook for Elixir: Just What the Docs Ordered

Check out some top tips for using Livebook in Elixir and find out how to create interactive docs. https://blog.appsignal.com/2022/05/24/livebook-for-elixir-just-what-the-docs-ordered.html

Using parcel as the build tool for Phoenix

I have written a walk-through for integrating parcel as the build tool in phoenix applications. https://blog.cvkmohan.com/using-parcel-as-build-tool-for-phoenix

Phosphoricons Elixir

Published an hex.pm package for the fantastic @_phosphoricons. Now you can use them juicy icons in LiveViews and Surface. Special thanks to @mveytsman for paving the way with the @HeroIcons lib. https://hex.pm/packages/phosphoricons

Owl v0.3.0 - a toolkit for writing command-line user interfaces in Elixir

A new version of the library has been released.

Links:

Changelog

Enhancements

  • Support marking args in Owl.System.cmd/3 as secret
  • Add Owl.System.shell/2
  • Change order of arguments in Owl.IO.puts/2
  • Add Owl.IO.inspect/3
  • Support ranges in Owl.IO.multiselect/2
  • Add solid_rounded borders style
  • Add Owl.Data.slice/3
  • Add Owl.Data.truncate/2
  • Add Owl.System.daemon_cmd/4 and Owl.Task.run/1

Fixes

  • Send :rendered immediately on empty buffer
  • Don’t recreate timer on empty buffer
  • Printing tag structs in autoselect

Shining Access

Blogged on how Access is great, and how it has been used to produce LazyMap, the structure which allows lazy evaluation of values, with caching and transparent access.

â–¸ https://rocket-science.ru/hacking/2022/05/21/shining-access

10 Years of Elixir

This event celebrates the tenth anniversary of the Elixir programming language. https://adolfont.github.io/service/events/10YearsOfElixir/

TIL: Cancel the scheduled send_after message

Sending a message to yourself as a process is an easy way to schedule an action to retry. However, it is not always necessary to send this message. Find out how easy it is to cancel a scheduled message.

More on: https://bartoszgorka.com/til-cancel-scheduled-send-after-message

Ecto's uniqueness constraint vs Rails' uniqueness validation

I really like how Ecto’s uniqueness constraints integrate with our database’s unique index. Having come from Rails, it was a pleasant surprise to know we could use the power of database constraints from within our app.

With Rails, we can add uniqueness validations, but there’s always a chance we’ll have race conditions. So, it always felt like a somewhat incomplete solution. Ecto solves that nicely by rescuing the database error and turning it into a nice error message.

✍️ https://www.germanvelasco.com/blog/ecto-uniqueness-constraint-vs-rails-uniqueness-validation

ThinkingElixir 099: Slipstream and Tree-Sitter with Michael Davis

In episode 99 of Thinking Elixir, Michael Davis explains Slipstream, a Phoenix channels websocket client library that enables Elixir applications to become a client of a Phoenix channel on another server. Out of this work, an underlying websocket library was created built on mint, which has now officially become part of the mint project. We talk about other libraries in the same space and why Slipstream was created. Michael was also involved in the recent Tree-Sitter Elixir work that Github celebrated and he shares some insight into that work as well!

https://podcast.thinkingelixir.com/99

(pt-BR) Criando aplicação com Phoenix Channels and NodeJS https://youtu.be/hdS7a8x5vdE

Criamos uma aplicação usando Phoenix Channels https://youtu.be/hdS7a8x5vdE

Previous page Next page