SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Quantum Fax Machine
QFM014: Elixir Reading List April
2024
quantumfaxmachine.com
1
QFM014: Elixir Reading List April
2024
April's "Elixir Reading List" provides another dive into what's new in the world of Elixir programming,
this month showcasing articles that focus on optimisation, best practices, and enhancing the user
experience of Phoenix apps.
Sparkline SVG is an Elixir library that simplifies visualising trends with customisable SVG-based
sparkline charts. How to Generate a PDF on a Page Behind Auth in Elixir addresses the challenge of
securely generating PDFs for authenticated pages, sharing clever solutions using ChromicPDF and
WeasyPrint.
For developers seeking best practices, Understanding Anti-Patterns in Elixir helps you avoid pitfalls in
functional programming with Elixir, while Evaluating Phoenix Admin Frameworks offers a candid
comparison of admin frameworks to guide you in selecting the best admin UI for your Phoenix apps.
Lastly, Elixir Development Using Podman with VM in Parallels and Shared Folders illustrates how to
efficiently set up an Elixir development environment optimised for macOS. This meticulous guide is
particularly valuable for users who want to replace Docker with Podman, sharing expert-level
insights on configuring Parallels and shared folders for streamlined workflows.
This month's articles collectively emphasise the importance of practical solutions, productivity, and
technical excellence and highlight Elixir’s strengths and flexibility for runtime performance and
developer productivity.
And much more!
As always, the Quantum Fax Machine Propellor Hat Key will guide your browsing. Enjoy!
Key:
: Unrelated to Elixir, but interesting nonetheless
: Mentions Elixir and related technologies
: Talks about the Elixir ecosystem in real-world use cases
: Talks about technical details of Elixir ecosystem components
: Using and working with Elixir ecosystem technologies in software
: Programming new Elixir technology concepts and implementations
Source: Photo by Elena Mozhvilo on Unsplash
2
Sparkline SVG: An Elixir Library for Generating
SVG Sparkline Charts: The webpage provides
detailed technical information and structural
elements for a GitHub repository, specifically
focusing on a project named 'Sparkline SVG'. This
Elixir library is designed to generate simple, SVG-
based sparkline charts without dependencies.
Key sections highlight installation instructions,
usage examples, and customisation options,
making it easier for developers to integrate this
tool into their projects. The library facilitates the
creation of visually appealing charts to represent
data trends compactly, with options to customise
the appearance through CSS or inline options.
#GitHub #Elixir #SVG #DataVisualization
#SparklineCharts
3
How to Generate a PDF on a Page Behind Auth in
Elixir: This article describes generating PDF files
for pages that are behind authentication, using
Elixir. It discusses the challenge of securely
creating PDFs from authenticated web pages
and introduces solutions such as generating a
user session token that can be recognised by
PDF generators like ChromicPDF and
WeasyPrint. The process involves creating a
cookie corresponding to a logged-in user session
and using it to access and render the required
pages as PDFs, thereby overcoming the common
hurdle of maintaining authentication during the
PDF generation process.
#Elixir #PDFGeneration #WebDevelopment
#Authentication #Programming
4
Understanding Anti-patterns in Elixir Programming:
The document provides a comprehensive guide on
anti-patterns in Elixir programming, detailing
common coding mistakes known as "code smells." It
aims to help developers identify and understand the
pitfalls of these anti-patterns across four main
categories: code-related, design-related, process-
related, and meta-programming. The guide also
includes examples, problems caused by these
patterns, and solutions for refactoring.
Furthermore, the initial catalog of anti-patterns was
proposed by Lucas Vegi and Marco Tulio Valente,
supported by additional security resources from the
Erlang Ecosystem Foundation's Security Working
Group.
#Elixir #Programming #AntiPatterns
#CodeSmells #SoftwareDevelopment
5
How to handle file upload using Trix editor in a
Phoenix application: This article by Jason Kaniekete
provides an in-depth guide on integrating file
uploads into Phoenix applications using the Trix
editor. Starting with the basics of setting up Trix and
configuring the Phoenix environment, the tutorial
then dives into local file uploads to the server. It
meticulously covers handling file uploads, including
creating routes, setting up controllers, and writing
client-side JavaScript for uploading files.
Additionally, it explores external file storage options,
using Backblaze B2 cloud storage as an example, to
demonstrate how to configure an S3 adapter for file
uploads. The guide is comprehensive and offers
sample code to ease implementation.
#Phoenix #TrixEditor #FileUpload #Elixir
#WebDevelopment
6
Implementing Natural Conversational Agents with
Elixir: Sean Moriarity details his project to build an
advanced conversational agent named Nero using
Elixir. By integrating technologies like Nx, OpenAI
APIs, and ElevenLabs, the post showcases the
evolution from a simple home automation system
to a more sophisticated conversational model.
Efforts to reduce latency and enhance the
conversational experience, including real-time
speech-to-text processing and seamless
integration with machine learning models, underline
the technical depth of the project. His journey
highlights the continuous improvement mindset,
leveraging Elixir's capabilities for building
responsive and interactive applications.
#ConversationalAI #Elixir
#MachineLearning #OpenAI #ElevenLabs
7
AWS Clients for Elixir: Simplifying Cloud
Service Integration: This article introduces
AWS clients for Elixir, offering an easy way to
access AWS services. The library, generated
by aws-codegen, provides a clean API for
most AWS services, configurable HTTP client
and JSON parser. It simplifies tasks such as
listing Amazon Kinesis streams, uploading
files to S3 with integrity check, and handling
multipart uploads. The documentation is
updated from the official AWS docs, ensuring
reliability and accessibility for developers.
#AWS #Elixir #CloudComputing
#Programming #APIs
8
Fundamentals of Object Storage: The article discusses
the evolution and fundamentals of Object Storage,
delving into its history, practical applications, and the
transition from traditional storage solutions to
modern, scalable object storage systems. The writer,
part of the Underjord team which specializes in Elixir
consulting, shares insights gained from a livestream
on the subject, supported by Tigris. He explains the
basics of object storage, such as its key operations
and its advantages over traditional file systems,
including scalability and reliability. Additionally, the
article covers working with object storage using Elixir,
demonstrating operations like listing, putting, and
getting objects, as well as advanced features like
presigned URLs and multipart uploads.
#ObjectStorage #Elixir #TechInnovation
#CloudStorage #DataManagement
9
Segregate Responsibilities with Elixir
Commanded: The article demonstrates
how Elixir's Commanded library enhances
application development with CQRS and
Event Sourcing. It emphasizes the benefits
of audit tracing, time travel, and event-
driven architecture. Additionally, it covers
practical implementation aspects like event
store setup, command and event
management, aggregate design, and
projections for efficient data querying.
#Elixir #CQRS #EventSourcing
#SoftwareDevelopment #Tech
10
Ash 3.0 Release Candidate: The Ash
Framework 3.0 introduces a suite of
updates, including revamped code
organisation, API restructuring, and
enhanced developer tools, offering a
streamlined and efficient experience for
developers. See the full announcement
here.
#AshFramework #Elixir #OpenSource
#Programming #TechUpdate
11
Audio Speech Recognition in Elixir with Whisper
Bumblebee: This article introduces Whisper, an
advanced audio-speech recognition model from
OpenAI, capable of transcribing audio in multiple
languages with state-of-the-art accuracy.
Whisper's strengths in handling diverse accents,
jargon across specialities, and ambient noise are
highlighted, emphasising its robust performance
due to extensive training on a large and varied
dataset. Moreover, the article explains how
developers can use Whisper in Elixir applications
via the Bumblebee library, offering possibilities for
integrating audio-speech recognition in various
projects with examples of potential applications.
#Whisper #OpenAI #Elixir
#AudioSpeechRecognition #Bumblebee
12
LiveView Playground: Discover how to
quickly launch your own LiveView project
with minimal setup using LiveView
Playground. This guide offers
straightforward instructions on setting up a
basic LiveView environment, version 0.1.1,
allowing for a personalised "Hello World"
experience on a local server. Ideal for
beginners looking to explore real-time web
applications with Elixir's rich programming
capabilities.
#LiveViewPlayground #Elixir
#WebDevelopment #RealTimeWeb
#Programming
13
2 Helpers to Keep Your Pipelines Flowing:
This article showcases practical Elixir
programming tips for maintaining efficient
code pipelines. It introduces two helpful
techniques, "then" and "tap", aimed at
managing and debugging Elixir pipelines
without halting their flow. These methods
offer streamlined solutions for inspecting and
modifying pipeline data, demonstrating their
utility in coding practices where maintaining
the continuity of data flow is crucial.
#Elixir #Programming
#CodeEfficiency #TechTips
#SoftwareDevelopment
14
Match Operator Guards: This article discusses an
experiment aimed at introducing guard clauses to
Elixir's match operator, which traditionally does not
support them. Brett Beatty details his approach to
extending Elixir's pattern matching capabilities by
creating a macro to handle guards in match
expressions. His exploration includes dealing with
compiler errors, manipulating quoted expressions,
and ensuring code clarity in guard implementation.
The experiment's goal is to make match failures
occur when guards are not satisfied without
fundamentally changing match operator's behaviour.
The article outlines the challenges, solutions, and
considerations for creating a more flexible and
expressive matching mechanism in Elixir.
#Elixir #PatternMatching #MacroProgramming
#GuardClauses #ProgrammingLanguages
15
Constraint Programming Solver: This is an
Elixir implementation of the ideas
described in Chapter 12, "Concepts,
Techniques, and Models of Computer
Programming" by Peter Van Roy and Seif
Haridi.
#Elixir #Programming
#FunctionalProgramming
#ComputerScience #OpenSource
16
QuillJS: This is not exclusively an Elixir
library, but for times when you need to
offer rich text editing in your app, QuillJS
provides a great option. See also:
ProseMirror, which does something similar.
#QuillJS #TextEditor #ProseMirror
#WebDevelopment #JavaScript
17
Engineering Elixir Applications: This book
from The Pragmatic Bookshelf introduces a
new paradigm called BEAMOps. This
paradigm guides engineers through building,
testing, deploying, and debugging BEAM
applications with operational orchestrators
like Docker Swarm, emphasising continuous
improvement and scalability. The book is
due by September 2024, and emphasises
the importance of owning each stage of the
software delivery process for developers.
#PragmaticProgrammers
#EngineeringElixir #BEAMOps
#SoftwareDevelopment #TechBooks
18
Distributed and Parallel Image Processing on
Livebook by Ryo Wakabayashi: Presented at
ElixirConf EU 2023, this talk on Distributed
and Parallel Image Processing with Livebook
dives deep into the intricacies of managing
image data with Elixir. A perfect blend of
technical depth and practical applications, this
session showcases the power of Elixir in
handling complex, data-intensive operations
while leveraging the convenience of Livebook
for collaborative and interactive programming.
#ElixirConfEU #Elixir #Livebook
#ParallelProcessing
#ImageProcessing
19
Elixir Macros Demystified, part 1: The
article demystifies Elixir macros, offering a
clear explanation of their purpose and
structure while guiding developers through
creating their own custom macros in a
beginner-friendly manner. See also: part 2.
#Elixir #Macros
#FunctionalProgramming
#WebDevelopment #PhoenixFramework
20
Dify: The Open-Source LLM App Development
Platform: Dify is an open-source application
development platform specializing in large
language models (LLMs). It allows users to swiftly
progress from prototypes to production-ready
apps through an intuitive interface that integrates
AI workflow, RAG pipeline, agent capabilities,
model management, and observability features.
Key elements include comprehensive model
support from various providers, prompt IDE for
crafting and comparing model performance,
extensive RAG capabilities for document
ingestion and retrieval, and backend-as-a-service
for easy integration into business logic.
#Dify #OpenSource #LLM #AIWorkflow
#AppDevelopment
21
Evaluating Phoenix Admin Frameworks: Erik
Näslund discusses his journey in evaluating
different admin frameworks for Phoenix,
primarily focusing on the ease of integration,
functionality, and compatibility with modern
web technologies. He narrows down his
preferences to either using Kaffy for its
relative ease of use and configurability or
building a custom solution from scratch for
greater control. His insights offer a candid
look into the trade-offs and decision-making
process involved in selecting the right admin
framework for web applications.
#Elixir #PhoenixFramework
#WebDevelopment #AdminUI #OpenSource
22
Elixir Development Using Podman with VM in Parallels
and Shared Folders: This article outlines a complete
guide for setting up an Elixir development environment
using Podman in place of Docker, optimized for macOS
users. The author walks through the intricate process
of using a VM in Parallels for better performance over
the default setup and shares detailed steps for
integrating shared folders, configuring SSH, and
setting up a robust development environment with
Elixir including handling static files and setting up
Posgres as a development database. Special attention
is given to the setup's potential technical snags and
their solutions, making it a comprehensive resource for
developers looking to optimize their Elixir development
workflow with Podman and Parallels on macOS.
#Elixir #Podman #DevelopmentEnvironment
#Parallels #macOS
23
Thankyou!
hello@matthewsinclair.com
matthewsinclair.com
masto.ai/@matthewsinclair
medium.com/@matthewsinclair
twitter.com/@matthewsinclair
Originally published on
quantumfaxmachine.com
If you’d like to sign up for this content as an
email, click here to join the mailing list.
Image: Photo by Austin Chan on Unsplash
24

Más contenido relacionado

Similar a 20240508 QFM014 Elixir Reading List April 2024.pdf

Asp.net Web Development.pdf
Asp.net Web Development.pdfAsp.net Web Development.pdf
Asp.net Web Development.pdf
Abanti Aazmin
 
Alchemy: The Web3 Development Platform
Alchemy: The Web3 Development PlatformAlchemy: The Web3 Development Platform
Alchemy: The Web3 Development Platform
Steve Hodgkiss
 

Similar a 20240508 QFM014 Elixir Reading List April 2024.pdf (20)

Top 13 Backend Frameworks for Web development in 2024
Top 13 Backend Frameworks for Web development in 2024Top 13 Backend Frameworks for Web development in 2024
Top 13 Backend Frameworks for Web development in 2024
 
Aws dev ops pdf
Aws dev ops pdfAws dev ops pdf
Aws dev ops pdf
 
Xenit diary dev con 2018
Xenit diary dev con 2018Xenit diary dev con 2018
Xenit diary dev con 2018
 
Top java script frameworks ppt
Top java script frameworks pptTop java script frameworks ppt
Top java script frameworks ppt
 
Spring ing apps on amazon web services
Spring ing apps on amazon web servicesSpring ing apps on amazon web services
Spring ing apps on amazon web services
 
Top 11 Front-End Web Development Tools To Consider in 2020
 Top 11 Front-End Web Development Tools To Consider in 2020 Top 11 Front-End Web Development Tools To Consider in 2020
Top 11 Front-End Web Development Tools To Consider in 2020
 
The 10 React Libraries and Frameworks to Try in 2023
The 10 React Libraries and Frameworks to Try in 2023The 10 React Libraries and Frameworks to Try in 2023
The 10 React Libraries and Frameworks to Try in 2023
 
Micro-serviços em Python usando Pyramid, Cornice e muito amor
Micro-serviços em Python usando Pyramid, Cornice e muito amorMicro-serviços em Python usando Pyramid, Cornice e muito amor
Micro-serviços em Python usando Pyramid, Cornice e muito amor
 
Simplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptxSimplify DevOps with Microservices and Mobile Backends.pptx
Simplify DevOps with Microservices and Mobile Backends.pptx
 
Docker Announces Open Source Compose for AWS ECS & Microsoft ACI
Docker Announces Open Source Compose for AWS ECS & Microsoft ACIDocker Announces Open Source Compose for AWS ECS & Microsoft ACI
Docker Announces Open Source Compose for AWS ECS & Microsoft ACI
 
Asp. net core 3.0 build modern web and cloud applications (top 13 features +...
Asp. net core 3.0  build modern web and cloud applications (top 13 features +...Asp. net core 3.0  build modern web and cloud applications (top 13 features +...
Asp. net core 3.0 build modern web and cloud applications (top 13 features +...
 
Asp.net Web Development.pdf
Asp.net Web Development.pdfAsp.net Web Development.pdf
Asp.net Web Development.pdf
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
 
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdfCLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
 
Alchemy: The Web3 Development Platform
Alchemy: The Web3 Development PlatformAlchemy: The Web3 Development Platform
Alchemy: The Web3 Development Platform
 
Keeping your options open
Keeping your options openKeeping your options open
Keeping your options open
 
Top 12 Vue.js Developer Tools and Component Libraries (To Speed Up Vue.js Dev...
Top 12 Vue.js Developer Tools and Component Libraries (To Speed Up Vue.js Dev...Top 12 Vue.js Developer Tools and Component Libraries (To Speed Up Vue.js Dev...
Top 12 Vue.js Developer Tools and Component Libraries (To Speed Up Vue.js Dev...
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
 
Elements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdfElements_Architecture_and_Technology.pdf
Elements_Architecture_and_Technology.pdf
 

Más de Matthew Sinclair

Más de Matthew Sinclair (10)

20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
20240413 QFM011 Engineering Leadership Reading List March 2024
20240413 QFM011 Engineering Leadership Reading List March 202420240413 QFM011 Engineering Leadership Reading List March 2024
20240413 QFM011 Engineering Leadership Reading List March 2024
 
20240414 QFM012 Irresponsible AI Reading List March 2024
20240414 QFM012 Irresponsible AI Reading List March 202420240414 QFM012 Irresponsible AI Reading List March 2024
20240414 QFM012 Irresponsible AI Reading List March 2024
 
20240411 QFM009 Machine Intelligence Reading List March 2024
20240411 QFM009 Machine Intelligence Reading List March 202420240411 QFM009 Machine Intelligence Reading List March 2024
20240411 QFM009 Machine Intelligence Reading List March 2024
 
20240302 QFM005 Machine Intelligence Reading List February 2024
20240302 QFM005 Machine Intelligence Reading List February 202420240302 QFM005 Machine Intelligence Reading List February 2024
20240302 QFM005 Machine Intelligence Reading List February 2024
 
20240304 QFM007 Engineering Leadership Reading List February 2024
20240304 QFM007 Engineering Leadership Reading List February 202420240304 QFM007 Engineering Leadership Reading List February 2024
20240304 QFM007 Engineering Leadership Reading List February 2024
 
20240305 QFM008 Irresponsible AI Reading List February 2024
20240305 QFM008 Irresponsible AI Reading List February 202420240305 QFM008 Irresponsible AI Reading List February 2024
20240305 QFM008 Irresponsible AI Reading List February 2024
 
FinovateEurope 2024 Summary Insights Demos
FinovateEurope 2024 Summary Insights DemosFinovateEurope 2024 Summary Insights Demos
FinovateEurope 2024 Summary Insights Demos
 

Último

原版定制美国加州大学河滨分校毕业证原件一模一样
原版定制美国加州大学河滨分校毕业证原件一模一样原版定制美国加州大学河滨分校毕业证原件一模一样
原版定制美国加州大学河滨分校毕业证原件一模一样
A
 
一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理
AS
 
原版定制(爱大毕业证书)英国爱丁堡大学毕业证原件一模一样
原版定制(爱大毕业证书)英国爱丁堡大学毕业证原件一模一样原版定制(爱大毕业证书)英国爱丁堡大学毕业证原件一模一样
原版定制(爱大毕业证书)英国爱丁堡大学毕业证原件一模一样
gfhdsfr
 
原版定制(PSU毕业证书)美国宾州州立大学毕业证原件一模一样
原版定制(PSU毕业证书)美国宾州州立大学毕业证原件一模一样原版定制(PSU毕业证书)美国宾州州立大学毕业证原件一模一样
原版定制(PSU毕业证书)美国宾州州立大学毕业证原件一模一样
rgdasda
 
一比一原版(毕业证书)新西兰怀特克利夫艺术设计学院毕业证原件一模一样
一比一原版(毕业证书)新西兰怀特克利夫艺术设计学院毕业证原件一模一样一比一原版(毕业证书)新西兰怀特克利夫艺术设计学院毕业证原件一模一样
一比一原版(毕业证书)新西兰怀特克利夫艺术设计学院毕业证原件一模一样
AS
 
一比一原版(TRU毕业证书)温哥华社区学院毕业证如何办理
一比一原版(TRU毕业证书)温哥华社区学院毕业证如何办理一比一原版(TRU毕业证书)温哥华社区学院毕业证如何办理
一比一原版(TRU毕业证书)温哥华社区学院毕业证如何办理
Fir
 
原版定制(Management毕业证书)新加坡管理大学毕业证原件一模一样
原版定制(Management毕业证书)新加坡管理大学毕业证原件一模一样原版定制(Management毕业证书)新加坡管理大学毕业证原件一模一样
原版定制(Management毕业证书)新加坡管理大学毕业证原件一模一样
asdafd
 
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
AS
 
一比一原版(Soton毕业证书)南安普顿大学毕业证原件一模一样
一比一原版(Soton毕业证书)南安普顿大学毕业证原件一模一样一比一原版(Soton毕业证书)南安普顿大学毕业证原件一模一样
一比一原版(Soton毕业证书)南安普顿大学毕业证原件一模一样
Fi
 
100^%)( POLOKWANE))(*((+27838792658))*))௹ )Abortion Pills for Sale in Sibasa,...
100^%)( POLOKWANE))(*((+27838792658))*))௹ )Abortion Pills for Sale in Sibasa,...100^%)( POLOKWANE))(*((+27838792658))*))௹ )Abortion Pills for Sale in Sibasa,...
100^%)( POLOKWANE))(*((+27838792658))*))௹ )Abortion Pills for Sale in Sibasa,...
musaddumba454
 
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
AS
 
原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样
AS
 

Último (20)

原版定制美国加州大学河滨分校毕业证原件一模一样
原版定制美国加州大学河滨分校毕业证原件一模一样原版定制美国加州大学河滨分校毕业证原件一模一样
原版定制美国加州大学河滨分校毕业证原件一模一样
 
一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理
 
Free on Wednesdays T Shirts Free on Wednesdays Sweatshirts
Free on Wednesdays T Shirts Free on Wednesdays SweatshirtsFree on Wednesdays T Shirts Free on Wednesdays Sweatshirts
Free on Wednesdays T Shirts Free on Wednesdays Sweatshirts
 
Thank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirtsThank You Luv I’ll Never Walk Alone Again T shirts
Thank You Luv I’ll Never Walk Alone Again T shirts
 
AI Generated 3D Models | AI 3D Model Generator
AI Generated 3D Models | AI 3D Model GeneratorAI Generated 3D Models | AI 3D Model Generator
AI Generated 3D Models | AI 3D Model Generator
 
Free scottie t shirts Free scottie t shirts
Free scottie t shirts Free scottie t shirtsFree scottie t shirts Free scottie t shirts
Free scottie t shirts Free scottie t shirts
 
原版定制(爱大毕业证书)英国爱丁堡大学毕业证原件一模一样
原版定制(爱大毕业证书)英国爱丁堡大学毕业证原件一模一样原版定制(爱大毕业证书)英国爱丁堡大学毕业证原件一模一样
原版定制(爱大毕业证书)英国爱丁堡大学毕业证原件一模一样
 
原版定制(PSU毕业证书)美国宾州州立大学毕业证原件一模一样
原版定制(PSU毕业证书)美国宾州州立大学毕业证原件一模一样原版定制(PSU毕业证书)美国宾州州立大学毕业证原件一模一样
原版定制(PSU毕业证书)美国宾州州立大学毕业证原件一模一样
 
一比一原版(毕业证书)新西兰怀特克利夫艺术设计学院毕业证原件一模一样
一比一原版(毕业证书)新西兰怀特克利夫艺术设计学院毕业证原件一模一样一比一原版(毕业证书)新西兰怀特克利夫艺术设计学院毕业证原件一模一样
一比一原版(毕业证书)新西兰怀特克利夫艺术设计学院毕业证原件一模一样
 
一比一原版(TRU毕业证书)温哥华社区学院毕业证如何办理
一比一原版(TRU毕业证书)温哥华社区学院毕业证如何办理一比一原版(TRU毕业证书)温哥华社区学院毕业证如何办理
一比一原版(TRU毕业证书)温哥华社区学院毕业证如何办理
 
The Rise of Subscription-Based Digital Services.pdf
The Rise of Subscription-Based Digital Services.pdfThe Rise of Subscription-Based Digital Services.pdf
The Rise of Subscription-Based Digital Services.pdf
 
原版定制(Management毕业证书)新加坡管理大学毕业证原件一模一样
原版定制(Management毕业证书)新加坡管理大学毕业证原件一模一样原版定制(Management毕业证书)新加坡管理大学毕业证原件一模一样
原版定制(Management毕业证书)新加坡管理大学毕业证原件一模一样
 
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
 
一比一原版(Soton毕业证书)南安普顿大学毕业证原件一模一样
一比一原版(Soton毕业证书)南安普顿大学毕业证原件一模一样一比一原版(Soton毕业证书)南安普顿大学毕业证原件一模一样
一比一原版(Soton毕业证书)南安普顿大学毕业证原件一模一样
 
100^%)( POLOKWANE))(*((+27838792658))*))௹ )Abortion Pills for Sale in Sibasa,...
100^%)( POLOKWANE))(*((+27838792658))*))௹ )Abortion Pills for Sale in Sibasa,...100^%)( POLOKWANE))(*((+27838792658))*))௹ )Abortion Pills for Sale in Sibasa,...
100^%)( POLOKWANE))(*((+27838792658))*))௹ )Abortion Pills for Sale in Sibasa,...
 
🍑👄Dehradun Esℂorts Serviℂe☎️9315791090🍑👄 ℂall Girl serviℂe in ☎️Dehradun ℂall...
🍑👄Dehradun Esℂorts Serviℂe☎️9315791090🍑👄 ℂall Girl serviℂe in ☎️Dehradun ℂall...🍑👄Dehradun Esℂorts Serviℂe☎️9315791090🍑👄 ℂall Girl serviℂe in ☎️Dehradun ℂall...
🍑👄Dehradun Esℂorts Serviℂe☎️9315791090🍑👄 ℂall Girl serviℂe in ☎️Dehradun ℂall...
 
iThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWebiThome_CYBERSEC2024_Drive_Into_the_DarkWeb
iThome_CYBERSEC2024_Drive_Into_the_DarkWeb
 
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
一比一原版(Polytechnic毕业证书)新加坡理工学院毕业证原件一模一样
 
原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样原版定制英国赫瑞瓦特大学毕业证原件一模一样
原版定制英国赫瑞瓦特大学毕业证原件一模一样
 
Statistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdfStatistical Analysis of DNS Latencies.pdf
Statistical Analysis of DNS Latencies.pdf
 

20240508 QFM014 Elixir Reading List April 2024.pdf

  • 1. Quantum Fax Machine QFM014: Elixir Reading List April 2024 quantumfaxmachine.com 1
  • 2. QFM014: Elixir Reading List April 2024 April's "Elixir Reading List" provides another dive into what's new in the world of Elixir programming, this month showcasing articles that focus on optimisation, best practices, and enhancing the user experience of Phoenix apps. Sparkline SVG is an Elixir library that simplifies visualising trends with customisable SVG-based sparkline charts. How to Generate a PDF on a Page Behind Auth in Elixir addresses the challenge of securely generating PDFs for authenticated pages, sharing clever solutions using ChromicPDF and WeasyPrint. For developers seeking best practices, Understanding Anti-Patterns in Elixir helps you avoid pitfalls in functional programming with Elixir, while Evaluating Phoenix Admin Frameworks offers a candid comparison of admin frameworks to guide you in selecting the best admin UI for your Phoenix apps. Lastly, Elixir Development Using Podman with VM in Parallels and Shared Folders illustrates how to efficiently set up an Elixir development environment optimised for macOS. This meticulous guide is particularly valuable for users who want to replace Docker with Podman, sharing expert-level insights on configuring Parallels and shared folders for streamlined workflows. This month's articles collectively emphasise the importance of practical solutions, productivity, and technical excellence and highlight Elixir’s strengths and flexibility for runtime performance and developer productivity. And much more! As always, the Quantum Fax Machine Propellor Hat Key will guide your browsing. Enjoy! Key: : Unrelated to Elixir, but interesting nonetheless : Mentions Elixir and related technologies : Talks about the Elixir ecosystem in real-world use cases : Talks about technical details of Elixir ecosystem components : Using and working with Elixir ecosystem technologies in software : Programming new Elixir technology concepts and implementations Source: Photo by Elena Mozhvilo on Unsplash 2
  • 3. Sparkline SVG: An Elixir Library for Generating SVG Sparkline Charts: The webpage provides detailed technical information and structural elements for a GitHub repository, specifically focusing on a project named 'Sparkline SVG'. This Elixir library is designed to generate simple, SVG- based sparkline charts without dependencies. Key sections highlight installation instructions, usage examples, and customisation options, making it easier for developers to integrate this tool into their projects. The library facilitates the creation of visually appealing charts to represent data trends compactly, with options to customise the appearance through CSS or inline options. #GitHub #Elixir #SVG #DataVisualization #SparklineCharts 3
  • 4. How to Generate a PDF on a Page Behind Auth in Elixir: This article describes generating PDF files for pages that are behind authentication, using Elixir. It discusses the challenge of securely creating PDFs from authenticated web pages and introduces solutions such as generating a user session token that can be recognised by PDF generators like ChromicPDF and WeasyPrint. The process involves creating a cookie corresponding to a logged-in user session and using it to access and render the required pages as PDFs, thereby overcoming the common hurdle of maintaining authentication during the PDF generation process. #Elixir #PDFGeneration #WebDevelopment #Authentication #Programming 4
  • 5. Understanding Anti-patterns in Elixir Programming: The document provides a comprehensive guide on anti-patterns in Elixir programming, detailing common coding mistakes known as "code smells." It aims to help developers identify and understand the pitfalls of these anti-patterns across four main categories: code-related, design-related, process- related, and meta-programming. The guide also includes examples, problems caused by these patterns, and solutions for refactoring. Furthermore, the initial catalog of anti-patterns was proposed by Lucas Vegi and Marco Tulio Valente, supported by additional security resources from the Erlang Ecosystem Foundation's Security Working Group. #Elixir #Programming #AntiPatterns #CodeSmells #SoftwareDevelopment 5
  • 6. How to handle file upload using Trix editor in a Phoenix application: This article by Jason Kaniekete provides an in-depth guide on integrating file uploads into Phoenix applications using the Trix editor. Starting with the basics of setting up Trix and configuring the Phoenix environment, the tutorial then dives into local file uploads to the server. It meticulously covers handling file uploads, including creating routes, setting up controllers, and writing client-side JavaScript for uploading files. Additionally, it explores external file storage options, using Backblaze B2 cloud storage as an example, to demonstrate how to configure an S3 adapter for file uploads. The guide is comprehensive and offers sample code to ease implementation. #Phoenix #TrixEditor #FileUpload #Elixir #WebDevelopment 6
  • 7. Implementing Natural Conversational Agents with Elixir: Sean Moriarity details his project to build an advanced conversational agent named Nero using Elixir. By integrating technologies like Nx, OpenAI APIs, and ElevenLabs, the post showcases the evolution from a simple home automation system to a more sophisticated conversational model. Efforts to reduce latency and enhance the conversational experience, including real-time speech-to-text processing and seamless integration with machine learning models, underline the technical depth of the project. His journey highlights the continuous improvement mindset, leveraging Elixir's capabilities for building responsive and interactive applications. #ConversationalAI #Elixir #MachineLearning #OpenAI #ElevenLabs 7
  • 8. AWS Clients for Elixir: Simplifying Cloud Service Integration: This article introduces AWS clients for Elixir, offering an easy way to access AWS services. The library, generated by aws-codegen, provides a clean API for most AWS services, configurable HTTP client and JSON parser. It simplifies tasks such as listing Amazon Kinesis streams, uploading files to S3 with integrity check, and handling multipart uploads. The documentation is updated from the official AWS docs, ensuring reliability and accessibility for developers. #AWS #Elixir #CloudComputing #Programming #APIs 8
  • 9. Fundamentals of Object Storage: The article discusses the evolution and fundamentals of Object Storage, delving into its history, practical applications, and the transition from traditional storage solutions to modern, scalable object storage systems. The writer, part of the Underjord team which specializes in Elixir consulting, shares insights gained from a livestream on the subject, supported by Tigris. He explains the basics of object storage, such as its key operations and its advantages over traditional file systems, including scalability and reliability. Additionally, the article covers working with object storage using Elixir, demonstrating operations like listing, putting, and getting objects, as well as advanced features like presigned URLs and multipart uploads. #ObjectStorage #Elixir #TechInnovation #CloudStorage #DataManagement 9
  • 10. Segregate Responsibilities with Elixir Commanded: The article demonstrates how Elixir's Commanded library enhances application development with CQRS and Event Sourcing. It emphasizes the benefits of audit tracing, time travel, and event- driven architecture. Additionally, it covers practical implementation aspects like event store setup, command and event management, aggregate design, and projections for efficient data querying. #Elixir #CQRS #EventSourcing #SoftwareDevelopment #Tech 10
  • 11. Ash 3.0 Release Candidate: The Ash Framework 3.0 introduces a suite of updates, including revamped code organisation, API restructuring, and enhanced developer tools, offering a streamlined and efficient experience for developers. See the full announcement here. #AshFramework #Elixir #OpenSource #Programming #TechUpdate 11
  • 12. Audio Speech Recognition in Elixir with Whisper Bumblebee: This article introduces Whisper, an advanced audio-speech recognition model from OpenAI, capable of transcribing audio in multiple languages with state-of-the-art accuracy. Whisper's strengths in handling diverse accents, jargon across specialities, and ambient noise are highlighted, emphasising its robust performance due to extensive training on a large and varied dataset. Moreover, the article explains how developers can use Whisper in Elixir applications via the Bumblebee library, offering possibilities for integrating audio-speech recognition in various projects with examples of potential applications. #Whisper #OpenAI #Elixir #AudioSpeechRecognition #Bumblebee 12
  • 13. LiveView Playground: Discover how to quickly launch your own LiveView project with minimal setup using LiveView Playground. This guide offers straightforward instructions on setting up a basic LiveView environment, version 0.1.1, allowing for a personalised "Hello World" experience on a local server. Ideal for beginners looking to explore real-time web applications with Elixir's rich programming capabilities. #LiveViewPlayground #Elixir #WebDevelopment #RealTimeWeb #Programming 13
  • 14. 2 Helpers to Keep Your Pipelines Flowing: This article showcases practical Elixir programming tips for maintaining efficient code pipelines. It introduces two helpful techniques, "then" and "tap", aimed at managing and debugging Elixir pipelines without halting their flow. These methods offer streamlined solutions for inspecting and modifying pipeline data, demonstrating their utility in coding practices where maintaining the continuity of data flow is crucial. #Elixir #Programming #CodeEfficiency #TechTips #SoftwareDevelopment 14
  • 15. Match Operator Guards: This article discusses an experiment aimed at introducing guard clauses to Elixir's match operator, which traditionally does not support them. Brett Beatty details his approach to extending Elixir's pattern matching capabilities by creating a macro to handle guards in match expressions. His exploration includes dealing with compiler errors, manipulating quoted expressions, and ensuring code clarity in guard implementation. The experiment's goal is to make match failures occur when guards are not satisfied without fundamentally changing match operator's behaviour. The article outlines the challenges, solutions, and considerations for creating a more flexible and expressive matching mechanism in Elixir. #Elixir #PatternMatching #MacroProgramming #GuardClauses #ProgrammingLanguages 15
  • 16. Constraint Programming Solver: This is an Elixir implementation of the ideas described in Chapter 12, "Concepts, Techniques, and Models of Computer Programming" by Peter Van Roy and Seif Haridi. #Elixir #Programming #FunctionalProgramming #ComputerScience #OpenSource 16
  • 17. QuillJS: This is not exclusively an Elixir library, but for times when you need to offer rich text editing in your app, QuillJS provides a great option. See also: ProseMirror, which does something similar. #QuillJS #TextEditor #ProseMirror #WebDevelopment #JavaScript 17
  • 18. Engineering Elixir Applications: This book from The Pragmatic Bookshelf introduces a new paradigm called BEAMOps. This paradigm guides engineers through building, testing, deploying, and debugging BEAM applications with operational orchestrators like Docker Swarm, emphasising continuous improvement and scalability. The book is due by September 2024, and emphasises the importance of owning each stage of the software delivery process for developers. #PragmaticProgrammers #EngineeringElixir #BEAMOps #SoftwareDevelopment #TechBooks 18
  • 19. Distributed and Parallel Image Processing on Livebook by Ryo Wakabayashi: Presented at ElixirConf EU 2023, this talk on Distributed and Parallel Image Processing with Livebook dives deep into the intricacies of managing image data with Elixir. A perfect blend of technical depth and practical applications, this session showcases the power of Elixir in handling complex, data-intensive operations while leveraging the convenience of Livebook for collaborative and interactive programming. #ElixirConfEU #Elixir #Livebook #ParallelProcessing #ImageProcessing 19
  • 20. Elixir Macros Demystified, part 1: The article demystifies Elixir macros, offering a clear explanation of their purpose and structure while guiding developers through creating their own custom macros in a beginner-friendly manner. See also: part 2. #Elixir #Macros #FunctionalProgramming #WebDevelopment #PhoenixFramework 20
  • 21. Dify: The Open-Source LLM App Development Platform: Dify is an open-source application development platform specializing in large language models (LLMs). It allows users to swiftly progress from prototypes to production-ready apps through an intuitive interface that integrates AI workflow, RAG pipeline, agent capabilities, model management, and observability features. Key elements include comprehensive model support from various providers, prompt IDE for crafting and comparing model performance, extensive RAG capabilities for document ingestion and retrieval, and backend-as-a-service for easy integration into business logic. #Dify #OpenSource #LLM #AIWorkflow #AppDevelopment 21
  • 22. Evaluating Phoenix Admin Frameworks: Erik Näslund discusses his journey in evaluating different admin frameworks for Phoenix, primarily focusing on the ease of integration, functionality, and compatibility with modern web technologies. He narrows down his preferences to either using Kaffy for its relative ease of use and configurability or building a custom solution from scratch for greater control. His insights offer a candid look into the trade-offs and decision-making process involved in selecting the right admin framework for web applications. #Elixir #PhoenixFramework #WebDevelopment #AdminUI #OpenSource 22
  • 23. Elixir Development Using Podman with VM in Parallels and Shared Folders: This article outlines a complete guide for setting up an Elixir development environment using Podman in place of Docker, optimized for macOS users. The author walks through the intricate process of using a VM in Parallels for better performance over the default setup and shares detailed steps for integrating shared folders, configuring SSH, and setting up a robust development environment with Elixir including handling static files and setting up Posgres as a development database. Special attention is given to the setup's potential technical snags and their solutions, making it a comprehensive resource for developers looking to optimize their Elixir development workflow with Podman and Parallels on macOS. #Elixir #Podman #DevelopmentEnvironment #Parallels #macOS 23
  • 24. Thankyou! hello@matthewsinclair.com matthewsinclair.com masto.ai/@matthewsinclair medium.com/@matthewsinclair twitter.com/@matthewsinclair Originally published on quantumfaxmachine.com If you’d like to sign up for this content as an email, click here to join the mailing list. Image: Photo by Austin Chan on Unsplash 24