Swoosh 1.1 Recipient Protocol
The Recipient Protocol enables you to easily make your structs compatible with Swoosh functions.
defmodule MyUser do
@derive {Swoosh.Email.Recipient, name: :name, address: :email}
defstruct [:name, :email, :other_props]
end
Now you can directly pass %MyUser{}
to from
, to
, cc
, bcc
, etc. See Swoosh.Email.Recipient
for more details.
🎥 How to Deploy a Phoenix App to Gigalixir in 20 Minutes
This is a quick screencast to demonstrate how easy it is to deploy an Elixir application to Gigalixir, a hosting platform built specifically for Elixir.
https://www.mitchellhanberg.com/how-to-deploy-a-phoenix-app-to-gigalixir-in-20-minutes/
[Live Coding] UX with LiveView: Wiktionary for Language Learning
A new adventure with LiveView, but this time we’ll be doing a small app for language learning.
In the first part, we setup a new LiveView project, added a basic search input and async fetching of Wiktionary articles with debounce, and started working on parser for the articles, using Floki and implementing HTML tree traversal.
ThinkingElixir 020: LiveView v LiveWire, Alpine.js with Caleb Porzio
In episode 20 of Thinking Elixir, we talk with Caleb Porzio from the PHP Laravel community where he created LiveWire, a framework inspired by LiveView. We cover some similarities and differences between the two technologies. Caleb also created Alpine.js to address problems common to both LiveWire and LiveView. We also learn about how he went 100% community supported financially. Lots of great insights come out as we learn from him. Check it out!
How to test HTTP requests in Elixir with ExVCR
As your app grows so does its integrations base. At some point, you may need to consume API from third-party services. Click here to learn how to test them properly with the exvcr library.
Using Event Sourcing and CQRS with Incident - Part 1
Event Sourcing and CQRS are great design patterns for some domains. The Incident library will help implement them without compromising other parts of your application.
This is the first of a series of posts that I will present the usage of Incident.
Check it out: https://pedroassumpcao.ghost.io/event-sourcing-and-cqrs-using-incident-part-1/
Hornet - library for stress testing
I created a new library which handles long-running stress tests gracefully, spawning the optimal number of processes.
In the post, I’ll describe my motivation, high-level and low-level designs of the library.
Nov 3 - Live w/ LiveView and LiveWire feat. Caleb Porzio
Currently scheduled for Nov 3 at 12:30pm Eastern US.
YouTube Live: https://www.youtube.com/watch?v=0iNCrQASviQ
Caleb Porzio, creator of Alpine.js and Laravel LiveWire, and David Bernheisel are going to live code, shoot the breeze, try to create an application, and celebrate each others’ development ecosystems.
David is going to use the Elixir language with Phoenix and LiveView, and Caleb is going to use the PHP language with Laravel and LiveWire (which he created and was inspired from LiveView).
Follow @calebporzio and @bernheisel on Twitter for updates on the livestream.
How to Create a Todo List with Phoenix LiveView
It’s been over a year and a half since I first published this Phoenix LiveView tutorial. Since then a lot has changed with the library. I’ve now updated the entire tutorial to work with Phoenix 1.5 and Phoenix LiveView 0.14. The new generators will let you get up and running a lot faster, and I’ve managed to make the video ten minutes shorter than before. Please let me know what you think!
https://dennisbeatty.com/how-to-create-a-todo-list-with-phoenix-liveview.html
BoomNotifier released!
Following our passion for #oss and our love for #elixir, we released a new package that tells you when something went wrong on your #Phoenix application. Go check it out and let us know what you think! #myelixirstatus https://github.com/wyeworks/boom
Bringing the Matrix Protocol to Elixir
I’ve written a post giving a practical introduction to the Matrix protocol with the Matrix Elixir SDK, an open source project I started earlier this year. Check it out at: https://simplabs.com/blog/2020/11/02/bringing-matrix-to-elixir/
Fine-grained Permission/Policy Checker Middleware for Absinthe
This library allows you to define your permission policies declaratively by leveraging Absinthe’s meta field.
Here is GitHub repo: https://github.com/b-erdem/absinthe_permission
Elixir Wizards Monster Mash live stream this Friday 10/30 at 11AM EDT
SmartLogic’s Elixir Wizards are hosting a Halloween themed Elixir live stream this Friday at 11AM EDT; we’ll have special guests, costumes, and more. Come hang with us: https://www.twitch.tv/smartlogictv
ThinkingElixir 019: Elixir and Art with Milada Majáková
In episode 19 of Thinking Elixir, we talk with Milada Majáková about combining Elixir and art. Milada came new to Elixir from Architecture and Graphic Design. We reject the idea that people are either logical or artistic but not both. She shares her journey, what it was like learning Elixir as a first programming language, creating generative art using Elixir and LiveView, and much more!
Elixir Recursion Basics by Eric Oestrich
The latest Elixir blog post is out! Check it out here: https://blog.smartlogic.io/elixir-recursion-basics/
The BEAM marches forward
An informative rant about the BEAM and the future of Erlang and Elixir. Or hopefully informative. That’s the idea at least.
Event Sourcing and CQRS library Incident version 0.5.0 released
The version 0.5.0 allows now multi-cycles for Event -> Command -> Event, increments documentation and adds more features in the Bank example app, including integration tests. Check it out: https://hex.pm/packages/incident