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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Welcome to ElixirForum Moeblack!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387431" 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/what-elixir-related-stuff-are-you-doing/113/904">Post #903</a>
	                </div>
	            </div>
              <div id="likers-container-387431" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387431"
                     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 #903"></div>
  </section>
</div>
    <div class="postbit" id="387449" data-post-id="387449">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Just shipped <strong>sTELgano</strong> — a zero-knowledge messaging app on Phoenix 1.8 + LiveView. The premise: two people share a fake phone number saved in each other’s contacts plus a PIN, and that’s the whole credential. The server only ever sees SHA-256 hashes and AES-256-GCM ciphertext — all crypto runs in the browser via the Web Crypto API.</p>
<p>AGPL-3.0. Repo at <a href="https://github.com/stelgano/stelgano" class="inline-onebox" rel="noopener nofollow ugc">GitHub - sTELgano/sTELgano: Private messaging that hides in your contacts. · GitHub</a>, live at <a href="https://stelgano.com" rel="noopener nofollow ugc">https://stelgano.com</a>. Opened a separate thread over in Chat / Discussions [<a href="https://forum.elixirforum.com/t/stelgano-a-zero-knowledge-messaging-app-on-phoenix-1-8-liveview-feedback-welcome-on-the-unauthenticated-channel-design/75093" rel="nofollow">LINK</a>] for anyone who wants to dig into the design — unauthenticated channel socket, N=1 message invariant, LiveView as a state machine with crypto isolated to JS hooks.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387449" 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/what-elixir-related-stuff-are-you-doing/113/905">Post #904</a>
	                </div>
	            </div>
              <div id="likers-container-387449" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387449"
                     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 #904"></div>
  </section>
</div>
    <div class="postbit" id="387483" data-post-id="387483">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’ve been building mars_colony_otp, a story-driven OTP tutorial in Elixir.</p>
<p>The idea is to teach OTP through one cumulative system.</p>
<p>It starts with a raw process loop using spawn_link / send / receive, then grows step by step through:</p>
<ul>
<li>pure state transitions</li>
<li>GenServer</li>
<li>Registry</li>
<li>supervision trees</li>
<li>dynamic workers</li>
<li>tasks</li>
<li>alerts</li>
<li>queue ownership</li>
<li>telemetry</li>
<li>GenStage</li>
<li>Broadway</li>
<li>persistence</li>
<li>distributed outposts (final chapter)</li>
</ul>
<p>The goal: abstractions show up when the system actually needs them.</p>
<p>So:</p>
<ul>
<li>a supervisor appears when failures must stay local</li>
<li>a queue appears when work starts piling up</li>
<li>Broadway shows up when the data path starts looking production-grade</li>
</ul>
<p>Each chapter is its own standalone Mix project, but from lesson 1 onward the tutorial is cumulative.</p>
<p>I also kept READMEs and code comments friendly for people new to OTP, and every chapter includes :observer for runtime exploration.</p>
<p>Repo:</p>
<p><a href="https://github.com/ccarvalho-eng/mars_colony_otp" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/ccarvalho-eng/mars_colony_otp</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="387483" data-batch-url="/posts/batch_likers">
                        11
                      </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/what-elixir-related-stuff-are-you-doing/113/906">Post #905</a>
	                </div>
	            </div>
              <div id="likers-container-387483" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387483"
                     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 #905"></div>
  </section>
</div>
    <div class="postbit" id="387519" data-post-id="387519">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>From the same series, I created one for learning Jido <a href="https://github.com/ccarvalho-eng/jido_class" class="inline-onebox" rel="noopener nofollow ugc">GitHub - ccarvalho-eng/jido_class: Story-driven Jido tutorial that builds an autonomous game studio one agent at a time. · 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="387519" 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/what-elixir-related-stuff-are-you-doing/113/907">Post #906</a>
	                </div>
	            </div>
              <div id="likers-container-387519" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387519"
                     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 #906"></div>
  </section>
</div>
    <div class="postbit" id="387526" data-post-id="387526">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I am preparing one for Ash.</p>
<p>Curious to know what do you guys think of this kind of tutorial. For me, It’s less boring and intuitive when you can progress incrementally using geek analogy.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387526" 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/what-elixir-related-stuff-are-you-doing/113/908">Post #907</a>
	                </div>
	            </div>
              <div id="likers-container-387526" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387526"
                     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 #907"></div>
  </section>
</div>
    <div class="postbit" id="387530" data-post-id="387530">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’ll be wrapping these series into an organisation: <a href="https://github.com/Event-Horizon-Stories/mars_colony_otp" class="inline-onebox" rel="noopener nofollow ugc">GitHub - Event-Horizon-Stories/mars_colony_otp: Learn OTP by keeping a fragile Mars colony running as things inevitably break · 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="387530" 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/what-elixir-related-stuff-are-you-doing/113/909">Post #908</a>
	                </div>
	            </div>
              <div id="likers-container-387530" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387530"
                     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 #908"></div>
  </section>
</div>
    <div class="postbit" id="387542" data-post-id="387542">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Ok. This is what I have so far:</p>
<p><strong><a href="https://github.com/Event-Horizon-Stories/galactic_trade_authority" rel="noopener nofollow ugc">galactic_trade_authority</a></strong><br>
An Ash tutorial series set inside the Galactic Trade Authority, where official truth is whatever passes validation.</p>
<p><strong><a href="https://github.com/Event-Horizon-Stories/horizon_engine" rel="noopener nofollow ugc">horizon_engine</a></strong><br>
An event sourcing tutorial told through The Origin Inquiry, a reconstruction of how the universe began from fragmentary logs.</p>
<p><strong><a href="https://github.com/Event-Horizon-Stories/mars_colony_otp" rel="noopener nofollow ugc">mars_colony_otp</a></strong><br>
Learn OTP by keeping a fragile Mars colony running as things inevitably break</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387542" 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/what-elixir-related-stuff-are-you-doing/113/910">Post #909</a>
	                </div>
	            </div>
              <div id="likers-container-387542" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387542"
                     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 #909"></div>
  </section>
</div>
    <div class="postbit" id="387543" data-post-id="387543">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<h4><a name="p-387543-and-this-1" class="anchor" href="#p-387543-and-this-1" aria-label="Heading link" rel="nofollow"></a>And this</h4>
<p><a href="https://github.com/Event-Horizon-Stories/signal_network" rel="noopener nofollow ugc">signal_network</a><br>
An Elixir tutorial series about PubSub, signals, coordination, and life on the wire.</p>
<p>Will add more as I build</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387543" 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/what-elixir-related-stuff-are-you-doing/113/911">Post #910</a>
	                </div>
	            </div>
              <div id="likers-container-387543" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387543"
                     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 #910"></div>
  </section>
</div>
    <div class="postbit" id="387618" data-post-id="387618">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Ok the series now have a home <a href="https://github.com/Event-Horizon-Stories" class="inline-onebox" rel="noopener nofollow ugc">Event Horizon Stories · 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="387618" 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/what-elixir-related-stuff-are-you-doing/113/912">Post #911</a>
	                </div>
	            </div>
              <div id="likers-container-387618" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387618"
                     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 #911"></div>
  </section>
</div>
    <div class="postbit" id="387649" data-post-id="387649">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>These all look amazing. I’ll dive in tomorrow!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387649" 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/what-elixir-related-stuff-are-you-doing/113/913">Post #912</a>
	                </div>
	            </div>
              <div id="likers-container-387649" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387649"
                     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 #912"></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/113/load_more?page=91">Load more posts (17 remaining)</a>
</div></template></turbo-stream>