Adopting Elixir at FindHotel
Elixir is the “new kid on the block” in Findhotel’s tech stack. I explain why we decided to use Elixir at FindHotel and how we approached its adoption.
https://blog.findhotel.net/2019/11/adopting-elixir-at-findhotel
Intro to Phoenix LiveView for web developers who don't know Elixir
Should it be a Multi Page App or a Single Page App?
Multi Page Apps are relatively simple, but you’re limited in what you can achieve.
Single Page Apps allow you to build a much richer UX, but you pay for it in terms of increased complexity and lower productivity.
It would be nice if there was an option that allowed you to build a rich UX, without all the complexity associated with Single Page Apps, right?
Well, that’s exactly what Phoenix LiveView offers.
Want to learn more about Phoenix LiveView?
Checkout my new screencast which provides an introduction to LiveView for web developers who don’t know Elixir. (If you do know Elixir, I think you’ll still find this video helpful)
Elixir Trickery: Using Macros & Metaprogramming Without Superpowers
Metaprogramming sounds scary, but in Elixir you don’t need supernatural powers to use it to great success. Read Michał’s article at Curiosum.dev to learn about how macros work & see some useful macro writing techniques.
Using Dataloder.KV to call APIs lazily
A short post on getting started with Dataloader.KV - example code included.
Oban Recipes Part 7: Splitting Queues
The seventh Oban recipe outlines a technique for running a distinct subset of queues on each node in a cluster.
ElixirMix Podcast 076: MUD Development and Grapevine
In this episode of ElixirMix, we catch up with Eric Oestrich about his project Grapevine and his live coding online. Grapevine is open source and a great resource for people to look at. We cover the different OTP concepts employed, how it is architected, deployed, what people can learn from it, and much more!
IntelliJ Elixir v11.3.0
Enhancements
- Show Parameter Info (⌘+P/Ctrl+P)
Bug Fixes
-
Fix must specify non-empty ‘commandLine’ parameter
-
GeneralCommandLine‘s escaping for Windows can’t handle the parentheses in a way that both works for the Windows shell and Elixir running the code the shell hands off. Removing the parentheses leaves runnable code even if it is no longer formatted.Fixes “Unknown Version” naming for Elixir SDKs and the “Probably SDK installed in … is corrupt” dialog from appearing.
Interceptor v0.5.3 🚀 Intercept all Foo functions with Foo.*/* config
With the new Interceptor v0.5.3 version, you can now intercept all your module functions with a single configuration entry using wildcards: intercept “Foo.*/*”, on_success: “Callbacks.happy/3”.
This should significantly simplify your interception configurations 🔧!
The Changeset API Pattern
The focus is on enhancing data integrity in your application by adding explicitness between your API and your schema changesets. Check it out: https://pedroassumpcao.ghost.io/the-changeset-api-pattern/
Elixir in VS Code - Extensions and recommendations
Writing Elixir code in the VS Code editor? Checkout my recommended extensions, how to use them and other extensions that help improve your experience.
Ecto & Multi-tenancy - Dynamic Repos in depth
So I’ve been working on the second part of my dive into Ecto multi-tenancy using Dynamic Repos. It’s up now :)
Elixir For Node.js Developers – Your Handbook To Success
I’ve spent recent years coding with Node.js. At some point, I realised there are so many other technologies to discover. I considered several options reviewing blogs, forums and surveys. I knew that I needed a language that would correspond to my skills and experience. I decided to explore the world of functional programming. It was like a promise of better performance and productivity. I then asked myself - “Why not try Elixir”?
Let me tell you my story based on true events.
https://selleo.com/blog/elixir-for-nodejs-developers-your-handbook-to-success
Phoenix integration guide for passwordless authentication with Kno
Kno is a service for passwordless authentication that is simple for users and developers. This guide walks through integrating Kno with Phoenix sessions.
How to setup Phoenix LiveView
First part of a series of episodes for who wants to explore Phoenix LiveView and understand how it works behind the scenes.
Modern Talking with Elixir: Build a Messenger App with Phoenix LiveView
Phoenix LiveView is awesome for building reactive UIs without JavaScript. Michal’s article at Curiosum.dev explains why, and commences a tutorial series on using it to build a Messenger-like app.
Building real time search with Phoenix LiveView
Post about how easily you can implement real time search using LiveView:
https://medium.com/@Mike_Andr/building-real-time-search-with-phoenix-liveview-8b7c5f2374e5
ElixirMix Podcast 075: Game of Go in LiveView With Jeff Kreeftmeijer
In this episode of ElixirMix, we talk with Jeff Kreeftmeijer about implementing the game Go in LiveView. He shared his journey in blog posts. We cover DynamicSupervisors, PubSub, managing game state, how immutable data enabled features, and much more!
Ecto Preloads in Phoenix Contexts
Some thoughts about preloading, to make Contexts a little easier to maintain.
https://medium.com/@damonvjanis/ecto-preloads-in-phoenix-contexts-167d11e5405e
