10 Elixir gotchas
Elixir is a great language, but some behavior can be unintuitive, confusing and in the worst case lead to bugs. So, I took a look at 10 Elixir gotchas explaining why they exist and how to avoid them!
Ash. The hidden champion of low-code tools
May Ash be the hidden champion of low-code tools? đ
- Reduce boilerplate. Describe and configure most. Let me focus on the most valuable parts
- No lock-in. Provide ways to achieve anything, if not already provided by Ash itself
- Provide ways to extend your resources and code base in general
- Active project development
- Helpful and buzzing community
https://www.lukasender.at/ash-the-hidden-champion-of-low-code-tools/
Testing Elixir releases in CI
Explaining how to build Elixir release and verify it works in GitHub Actions.
Announcing Phoenix LiveView Support in Paraxial.io
Announcing Phoenix LiveView Support in Paraxial.io
Thinking Elixir 200: Ready for a new frontier?
Episode 200 of Thinking Elixir. In this landmark 200th episode of the Thinking Elixir podcast, we dive into the revolutionary world of LiveView Native with Brian Cardarella and Carson Katri. Discover how this emerging technology is expanding Elixirâs reach onto mobile devices and beyond, shaking up traditional development with server-side state management and opening a new frontier for native applications. Our experts share insights on its performance, live reload features, and strategic advantages that promise to speed up prototyping and cut down on dev time. Plus, hear about our latest news on EEF voting, new testing libraries for Phoenix, the future of the Elixir Protobuf library with a call for new maintainers, and Livebookâs integrations for data sources. And if that wasnât enough, we cover additional tech stories, including the shutdown of the Women Who Code foundation, a study linking mentally stimulating work to a reduced risk of dementia, and more!
đŁ PhoenixTest v0.2.13 is out!
It deprecates two form helpers đ but introduces new ones to help us fill forms with labels. đ€©
I know itâs a pain to change this, but I think the changes improve our tests. đ
â« Upgrade guide: https://hexdocs.pm/phoenix_test/upgrade_guides.html#upgrading-to-0-2-13
How to install mutiple Erlang/OTP and Elixir versions with vfox
vfox (version-fox) is a popular general version management tool write in Go, and the plug-in mechanism uses Lua to achieve extensibility. At present, vfox has supported the management of most mainstream programming language versions, and the ecosystem is quite strong. Here you can see the programming language versions and tools that vfox currently supports and manages -> vfox-Available Plugins.
The Elixir and Erlang communities have long been popular for installing and managing multi-version environments through asdf. asdf is also a general-purpose version management tool, and the ecosystem is so rich.
vfox is very similar to asdf-vm in that it uses .tool-versions
file to manage project-level and global version information. This means that if youâve used asdf before, it wonât be difficult to switch to vfox. Because the core implementations of vfox and vfox are a bit different, vfox executes nearly 5 times faster than ASDF~, and the official documentation also gives benchmark results: version-fox Comparison with asdf-vm
If youâve been using asdf to manage and maintain multiple versions of Erlang and Elixir, then vfox is also a good choice for you.
This article will show you how to install and manage multiple versions of Erlang and Elixir via vfox.
learn more detail: https://dev.to/yeshan333/install-mutiple-erlang-and-elixir-with-vfox-57ii
Unpacking Elixir - IoT & Embedded with Nerves
I got into Elixir via this lovely project. Letâs talk hardware :)
https://underjord.io/unpacking-elixir-iot-embedded-nerves.html
Binary pattern matching <<1::1, 0::1, 1::1>>
I wrote a post about the basics and more advanced aspects of binary pattern matching in Elixir.
Thinking Elixir 199: Websockets' Late Hero and Elixir's Fresh Updates
Episode 199 of Thinking Elixir. In this episode, we talk about the eagerly awaited Elixir 1.17.0-dev changelog, the exciting ExDoc v0.32 release, and the slightly amusing declaration of Cloudflare playing the websocket hero â about 9 years after Phoenix neatly demoed 2 million concurrent connections to the world. We also explore potential performance improvements with Ectoâs support for unlogged tables and how PragProgâs new Elixir book is shaping up as a must-read for DevOps enthusiasts. But thatâs not all, we also touch on the launch of a constraint solver in Elixir, a nifty Livebook visualization tip, and more! Plus, donât miss out as Mark, Tyler, and David also share insights into their current projects, ranging from tackling Elixir mock libraries to the latest in the tech conference scene and educational initiatives in the Erlang ecosystem.
HighlanderPG: Use Postgres Advisory Locks to run a process just once in your cluster
I released HighlanderPG this week to solve the problem âhow to run a process on just one nodeâ. It is a follow-up / sister library to the Highlander library and it uses Postgres Advisory Locks.
Generate PDFs of Pages Behind Auth
The big wigs want PDFs. and Lots of them. Unfortunately, lots of the good info is behind authentication. How can we render a PDF of a page behind Auth?
Whatâs the fix? About 10 lines of Elixir!
The post: https://johnelmlabs.com/posts/pdf-behind-authentication
The tweet: https://x.com/JohnElmLabs/status/1779887067482185746
Thinking Elixir 198: Cade Gets the Last Word
Episode 198 of Thinking Elixir. This weekâs show covers exciting updates in the Elixir world, including the peek at whatâs coming with Elixir v1.17.0âs new âDurationâ and âshiftâ features. Weâll also dive into the impressive Kino Benchee integration for Livebook, showcasing benchmarking visualizations. Not to be missed is the release of a fitting Phoenix emoji đŠâđ„ thatâs set to ignite your dev conversations, as well as the announcement of Ash Frameworkâs v3 Release Candidate. Amidst these powerful tools and features, thereâs an essential shift in our hosting lineup; Cade will discuss his decision to step back from the show due to the arrival of a new member in the family. Make sure to tune in for these stories, valuable Elixir tips, intriguing alternatives to Redis, and more!
Elixir Streams |> 2 Helpers to Keep Your Pipelines Flowing! đ
Elixir code tends to be pipe-friendly. But sometimes that fails. You have a pesky break in your pipeline!
Here are 2 helpers that can help you keep your pipeline flowing!
đ Elixir Streams |> 2 Helpers to Keep Your Pipelines Flowing! đ
Thinking Elixir News 197
Episode 197 of Thinking Elixir. In this episode, weâre diving into the fascinating world of at-home AI with a ready-to-deploy project harnessing Bumblebee and Fly GPUs, unraveling the tale of how an Xz backdoor catastrophe was narrowly sidestepped, and highlighting the power of customizing your Elixir IEx environment. Weâll also touch upon the eager anticipation for ElixirConf EU, taking place in Lisbon, where innovations in vehicular tech meet Elixir, and the upcoming NervesConf US â a prime event for embedded systems enthusiasts. Tune in for these buzzworthy topics and more!
Segregate Responsibilities with Elixir Commanded
Explore how Elixirâs Commanded library revolutionizes application development through CQRS and Event Sourcing
https://curiosum.com/blog/segregate-responsibilities-with-elixir-commanded
Trainings at GigCityElixir 2024
Two excellent trainings at the GCE conference this year on May 9th-
Ash 3.0: The Fast Track to Full Stack (Trainers: Zach Daniel, Josh Price)
and
Effective Teaching and Training Practices for Software Developers (Trainers: Andrew Ek and Ruth Kohtz Ek)
Head to www.gigcityelixir.com for details and tickets.
Garmin API Client
Library for interacting with Garminâs API client. Fetch activities, steps, and more. Thereâs a video in README of me using it in #LiveBook.
Elixir Streams |> đ€ and/or Vs. &&/||. Which to use?
Someone recently asked me which to use: and
/or
OR &&
/||
?
Decided to make a short video about it.
Though theyâre similar in many ways, theyâre not the same! Here are some useful differences and some pitfalls. đ