Tips for Improving Your Elixir Configuration
Elixir Configuration be a bit tricky to get right, here’s some tips on how to write maintainable configuration and some configuration pitfalls to avoid.
Surprising anonymous functions usage you don’t know
3 tricks of anonymous Elixir functions: https://k.lelonek.me/anonymous-elixir-functions
Taking Hashrocket's "Ultimate Elixir CI" to the Next Level
Writeup of a sample project for a comprehensive Elixir continuous integration setup. Improves on the standard Elixir CI by:
- Deploying a staging environment for every PR
- Running in parallel for faster feedback
- Refactoring out boilerplate
- Guarding against incremental build errors
- Reporting code coverage
- Adding more static analysis
- Including Dependabot
https://felt.com/blog/hashrocket-ultimate-elixir-to-the-next-level
How to grasp the business logic with unique_index
How do I ensure a unique index when only a user tries to get more than one ticket for a paid conference? And be more flexible in accepting such users get more than one ticket for a free conference? Take a look here: https://til.simplebet.io/posts/g9spnqajlu-how-to-grasp-the-business-logic-with-uniqueindex
[Elixir Wizards S8E1] Miguel Cobá on Deploying in Elixir and Other Languages
🎉Season 8 of Elixir Wizards premieres today! Check out Episode 1 of Elixir in a Polyglot Environment with special guest Miguel Cobá: https://smartlogic.io/podcast/elixir-wizards/s8e1-coba/
Hacky Hot Code Reloading
Did you know we can get our code into production as simply as copy and pasting our module into our server? In this article we explore how this works, and some of the potential dangers that this causes
Subdomain based SaaS with Phoenix - Part 1
I documented some of the technical changes that were required to support subdomain based organizations.
How to Create Neural Network in Elixir Using Nx and Axon
Neural networks mirror the behaviour of the human brain, enabling computer programmes to recognise patterns and solve common problems in the fields of artificial intelligence, machine learning and deep learning.
Nowadays neural networks are used frequently for various tasks such as text translation, face identification, recognising speech or handwritten text, control robots and autonomous vehicles, image recognition, image classification and many more.
If neural networks are becoming so popular it would be good to create them in an easy way and the Axon library which is built on top of Nx allow to do that in Elixir.
https://curiosum.com/blog/how-create-neural-network-elixir-nx-axon
ThinkingElixir 094: Benchee and OpenSource with Tobias Pfeiffer
In episode 94 of Thinking Elixir, we talk with Tobias Pfeiffer about his popular performance benchmarking tool Benchee. We learn about why he created it, what’s special about it, and the big features in the latest release. It was 2 years between this release and the previous one. Tobi talks openly about the technical challenges that compounded with personal challenges, feelings of obligation, anxiety, and the drive for perfection. As developers, many of us struggle with these same issues and it helps just hearing that we’re not alone.
How EEx Turns Your Template Into HTML
https://www.mitchellhanberg.com/how-eex-turns-your-template-into-html/ This was an attempt to better understand what José suggested to me here: https://t.co/wUAJljbm0f
Deploying Elixir: Advanced Topics
My new Elixir book will be release on May 3rd, 2022.
“Deploying Elixir: Advanced Topics”
I’ll cover AWS, Azure, GCP, clustering and Kubernetes.
Get it on PRESALE here 👇🏼
https://blog.miguelcoba.com/presale-deploying-elixir-advanced-topics
[Blog] Local development with LocalStack and Elixir Broadway
In this blog post, I write about how to create a simple Broadway app that can read and write messages using the SQS LocalStack service. https://hidnasio.github.io/elixir/2022/04/02/local-development-with-localstack-and-elixir-broadway.html
Elixir GenServer name registration
Here I want to describe what I discovered regarding GenServer and their name registration across the BEAM.
I’ll touch on Process.register/2 and GenServer.start_link/3.
https://cri.dev/posts/2022-04-08-Elixir-GenServer-name-registration/
[Blog] Converting Phoenix Views to LiveViews
Converting Phoenix Views to LiveViews? Stone Filipczak has a clear, simple process to get you started. https://smartlogic.io/blog/converting-phoenix-views-to-liveviews
ExUnit best practices
An opinionated style guide for using Elixir testing library: https://k.lelonek.me/exunit-best-practices
Elixir runtime configuration trap
Elixir 1.9 introduced mix release, which has standardised runtime configuration. So all the problems with runtime configuration should go away? Not exactly.
https://michaldolata.appunite.com/post/elixir-runtime-configuration-trap
Ecto.DevLogger - an alternative logger for development
It inlines bindings into the query, so it is easy to copy-paste logged SQL and run it in any IDE for debugging without manual transformation of common elixir terms to string representation (binary UUID, DateTime, Decimal, json, etc). Also, it highlights db time to make slow queries noticeable. Source table and inlined bindings are highlighted as well.
Links:
Elixir em Foco: Past, Present, and Future about Surface with Marlus Saraiva
Elixir em Foco interviewing Marlus Saraiva(Surface creator), and this episode it’s launched at a great moment after the TheBigElixir where we had great talks about Surface by Marlus Saraiva and Dave Lucia. You can be listed here https://youtu.be/9F_-E602w3M
Keeping Up with the Fans: Scaling for Big Events at Whatnot
This blog post details how the engineering team at Whatnot measured the capacity limits of the Elixir/Phoenix system powering Whatnot Live auctions, and the tricks we used to make sure it handles an unusual spike in traffic.
ThinkingElixir 093: Preventing Service Abuse with Michael Lubas
In episode 93 of Thinking Elixir, we talk with Michael Lubas about protecting our @ElixirPhoenix applications from common automated bot attacks. We cover API abuse to send email spam, carding attacks, credential stuffing and more!
