phx_component_helpers 1.0.0
phx_component_helpers
is a library to make your Phoenix LiveView components more configurable and extensible from your HEEX templates.
It’s now available in 1.0.0 🔥
Functional Programming in Elixir with Witchcraft
Find out how you can use the Witchcraft library to do Haskell-style programming in Elixir.
https://blog.appsignal.com/2022/02/08/functional-programming-in-elixir-with-witchcraft.html
Elixir tap and then macros - life-saving helpers
Elixir 1.12 introduced two very useful macros. They can be life savings helpers in your codebase. Instead of write extra functions, you can have nice logging and executing actions based on given data.
Check on: https://bartoszgorka.com/elixir-tap-and-then-macros-life-saving-helpers
Quick migration from LEEx to HEEx
Since Phoenix LiveView 0.16 has brought new HEEx templates (and LEEx are going to be deprecated), you may come across issues during migration.
https://latuszewski.appunite.com/post/quick-migration-from-leex-to-heex
ThinkingElixir 086: SavvyCal and Indie SaaS with Derrick Reimer
In episode 86 of Thinking Elixir, we talk with Derrick Reimer about his product SavvyCal. He used Elixir as a solo dev to create a service that can take on an 800lb gorilla like Calendly. He shares what competitive advantages he feels he has both from Elixir but also in being more nimble. We also talk about creating a company as an independent, solo developer and how that can work. Derrick shares some tips and resources that were helpful for him on his journey. We feel the PETAL stack positions Elixir developers well for optionally taking that Indie path if desired. Check it out! Lots of nuggets here!
How To Build a [Counter with Elixir, Phoenix, LiveView and Tailwind CSS] | No Javascript
Learn how to use Elixir/Phoenix, to create a counter without javascript, only using Elixir with the help of Phoenix LiveView, and Tailwind CSS for the user interface.
LiveView feels faster with a delayed loading indicator
I love LiveView. Navigating between views is so fast! This quick tip makes navigating feel instantaneous by adding a split-second delay before showing the progress bar. Such simple change makes a big difference!
https://fly.io/phoenix-files/make-your-liveview-feel-faster/
Oban v2.11, Pro v0.10, and Web v2.9 Released
This bundle of releases focuses on minimizing resource usage and matriculating features from Pro back into Oban. In the release announcement you’ll learn about centralized leadership, the PG notifier, safety focused plugins, the new Pro worker, and DynamicQueues!
https://getoban.pro/articles/oban-2-11-pro-0-10-web-2-9-released
Telemetry and Metrics in Elixir
My new article in the telemetry series is out.
“Elixir, Telemetry, and Prometheus”
I show you how to expose your @elixirlang telemetry data and scrap it with @PrometheusIO
Formulae v0.9.0
Released Formulæ v0.9.0
with many improvements:
- aliased modules
- wrap formulae as guards
- fixes for modern era Elixir
Plugins in Elixir Applications
Blogged on how one might approach a plugin-like functionality with Elixir behaviours.
https://rocket-science.ru/hacking/2022/02/12/plugins-in-elixir-apps
Mixin has been released.
Mixin for Elixir.
Delegates all functions to ModuleA from moduleB.
Works like a so-called Mixin
.
Links
Usage
iex> defmodele ForDocFoo do
...> def foo, do: :foo
...> end
iex> defmodele ForDocBar do
...> require Mixin
...> Mixin.include ForDocFoo
...> end
iex> ForDocBar.foo
:foo
Hello, Erlang! A new podcast
“Hello, Erlang!” is a show focused on the Erlang programming community. We discuss topics related to the BEAM and the Erlang Ecosystem with exceptional engineers that will share their knowledge and experience with you.
How Do: Elixir, Functional Fundamentals
In this video I try to explain some of the fundamentals of moving from other programming languages and into Elixir. Going functional was a bit challenging for me and I hope this helps some of y’all.
Exzeitable
In this episode of ElixirCasts we’ll use Exzeitable to quickly add a datatable to an application with full text search, pagination, and automatic refresh.
Building a simple Calendly clone with Phoenix LiveView (pt. 8)
👋🏼 Here’s part eight of the Building a simple Calendly clone with Phoenix LiveView series, in which we’ll finish managing event types adding the corresponding logic for cloning and deleting event types.
https://bigardone.dev/blog/2022/01/31/building-a-simple-calendly-clone-with-phoenix-live-view-pt-8
Happy coding!
When to use the handle_params callback
The handle_params/3 callback is helpful for using the state in the URL to drive the presentation of your LiveView. his is nice because you can share the URL with anyone and see the same LiveView state. https://til.simplebet.io/posts/jhhvhiyczv-when-to-use-the-handleparams-callback
attr_reader has been released.
Defines module attribute getter automatically.
AttrReader
In Elixir, Module variable is often used as a constant. But I didn’t want to bother to define a getter when I wanted to refer to it with Test code etc. If you use AttrReader, you can use it without having to define the getter of the module attribute.
Links
- github: https://github.com/tashirosota/attr_reader
- hexdoc: https://hexdocs.pm/attr_reader/readme.html
Usage
Defines by use
iex> defmodule UseAttrReader do
...> @foo "foo"
...> use AttrReader
...> @bar :bar
...> end
iex> UseAttrReader.foo()
"foo"
iex> UseAttrReader.bar()
:bar
Defines by macro
iex> defmodule UseAttrReaderMacro do
...> require AttrReader
...> AttrReader.define @foo
...> AttrReader.define @bar, "bar"
...> AttrReader.define @baz, :baz
...> end
iex> UseAttrReader.foo()
nil
iex> UseAttrReader.bar()
"bar"
iex> UseAttrReader.baz()
:baz
ThinkingElixir 085: Computer Vision in Elixir with Cocoa Xu
In episode 85 of Thinking Elixir, we talk with Cocoa Xu about his PhD robotics project and his related Evision project that creates Elixir bindings to the OpenCV library. The project enables computer vision in Elixir much easier by building on existing projects. We learn about the kinds of features this enables and how it can target embedded devices as well. His goal of a clustered, collaborative, hoard of Elixir robots is terrifyingly fascinating! 😄
elixir lunch - a low-key lunch gathering for Elixirists
The first Elixir lunch is happening Feb 11th at 12pm EST!
As a trial run, I’m doing this for lunch time during EST (though you’re welcome to join from another time zone).
Sign up 👉 https://lu.ma/elixir-lunch
Curious why? https://germanvelasco.com/blog/starting-elixir-lunch