Blog #163: Elixir Reading List (2023)
A review of all of the interesting things that happened in the Elixir ecosystem in 2023.
Tags: braingasm, elixir, phoenix, software, 2023
Source: DALL-E
[ED: Strap in, folks; this is about as technical as this blog gets! Also: new propeller hats!]
In addition to trying to teach myself as much about machine learning as I could in 2023, I also tried to do the same with Elixir. If you are not familiar with Elixir, then it is best described as:
… a dynamic, functional language for building scalable and maintainable applications. Elixir runs on the Erlang VM, known for creating low-latency, distributed, and fault-tolerant systems. These capabilities and Elixir tooling allow developers to be productive in several domains, such as web development, embedded software, machine learning, data pipelines, and multimedia processing, across a wide range of industries. Source: elixir-lang.com
As an ex-Ruby programmer, the syntax of Elixir comes naturally, and as someone who tinkered with Lisp (many, many years ago in Uni), its pure functional nature has a lot of appeal. Whole classes of bugs typical with object-oriented code just disappear with immutable data types and functional data pipelines.
I have been building software for almost 30 years, but the last 10 years or so have been more remote as I have spent most of my time in management and leadership positions. What follows does not contain a great deal of commentary on the posts but rather is designed to serve more as a record of what I read and what I learned as I taught myself the language from scratch. My hope is that it might be useful to anyone starting out who might need a reading list to get going.
The links are divided into months (of 2023) and are here more or less chronologically in the order that I found them. Some months have a few more posts than others, some have tags, and a few have #todos to remind me of things to think about in the future.
Enjoy!
202312
Phoenix Component guide - reusable building blocks of modern web application
Setting Up a Multi-tenant Phoenix App for Elixir
More from ElixifConf 2023:
- ElectricSQL - Local-first SQL with Elixir by James Arthur | ElixirConf EU 2023
- ElixirConf 2023 - Chris Gregori - Handling async tasks in LiveView with style and grace
Want to hear about code smells in Elixir? See you at Code BEAM Europe 2023! #video
File upload to AWS S3 or S3 compatible bucket from Phoenix LiveView using Elixir
WalEx is Postgres Change Data Capture (CDC) in Elixir.
Solid is an implementation in Elixir of the template language Liquid. It uses nimble_parsec to generate the parser.
Here is a neat beginner’s intro site for the Elixir/Phoenix/Ash stack, along with a supporting YouTube channel
ElectricSQL - Local-first SQL with Elixir by James Arthur | ElixirConf EU 2023
Phoenix email defaults: better templates using components
When to use the handle_params callback
Cross-Platform Elixir Deployments with Burrito
202311
Comparing Elixir and Python when working with Simple Neural Networks - A. Neto & L. C. Tavano
Phoenix LiveView and E-Commerce
Setting Up a Multi-tenant Phoenix App for Elixir
Principles of Functional Programming
Adding Dialyzer without the Pain
ElixirConf 2023
- ElixirConf 2023 - Geoffrey Lessel - Introducing Vox: the static site generator for Elixir lovers
- ElixirConf 2023 - Charlie Holtz - Building AI Apps with Elixir
- ElixirConf 2023 - Sean Moriarity - MLOps in Elixir: Simplifying MLOps with Elixir
Three Years of Nx: Growing the Elixir Machine Learning Ecosystem
Functional Arrays in Elixir and Erlang
Traditional Machine Learning with Scholar
Audio Speech Recognition in Elixir with Whisper Bumblebee
Building your own distributed CLI ChatGPT in Elixir with GenServer
The Comprehensive Guide to Elixir’s List Comprehension
Functional domain modeling in Elixir
Tag Images with Elixir and Yolov8
202310
Taming Complexity - Structuring Phoenix Contexts
The Road Toward LiveView Native v0.2 (Part 1)
An entire blog full of posts on Elixir
Fine tune Mistral 7B with the RTX 4090 and serve it with Nx
Using Decision Tables in Elixir Applications - Part 1
Open-Source Elixir Alternatives to ChatGPT
Created my Personal AI Fitness Trainer in 2 Days
LiveView 0.20 HEEX Debug Annotations
ElixirConf 2023
- ElixirConf 2023 - Charlie Holtz - Building AI Apps with Elixir
- ElixirConf 2023 - Sean Moriarity - MLOps in Elixir: Simplifying traditional MLOps with Elixir
- ElixirConf 2023 - Michael St Clair - Building a database GUI and proxy with Elixir
- ElixirConf 2023 - Nicholas Scheurich - Conversational Web APIs with Phoenix Channels
- ElixirConf 2023 - Toran Billups - Fine-tuning language models with Axon
Elixir LiveBook File Integration
End-to-End Machine Learning in Elixir
Phoenix 1.7 for Elixir: Edit a Form in a Modal
Elixir and Machine Learning: Q3 2023 roundup
Announcing LangChain for Elixir
Elixir + Phoenix Liveview + Ash implementation of RealWorld Example App
RealWorld Example Apps (Medium Clone) built in a variety of front-end and back-end technologies
The elixir-tools Update Vol. 3
202309
Ash for Elixir
- Jax Ex: Model Your Domain, Derive the Rest (0/2) #video
- Ash Primer: Migration Generation (1/2) #video
- Ash Primer: Calculations (2/2) #video
- Ash Forum on Elixir Forums
A better way to prompt LLMs in Elixir
Elixir Conf 2023
- ElixirConf 2023 - Eric Iacutone - Learn Stochastic Gradient Descent in 30 Minutes
- ElixirConf 2021 - Chris McCord - The Future of Full-stack #video
- ElixirConf 2023 - Charlie Holtz - Building AI Apps with Elixir #video
Implementing Nearest-Neighbour Recommendations in Ruby
Add full-text search to an Elixir Phoenix application
Understanding Elixir: Real-Time and Latency
STAPLE Stack - Surface, Tailwind, Ash, Phoenix, LiveView and Elixir
Adding a table of contents to Nimble Publisher
Flop
Secure Coding and Deployment Hardening Guidelines
202308
Digging into the Ash Framework
Creating Note taking app using LiveView and GenServer - Part 1
Understanding the Elixir Machine Learning Ecosystem
From Python to Elixir Machine Learning
Publishing user Elixir, Phoenix, and Nimble Publisher
- Building a Block Based Editor in Phoenix LiveView | Nikola Begedin | ElixirConf EU 2022
- Trix - A Rich Text Editor for Everyday Writing
- Trix Editor
- Add Trix Editor to a Phoenix LiveView
- Dashbit Nimble Publisher - how it was made
- Philtre - a block-based editor with support for static HTML generation in LiveView
- DevDojo WYSIWYG TailwindCSS Editor
Elixir Saves Pinterest $2 Million a Year In Server Costs
Oban Job Processing for Elixir
Elixir Machine Learning Explained
A Beginner’s Introduction to Phoenix Framework and LiveView | John Christopher
Grox.io
Join the Elixir FashionMNIST Challenge
Building Self-referential Associations in Elixir/Phoenix
How to implement a disk cache plugin for Elixir’s Req HTTP client?
Req – a batteries-included HTTP client for Elixir
Tailwind
- Tailwind CSS
- Tailwind Components
- HyperUI
- Beautiful hand-crafted SVG icons, by the makers of Tailwind CSS
Build AI Powered Celebrity Instagram - ZERO JavaScript! Using Phoenix LiveView
TIL: 3 different ways to build a list with conditional elements in Elixir
Crafting Your Own Static Site Generator Using Phoenix
Building a full-text search engine in Elixir
Phoenix with GitHub OAuth Authentication
Building a Chat App with LiveView Streams
Generating Data Functions in Your Elixir App
Hans Elias B. Josephsen - Object detection in Elixir with Axon
Using the power of macros for consistent authorization
Functional Arrays in Elixir and Erlang
Numerator
John Elm Labs (Elixir Courses) #training #howto #learn
Let’s build GPT from scratch w/ Nx and Axon #howto #learn #ai #gpt #ai #gen-ai
The Phoenix LiveView LifeCycle Illustrated #phoenix #front-end
How to Add daisyUI to Your Elixir + Phoenix Project (And Why You Should!) #phoenix #tailwind #css #front-end
ElixirForCynicalCurmudgeons #opinion
202307
What does AI dream about? Stable Diffusion in Elixir
Walkthrough of Elixir’s Adapter Pattern
From Python to Elixir Machine Learning
Simple Configuration Setup for Elixir Projects
The Comprehensive Guide to Elixir’s List Comprehension
The Lazy Programmer’s Intro to LiveView: Chapter 1
LangchainEx #llm #langchain
Create and Open A Modal in Phoenix 1.7
Build your own lazy operation evaluator in Elixir
Building a ChatGPT Chatbot with Elixir and Phoenix LiveView
Ash Framework
202306
A list of LLM-based projects to build as side-projects for your developer portfolio #llm #gpt #ai #machine #learning Note: this list is not Elixir-specific, but it would be good to do Elixir-specific versions of each idea
202305
The Ash Framework #framework #back-end
202304
Learning Elixir #learn #howto
202303
Pathex #lib #data #structure
202302
GPT in 60 Lines of NumPy #code #howto #learn #numpy #python #ai #machine #learning #numpy #TODO take this and make an Elixir version
202301
Elixir School #howto #code
Alchemist Elixir Camp (videos) #howrto #code #video
Adding a Table of Contents to Nimble Publisher #howto #code #blog
Flowbit Admin Dashboard #ui #frontend #dashboard
LiveView Native Yearly Update #frontend #native
Building a remote control car from scratch using Elixir #code #edge #howto
Let me know if you find the list useful in any way. I’d love to hear about your experience, whether or not you are new to Elixir or, like me, you are coming back to programming after spending some time away from the front line.