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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="http://www.jackmarchant.com/articles/add-docker-to-elixir-phoenix-projects" class="onebox" target="_blank" rel="noopener nofollow ugc">http://www.jackmarchant.com/articles/add-docker-to-elixir-phoenix-projects</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="93635" 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/elixir-blog-posts/150/389">Post #388</a>
	                </div>
	            </div>
              <div id="likers-container-93635" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="93635"
                     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 #388"></div>
  </section>
</div>
    <div class="postbit" id="93641" data-post-id="93641">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://blog.usejournal.com/beyond-functions-in-elixir-refactoring-for-maintainability-5c73daba77f3" class="onebox" target="_blank" rel="noopener nofollow ugc">https://blog.usejournal.com/beyond-functions-in-elixir-refactoring-for-maintainability-5c73daba77f3</a></p>
<p>This is a blog post I wrote last year that dives into implementing protocols and writing an Ecto.Type</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="93641" 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/elixir-blog-posts/150/390">Post #389</a>
	                </div>
	            </div>
              <div id="likers-container-93641" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="93641"
                     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 #389"></div>
  </section>
</div>
    <div class="postbit" id="94027" data-post-id="94027">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Crowdhailer" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Crowdhailer/120/2438_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Crowdhailer
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Raxx</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<h1><a name="p-94027-errors-are-not-exceptionalhttpcrowdhailerme2018-08-26errors-are-not-exceptional-1" class="anchor" href="#p-94027-errors-are-not-exceptionalhttpcrowdhailerme2018-08-26errors-are-not-exceptional-1" aria-label="Heading link" rel="nofollow"></a><a href="http://crowdhailer.me/2018-08-26/errors-are-not-exceptional/" rel="noopener nofollow ugc">Errors are not exceptional</a></h1>
<p>This is a blog post I’ve been intending to write for ages.</p>
<p><strong>TL;DR bad input is not exceptional.</strong> Only use exceptions for truly exceptional cases. Try <a href="https://github.com/CrowdHailer/OK" rel="noopener nofollow ugc">OK</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="94027" 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/elixir-blog-posts/150/391">Post #390</a>
	                </div>
	            </div>
              <div id="likers-container-94027" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="94027"
                     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 #390"></div>
  </section>
</div>
    <div class="postbit" id="94276" data-post-id="94276">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://engineering.tripping.com/debugging-your-phoenix-elixir-and-rails-applications-inside-docker-containers-305c9d80ff80" rel="noopener nofollow ugc">Debugging your Phoenix, Elixir and Rails applications inside Docker containers</a> A blog post on how to get the REPL working inside docker containers.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="94276" 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/elixir-blog-posts/150/392">Post #391</a>
	                </div>
	            </div>
              <div id="likers-container-94276" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="94276"
                     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 #391"></div>
  </section>
</div>
    <div class="postbit" id="94305" data-post-id="94305">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://medium.com/@adolfont/why-did-jos%C3%A9-valim-create-elixir-a6e210b7f2a1" rel="noopener nofollow ugc">Why did José Valim create Elixir?</a><br>
A blog post I wrote after listening again to an old podcast episode. It was possibly the first mention to Elixir in a podcast.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="94305" 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/elixir-blog-posts/150/393">Post #392</a>
	                </div>
	            </div>
              <div id="likers-container-94305" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="94305"
                     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 #392"></div>
  </section>
</div>
    <div class="postbit" id="94529" data-post-id="94529">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I followed up on this post about generating guitar chord voicings with two new posts. The first <a href="http://www.petecorey.com/blog/2018/08/13/algorithmically-fingering-guitar-chords-with-elixir/" rel="noopener nofollow ugc">calculates all possible* fingerings for a given chord voicing</a>, and the second uses a modified Levenshtein distance algorithm <a href="http://www.petecorey.com/blog/2018/08/27/computing-fingering-distance-with-dr-levenshtein/" rel="noopener nofollow ugc">to compute how difficult it is to transition from one chord to another</a>.</p>
<p>With those two pieces in place, I’ve been able to do some cool stuff like generating entire chord progressions that flow well in terms of voice leading, and playability. For example, here’s a ii-V-I in C I generated by just giving it the starting chord and fingerings:</p>
<pre><code>  9 │││●││ Cmaj7
    ├┼┼┼┼┤
    │●●│││
    ├┼┼┼┼┤
    ││││││
    ├┼┼┼┼┤
    ││││●│
     2314 

  7 │││●││ Dm7
    ├┼┼┼┼┤
    │●││││
    ├┼┼┼┼┤
    ││││││
    ├┼┼┼┼┤
    ││●│●│
     2314 

  7 │││●││ G7
    ├┼┼┼┼┤
    │●││●│
    ├┼┼┼┼┤
    ││●│││
    ├┼┼┼┼┤
    ││││││
     2413 

  5 │││●││ Cmaj7
    ├┼┼┼┼┤
    ││││││
    ├┼┼┼┼┤
    │●││││
    ├┼┼┼┼┤
    ││││●│
    ├┼┼┼┼┤
    ││●│││
     2413 
</code></pre>
<p>Some of these chords are a little wonky for various reasons, but I’ve got more ideas to improve the project. If you can’t tell, I’m pretty excited about this.</p>
<ul>
<li>For some values of “possible”.</li>
</ul> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="94529" 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/elixir-blog-posts/150/394">Post #393</a>
	                </div>
	            </div>
              <div id="likers-container-94529" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="94529"
                     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 #393"></div>
  </section>
</div>
    <div class="postbit" id="94537" data-post-id="94537">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://medium.com/flatiron-labs/quote-do-unquote-use-require-and-import-63fd672aeb8b" class="onebox" target="_blank" rel="noopener nofollow ugc">https://medium.com/flatiron-labs/quote-do-unquote-use-require-and-import-63fd672aeb8b</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="94537" 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/elixir-blog-posts/150/395">Post #394</a>
	                </div>
	            </div>
              <div id="likers-container-94537" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="94537"
                     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 #394"></div>
  </section>
</div>
    <div class="postbit" id="94539" data-post-id="94539">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://timber.io/blog/building-a-real-time-app-with-phoenix/" class="onebox" target="_blank" rel="noopener nofollow ugc">https://timber.io/blog/building-a-real-time-app-with-phoenix/</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="94539" 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/elixir-blog-posts/150/396">Post #395</a>
	                </div>
	            </div>
              <div id="likers-container-94539" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="94539"
                     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 #395"></div>
  </section>
</div>
    <div class="postbit" id="94561" data-post-id="94561">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Where did you learn that import copies the function bodies? I thought it just resolved them at compile time and wrote the fully qualified invocation into the resulting BEAM file.</p>
<p>Oh wait: I just realized you’re not the author of the blog. Sorry!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="94561" 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/elixir-blog-posts/150/397">Post #396</a>
	                </div>
	            </div>
              <div id="likers-container-94561" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="94561"
                     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 #396"></div>
  </section>
</div>
    <div class="postbit" id="97634" data-post-id="97634">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Where can an Elixir beginner ask for help? – Adolfo Neto – Medium <a href="https://t.co/iDJetl8aTh" rel="noopener nofollow ugc">https://buff.ly/2pqzSl6 </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="97634" 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/elixir-blog-posts/150/398">Post #397</a>
	                </div>
	            </div>
              <div id="likers-container-97634" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="97634"
                     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 #397"></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/150/load_more?page=37">Load more posts (862 remaining)</a>
</div></template></turbo-stream>