<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="80354" data-post-id="80354">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="tckb" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/tckb/120/9592_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  tckb
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I can’t even begin to say how much it <em>opened</em> my mind to FPs in general.  Particularly, for me, as I do full time OOP every day ( aka, from jvm world).</p>
<p>There isn’t just one thing that I’ve come across and I’d say shut the f* up.. this <em>can</em> be done? apart from what others have said, the absolute one thing that still astonishes me is the simple, yet most powerful concept of <em>Erlang/Elixir</em> is the pattern matching.</p>
<p>There’s this simple, argument pattern matching for argument – which is ok I believe, but slicing &amp; dicing the input, simply blew my socks off!</p>
<p>Below is something I’m currently on</p>
<pre><code>  defmodule Decoder do
    # 10 byte metadata
    # 5 bytes
    @redis_signature &lt;&lt;"REDIS"::utf8&gt;&gt;
    # 4 bytes - big endian
    @version &lt;&lt;3::big-size(24)&gt;&gt;
    # 1 byte
    @db_selector &lt;&lt;254::size(8)&gt;&gt;

    def read_metadata(
          &lt;&lt;@redis_signature, version::big-size(24), @db_selector,
            actual_data::bitstring&gt;&gt;
        ) do
    end
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="80354" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/mind-blowing-elixir/13949/22">Post #21</a>
	                </div>
	            </div>
              <div id="likers-container-80354" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="80354"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #21"></div>
  </section>
</div>
    <div class="postbit" id="80357" data-post-id="80357">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="replicat0r" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/replicat0r/120/9502_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  replicat0r
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>honestly, coming from a main JS background, I was already doing fp anyhow, but the simplicity and elegance that elixir provide makes it a pleasure to work with it. I can’t say i have ever been in love with a language, but I think I am starting too fall for it.. hahaa</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="80357" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/mind-blowing-elixir/13949/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-80357" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="80357"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #22"></div>
  </section>
</div>
    <div class="postbit" id="80411" data-post-id="80411">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="rsalgado" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rsalgado/120/7672_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  rsalgado
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Although I was already familiar with some functional programming concepts, and had a glimpse of pattern matching and using tail-call recursion, I found Elixir quite approachable compared to other languages (at least for me) and Erlang/OTP’s approach to concurrency using processes/actors is what I found the most mind-blowing. I learn something cool and useful every few days and I’m just scratching the surface.</p>
<p>The core concepts of the language are straightforward: I doesn’t have a huge standard library and many things boil down to modules, functions and macros (which I’m not very familiar with yet), but when you need more advanced things (like concurrency, async code, additional standard libraries from Erlang, distributed computing, etc.) they’re there for you, and the whole tooling/documentation and conveniences of iex just make the whole experience of experimenting, debugging and coding more enjoyable.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="80411" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/mind-blowing-elixir/13949/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-80411" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="80411"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #23"></div>
  </section>
</div>
    <div class="postbit" id="80442" data-post-id="80442">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="notriddle" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/notriddle/120/6385_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  notriddle
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Threads as an actual PL abstraction, like objects, instead of a nasty implementation detail that you avoided unless you really needed them.</p>
<p><code>Processes: 4684</code> and, from what I’ve heard, that’s still not very much.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="80442" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/mind-blowing-elixir/13949/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-80442" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="80442"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #24"></div>
  </section>
</div>
    <div class="postbit" id="80453" data-post-id="80453">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="indera" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/indera/120/12979_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  indera
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Javascript will have pattern matching some time in the future <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"> <a href="https://github.com/tc39/proposal-pattern-matching" class="inline-onebox" rel="noopener nofollow ugc">GitHub - tc39/proposal-pattern-matching: Pattern matching syntax for ECMAScript · GitHub</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="80453" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/mind-blowing-elixir/13949/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-80453" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="80453"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #25"></div>
  </section>
</div>
    <div class="postbit" id="80499" data-post-id="80499">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="peerreynders" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/peerreynders/120/5826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  peerreynders
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>That is far from certain.</p>
<p>It’s a <a href="https://github.com/tc39/proposals/blob/master/stage-0-proposals.md" rel="noopener nofollow ugc">Stage 0</a> proposal with an initial commit of 2017-07-03 <em>which hasn’t even been presented to the committee at this point</em>.</p>
<p>Proposals at <a href="https://github.com/tc39/proposals#user-content-stage-3" rel="noopener nofollow ugc">Stage 3</a> <strong><em>may</em></strong> be included in ES2019.</p>
<p>So a lot can happen and it is going to take some time …</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="80499" data-batch-url="/posts/batch_likers">
                        7
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/mind-blowing-elixir/13949/27">Post #26</a>
	                </div>
	            </div>
              <div id="likers-container-80499" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="80499"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #26"></div>
  </section>
</div>
    <div class="postbit" id="80597" data-post-id="80597">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="madasebrof" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/madasebrof/120/8974_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  madasebrof
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><code>Enum.reduce/3</code></p>
<p>If you wrap your head around that function, you’ll be blown away at what you can do.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="80597" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/mind-blowing-elixir/13949/28">Post #27</a>
	                </div>
	            </div>
              <div id="likers-container-80597" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="80597"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #27"></div>
  </section>
</div>
    <div class="postbit" id="80672" data-post-id="80672">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="redrapids" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/redrapids/120/4931_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  redrapids
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Adopting Elixir</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I am using Elixir to mentor some people who have not been professional programmers. In some ways it’s easier for them to use a functional language after never having had experienced object oriented languages.</p>
<p>We are trying to invite 10-20 scholarship attendees to women and minorities for GigCityElixir, and we don’t want them to be lost when they get to hear the big guns: Dave Thomas, John Hughes, Chris McCord, Stu Halloway, etc.</p>
<p>Very cool.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="80672" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/mind-blowing-elixir/13949/29">Post #28</a>
	                </div>
	            </div>
              <div id="likers-container-80672" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="80672"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #28"></div>
  </section>
</div>
    <div class="postbit" id="84981" data-post-id="84981">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="kelvinst" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kelvinst/120/10173_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  kelvinst
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Well, for me, the day I really understood the BEAM is the day Elixir blown my mind. And two talks helped to understand that.</p>
<p>In the first one <a class="mention" href="/u/josevalim" rel="nofollow">@josevalim</a> takes some time to explain the concepts behind Elixir (which are pretty much the concepts behind the BEAM), and it blown my mind because it’s so much simpler and more organized than OO that I cannot call it other way than a <strong>masterpiece</strong>!</p>
<div class="youtube-onebox lazy-video-container" data-video-id="IZvpKhA6t8A" data-video-title="José Valim | ElixirConf EU 2017 Keynote" data-video-start-time="" data-provider-name="youtube">
  <a href="https://www.youtube.com/watch?v=IZvpKhA6t8A" target="_blank" class="video-thumbnail" rel="noopener nofollow ugc">
    <img class="youtube-thumbnail" src="https://img.youtube.com/vi/IZvpKhA6t8A/maxresdefault.jpg" title="José Valim | ElixirConf EU 2017 Keynote" width="690" height="388">
  </a>
</div>

<p>And in the second one, <a class="mention" href="/u/sasajuric" rel="nofollow">@sasajuric</a> explains in a very practical way what is the real power of the BEAM: its concurrency model, the runtime guarantees it gives you, the price you pay to have them, and why this price is fair. <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<div class="youtube-onebox lazy-video-container" data-video-id="pO4_Wlq8JeI" data-video-title="Solid Ground // Saša Jurić" data-video-start-time="" data-provider-name="youtube">
  <a href="https://www.youtube.com/watch?v=pO4_Wlq8JeI" target="_blank" class="video-thumbnail" rel="noopener nofollow ugc">
    <img class="youtube-thumbnail" src="https://img.youtube.com/vi/pO4_Wlq8JeI/maxresdefault.jpg" title="Solid Ground // Saša Jurić" width="690" height="388">
  </a>
</div>

<p>I know one can argue that it was not Elixir that blown my mind then, but the thing is: other BEAM languages never got me interested enough since I felt too productive with Ruby compared to them, and Elixir changed that! The efforts on making it easy to learn and productive really paid out!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="84981" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/mind-blowing-elixir/13949/30">Post #29</a>
	                </div>
	            </div>
              <div id="likers-container-84981" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="84981"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #29"></div>
  </section>
</div>
    <div class="postbit" id="105338" data-post-id="105338">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="brajnacs" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  brajnacs
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I also watched this. This talk is truly amazing and an eye opener for the devs from other programming environment/languages.  This talk alone is enough to establish erlang/elixir as mind blowing</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="105338" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/mind-blowing-elixir/13949/31">Post #30</a>
	                </div>
	            </div>
              <div id="likers-container-105338" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="105338"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #30"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/13949/load_more?page=4">Load more posts (10 remaining)</a>
</div></template></turbo-stream>