PJUllrich

PJUllrich

Author of Building Table Views with Phoenix LiveView

RunElixir.com - A free, 30min Elixir Quickstart Guide

I’m happy to announce RunElixir.com, a free online guide to Elixir. It aims to answer the questions: How can I get started with Elixir?, but also What else is there to learn about Elixir?

I recorded an announcement video with more details here:


TLDW: RunElixir.com is a condensed version of the Elixir docs that aims to give interested developers all they need to get started with Elixir in 30 minutes or so. It is inspired by the Rust by Example online book and the Gleam language tour.

In addition to being a quickstart to Elixir, it will also collect high-level introductions to various Elixir topics to give you an overview of what Elixir has to offer and to explore new topics. For example, you might know about :ets, but do you also know about :persistent_term? Both are useful for keeping state in memory, but you might not hear about them unless somebody tells you about them. That’s what RunElixir tries to do. It will show you what Elixir and Erlang have to offer from a high level.

You can find it at: runelixir.com or on GitHub: GitHub - PJUllrich/run-elixir: Learn Elixir in 30min through Examples · GitHub


I will add more topics in the coming weeks, but your feedback would be much appreciated! What do you think about this idea? Do you have any topics that you think should be in the guide? Any feedback is much appreciated :slightly_smiling_face:

Most Liked Responses

PJUllrich

PJUllrich

Author of Building Table Views with Phoenix LiveView

I added a new chapter today: In-memory State!

I explain how to use Agents, ets, dets, or persistent_term to store state in your Elixir application. I also added Big-O complexities for ets and persistent_term where possible. Check it out!

Nefcairon

Nefcairon

Thanks, that’s neat.

Currently I am going through “Lists and Tuples”. I’m not sure if it’s good to have multiple lines in one livebook block and not be possible to evaluate each line on its own… If someone looks at that on a small device, he has to scroll down, up, down, up,… and associate each result to the correct line. Have you already put some thought into this? (Edit: I see now, that you put the number als label therefore. Maybe it’s better to put a short description there? As “get 2nd element”…)

Also, I would mention the Elixir version very soon. I know Elixir doesn’t change much these days, but someone with little experience with Elixir doesn’t know that. Personally, I wouldn’t use a JavaScript, Go or Rust guide if I didn’t know what version it was written for (maybe it’s out of date), so I would mention the version right in the beginning and also that the guide will be close to correct even if the reader’s version is not too far in the future. (Plus a link where to inform you if anything isn’t working anymore → Github?).

harrisi

harrisi

It’s from the pattern matching section, and it’s actually part of a note exactly about why it doesn’t work, and gives two options for actually determining if the map is empty.

I know what you mean, but it seems like even the Elixir docs use the term “operator”. Erlang also does.

Where Next?

Popular in Other Resources Top

New
ErlangSolutions
If anyone is interested in joining our next webinar with Bruce Tate :backhand_index_pointing_right:registration is now open! RSVP and lea...
New
zenw0lf
Hello all! I just finished a full step-by-step tutorial on how to build a JSON API with Phoenix: https://lobotuerto.com/blog/building-a...
New
ErlangSolutions
We’ve announced our latest webinar with Fred Hebert entitled ‘Testing Erlang and Elixir through PropEr Modelling’. There are a ton of tec...
New
wolfiton
Cool way to learn flexbox and have fun at the same time. https://mastery.games/p/flexbox-zombies
New
ryan-senn
I’m learning Elixir and started to go through the Project Euler problems. While the problems are great, the UX is very limited. I’ve buil...
New
PJUllrich
I’m happy to announce RunElixir.com, a free online guide to Elixir. It aims to answer the questions: How can I get started with Elixir?, ...
New
blackode
Elixir Quiz that tests your Knowledge in Elixir Programming. Elixir Functional Programming Test Intermediate level :pen: 30 questions ·...
New
landonwilkins
Hi! My apartment’s walls are blank. I want to fill at least one with Elixir diagrams. Links to Diagrams GitHub - benjamintanweihao/eli...
New
GenericJam
It seems like most employers want a reasonably high degree of competence before they’re willing to look at a candidate. Perhaps it’s beca...
New

Other popular topics Top

marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
chrismccord
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New

We're in Beta

About us Mission Statement