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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Curious, can you forward that article?  I had some trouble with lv in firefox and it would be nice to know if theres an easy fix</p> 
	            </div>

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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group quote-modified" data-username="Sanjibukai" data-post="522" data-topic="113">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/s/ecd19e/48.png" class="avatar"> Sanjibukai:</div>
<blockquote>
<p>find working with bash not so easy compared to Elixir or even some other languages, particularly for file manipulation (sed, awk, grep, etc…).</p>
</blockquote>
</aside>
<p>Yes you are totally right. As I was writing the script I realized it got complex and bushy very quickly. I think I will have to rewrite lately with some more appropriate scripting langage.</p>
<aside class="quote no-group quote-modified" data-username="Sanjibukai" data-post="522" data-topic="113">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/s/ecd19e/48.png" class="avatar"> Sanjibukai:</div>
<blockquote>
<p>Would you mind sharing it?</p>
<p>I too have a similar bash script that help me bootstrap a Phoenix project with adapting the defaults configs…</p>
</blockquote>
</aside>
<p>Sure, I just created a public git <a href="https://github.com/Kurisu3/Forge" rel="noopener nofollow ugc">repository</a>…<br>
It is nothing very extraordinary and it may seem quite closely related to my own needs.</p>
<p>So let’s say I have a new project <code>my_umbrella</code> with 2 Phoenix apps: admin, front.</p>
<p>First I execute this bash <a href="https://github.com/Kurisu3/Forge/blob/master/umbrella_releaser" rel="noopener nofollow ugc">script</a>.</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">me@pc:~/Forge$ ./umbrella_releaser /path/to/my_umbrella/
</code></pre>
<p>This will generates <code>.forge</code> folder inside the project and add a directive into the project <code>.gitignore</code> file to not track it.</p>
<p>Here is the tree of that folder:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">├── build
│   ├── compiler
│   ├── phx
│   │   ├── admin
│   │   └── front
│   ├── releaser
│   └── supervisor
└── env
    └── release.env
</code></pre>
<p>When I want to build a new release I run <code>.forge/build/supervisor</code>:</p>
<ul>
<li>that will source the <code>env/release.env</code> (export all necessary production secrets)</li>
<li>run the <code>build/compiler</code> script (update/install the whole project dependencies)</li>
<li>run each <code>build/phx/app_name</code> (install and compile Phoenix assets)</li>
<li>run finally <code>build/releaser</code> to build the actual release.</li>
</ul>
<p>There are some requirements for that scripts to work but we can easily removes some lines to bypass that. This is essentially the lines I run <code>audacious</code> music player as background process. That is why there is a <code>bgm</code> folder in the repository root. Audacious will search for music in that folder and start playing them during the whole process. When the music stops I know that the script has done its job. ^^ For the Audacious to play the music we need also to add some music files into the <code>bgm</code> folder of course.</p>
<p>See lines: <a href="https://github.com/Kurisu3/Forge/blob/48bda00ce3826df8d833da8279d74899002b85b6/umbrella_releaser#L21" rel="noopener nofollow ugc">https://github.com/Kurisu3/Forge/blob/48bda00ce3826df8d833da8279d74899002b85b6/umbrella_releaser#L21</a></p>
<p><a href="https://github.com/Kurisu3/Forge/blob/48bda00ce3826df8d833da8279d74899002b85b6/umbrella_releaser#L246" rel="noopener nofollow ugc">https://github.com/Kurisu3/Forge/blob/48bda00ce3826df8d833da8279d74899002b85b6/umbrella_releaser#L246</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="189849" 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/524">Post #523</a>
	                </div>
	            </div>
              <div id="likers-container-189849" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="189849"
                     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 #523"></div>
  </section>
</div>
    <div class="postbit" id="189853" data-post-id="189853">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I certainly can! It’s this <a href="https://medium.com/@benhansen/lets-build-a-slack-clone-with-elixir-phoenix-and-react-part-7-deploy-to-heroku-6b3d1ce9bfd5" rel="noopener nofollow ugc">https://medium.com/@benhansen/lets-build-a-slack-clone-with-elixir-phoenix-and-react-part-7-deploy-to-heroku-6b3d1ce9bfd5</a></p>
<p>The part that helped me fix the issue is the configuration for the <code>prod.ex</code> toward the top.</p> 
	            </div>

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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Redoing a blackjack simulator I wrote in Ruby in 2015 (conclusion: don’t play blackjack unless you can count cards without getting beaten up by the casino) using Elixir.</p>
<p>Just getting started … got some card deck code from</p>
<p><a href="https://github.com/seven1m/30-days-of-elixir/blob/master/13-card-deck.exs" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/seven1m/30-days-of-elixir/blob/master/13-card-deck.exs</a></p>
<p>And have ‘player’ and ‘hand’ and ‘card’ and ‘handvalue’ code kind of working … but wondering about the best way to handle persistent data: the deck(s) getting smaller as cards are dealt out.</p>
<p>So far I’ve seen:</p>
<ul>
<li>Tuples aren’t really immutable</li>
<li>OTP and GenServer</li>
<li>Ecto</li>
</ul>
<p>Any suggestions for the best approach?</p>
<p>Thanks 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="189894" 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/526">Post #525</a>
	                </div>
	            </div>
              <div id="likers-container-189894" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="189894"
                     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 #525"></div>
  </section>
</div>
    <div class="postbit" id="189905" data-post-id="189905">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Tuples are immutable, I would use GenServer with list. Using DB would be enormous overkill.</p> 
	            </div>

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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I suggest reading through <a class="mention" href="/u/sasajuric" rel="nofollow">@sasajuric</a>’s  <a href="https://www.theerlangelist.com/article/spawn_or_not" rel="noopener nofollow ugc">to spawn or not to spawn</a> it uses a blackjack game as the running example, showing how to model the game functionally and introduce processes to host a multiplayer server.</p> 
	            </div>

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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I actually figured it out; I’m using an Agent to handle the state of the “discard pile”. This was just a few extra lines of code and seems to be working fine.</p> 
	            </div>

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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I am just curious, what is the reasoning behind the idea that “tuples aren’t really immutable”?</p> 
	            </div>

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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>No reasoning; just a (quite possibly erroneous) statement I saw somewhere when doing research on my problem.</p> 
	            </div>

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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Using Elixir to test some ideas for <a href="https://github.com/jipen/SscsEx" rel="noopener nofollow ugc">secured file transfers servers</a>.</p>
<p>Then now learning Phoenix/LiveView to test some others ideas to build a Web gateway to monitor these servers, minimizing database use and maximizing real time exchanges between the servers and the gateway by using Phoenix channels.</p> 
	            </div>

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