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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I think you have a bug there. Generally, you need to keep a lookup table in the GenServer for all outstanding requests, keyed of an opaque token and pass the token down to the async process so you can figure which request is from which client and reply accordingly. You only have a field <code>from_pid</code> in the GenServer state, so concurrent clients are going to step on each other’s toe, the replies will get misdirected, and your clients will hang.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="282731" data-batch-url="/posts/batch_likers">
                        0
                      </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/921">Post #920</a>
	                </div>
	            </div>
              <div id="likers-container-282731" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="282731"
                     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 #920"></div>
  </section>
</div>
    <div class="postbit" id="282741" data-post-id="282741">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hum, good point! But, I believe the answer is yes and no <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_smile:" loading="lazy" width="20" height="20"><br>
In my use case (where I used this) I knew for sure that the given <code>GenServer</code> was unique per user currently active in a specific part of the Web App, as pointed out in the <strong>Things to take into account</strong> part. This means there could be only one different caller in that situation, so the need to store only one <code>pid</code>.</p>
<p>However, what you said is true if that isn’t the case, and the example code by itself can be a bit misleading. I updated the <a href="https://zediogoviana.github.io/posts/handle-call-without-reply/#things-to-take-into-account" rel="noopener nofollow ugc"><strong>Things to take into account</strong></a> section to highlight this situation. (Timeouts, and other possible issues still need to be taken care of by the user).<br>
Does it make sense and do you think it’s more clear now?</p>
<p>Thanks for the comment!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="282741" data-batch-url="/posts/batch_likers">
                        0
                      </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/922">Post #921</a>
	                </div>
	            </div>
              <div id="likers-container-282741" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="282741"
                     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 #921"></div>
  </section>
</div>
    <div class="postbit" id="282744" data-post-id="282744">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>If your GenServer will not see concurrent usage, why go through all the trouble for deferred replies? You can just use a receive loop to wait from the response in the GenServer.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="282744" data-batch-url="/posts/batch_likers">
                        0
                      </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/923">Post #922</a>
	                </div>
	            </div>
              <div id="likers-container-282744" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="282744"
                     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 #922"></div>
  </section>
</div>
    <div class="postbit" id="282746" data-post-id="282746">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>To be honest, I didn’t think of that when applying this to my initial situation, and a <code>receive do</code> feels like a better approach, even if for just readability purposes… Still, my main goal with this post was just to show that this was possible to do and that it can help in specific situations, as it’s something that may slip through when reading the docs, or just getting started.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="282746" data-batch-url="/posts/batch_likers">
                        0
                      </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/924">Post #923</a>
	                </div>
	            </div>
              <div id="likers-container-282746" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="282746"
                     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 #923"></div>
  </section>
</div>
    <div class="postbit" id="285593" data-post-id="285593">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>“There are tremendous opportunities for commercial Elixir libraries.”</p>
<p><a href="https://codecodeship.com/blog/2023-04-19-parker-selbert?utm_source=elixirforums" rel="noopener nofollow ugc">My interview with Parker Selbert, creator of Oban.</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="285593" 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/925">Post #924</a>
	                </div>
	            </div>
              <div id="likers-container-285593" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="285593"
                     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 #924"></div>
  </section>
</div>
    <div class="postbit" id="285926" data-post-id="285926">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>My latest blog post on how to use exponential backoff in Elixir to handle unreliable external services.</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://blog.finiam.com/blog/exponential-backoff-with-elixir">
  <header class="source">
      <img src="https://blog.finiam.com/assets/favicon.svg" class="site-icon" alt="" width="32" height="32">

      <a href="https://blog.finiam.com/blog/exponential-backoff-with-elixir" target="_blank" rel="noopener nofollow ugc">blog.finiam.com</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/460;"><img src="https://cdn.sanity.io/images/5aprln8a/production/7bf689ddd9faa7447ea2bcd85bb7f3ec081c40ff-5422x3615.jpg" class="thumbnail" alt="" width="690" height="460"></div>

<h3><a href="https://blog.finiam.com/blog/exponential-backoff-with-elixir" target="_blank" rel="noopener nofollow ugc">Exponential Backoff with Elixir</a></h3>

  <p>When we rely on external services, they may not always be available, may take a long time to respond, or may not be able to fulfil our requests. This can be frustrating, but if it's a one-time request and we only need to query one host, we can simply...</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="285926" data-batch-url="/posts/batch_likers">
                        0
                      </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/926">Post #925</a>
	                </div>
	            </div>
              <div id="likers-container-285926" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="285926"
                     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 #925"></div>
  </section>
</div>
    <div class="postbit" id="285989" data-post-id="285989">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>A post on how you can improve long time maintainability by decoupling external libraries.</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://techblog.boardclic.com/articles/2023/04/maintainable-elixir-dependency-decoupling">
  <header class="source">
      <img src="https://techblog.boardclic.com/images/favicon-746b03d616c70b24238584ed98838695.svg?vsn=d" class="site-icon" alt="" width="90" height="90">

      <a href="https://techblog.boardclic.com/articles/2023/04/maintainable-elixir-dependency-decoupling" target="_blank" rel="noopener nofollow ugc">BoardClic tech blog</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/362;"><img src="https://techblog.boardclic.com/images/social-media-image-e702f7492b8b9cbccc02d5c55e3afff6.jpg?vsn=d" class="thumbnail" alt="" width="690" height="362"></div>

<h3><a href="https://techblog.boardclic.com/articles/2023/04/maintainable-elixir-dependency-decoupling" target="_blank" rel="noopener nofollow ugc">Maintainable Elixir: Dependency decoupling</a></h3>

  <p>Maintainable Elixir: Dependency decoupling</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="285989" 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/927">Post #926</a>
	                </div>
	            </div>
              <div id="likers-container-285989" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="285989"
                     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 #926"></div>
  </section>
</div>
    <div class="postbit" id="286045" data-post-id="286045">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Here’s one on handling subscriptions and payments with Gumroad. I’d say the concepts are broadly applicable but implementation examples are taken from my Elixir/Phoenix webapp.</p>
<p><a href="https://alexplescan.com/posts/2022/12/22/selling-saas-subscriptions-on-gumroad/" class="onebox" target="_blank" rel="noopener nofollow ugc">https://alexplescan.com/posts/2022/12/22/selling-saas-subscriptions-on-gumroad/</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="286045" 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/928">Post #927</a>
	                </div>
	            </div>
              <div id="likers-container-286045" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="286045"
                     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 #927"></div>
  </section>
</div>
    <div class="postbit" id="286065" data-post-id="286065">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi everyone, <a href="http://Paraxial.io" rel="noopener nofollow ugc">Paraxial.io</a> now has guidance on how to fix each Sobelow finding. This documentation is also being published as open source, to benefit the Elixir community - <a href="https://paraxial.io/blog/sobelow-guide" class="inline-onebox" rel="noopener nofollow ugc">Elixir Security: A Guide to Fixing Sobelow Findings</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="286065" 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/929">Post #928</a>
	                </div>
	            </div>
              <div id="likers-container-286065" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="286065"
                     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 #928"></div>
  </section>
</div>
    <div class="postbit" id="286462" data-post-id="286462">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I recently wrote a post on Server-Side Request Forgery (SSRF) attacks, from the theory of the attack to a naive set of mitigations and finally an import of SafeURL. All code samples are in Elixir!</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://dev.to/christianalexander/mitigating-server-side-request-forgery-beg">
  <header class="source">
      <img src="https://dev.to/favicon-192x192.png" class="site-icon" alt="" width="" height="">

      <a href="https://dev.to/christianalexander/mitigating-server-side-request-forgery-beg" target="_blank" rel="noopener nofollow ugc">Christian Alexander</a>
  </header>

  <article class="onebox-body">
    <img width="690" height="690" src="https://christianalexander.com/images/me.jpg" class="thumbnail onebox-avatar" alt="">

<h3><a href="https://dev.to/christianalexander/mitigating-server-side-request-forgery-beg" target="_blank" rel="noopener nofollow ugc">Mitigating Server-Side Request Forgery</a></h3>

  <p>A walkthrough of mitigations for Server-Side Request Forgery (SSRF) vulnerabilities</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="286462" 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/930">Post #929</a>
	                </div>
	            </div>
              <div id="likers-container-286462" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="286462"
                     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 #929"></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=88">Load more posts (351 remaining)</a>
</div></template></turbo-stream>