Version 0.7 of the #ElixirLang Error Tracker 🐛 is out with improved LiveView support, MariaDB fixes, better sensitive header redaction and an all-new Igniter installer.
github.com/elixir-error...
Version 0.7 of the #ElixirLang Error Tracker 🐛 is out with improved LiveView support, MariaDB fixes, better sensitive header redaction and an all-new Igniter installer.
github.com/elixir-error...
It's official! Igniter support is coming to the next version of #ErrorTracker 🚀. It's already merged on main and will be included in the next release @zachdaniel.dev #ElixirLang
I got a small PR merged into Plug.
You could use Plug.RequestID multiple times with different options but it always set the same logger metadata, overriding the previous value with each call.
This is configurable now.
github.com/elixir-plug/...
#myelixirstatus #elixirlang
I wrote about embedding external resources in your #elixirlang application so the compiler can keep track of when they change.
crbelaus.com/2025/03/31/e...
Difftastic can now properly highlight changes in Elixir ~H sigils.
My pull request has just been merged!
If you use difftastic with #elixirlang (you should! it is amazing) you will notice that changes in ~H sigils are now properly highlighted.
github.com/Wilfred/diff...
The #elixirlang ErrorTracker has just surpassed 40k downloads.
Codebase has been slowly improving and stabilising since the initial release. We just need a logger handler and then it can be considered "done".
github.com/elixir-error...
Other shows I enjoyed recently are: Yellowstone, The Americans and Ozark.
Silo is amazing. Best sci-fi show I've watched lately along with Severance. Others (Fallout and The Expanse) are great but not at the same level IMHO.
Amazing to see how well the ErrorTracker and @ash-hq.org work together 🤝
Thread worth reading for #ElixirLang devs.
For example "upcoming_events" may be such a scope that is extracted. Each LiveView or controller builds its own query based on that scope and then applies the required ordering, filtering, etc.
This is what we do at work and so far it has worked great. We try to keep an eye on common "scopes" (as Ruby on Rails calls them) that show up in multiple queries and extract them out.
I started using it in my day job (about 12 people in the team) and for my personal projects as well.
You can use it on any git repo without forcing others to switch (the rest of the team is using git).
After using it daily for a few weeks I can confidently say that jj is to git what Tailwind is to CSS.
I went from "I don't think this adds any value over vanilla git" to "I don't know how I ever worked without this".
This is the way.
TIL that you can use github.com/michallepick... to install prebuilt Erlang versions with asdf instead of compiling them from source. Much faster and less problematic.
Just compiled my job codebase to #ElixirLang 1.18 rc.0 and it already found dead code (four unused function clauses which were the only callers of some other private functions) and a typing violation (min/2 comparison between two structs).
Por el momento nada, pero le tengo muchas ganas. Todo lo que he visto es brutal, especialmente esto:
bsky.app/profile/giac...
Elixir 1.18 improves the type inference and checking and is now able to detect dead code, clauses that will never match, etc.
hexdocs.pm/elixir/1.18....
This will only get better over time. For example upcoming Elixir versions will be also able to do type inference on guards.
This allows the compiler to understand which data structures you are using an helpfully warn you if you try to access non-existing fields.
This makes it so much easier to move fields around and rename them confidently.
Screenshot showing a `deactivate/1` function. In one case it pattern matches on the `%User{}` struct so the compiler will warn us if we try to access non-existing fields. In the other case there is no pattern match, so the compiler doesn't know that we are working with a `%User{}` and we will have runtime errors instead of compilation warnings.
Over the last few months I've been in charge of deep data structure refactors on a big #ElixirLang application.
I'll write a detailed blog post with the lessons learnt, but the most important takeaway is to rely on pattern match and guards as much as possible.
Just added the book to my reading list. I’ve also found the exercises and will start doing them tomorrow morning.
Thanks for the recommendation @thebrianb.bsky.social !
Thanks! I will take a deeper look. I've been also recommended this book: www.goodreads.com/book/show/14...
Good luck! (Or break a leg 😂)
We in the Elixir community are thankful for your work!
Looks like I have to learn other things than playing the guard!
Very interesting. Thanks! 🙇♂️
He doesn’t recommend me using a standing desk, but I have a strong feeling that switching between sitting and standing while working would benefit me.
Anyone with a similar problem has tried the standing desk? Thoughts?
I’ve been diagnosed with a damaged L4-L5 disk. Doctor tells me that BJJ is not doing any good to my lower back and I’d better do pilates/swimming instead.
I was going to suggest this same approach: triggers that convert the updated/deleted row to a JSON object that can be logged or archived.
@brandur.bsky.social provides a great example in brandur.org/fragments/de...
Wait. I have to check this out.