The Ultimate Enum Cheatsheet
Finding the right Enum
function can be hard for newcomers and even for more experienced Elixir devs. Maybe this new ExDoc cheatsheet can help with this?
ThinkingElixir 131: Start Securing Elixir and Phoenix
Episode 131 of Thinking Elixir. Securing our apps is our responsibility as developers. We are the custodians and the guardians of our user’s data. We met up again with Michael Lubas to discuss some lesser known community security resources and helpful tips to get us started with securing our Elixir and Phoenix applications!
Elixir/Phoenix Security: How attackers bypass IP based rate limiting
With the rise of cloud computing, attackers now have access to a large pool of IPs at low cost. Learn how attackers are bypassing IP based rate limiting, and how Paraxial.io blocks this technique.
ThinkingElixir 130: Bumblebee Buzz with José Valim
Episode 130 of Thinking Elixir. The Elixir community is buzzing with excitement around Bumblebee! Bumblebee makes it easy to use a variety of pre-trained neural network models in Elixir. José Valim, Paulo Valente, and Jonatan Kłosko join us to talk about this latest advancement. We learn how Bumblebee works, the abilities that are supported today, where things are going next and the longer term visions of what’s possible. We cover the new Livebook smart cells that create an easy playground for playing with Bumblebee, a single-file Phoenix example that does image classification, and much more!
Restrict Ecto Queries and prevent PII Leaks
This is part 2 of the “Build a Roles and Permissions system for Phoenix” series. Learn how to restrict all queries and prevent many PII leaks.
IntelliJ Elixir v14.0.0
Changelog
v14.0.0
Incompatible Changes
-
#2946 - @KronicDeth
- Drop support for IDEs < 2022.3.
Enhancements
Bug Fixes
-
#2911 - @KronicDeth
- Don’t update hex or fetch dependencies if SDK not selected when creating project.
[IOData, CharData, ANSIData] - The Best DataTypes For Printing Things To The Screen
A introduction to IOData, Chardata, & ANSIData and how useful these datatypes can be in elixir land.
https://github.com/TheCraftedGem/thecraftedgem.github.io/blob/master/IOData/IOData.md
Generate a SAS Token for Azure Event Hub in Elixir
A very small blog post showing how to generate a SAS Token in Elixir! (every example I found were outdated!)
https://jeanarjean.com/blog/2022-12-15-generate-sas-token-azure/
TIL: 3 different ways to build a list with conditional elements in Elixir (and what that has to do with application startup)
I wrote a blog post about 3 different ways to build a list with conditional elements in Elixir (and what that has to do with application startup). https://www.zweitag.de/blog/3-different-ways-conditional-lists/
ThinkingElixir 129: Time series data with Timescale DB
Episode 129 of Thinking Elixir. Tracking, analyzing and visualizing time series data can add a lot of business value to a project! We met up with Dave Lucia to learn more about Timescale DB, a PostgreSQL extension that adds time series tools to our regular database. Dave also created a timescale hex package to make it easier to work with hypertables and hyperfunctions. We learn why Timescale DB makes sense over other options, how to get started with it, example use cases, helpful resources and more!
How to Cache Locally in Elixir with Nebulex
In this post, you’ll learn how to use the Nebulex caching toolkit to:
- cache locally in your Elixir applications
- get familiar with different supported caching solutions/strategies
- see how Nebulex can be a good fit for caching
https://blog.appsignal.com/2022/12/13/how-to-cache-locally-in-elixir-with-nebulex.html
Persistent Forms With Your URL on LiveView
Wrote a quick recipe (3min read) about how to sync LiveView forms and your URL. It was really easy because the heavy lifting is done by built-in LiveView functions! https://fly.io/phoenix-files/persistent-forms-with-your-url-on-liveview/
Use Neutral Networks in Livebook 0.8
I wrote a quick walkthrough of how to set up and use the new Neural Networks smart cell in Livebook 0.8. Play with models like StableDiffusion and GPT2 right on your computer using Elixir! https://www.peterullrich.com/use-neural-networks-in-livebook
Announcing Bumblebee: GPT2, Stable Diffusion, and more in Elixir
José Valim announces Bumblebee: GPT2, Stable Diffusion, and more in Elixir
Learn how to run machine learning models in Livebook with 3 clicks.
Learn how to embed a Machine Learning model into a Phoenix app.
https://news.livebook.dev/announcing-bumblebee-gpt2-stable-diffusion-and-more-in-elixir-3Op73O
Phoenix LiveView Crash Course
Get started with Phoenix LiveView in this crash course. We will show you how to build features in a Phoenix LiveView full stack application by breaking down a real app. We cover: how to interface with HTTP requests in Elixir, LiveView routing, HTML mounts, Websocket mounts, Event Handling, and so much more.
nimble_template 4.5.0 Released
Kick off a new project faster with the template. Here are some major updates version 4.5.0:
- Adding Github Wiki Workflow
- Improve the project struct
- And fixed some minor issues. More details at: https://github.com/nimblehq/elixir-templates/releases/tag/4.5.0 Give it a try! ^^ Your feedback is welcome.
Advent of Code days 6 and 7 with some binary pattern matching fun
Review of day 6 solution and live coding of day 7 solution. https://www.youtube.com/watch?v=OQullJb-DZ4
TIL: Only one server will run your migrations
Ecto uses SHARE UPDATE EXCLUSIVE lock to ensure that only one instance is running a migration at a time and only once. Internally stored version and inserted at allows you to modify and improve created files.
More on: https://bartoszgorka.com/ecto-migration-executed-once
ThinkingElixir 128: Speedy like a Bandit
Episode 128 of Thinking Elixir. The Phoenix 1.7 announcement blog post mentioned the ability to swap out Cowboy for another webserver like Bandit. We talked with Mat Trudel to learn more about his pure-Elixir webserver and find out how it works with Phoenix. We learn Bandit can be up to 5x faster by narrowly focusing on turning a request into a Plug connection and much more!