PostgreSQL Ranges with EctoRange
In this episode we explore how to use PostgreSQL range types with Ecto using the EctoRange package.
Thinking Elixir 156: React to LiveView for Performance
Episode 156 of Thinking Elixir. When their React app stuttered and slowed with the hundreds of items they needed to display, Tim Gremore tried it out as a LiveView rendered page and found they could scale to thousands without issue. The LiveView version was so responsive the users thought it must not be working because there was no delay to register the changes! Tim shares their journey migrating a service from React to LiveView to solve their issue. He shares tips, what they learned in the process and more!
Introducing Elixir Streams!
A new website that includes all the Elixir and Phoenix tips and tricks 🎥 I’ve been sharing for a while.
Check it out! 👉 https://www.elixirstreams.com/
Create and Open A Modal in Phoenix 1.7
In part one of this series, we’ll add a modal to an example Phoenix application: https://blog.appsignal.com/2023/06/20/create-and-open-a-modal-in-phoenix-1-7.html
How to Learn Elixir Security
When a business adopts Elixir, security is an important topic. How does the security of Elixir and its ecosystem compare to other languages? How can developers learn more? Watch “How to Learn Elixir Security” by Michael Lubas, Paraxial.io Founder, for the Curiosum Elixir Meetup.
KILL YOUR PHOENIX CONTEXT
A rant about Phoenix Contexts which often become a dumping ground for code that doesn’t have an obvious place. Learn how to organize your code better using services, queries, and repositories.
Amplify Smart Cells in Elixir Livebook
If you want to see more data in your Smart Cells output, you will come soon! https://github.com/livebook-dev/livebook/pull/1984 #myelixirstatus #elixirlang @livebookdev
A mini-language from scratch in Elixir - Evaluation
In this post, we add simple evaluation of Ovo’s abstract syntax tree, up to being able to evaluate basic forms like addone = \a -> add(a, 1) end \n addone(2) to 3.
Build your own Redis in Elixir
Recreate Redis from scratch in Elixir. Dive deeper into TCP servers, network programming, and the Redis protocol.
Phoenix LiveView: Async Assign Pattern
A sustainable pattern for loading assigns concurrently in Phoenix LiveView. https://blog.andyglassman.com/2023/06/phoenix-liveview-async-assign-pattern.html
The many states of Elixir
A post on mutability and state in Elixir. Functional yes. Immutable? Eeh..
Custom Styling for Kaffy Admin UI
Guide on how to style the Kaffy Admin UI nav.
https://blog.andyglassman.com/2023/06/custom-kaffy-styling.html
Thinking Elixir News 155
Episode 155 of Thinking Elixir. OpenSource contributions recognition for Jonatan Kłosko, more from Sean Moriarity on AI with Elixir, the latest update on LLaMa running locally, Stephen Bussey is helping people move from OO languages like Ruby to Elixir with a new book, unraveling recent Arrow related contributions, a security fix to apply and conferences requesting speakers!
Prefixed Object IDs in Ecto
How to set up human-readable Object IDs with Ecto using prefixed base62 encoded UUIDv7.
https://danschultzer.com/posts/prefixed-base62-uuidv7-object-ids-with-ecto
Adding Dialyzer Without the Pain
Dialyzer is a tool that you’ve probably heard about in the Elixir community. You may have even used it. However, adding Dialyzer to an existing project can feel overwhelming when you see the wall of red and have 100s of errors. Hitting that resistance can turn people right around, running for the door. Noah Betzen shows us how adding Dialyzer doesn’t have to be scary. He walks us through the process on several existing public Elixir projects. He shares some tips and tricks that let us keep our productivity without getting overwhelmed.
https://fly.io/phoenix-files/adding-dialyzer-without-the-pain/
Exploit Guard: Open Source Runtime Application Self Protection for Elixir
Detect and stop hacking attempts at runtime. Exploit Guard is an open source RASP tool for Elixir, which monitors for remote code execution (RCE) attacks at runtime.
Anatomy of a LiveView test
This is how I like to write most of my LiveView tests:
-
mount LiveView with
live/2, -
target an element (with
element/3orform/3) and perform a render action -
make an assertion with
has_element?/3
The familiar setup-exercise-verify testing pattern. 🥳
Check it out 👉 https://youtu.be/PGGhL9Votig
The glory of scripting in Elixir
Hyperbole aside. I really like writing up quick scripts in Elixir and I figured I’d share the basic idea of it in case people weren’t aware how very possible it is. https://underjord.io/scripting-with-elixir.html
How much memory is needed to run 1M Erlang processes?
Response to the recent article about memory usage of different runtimes for concurrent processing. How to improve Elixir results in such micro benchmarks.
