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

139695 1222

Showing Posts 161 to 170

AstonJ

AstonJ

I’ve been having similar thoughts recently :023:

Elixir is introducing and making easy so many fantastic ‘best practices’ which have been slowly answering my burning curiosity of “surely there is a better way of developing???” that I frequently had when I was using Rails.

Things like easily being able to build your app as a series of components, or preferring not to use if/else’s (and multiple function defs with pattern matching instead) meaning functions do one thing :slight_smile:

michalmuskala

michalmuskala

I blogged again: “Configuring Elixir Libraries”. This extends my series on designing libraries for Elixir. So far there’s just one more post: “Error Handling in Elixir Libraries”.

If you have some suggestions on other topics I could cover there, I’m open to suggestions!

slashdotdash

slashdotdash

I’d be interested in reading about how to make a library reusable. As per the Ecto repository pattern where you use Ecto.Repo in your own module to allow multiple repositories in a single Elixir application. To also cover how best to supervise processes, and their naming conventions.

hubertlepicki

hubertlepicki

So there’s a few blog posts about Elixir on our blog at Blog: What's been on our mind... | AmberBit Sp. z o. o. that I wasn’t posting here and you may like:

Enjoy!

OvermindDL1

OvermindDL1

Really cool!!

Accessing priv directory
You probably have some migrations and other stuff inside /priv directory, to access it use Application.app_dir(app, [“priv”]) in your Elixir code and OTP machinery would make sure you won’t loose files inside of it.

Ugh, no!

To get the priv directory always use only :code.priv_dir(:my_app_name)! Though ‘most’ of the time priv will be in the app’s directory, it ‘could’ also be elsewhere, renamed, and variety of other things, and as such this will break in certain situations (like, say, running from inside a tar file or so)… >.>

michalmuskala

michalmuskala

Application.app_dir does exactly the same :code.priv_dir does minus appending of the priv part. There is no difference between them.

OvermindDL1

OvermindDL1

There is last I saw. Last I checked Application.app_dir/2 calls :code.lib_dir(:app), which returns the path to the app library directory (which might be a tar file for example, but without the extension), and then it uses Path.join/2 to append it. Where calling :code.lib_dir(:app) instead queries the :code_server directly, which then properly puts the path on to the end of the lib_path, using something similar to Path.join when it is a path, or doing something ‘else’ when it is a packaged file (like a tar file). In addition some custom BEAM builds use a priv directory located and named elsewhere for embedded systems (admittedly this was a decade ago).

zorbash

zorbash

Well I just wrote a summary of the Elixir.LDN conference Elixir.LDN 2017 - Dimitris Zorbas

But I think folks might also find this post about Docker multi-stage Distillery releases useful. Distillery releases with Docker multi-stage builds - Dimitris Zorbas

AstonJ

AstonJ

Where Next? Top

Trending in Blog Posts Top

ryanzidago
Up until then, I found it very hard to communicate to LLMs that I specifically do not want to handle X case because maybe it has never ha...
New
T0ha666
An automated trigger fired every two minutes for 8 hours. 243 agent runs. 31M tokens. $63 wasted. The problem: nobody noticed until morni...
New
lawik
The words are insufficient to describe what transpired. What we tried to do met what the people wanted it to be. It became beautiful. Th...
New
New
fuelen
I finally found time to write down my journey away from ExMachina, including the workaround I tried first and the API experiments that fo...
New
UlfAnger
Hi all, I’ve built a small demo app to understand what an “AI agent” actually is under the hood, and to show it with Elixir’s own tools ...
New
ryanrborn
A backtest worker and a live trading node had to share one broker rate limit and one set of OAuth tokens, and both only work if there’s e...
New

Other Trending Topics Top

budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
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
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews