zacksiri

zacksiri

Elixir: Agent Basics - [016][Free]

Hey Everyone

We recently released a free episode and 4 member’s exclusive episode in our Elixir Foundation series. In this episode I talk about when / why you should use Agents. Let us know your thoughts!

agent-basics-cover

First Post!

Fl4m3Ph03n1x

Fl4m3Ph03n1x

Elixir Foundation?

To me this is rather interesting. Is it an open foundation, meaning, can I join if I want to?
Also, you mention this one is free. I didn’t have trouble but I assume some episodes will be locked behind a paywall, right?

Why use Agents?

Because they give you an additional level of abstraction… Why use airplanes? Because they give you a different means to perform geospatial traveling within a shorter frame on the time axis of the 4D chart reality exists on.

Did you get it? No? Neither did anyone else learning Elixir.

From what I understand you explain Agents before finishing all of GenServer’s features. IMHO, this was a mistake. If I don’t fully understand GenServer, I cannot value what Agent brings to the table.

Don’t take me wrong, I am one of the guys who thinks there are reasons to use Agents, namely:

  • Reduced boilerplate code (less repeated code that you have to do over and over)
  • Shorter servers which lead to less bugs (there is a mathematical relation between the number of lines of code a file has and bugs. The more lines something has, the higher the probability of a bug).
  • Less mental load and complexity.

You may prefer the lower level approach via GenServer, and that’s fine, but these benefits hold value as well. I didn’t see you explaining them, instead you jumped right into Get and update.

But for me, what the video really lacks is an answer to the following question…

Why shoulnd’t I use Agent?

Someone who watches this single video will believe Agents replace GenServers. Such is not true. Agents lacks some of the capabilities GenServers have and this is a major factor people consider when they tell you they just use GenServer and don’t bother with Agents.

My evil opinion

You may have had the impression from my second paragraph I didn’t like your work. This is not true - I am by default a hard critic and I apologize if I hurt you. People in this community are not like me, so don’t be afraid :stuck_out_tongue:

Truth is I like quite liked the video:

  • post production effects were nice
  • short and straight to the point
  • real code examples

Videos like this take a lot of work I know for a fact. I just think the topic on Agents could have taken another approach.

Hope you guys keep on doing this great work!

Most Liked

AstonJ

AstonJ

A foundation course usually tackles the basics of something (in preparation for advanced books/courses) :slight_smile:

If you need to say something like that then, generally speaking, it’s a good indication that your thoughts could have been articulated in a more amicable, constructive or acceptable manner.

Please remember that people creating educational content (as well as those making libraries, languages and frameworks) put a lot of time and effort into what they do, and so feedback is generally best provided as kindly as possible.

This part of your post in particular is concerning:

I am by default a hard critic and I apologize if I hurt you.

There’s no need to be a ‘hard’ critic. Please just be a ‘nice’ one. Thanks!

zacksiri

zacksiri

Thank you for your work on this forum, it’s become a great place for the elixir community. I’m currently working on more elixir content once my site / content is more ready I looking forward to becoming a sponsor of elixir forum.

Where Next?

Popular in Screencasts Top

omgneering
This is a part of the ongoing elixir OTP series. The video walks through creating an application, talks about application structure and ...
New
ElixirCasts
I made a video to help people get introduced to agents.
New
anuragg
One of our users just created this screencast for deploy Elixir apps on Render. Hope it’s helpful! https://twitter.com/Alc...
New
SmartLogic
We at SmartLogic have been running an intermittent series of live coding sessions on Twitch that we then archive on YouTube; in the lates...
New
alvises
Hey friends, I’ve just published a screencast + article on how to use AWS S3 in Elixir with ExAws. I show how to put, get, list and del...
New
ityonemo
I’m doing a 7-part screencast that deep-dives into how Elixir (yup, that’s elixir, not erlang) does processes. Prerequisites are underst...
New
whatyouhide
Hey friends, today I published the first video of a new series I’m making, where I solve the challenges on Protohackers (see my tweet ann...
New

Other popular topics Top

KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36689 110
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
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
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 42576 114
New

We're in Beta

About us Mission Statement