Best of ElixirJuly 2024

  1. 1
    Article
    Avatar of elixirstatusElixirStatus·2y

    Learning Elixir as a frontend developer

    A frontend developer shares their journey of learning Elixir and Phoenix to expand their backend skills. The post highlights the initial learning curve, challenges encountered, and the satisfaction gained from mastering new concepts. It discusses both the strengths and weaknesses of Elixir, along with the overall positive experience, while emphasizing the importance of stepping out of one's comfort zone to grow professionally.

  2. 2
    Article
    Avatar of erikarowErika Rowland·2y

    Using use in Gleam

    Gleam's `use` expression simplifies handling callback functions, error management, and context management. Introduced in version 0.25, `use` replaces the need for extensive nested callbacks, making code more readable, especially when dealing with functions like `result.map` and `result.try` for error handling. It serves as syntactic sugar for creating cleaner and more maintainable code, similar to Rust's `?` operator.

  3. 3
    Article
    Avatar of awelixAwesome Elixir·2y

    Building a WoW server in Elixir

    Thistle Tea is a World of Warcraft private server project built in Elixir. The author shares details on implementing authentication, character creation, game server development, and synchronizing player actions. The project explores MMO server functionality using MaNGOS data, Elixir's actor model, and various Elixir tools. Future plans include adding PvP, quests, mob AI, and further optimizing the server.

  4. 4
    Article
    Avatar of curiosumCuriosum·2y

    Multi-Tenancy: A Strategic Guide for Optimal Application Management

    Multi-tenancy allows a single instance of a software application to serve multiple customers (tenants) while keeping their data and configurations isolated. This approach is beneficial for SaaS providers, government institutions, CRM systems, and more. The post explores different types of multi-tenancy setups and provides detailed steps and examples on implementing multi-tenancy in Elixir using schema prefixes, foreign keys, and the Triplex library.

  5. 5
    Article
    Avatar of awelixAwesome Elixir·2y

    Data Visualization for Machine Learning in Elixir

    Explores the techniques for data visualization in machine learning using Elixir, utilizing libraries such as VegaLite and Axon. It includes methods for setting up dependencies, creating scatter plots, facetted scatter plots, and multiple scatter plots with the Iris dataset. Additionally, it demonstrates how to track and plot training metrics like loss and accuracy, both post-training and in real-time. The post concludes with a look into Axon's native plotting capabilities and hints at further exploration in Elixir's ML ecosystem.

  6. 6
    Article
    Avatar of awelixAwesome Elixir·2y

    How to build a GitHub-style Markdown Editor

    Discover how to build a GitHub-style Markdown Editor using a combination of textarea and markdown-toolbar elements along with GitHub’s paste-markdown library. Learn about setting up the editor, adding Markdown preview functionality, and converting Markdown to HTML with syntax highlighting. The post also covers security considerations when rendering user-generated content.

  7. 7
    Article
    Avatar of communityCommunity Picks·2y

    Building an Elixir Rate Limiter with ExRated, ExUnit, and Doctests via TDD

    Learn to build a rate limiter in Elixir using ExRated, ExUnit, and doctests in a step-by-step guide. The tutorial covers the setup of ExRated for bucket-based rate limiting, using TDD for development, and implementing unit tests along with logging. Highlights include the use of `@doc` blocks for documentation-driven tests and exploring the limitations of doctests. It emphasizes the importance of real unit tests for comprehensive testing, and covers additional enhancements like function typespecs and input guards.

  8. 8
    Article
    Avatar of dockyardDockYard·2y

    Web Crawling with Hop, Mighty, and Instructor

    Web scraping, or web crawling, involves automated browsing to extract information from websites. This guide demonstrates how to use the Hop library in Elixir to build a basic SEO bot for extracting readable content and performing keyword analysis using the Mighty library. The post also discusses the ethical considerations of web scraping, including respecting robots.txt, rate limiting, and respecting terms of service. Advanced techniques such as combining traditional web crawlers with large language models to enhance data extraction applications are also explored.

  9. 9
    Article
    Avatar of elixirstatusElixirStatus·2y

    AI powered app (with open-source LLMs like Llama) with Elixir, Phoenix, LiveView, and TogetherAI

    Learn how to build an AI-powered application using Elixir, Phoenix, LiveView, and API calls to TogetherAI. The process involves creating two Elixir processes: one for LiveView to handle user prompts and another to manage HTTP streams from TogetherAI. The tutorial covers setting up a new Phoenix project, implementing LiveView interaction, making HTTP requests, handling streaming responses, and updating the LiveView with received data chunks.

  10. 10
    Article
    Avatar of appsignalAppSignal·2y

    Enhancing Your Elixir Codebase with Gleam

    Enhance your Elixir codebase with the type safety of Gleam, a statically typed language for the BEAM platform. By integrating Gleam with your Elixir projects, you can ensure robust and reliable business logic while maintaining the dynamic flexibility of Elixir. This post provides a detailed guide to setting up a Phoenix project, integrating Gleam, writing and testing business logic, and managing features like waitlists for student enrollment in a university application.

  11. 11
    Article
    Avatar of elixirstatusElixirStatus·2y

    Leading Companies Using Elixir: 7 Use Cases

    The post highlights seven well-established companies utilizing Elixir to build highly available and scalable applications. Notable use cases include Discord, leveraging Elixir for its real-time system handling millions of events, and Spotify, optimizing high-traffic systems with Phoenix LiveView. Other examples include Toyota Connected using Elixir for vehicle data analytics, Pinterest reducing server costs, and PepsiCo enhancing marketing intelligence with Elixir apps. Additionally, Square Enix and Sketch use Elixir to handle high concurrency and real-time collaboration, respectively.

  12. 12
    Article
    Avatar of elixirstatusElixirStatus·2y

    Introduction to Elixir: Key Reasons to Choose This Dynamic Language

    Elixir is a high-level, general-purpose programming language built on the Erlang VM (BEAM), designed for concurrency, fault tolerance, and developer productivity. Created by José Valim, it combines Erlang's robustness with Ruby's syntax to improve developer satisfaction. Key features include metaprogramming, efficient resource usage, and strong concurrency models, making it ideal for backend systems, real-time apps, machine learning, and more. While it has a steep learning curve and a smaller ecosystem, Elixir excels in scalability and fault tolerance, potentially offering significant benefits for complex projects.

  13. 13
    Article
    Avatar of elixirstatusElixirStatus·2y

    Drag-and-Drop with Phoenix LiveView

    This post discusses updating an application to enable the drag-and-drop feature for rearranging widgets between 'Sellable' and 'Not sellable' categories using Phoenix LiveView. It aims to enhance both the shop and admin pages by allowing dynamic management of widget categories.