TIL: Temporary data folder
The temporary directory for data storage is often used. However, /tmp dir is not always a good solution. Depending on the configuration, it can be represented differently. Check how you can fix it with simple modification.
ExMarcel: A Library for MIME type detection based on magic numbers
Marcel attempts to choose the most appropriate content type for a given file by looking at the binary data, the filename, and any declared type. This package is a port of Rails’s Marcel library. https://github.com/chaskiq/ex-marcel
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 🔥
- Gustavo Oliveira - Use TDD step by step with live view
- 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!
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
andOwl.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