# Elixir Blog Posts

**URL:** <https://forum.elixirforum.com/t/elixir-blog-posts/150>\
**Category:** Blog Posts\
**Tags:** blog-posts, wiki, stickies, official-blog-posts-thread\
**Created:** [April 30, 2017, 11:00pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150 "2017-04-30T23:00:00Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Qqwy](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/qqwy/32/1349_2.png) [@Qqwy](https://forum.elixirforum.com/u/Qqwy)\
**Post date:** [April 30, 2017, 11:00pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/1 "2017-04-30T23:00:00Z")

</div>

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](https://forum.elixirforum.com/tag/official-blog-posts-thread) threads (like this one) or the [Elixir Podcasts](https://forum.elixirforum.com/t/elixir-podcasts/79) thread, or, if yo want a dedicated thread for each blog/podcast, via [Devtalk.com](https://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! 😉

If posting via Devtalk be sure to:

- Ensure your account on [Devtalk.com](http://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](https://forum.elixirforum.com/t/elixir-blog-post-tips-for-improving-your-elixir-configuration/47220/))
- 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!](https://forum.elixirforum.com/t/calling-all-beam-bloggers/33152)

🤓

* * *

**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](https://trydis.github.io/2016/03/07/elixir-string-calculator/)  
[The Elixir of Concurrency](http://cfenollosa.com/blog/the-elixir-of-concurrency.html)  
[Thoughts on ElixirConf 2016](http://codetunes.com/2016/elixirconf-2016/)  
[Why we choose Elixir as the main technology for our startup?](https://medium.com/flipay/why-we-choose-elixir-as-the-main-technology-for-our-startup-30fe3b57ee31)

### Elixir in comparison to

[Functional Programming is not weird: you just need some new patterns — Medium](https://medium.com/@cameronp/functional-programming-is-not-weird-you-just-need-some-new-patterns-7a9bf9dc2f77#.mrvx2xhjw)  
[Why I’m betting on Elixir — Medium](https://medium.com/@kenmazaika/why-im-betting-on-elixir-7c8f847b58)  
[How Elixir’s Ecto differs from Ruby’s ActiveRecord](https://www.amberbit.com/blog/2016/2/24/how-elixirs-ecto-differs-from-rubys-activerecord/)  
[Why We Choose Elixir To Power Our SMS Infrastructure - PortaText](https://blog.portatext.com/2016/03/03/why-we-choose-elixir-to-power-our-sms-infrastructure/?utm_content=buffer93ad0&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer)  
[Elixir: The most Object-Oriented Language](http://tech.noredink.com/post/142689001488/the-most-object-oriented-language)  
[Two million web servers](https://joearms.github.io/published/2016-03-13-Managing-two-million-webservers.html)  
[Beyond functional programming with Elixir and Erlang](http://blog.plataformatec.com.br/2016/05/beyond-functional-programming-with-elixir-and-erlang/)

### Data Structures

[Elixir Arc with a single module](http://learningelixir.joekain.com/elixir-arc-with-a-single-module/)

### Design Patterns

[CQRS with Elixir and Phoenix](http://jfcloutier.github.io/jekyll/update/2015/11/04/cqrs_elixir_phoenix.html)  
[The Most Object-Oriented Language](http://tech.noredink.com/post/142689001488/the-most-object-oriented-language)

### Concurrency & OTP

[Introduction to Elixir Processes](http://blog.songsaboutsnow.com/elixir/processes/2016/04/06/intro-to-elixir-processes.html)  
[Ramblings of a Geek: Let’s Build Something: Elixir, Part 1 - A Simple GenServer](http://tech.strofcon.org/2016/03/lets-build-elixir-part-1.html)  
[Ramblings of a Geek: Let’s Build Something: Elixir, Part 2 - Supervising Our GenServer](http://tech.strofcon.org/2016/03/lets-build-something-elixir-part-2.html)  
[Understanding State with Elixir Agents — Automated Solutions](http://www.quentinthomas.com/automated-solutions-blog/2016/3/8/91n5rjioq4u9e6t88hpwlmiomolaqr)  
[Pub/Sub in 30 Lines of Elixir — NoRedInk Tech](http://forum.elixirforum.com/clicks/track?url=http%3A%2F%2Ftech.noredink.com%2Fpost%2F141444822213%2Fpubsub-in-30-lines-of-elixir&topic_id=150)  
[Creating Elixir libraries as OTP applications](https://www.amberbit.com/blog/2016/5/10/creating-elixir-libraries-as-otp-applications/)  
[Understanding Exit Signals in Erlang/Elixir](http://crypt.codemancers.com/posts/2016-01-24-understanding-exit-signals-in-erlang-slash-elixir/)  
[Pi Calculation with Elixir](http://rockyj.in/2016/06/19/elixir_pi_calc.html)

### :ets

[Taming :ets for High-Performance Software](https://dockyard.com/blog/2019/03/07/taming-ets-for-high-performance-software)

### Metaprogramming/Macros

[Getting Started with Elixir Metaprogramming](https://www.bignerdranch.com/blog/getting-started-with-elixir-metaprogramming)  
[The Erlangelist - Understanding Macros](http://www.theerlangelist.com/article/macros_1)

### Testing

[Ramblings of a Geek: Let’s Build Something: Elixir, Part 3 - Getting Started with ExUnit for Testing](http://tech.strofcon.org/2016/04/lets-build-something-elixir-part-3.html)  
[Ramblings of a Geek: Let’s Build Something: Elixir, Part 4 - Better Tests, TypeSpecs, and Docs](http://tech.strofcon.org/2016/04/lets-build-something-elixir-part-4.html)

### Debugging

[Debugging techniques in Elixir « Plataformatec Blog](http://blog.plataformatec.com.br/2016/04/debugging-techniques-in-elixir-lang/?utm_content=buffer16787&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer)  
[How to trace Elixir nodes with Erlyberly « Plataformatec Blog](http://blog.plataformatec.com.br/2016/04/how-to-trace-elixir-nodes-with-erlyberly)

### Elixir+Elm

_note: We have a special place for Elm-related resources [here](http://forum.elixirforum.com/t/elm-general-discussion-wiki/140)._

[Are Elixir and Elm the Perfect Couple?](https://www.recaps.io/are-elixir-and-elm-the-perfect-couple/)  
[Tomasz Kowal - Elixir and Elm - the perfect couple (Lambda Days 2016) - YouTube](https://www.youtube.com/watch?v=mIwD27qqr5U)

### Elixir Internals

[Elixir RAM and the Template of Doom](http://forum.elixirforum.com/clicks/track?url=http%3A%2F%2Fwww.evanmiller.org%2Felixir-ram-and-the-template-of-doom.html&topic_id=150)  
[The Erlang Garbage Collector](https://www.erlang-solutions.com/blog/erlang-19-0-garbage-collector.html?utm_source=Clojure+Gazette&utm_medium=email&utm_campaign=168)

### Web

_note: We have a special place for Phoenix-related resources [here](http://forum.elixirforum.com/t/phoenix-blog-posts/149)._

[Simple Web Servers with Plug and Cowboy](https://m.alphasights.com/simple-web-servers-with-plug-and-cowboy-34f7a174f252#.j0drd6tfw)  
[Ways to use Elixirscript Today](http://bryaninspired.com/ways-to-use-elixirscript-today/)  
[Ecto - the Past, the Present, the Future](http://www.elixirconf.eu/elixirconf2016/michal-muskala)  
[Increasing SSL Security in Erlang/Elixir](http://ezgr.net/increasing-security-erlang-ssl-cowboy/)  
[Elixir Application with Ecto “Mix Elixir project with Ecto” @prio\_mahabub](https://medium.com/@miprio101/mix-elixir-project-with-ecto-b2d4c6104f23)

### Artificial Intelligence

[Coding A.I. Techniques in Elixir: The Generate and Test Algorithm — Automating The Future](http://www.automatingthefuture.com/blog/2016/3/21/ai-generate-and-test-elixir)

### Mix

[Elixir 1.1 mix profile.fprof command](http://learningelixir.joekain.com/mix-profile/)

### Ecto

[How to use data spanning multiple data sources in Elixir](https://medium.com/rekkiapp/how-to-use-data-spanning-multiple-data-sources-in-elixir-50f39c87d8fc)

### Deployment

[How Honeybadger Uses Elixir To Monitor Heroku](http://blog.honeybadger.io/logplex-elixir/)  
[Continuous Delivery for Elixir, Part 1: Introduction](https://medium.com/@jeffweiss/continuous-delivery-with-elixir-part-1-introduction-826ae5ddb569#.nbv7apluf)

### Integration with 3rd party applications

[Building a bot for Facebook Messenger, using Elixir](http://cazrin.net/blog/2016/building-a-bot-for-facebook-messenger-using-elixir/?utm_campaign=elixir_radar_49&utm_medium=email&utm_source=RD+Station)  
[Setting up simple Live Chat in a Phoenix project using Planga](https://medium.com/@W_Mcode/setting-up-simple-live-chat-in-a-phoenix-project-using-planga-3bb254b2261b)

### Short Tips

[HMAC in Elixir and Python · My Random Thoughts](https://saratchandra.in/post/hmac_in_elixir/)  
[TIL: Elixir can pattern match at multiple depths in a single statement](https://dockyard.com/blog/2016/04/13/til-elixir-can-pattern-match-at-multiple-depths-in-a-single-statement)  
[Using Functions in Elixir Guard Clauses](http://forum.elixirforum.com/clicks/track?url=http%3A%2F%2Fkeathley.io%2F2016%2F04%2F09%2Felixir-guard-clauses.html&topic_id=150)

### Types

[Type Checking in Elixir](http://yosriady.com/2016/03/26/type-checking-in-elixir/)  
[Type-checking and spec-testing with TypeCheck](https://hexdocs.pm/type_check/type-checking-and-spec-testing-with-typecheck.html)

---

<div class="post-metadata">

**Author:** ![sashaafm](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sashaafm/32/2636_2.png) [@sashaafm](https://forum.elixirforum.com/u/sashaafm)\
**Post date:** [May 1, 2017, 4:45pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/2 "2017-05-01T16:45:49Z")

</div>

[HMAX in Elixir and Python](https://saratchandra.in/post/hmac_in_elixir/) - saratchandra.in

---

<div class="post-metadata">

**Author:** ![hubertlepicki](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hubertlepicki/32/6822_2.png) [@hubertlepicki](https://forum.elixirforum.com/u/hubertlepicki)\
**Post date:** [May 1, 2017, 5:42pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/3 "2017-05-01T17:42:50Z")

</div>

Ha, found a thread.

“How Elixir’s Ecto differes from Ruby’s ActiveRecord”

> **[How Elixir’s Ecto differs from Ruby’s ActiveRecord](https://www.amberbit.com/blog/2016/2/24/how-elixirs-ecto-differs-from-rubys-activerecord/)**
>
> Ecto may seem similar to ActiveRecord, but it really is not.

---

<div class="post-metadata">

**Author:** ![sashaafm](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sashaafm/32/2636_2.png) [@sashaafm](https://forum.elixirforum.com/u/sashaafm)\
**Post date:** [May 6, 2017, 5:30pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/4 "2017-05-06T17:30:10Z")

</div>

[Functional Programming is not weird: you just need some new patterns](https://medium.com/@cameronp/functional-programming-is-not-weird-you-just-need-some-new-patterns-7a9bf9dc2f77#.mrvx2xhjw)

---

<div class="post-metadata">

**Author:** ![AstonJ](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/astonj/32/15_2.png) [@AstonJ](https://forum.elixirforum.com/u/AstonJ)\
**Post date:** [May 6, 2017, 10:45pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/5 "2017-05-06T22:45:49Z")

</div>

A post was merged into an existing topic: [Phoenix Blog Posts](https://forum.elixirforum.com/t/phoenix-blog-posts/149)

---

<div class="post-metadata">

**Author:** ![uranther](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/uranther/32/2627_2.png) [@uranther](https://forum.elixirforum.com/u/uranther)\
**Post date:** [May 6, 2017, 11:21pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/6 "2017-05-06T23:21:45Z")

</div>

> [@sashaafm](#):
>
> Functional Programming is not weird: you just need some new patterns

Great write-up! Although I wish he explained more of the last step of the algorithm, as it seemed to be the most critical. His experience inspires me to finish up these [exercism.io](http://exercism.io) exercises and find some more after that 🙂

---

<div class="post-metadata">

**Author:** ![AstonJ](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/astonj/32/15_2.png) [@AstonJ](https://forum.elixirforum.com/u/AstonJ)\
**Post date:** [May 13, 2017, 1:58am UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/7 "2017-05-13T01:58:11Z")

</div>

[https://blog.portatext.com/2016/03/03/why-we-choose-elixir-to-power-our-sms-infrastructure/?utm\_content=buffer93ad0&utm\_medium=social&utm\_source=twitter.com&utm\_campaign=buffer](https://blog.portatext.com/2016/03/03/why-we-choose-elixir-to-power-our-sms-infrastructure/?utm_content=buffer93ad0&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer)

---

<div class="post-metadata">

**Author:** ![trydis](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/trydis/32/522_2.png) [@trydis](https://forum.elixirforum.com/u/trydis)\
**Post date:** [May 14, 2017, 2:49pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/8 "2017-05-14T14:49:38Z")

</div>

My first encounter with Elixir: [Elixir - First steps · trydis](https://trydis.github.io/2016/03/07/elixir-string-calculator/)

---

<div class="post-metadata">

**Author:** ![tuned](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/tuned/32/674_2.png) [@tuned](https://forum.elixirforum.com/u/tuned)\
**Post date:** [May 14, 2017, 8:36pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/9 "2017-05-14T20:36:41Z")

</div>

[https://medium.com/@kenmazaika/why-im-betting-on-elixir-7c8f847b58](https://medium.com/@kenmazaika/why-im-betting-on-elixir-7c8f847b58)

---

<div class="post-metadata">

**Author:** ![ejc123](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ejc123/32/283_2.png) [@ejc123](https://forum.elixirforum.com/u/ejc123)\
**Post date:** [May 14, 2017, 9:40pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/10 "2017-05-14T21:40:06Z")

</div>

Thank you for sharing this link. I’m going to use it as part of my subversive plan to move Elixir into my organization.

---

<div class="post-metadata">

**Author:** ![sashaafm](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sashaafm/32/2636_2.png) [@sashaafm](https://forum.elixirforum.com/u/sashaafm)\
**Post date:** [May 15, 2017, 4:48pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/11 "2017-05-15T16:48:14Z")

</div>

[Understanding State with Elixir Agents](http://www.quentinthomas.com/automated-solutions-blog/2016/3/8/91n5rjioq4u9e6t88hpwlmiomolaqr) - Quentin Thomas

---

<div class="post-metadata">

**Author:** ![AstonJ](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/astonj/32/15_2.png) [@AstonJ](https://forum.elixirforum.com/u/AstonJ)\
**Post date:** [May 16, 2017, 8:48am UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/12 "2017-05-16T08:48:15Z")

</div>

[Simple Web Servers with Plug and Cowboy](https://m.alphasights.com/simple-web-servers-with-plug-and-cowboy-34f7a174f252#.2aqi8o65c) - [m.alphasights.com](http://m.alphasights.com)

> If you want to build an Elixir web application there’s no doubt that the Phoenix framework is the most full featured option out there. However, if you’re looking for something a little simpler, like an endpoint for web hooks, then there are some alternatives. In this post we’re going to look at how to use Cowboy and Plug. Cowboy is a small web server written in Erlang. It’s fast and built to be modular. Plug is very similar to Rack (if you’re coming from Ruby).

---

<div class="post-metadata">

**Author:** ![AstonJ](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/astonj/32/15_2.png) [@AstonJ](https://forum.elixirforum.com/u/AstonJ)\
**Post date:** [May 20, 2017, 7:22pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/13 "2017-05-20T19:22:29Z")

</div>

1 post was split to a new topic: [Two million web servers](https://forum.elixirforum.com/t/two-million-web-servers/217)

---

<div class="post-metadata">

**Author:** ![sashaafm](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sashaafm/32/2636_2.png) [@sashaafm](https://forum.elixirforum.com/u/sashaafm)\
**Post date:** [May 20, 2017, 10:12pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/16 "2017-05-20T22:12:36Z")

</div>

[Elixometer and InfluxDB](http://www.johnpdaigle.com/complexable/2016/03/12/elixometer-and-influxdb.html) - John P. Daigle

---

<div class="post-metadata">

**Author:** ![Strofcon](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/strofcon/32/21842_2.png) [@Strofcon](https://forum.elixirforum.com/u/Strofcon)\
**Post date:** [June 7, 2017, 11:55pm UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/17 "2017-06-07T23:55:20Z")

</div>

I started a blog series, walking through the process of starting a new Elixir project. I’m not sure how far I’ll make it, but I’d like to explore some of the key features of Elixir while working toward a minimally functional time series database.

Feel free to check it out and throw me some feedback. 🙂

Parts 1 and 2 are available:  
[Let’s Build Something: Elixir, Part 1 - A Simple GenServer](http://tech.strofcon.org/2016/03/lets-build-elixir-part-1.html)  
[Let’s Build Something: Elixir, Part 2 - Supervising Our GenServer](http://tech.strofcon.org/2016/03/lets-build-something-elixir-part-2.html)

---

<div class="post-metadata">

**Author:** ![greyhwndz](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/greyhwndz/32/503_2.png) [@greyhwndz](https://forum.elixirforum.com/u/greyhwndz)\
**Post date:** [June 8, 2017, 3:26am UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/18 "2017-06-08T03:26:57Z")

</div>

@Strofcon, sharing this is highly appreciated. Thanks! Though can’t read it thoroughly for now, I will definitely bookmark it. 👍

---

<div class="post-metadata">

**Author:** ![uranther](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/uranther/32/2627_2.png) [@uranther](https://forum.elixirforum.com/u/uranther)\
**Post date:** [June 8, 2017, 3:29am UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/19 "2017-06-08T03:29:21Z")

</div>

[AI: Generate and Test in Elixir](http://www.automatingthefuture.com/blog/2016/3/21/ai-generate-and-test-elixir)

---

<div class="post-metadata">

**Author:** ![Strofcon](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/strofcon/32/21842_2.png) [@Strofcon](https://forum.elixirforum.com/u/Strofcon)\
**Post date:** [June 13, 2017, 8:59am UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/20 "2017-06-13T08:59:53Z")

</div>

@greyhwdnz, glad to hear it!

Part 3 is up now as well: [Getting Started with ExUnit for Testing](http://tech.strofcon.org/2016/04/lets-build-something-elixir-part-3.html)

---

<div class="post-metadata">

**Author:** ![greyhwndz](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/greyhwndz/32/503_2.png) [@greyhwndz](https://forum.elixirforum.com/u/greyhwndz)\
**Post date:** [June 13, 2017, 9:05am UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/21 "2017-06-13T09:05:07Z")

</div>

Wow pounding hard @Strofcon! Thanks! 👍  
What are the best way to test and document Elixir/Phoenix JSONAPIs?

---

<div class="post-metadata">

**Author:** ![Strofcon](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/strofcon/32/21842_2.png) [@Strofcon](https://forum.elixirforum.com/u/Strofcon)\
**Post date:** [June 13, 2017, 9:17am UTC](https://forum.elixirforum.com/t/elixir-blog-posts/150/22 "2017-06-13T09:17:21Z")

</div>

I’m curious about that myself, haven’t gotten that far yet. I’m hoping to get a simple JSON API in place in the next couple of weeks, and will hopefully come across some useful bits then. 🙂

[Next page](https://forum.elixirforum.com/t/elixir-blog-posts/150.md?page=2)
