Parser Combinators in Elixir: Taming Semi-Structured Text
In the first of a two-part series, we’ll explore how parser combinators work in Elixir. https://blog.appsignal.com/2022/10/18/parser-combinators-in-elixir-taming-semi-structured-text.html
Ash Framework 2.0 Released!
We’re so excited to announce that Ash Framework 2.0 has been releeased! We’ve got a great write up about it on the Elixir Forums, check it out! Thanks to everyone who helped make this happen :)
Probuild-ex : Create a league of legends pro players build trackers with elixir Part 4
Third part of a series to create a probuild tracker for the game league of legends. Together we will build probuild-ex using elixir, phoenix, liveview and friends.
ExUnion - Tagged Unions for Elixir. Just that.
ExUnion is meant to be a lightweight, elixir-y implementation of tagged unions (also called variant, discriminated union, sum type, etc.).
While conventionally Elixir tends to promote using tuples to model tagged unions - the {:ok, …} | {:error, …} pattern being a good example of that - this approach arguably lacks expressiveness, especially when modeling non-trivial unions. An alternative is to employ structs to model the individual cases of a tagged union, which works nicely but has the disadvantage of requiring significant boilerplate code.
ExUnion attempts to bridge this gap by generating the necessary boilerplate (and a bit more) through a concise albeit opinionated DSL.
Search millions of usernames efficiently with Ecto
How can you efficiently search through millions of usernames using Ecto? This blog post takes a deep-dive into Postgres’ ILIKE and SIMILARITY operators and their dangerous caveats.
https://www.peterullrich.com/efficient-name-search-with-postgres-and-ecto
Como mockar integrações com bypass | Testando com Elixir
Como testar integrações de terceiros com bypass. https://youtu.be/lzQp1cAgdSk
Building Embedded Systems in the Modern Era
Is your company starting an embedded systems project? You should consider Elixir as your platform of choice, and share this with your team.
https://binarynoggin.com/blog/building-embedded-systems-in-the-modern-era/
What's new in Livebook 0.7
Livebook 0.7 is out! This release has cool new features, like:
- secret management
- visualizing message-passing between Elixir processes
- an interactive UI for Elixir pipelines.
Elixir & Phoenix Fundamentals Full Course For Beginners
Learn the basics of the functional programming language Elixir, and how to build simple web applications with the Phoenix framework from scratch with this video crash course.
Probuild-ex : Create a league of legends pro players build trackers with elixir Part 3
Third part of a series to create a probuild tracker for the game league of legends. Together we will build probuild-ex using elixir, phoenix, liveview and friends.
ThinkingElixir 120: Localize and Personalize Your Elixir Apps
Episode 120 of Thinking Elixir. Localizing and personalizing an application is separate from the language used in the interface. Kip Cole explains how the mismatch of computers with the culture of our audience creates friction we may not even be aware of. In fact, our benign app may be unintentionally offensive to millions of people! Kip created the libraries ex_cldr, money and tempo to help Elixir developers localize applications in a culture aware way. What does that mean? It means using minimal information we can infer how names should appear, how numbers are represented, the assumed numeric rounding rules, first day of the week, the calendar being used, and more!
Phoenix LiveView 0.18: New Special HTML Attributes
Let’s check out Phoenix LiveView 0.18’s new special HTML attributes to help you write cleaner HTML. https://blog.appsignal.com/2022/10/11/phoenix-liveview-018-new-special-html-attributes.html
Cursor Based Pagination
Episode 152: Cursor Based Pagination with Paginator
https://elixircasts.io/cursor-based-pagination-with-paginator
Plucking the "A" from PETAL
This post asks if we can remove Alpine from the PETAL stack. Can we do everything we need with just LiveView? Also, let’s explore an area where LiveView can still improve.
Chat Bots as UI from ElixirConf Africa 2022
For people that want Chat Bots with Elixir, or experimental talk presentations and video production. https://www.youtube.com/watch?v=DFGHaER6_j4
Prevent double-bookings with Exclusion Constraints in Postgres using Ecto
Exclusion constraints in Postgres can efficiently detect overlapping bookings, appointments, and schedules and block their creation. This blog post explains how to implement them using Ecto.
https://www.peterullrich.com/prevent-overlapping-schedules-with-ecto-and-postgres
Adding Elixir to Erlang via Rebar3
Adding Elixir to Erlang via Rebar3 - https://itnext.io/adding-elixir-to-erlang-via-rebar3-2ad83476b627
IntelliJ Elixir v13.2.1
Changelog
v13.2.1
Bug Fixes
-
Ignore
PsiErrorElementwhen collecting doc comments. - Fix README typos.
- Log before and after setting mirror for decompiled files. Parsing complex decompiles can freeze the IDE. Logging before parsing the decompiles will give a chance of finding the file and recovering the decompiled code to find the error or complexity that needs to be suppressed.
-
Use
Options.truncateDecompiledBodyz on Elixir decompiled bodies too. Previously, this was only used for Erlang functions. Fixes parsing decompiled code causing freezes for some files. * Ignoreauthors: …for documentation when injecting Markdown. * StopprependQualifierswhen reaching a qualified bracket operation (Alias.function[key]). * Skip-1and other unary operations when resolving types. * Ignore maps at the root of files when collecting doc comments. * ReturnemptySequencefromchildExpressionswhenPsiElementhas nofirstChildorlastChild. * Don’t descend inside struct literal when resolving types. * Ignore injecting Markdown in calls that read the text from a file, such as in@moduledoc File.read!(Path.join([DIR, “..”, “README.md”]))* Ignore undocumented script code at root of files. * Alias used in qualified call. * Integers * Floats * Tuples * StopancestorTypeSpeconQualifiedMultipleAliases. * Ignore pipelines for injecting Markdown in doc comments. * Ignore uselesswarn_missinginedeliver‘sdistillery` dep. * Stop accumulating qualifiers when bracket operation is hit either as qualifier or argument. Installation Instructions
Doing expensive things only once in Elixir
A simple solution to the stampeding herd problem and a library that wraps it up: https://dev.to/palm86/doing-things-only-once-in-elixir-4hdg
