Qqwy

Qqwy

TypeCheck Core Team

Update:

How to use the Blogs & Podcasts section

You can post links to your blog posts or podcasts either in one of the Official Blog Posts threads (like this one) or the Elixir Podcasts thread, or, if yo want a dedicated thread for each blog/podcast, via Devtalk.com. If you post via Devtalk we will automatically cross-post your blog post here in this section for each blog post or podcast (so one thread for each) so long as you have an account with the same username and primary email address on both forums. We also remove the rel-nofollow attribute when your link appears on our homepage on Devtalk, so great for your SEO! :wink:

If posting via Devtalk be sure to:

  • Ensure your account on Devtalk.com has the same username and primary email as your account here
  • Initiate thread creation in one of the Blog Posts/Podcasts sections (for Elixir/Phoenix that may be in the Back End category, or for LiveView it could be the Front End category).
  • Make sure the last link in your post is to your blog post as this is the link that will get featured on Devtalk (You can however override this by pasting the URL of your blog post or podcast in the TITLE field, however you will need to be at Trust Level 1 to do that.)
  • Include a short summary of your blog post or podcast then post the link on a separate line (here’s an example)
  • Include the Elixir and blog-post (or podcast) tags (as well as Phoenix, Nerves, LiveView etc if applicable). Don’t include the tags for Erlang or any other BEAM language as the system will instead post your blog post on to the Erlang Forums.

It will then create a thread on Devtalk and then automatically cross-post here under your account :003:

Please see this announcement for the full details: Calling all BEAM Bloggers!

:nerd_face:


This thread exists to aggregate learning resources about Elixir.

Feel free to add links to blog posts, articles, screencasts, etc. to the Wiki (this post) as well as in a new post in the thread (so everyone else is alerted as well) :023:

Introductions to Elixir

Elixir - First steps · trydis
The Elixir of Concurrency
Thoughts on ElixirConf 2016
Why we choose Elixir as the main technology for our startup?

Elixir in comparison to

Functional Programming is not weird: you just need some new patterns — Medium
Why I’m betting on Elixir — Medium
How Elixir’s Ecto differs from Ruby’s ActiveRecord
Why We Choose Elixir To Power Our SMS Infrastructure - PortaText
Elixir: The most Object-Oriented Language
Two million web servers
Beyond functional programming with Elixir and Erlang

Data Structures

Elixir Arc with a single module

Design Patterns

CQRS with Elixir and Phoenix
The Most Object-Oriented Language

Concurrency & OTP

Introduction to Elixir Processes
Ramblings of a Geek: Let’s Build Something: Elixir, Part 1 - A Simple GenServer
Ramblings of a Geek: Let’s Build Something: Elixir, Part 2 - Supervising Our GenServer
Understanding State with Elixir Agents — Automated Solutions
Pub/Sub in 30 Lines of Elixir — NoRedInk Tech
Creating Elixir libraries as OTP applications
Understanding Exit Signals in Erlang/Elixir
Pi Calculation with Elixir

:ets

Taming :ets for High-Performance Software

Metaprogramming/Macros

Getting Started with Elixir Metaprogramming
The Erlangelist - Understanding Macros

Testing

Ramblings of a Geek: Let’s Build Something: Elixir, Part 3 - Getting Started with ExUnit for Testing
Ramblings of a Geek: Let’s Build Something: Elixir, Part 4 - Better Tests, TypeSpecs, and Docs

Debugging

Debugging techniques in Elixir « Plataformatec Blog
How to trace Elixir nodes with Erlyberly « Plataformatec Blog

Elixir+Elm

note: We have a special place for Elm-related resources here.

Are Elixir and Elm the Perfect Couple?
Tomasz Kowal - Elixir and Elm - the perfect couple (Lambda Days 2016) - YouTube

Elixir Internals

Elixir RAM and the Template of Doom
The Erlang Garbage Collector

Web

note: We have a special place for Phoenix-related resources here.

Simple Web Servers with Plug and Cowboy
Ways to use Elixirscript Today
Ecto - the Past, the Present, the Future
Increasing SSL Security in Erlang/Elixir
Elixir Application with Ecto “Mix Elixir project with Ecto” @prio_mahabub

Artificial Intelligence

Coding A.I. Techniques in Elixir: The Generate and Test Algorithm — Automating The Future

Mix

Elixir 1.1 mix profile.fprof command

Ecto

How to use data spanning multiple data sources in Elixir

Deployment

How Honeybadger Uses Elixir To Monitor Heroku
Continuous Delivery for Elixir, Part 1: Introduction

Integration with 3rd party applications

Building a bot for Facebook Messenger, using Elixir
Setting up simple Live Chat in a Phoenix project using Planga

Short Tips

HMAC in Elixir and Python · My Random Thoughts
TIL: Elixir can pattern match at multiple depths in a single statement
Using Functions in Elixir Guard Clauses

Types

Type Checking in Elixir
Type-checking and spec-testing with TypeCheck

135684 1222

Showing Posts 1221 to 1212

AstonJ

AstonJ

Hi all, since this thread is getting long and less usable now (and as we’re running late with our custom platform) you can now post dedicated threads for blog posts directly in this section. The system will add a blogs-by-YOURNAME tag to each thread posted to make it easy for people to follow (or mute) blogs.

If you’ve posted a blog post in this thread in the last two months then please feel free to repost it as a dedicated thread in this section :023:

PJUllrich

PJUllrich

Author of Building Table Views with Phoenix LiveView
martosaur

martosaur

PostHog Elixir SDK 2.0 dropped, and I wrote a post about how it came to be.

abreujp

abreujp

Learning Elixir: Binaries and Bitstrings

New article in my Elixir learning series exploring Binaries and Bitstrings - fundamental data types for efficient binary data manipulation and low-level operations.

Key topics covered:

  • Understanding the difference between binaries and bitstrings
  • Binary syntax and pattern matching
  • Working with UTF-8 strings and raw bytes
  • Bitstring operations and bit-level manipulation
  • Performance considerations and memory efficiency
  • Common use cases in real-world applications
  • Best practices for binary data processing

With practical examples and IEx sessions to help you master binary data handling in Elixir.

Check it out: Learning Elixir: Binaries and Bitstrings

dimitarvp

dimitarvp

Pretty good article! And thanks a lot for the Fey library. I have looked for similar libraries and found several but they never quite went all the way. You have put attention to detail in yours and I love it. I will use it. Thanks!

Responding to your three main points in the article:

  1. Self-containing

This is fine and I understand it and somewhat like it but I think it has to be said that it’s also a bit of a forced point. With modern IDE tooling – including in the terminal with Neovim – you can jump backwards and forwards between function definitions all day long without losing focus. I get the appeal of everything being in one place and I also prefer it but have compromised on it long time ago because it’s not very often that we can get away with such small self-contained units. Private functions help a lot.

  1. Follows prepare-execute-format flow

This is kind of the same as item 1 IMO and same points apply; I do like it but it’s not often that I can practice it in my paid work.

  1. Using OCaml-like helpers

Should have also added Rust. :wink:

I love that item. I tried introducing libraries or home-grown macros but work teams were always adamant that they don’t want it. I see their point; the corresponding Elixir code is not difficult to grasp and is 100% explicit – this is a solid argument and I have yielded upon hearing it almost every time.

BUT.

Sometimes you can get away with a shorter function if you use stuff like Fey, and the code fits on a single screen and is more understandable.

I’ve met an awful lot of programmers who shrug and say “I’ll not forget what it does” which of course they do but various ego factors prevent them from ever connecting the dots, plus they often don’t account for future programmers and onboarding. The amount of senior devs onboarding me and looking embarrassed when we went through some particularly gnarly code pieces can fill an entire 12-hour comedy marathon.

I am not judging though. I understand how they arrive at that situation. But I would have avoided it by making use of such convenient wrappers like yours.

Again, thanks for Fey. I will absolutely use it.

katafrakt

katafrakt

My OCaml-flavoured Elixir style - a personal take on Elixir code style which, for me, produces slightly better results than regular Elixir code conventions.

vincentvanbush

vincentvanbush

Hey, just wanted to let you know that my talk about Permit and authorization is now public on YouTube. and to celebrate this I wrote an article covering my impressions from the conference as well as reflecting on the talk’s content and what’s been going on since.

Enjoy the watch & read!

gmile

gmile

@dimitarvp comments are welcome btw :slight_smile: also, I’ll gladly read your piece on ast-grep too when publish one!

dimitarvp

dimitarvp

You beat me to it, nice.

gmile

gmile

Hi, all! I’ve just published a blog post covering how to clean up Elixir code using ast-grep: Cleaning up code using ast-grep | Ievgen Pyrogov

It’s a step-by-step tutorial that starts with a naive “find-and-replace” rule that fails with an error, then progresses to build a handful of useful rules to fix the code style in tests, in a large codebase.

Where Next? Top

Trending in Blog Posts Top

pckrishnadas88
Hey everyone! :waving_hand: I’ve published Part 7 of the Building Distributed Systems in Elixir series, where we build core distributed ...
New
mudasobwa
So, instead of wasting my afternoon arguing with anonymous handles on X, I turned to my trusty, soulless assistant and said: “Listen, ple...
New
zorn
An educational side project in Elixir, Phoenix, and Tauri. I share what I learned while wiring Automerge into the BEAM, including how I s...
New
abreujp
New article: Elixir Project Structure — From mix new to a Growing Codebase I’ve published a new article in my Elixir learning series on d...
New
zorn
:pencil: Phoenix’s built-in LiveView test helpers require you to hand-build the form payload and start a fresh pipe after every click. Wo...
New
jola
Wrote about how to safely run a globally unique process in an Elixir cluster, and a scary story from the past! Learn about :global for r...
New
jola
The way Phoenix is set up adding a CDN sub-domain for serving static assets, without worrying about the main dynamic content, is incredib...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews