Foolproof uniqueness validations in Phoenix with Ecto
Uniqueness validations are fundamentally different from other types of validation. They require a database connection, which makes them susceptible to race conditions.
Read the article to learn how to use Ecto’s unsafe_validate_unique
in combination with unique_constraint
to ensure that no invalid data gets past your changesets.
https://phoenixonrails.com/blog/foolproof-uniqueness-validations-in-phoenix-with-ecto
Elixir Streams |> Elixir 1.16 running multiple tests with line numbers ✅
Elixir 1.16 now allows us to run multiple files with line numbers. 🥳
It might seem odd, but that’s not something we could do until just now.
Check it out!
🎥 Elixir Streams |> Elixir 1.16 running multiple tests with line numbers
Tyler Young, Fantastic Hacks and Where to Find Them
Excellent talk on Elixir performance and how to avoid bottlenecks in your own work.
First edition of the Annual Elixir Survey by Curiosum
Have you heard about our latest Annual Elixir Survey release? Your experience matters to greatly benefit the Elixir community. Let’s participate in the survey here: ➡️ https://xxjwx72arn3.typeform.com/to/dk9KpEod
#annualelixirsurvey #elixirsurvey #curiosum
First edition of the Annual Elixir Survey by Curiosum
Have you heard about our latest Annual Elixir Survey release? Your experience matters to greatly benefit the Elixir community. Let’s participate in the survey here: ➡️ https://xxjwx72arn3.typeform.com/to/dk9KpEod
#annualelixirsurvey #elixirsurvey #curiosum
Next LS v0.15.0, elixir-tools.vscode v0.12.0, Tableau v0.10.0, and a new documentation site
Several releases to share!
Next LS v0.15.0:
elixir-tools.vscode v0.12.0:
Tableau v0.8.0, v0.9.0, v0.10.0:
- https://github.com/elixir-tools/tableau/releases/tag/v0.8.0
- https://github.com/elixir-tools/tableau/releases/tag/v0.9.0
- https://github.com/elixir-tools/tableau/releases/tag/v0.10.0
Also the documentation website for elixir-tools has been revamped, and Next LS is the first to make its home there!
Check it out: https://www.elixir-tools.dev/docs/next-ls/quickstart
Memory Consumption and Limitations in LLMs with Large Context Windows
Part 1 of 2 in blog series in which we explore the limits of LLMs with respect to memory overhead and context windows. https://revelry.co/insights/artificial-intelligence/llms-large-context-windows/
Thinking Elixir News 176
Episode 176 of Thinking Elixir. In the latest episode, we explore the release of Elixir v1.16.0-rc.0 which brings compiler performance improvements, code snippets in diagnostics, and enhanced documentation. Understand the perf enhancements and get a grip on the enriching changes in Elixir docs, including novel sections on anti-patterns and a built-in cheatsheet for the Enum module. We also discuss the launch of Lexical LS 0.4.0 and FlameOn v0.6.0 with enhanced features, the potential integration of JSON support into OTP, and updates on LiveView Native and Bumblebee’s new addition, the Zephyr 7B LLM model. Stay tuned for insights on the Req library through Wojtek Mach’s ElixirConf video, the versatility of Elixir and Phoenix and how they can “do it all”, a wrap-up of the online coding competition, SpawnFest, and more!
Validating Data in Elixir: Using Ecto and NimbleOptions
In the second part of our series, we’ll explore how to avoid bad data using Ecto and NimbleOptions: https://blog.appsignal.com/2023/11/07/validating-data-in-elixir-using-ecto-and-nimbleoptions.html
For, Map and Reduce in Elixir #MyElixirStatus
One of the students in my Introduction to Functional Programming course recently submitted a code snippet. It became evident that they assumed Elixir’s ‘for’ construct operates similarly to ‘for’ loops in non-functional programming languages. However, this is not the case, as Elixir’s ‘for’ is fundamentally different in its behavior. https://dev.to/adolfont/for-map-and-reduce-in-elixir-26op
Eliminate Slow Queries with Ecto Telemetry
Do you know what’s bottlenecking your app? How can we identify slow queries and visualize the overall performance of our application’s Repo?
The answer is surprisingly simple: Eliminate Slow Queries with Ecto Telemetry
Elixir Streams |> Elixir 1.16's Improved Docs 📚
Elixir 1.16’s first release candidate just came out, and there are four noteworthy improvements to docs. 🙌
Take a look at them in this short video!
Phoenix LiveView assign_async
In episode 173 we learn how to keep our LiveViews fast by using assign_async to fetch data asynchronously.
Thinking Elixir News 175
Episode 175 of Thinking Elixir. In this episode, we kick off with the major release of Bandit 1.0, an Elixir substitute for Cowboy, that’s making an impact with its performance. We move on to the Elixir compiler’s dev experience improvements in the upcoming Elixir v1.16. We then transition to talk about the various Language Server alternatives available, how their features compare, and the newly announced Erlang Language Server at CodeBEAM Europe. We talk about the newly added support of the Mistral LLM with the Bumblebee library and why this is interesting, the introduction of Permit - an authorization library for Phoenix apps, and more!
First Annual Elixir Survey by Curiosum
On Halloween, let’s trick or treat the Elixir way! This year, we prepared something special. We present you the Annual Elixir Survey 2023. It was created to collect information about Elixir from those who know it best - the Elixir community. We want to know your opinions and experience to help shape the future of Elixir programming. For the next three weeks we’ll encourage you to participate and share the survey through your Elixir friends. After that time, you can expect from us the results of this project.
So now… It’s time to complete the survey: ➡️ https://curiosum.com/sl/7o5wcws0
#annualelixirsurvey #elixirsurvey #halloweenspecial #curiosum
'elixir_bun' has been renamed to 'bun'
The elixir_bun package has been renamed to bun. This should make it much easier to find and consistent with naming conventions set by the ESBuild and Tailwind integration packages.
If you want to use the new package name (you should) you just need to replace :elixir_bun
with :bun
in your project.
ElixirDevs: A reverse job board for Elixir developers
ElixirDevs has just launched – it’s a reverse job board for Elixir developers in search of their next onsite 🏢 or remote 🌎 job, or simply open to offers.
The platform makes it easier for Elixir developers 🧑💻 and companies 🏢 to connect, saving valuable time and resources.
Elixir Streams |> Dependencies in Scripts with Mix.install
Known about Mix.install for a while. But just recently used it for the first time. It’s awesome. 🤩
If you’ve never used it, give it a whirl. So easy to use and so powerful. 💪
Quick demo 👉 Elixir Streams |> Dependencies in Scripts with Mix.install