QFM002: Elixir Reading List January 2024

Welcome to the first QFM post for 2024! This post is a link list covering everything I found interesting about the Elixir ecosystem during January.

Tags: qfm, elixir, reading, list, january, 2024

qfm002_elixir_reading_list_202402_dalle.png Source: DALL-E

Welcome to the second QFM post for 2024! This post is a link list covering everything I found interesting about the Elixir programming ecosystem during January.

Each link has a short summary to give an overview of the post, plus some hashtags for organisation. Both the summary and the hashtags are courtesy of GPT, but the filtering of what made the list is all mine.

I have also provided a handy key using propellor hats, which I hope will further help you determine which articles are worth your time.


Let me know if you like the format or if you can think of any changes that would make the list more useful.

Explorer 0.8: The dtype release: ![5-out-of-5-hats(/images/blog//5-out-of-5-hats.png) This article introduces Explorer 0.8.0, focusing on data types (dtypes) enhancements in the Elixir dataframe library, including precision for numerical types, support for lists and structs, and the introduction of macros for series operations, significantly improving data handling and analysis in Elixir. #ElixirDataframes #ExplorerLibrary #DataScience #DataTypeEnhancements #ElixirProgramming

Adding Magic Links to phx.gen.auth: a comprehensive guide: ![3-out-of-5-hats(/images/blog//3-out-of-5-hats.png) This article provides a comprehensive guide on implementing magic link authentication in Phoenix, focusing on eliminating password handling and combining login and registration into one system. It includes code examples, assumptions for use, and considerations for multi-device login scenarios. #MagicLinkAuthentication #PhoenixFramework #CodeGuide #NoPassword #TechInnovation

Do not run mix test || mix test --failed: ![3-out-of-5-hats(/images/blog//3-out-of-5-hats.png) This article advises against using the code mix test || mix test --failed in continuous integration (CI) for Elixir projects, as it might incorrectly pass when _test.exs files don’t compile during the first test run. It suggests a safer alternative involving checking the exit codes of mix test to distinguish between compilation and test failures. #ElixirTesting #ContinuousIntegration #CodingBestPractices #MixTest #SoftwareDevelopment

How Discord Serves 15-Million Users on One Server: ![4-out-of-5-hats(/images/blog//4-out-of-5-hats.png) This article explains Discord’s innovative approach to scaling its infrastructure. It details how the company overcame technical challenges to support a rapidly growing user base on a single server, particularly focusing on optimisations in Elixir and BEAM, passive session management, and efficient distribution of workload. #DiscordScaling #ElixirProgramming #BEAMvm #TechInnovation #HighConcurrency

Learn Elixir - Beginner to Advanced: ![2-out-of-5-hats(/images/blog//2-out-of-5-hats.png) Learn Elixir is a self-paced structured learning environment designed to teach you the best practices of production-level quality Elixir code. It provides a comprehensive and structured approach to mastering a variety of Elixir topics, from introductory concepts to advanced techniques like REST, GraphQL with Phoenix, OTP, and Elixir architecture. The course is designed for various learning levels and includes quizzes, assignments, and projects to ensure a deep understanding and practical application of Elixir in real-world scenarios. #LearnElixir #FunctionalProgramming #ElixirProgramming #PhoenixFramework #CodingSkills

Holiday side project 2023: Turtles: ![4-out-of-5-hats(/images/blog//4-out-of-5-hats.png) This article describes the author’s personal project to control home lighting systems using Elixir. After a house renovation, the author developed ‘Turtles’ to integrate Shelly dimmers and Philips Hue lights, offering a user-friendly interface for controlling lights and creating scenes. The project, designed for the interested DIYer, emphasises simplicity in setup and customisation and is aimed at those with some programming knowledge. #HomeAutomation #ElixirProject #SmartLighting #DIYTech #ProgrammingHobby

Wired up! - Using ecto without schemas* by Benjamin Milde | ElixirConf EU 2023: ![4-out-of-5-hats(/images/blog//4-out-of-5-hats.png) This presentation delves into the advanced use of Ecto in Elixir programming, specifically focusing on leveraging Ecto without schemas. This approach offers flexibility in database interactions and enhances coding efficiency, which can be particularly beneficial in certain Elixir projects. #ElixirConfEU2023 #EctoNoSchema #ElixirProgramming #DatabaseFlexibility #CodingEfficiency

LiveView’s Lifecycle Hooks: ![4-out-of-5-hats(/images/blog//4-out-of-5-hats.png) The article on Elixir Streams discusses the utilisation of LiveView’s attach_hook/4 helper in Elixir, which allows developers to handle actions across multiple LiveViews without duplicating code. It explains how this feature taps into various lifecycle stages like handle_event, handle_params, handle_info, and after_render, emphasising its usefulness in the context of LiveView’s unique security model. #ElixirLiveView #ProgrammingTips #LifecycleHooks #CodeEfficiency #WebDevelopment

Sean Moriarty - The Future of Large Language Models is Elixir: ![3-out-of-5-hats(/images/blog//3-out-of-5-hats.png) This video presented at the EMPEX Conference explores the synergies between Elixir, a programming language known for handling concurrent processes, and the future development of large language models (LLMs). Moriarty discusses how Elixir’s capabilities can effectively manage the complex and resource-intensive demands of LLMs, highlighting the potential for more efficient and scalable AI systems. #ElixirProgramming #LargeLanguageModels #FutureOfAI #EMPEXConference #TechInnovation

GitHub: thmsmir / instructor_ex: ![3-out-of-5-hats(/images/blog//3-out-of-5-hats.png) This repo presents a library that facilitates structured prompting with large language models (LLMs) in Elixir, allowing the output to be structured as valid JSON directly mapping to a provided Ecto schema. This library, designed for use with the OpenAI API, enhances AI’s usability by enabling structured, schema-based outputs instead of plain text, thus integrating AI more seamlessly with traditional software applications. #AIIntegration #ElixirLLM #StructuredPrompting #OpenAISoftware #TechInnovation

Originally published by M@ on Medium.

Stay up to date

Get notified when I publish something new.