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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/antonmi" rel="nofollow">@antonmi</a></p>
<p>Hello Anton,</p>
<p>I just found out about Flowex and FBP from one of your Youtube videos that led me to your thread on this forum.</p>
<p>I am new to Elixir and programming in general but this idea of FBP sounds very exciting to me as I am a musician so am curious if I am understanding the core foundation of what Flowex/FBP offers?</p>
<p>Would the following example of writing a song be a good analogy?</p>
<p>Instead of focusing on writing one melody on a piano and ONLY on that melody sequentially, Flowex allows a programmer to have the freedom to write not only the piano but the guitar parts, then perhaps the drums, then back to the piano, then the drums, simultaneously?</p>
<p>If so, I will be your most ardent fan and tester as frankly, I’ve found most languages extremely painful and uninspiring (for me at least) with exception of Elixir (obviously) so FBP seems much more suited to my brain where I’m accustomed to jamming on different aspects of a song/project to complete the required goal.</p>
<p>Thanks in advance</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="67532" 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/flowex-flow-based-programming-framework/6758/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-67532" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="67532"
                     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 #11"></div>
  </section>
</div>
    <div class="postbit" id="67555" data-post-id="67555">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="antonmi" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/antonmi/120/5822_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  antonmi
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi, <a class="mention" href="/u/synthslave" rel="nofollow">@synthslave</a>!<br>
Your analogy is very interesting. I can imagine two ways of using Flowex that can be interpreted in musician way):</p>
<ol>
<li>There are several pipelines, one for each instrument. IPs (informational packets) are the notes. You pass the notes to these pipelines and they are played in parallel.</li>
<li>There is one pipeline where each component is a note. And each component consists of several processes. IPs are the instruments. You pass the instruments into to pipeline and enjoy music.<br>
It sounds cool, but the main problem in both cases - how to synchronize all the instruments. BEAM VM under the hood does not evaluate all the processes in parallel, but frequently switch between them. You can’t be sure that all the notes are played simultaniously. So, in both cases, you need a mechanism of synchronization.<br>
The good news is that a real program is not a music and it is ok if some parts are not synced well.<br>
And I agree with you that FBP is very convienient approach to right software.</li>
</ol>
<p>Thank you!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="67555" 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/flowex-flow-based-programming-framework/6758/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-67555" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="67555"
                     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 #12"></div>
  </section>
</div>
    <div class="postbit" id="67560" data-post-id="67560">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>What’s the appeal of having a different process do each step, rather than have a pool of processes that execute all the steps in sequence? I had a look through the examples, but I didn’t find a clear answer.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="67560" 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/flowex-flow-based-programming-framework/6758/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-67560" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="67560"
                     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 #13"></div>
  </section>
</div>
    <div class="postbit" id="67585" data-post-id="67585">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi <a class="mention" href="/u/antonmi" rel="nofollow">@antonmi</a> !<br>
Thanks for elaborating on the music analogy.  That helps put it into more context.  Just as an FYI, here are two technologies that actually synchronize the notes for different instruments that are very commonplace in music production/performance:</p>
<p>MIDI Clock</p><aside class="onebox wikipedia" data-onebox-src="https://en.wikipedia.org/wiki/MIDI_beat_clock">
  <header class="source">

      <a href="https://en.wikipedia.org/wiki/MIDI_beat_clock" target="_blank" rel="noopener nofollow ugc">en.wikipedia.org</a>
  </header>

  <article class="onebox-body">
    

<h3><a href="https://en.wikipedia.org/wiki/MIDI_beat_clock" target="_blank" rel="noopener nofollow ugc">MIDI beat clock</a></h3>

<p>
 MIDI beat clock, or simply MIDI clock, is a clock signal that is broadcast via MIDI to ensure that several MIDI-enabled devices such as a synthesizer or music sequencer stay in synchronization. Clock events are sent at a rate of 24 pulses per quarter note. Those pulses are used to maintain a synchronized tempo for synthesizers that have beats-per-minute-dependent voices and also for arpeggiator synchronization.
 The clock is presented as a stream of single-byte MIDI messages. Playback at the te...</p>

  </article>

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

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

<p>Ableton Link</p><aside class="onebox allowlistedgeneric" data-onebox-src="https://www.ableton.com/en/link/">
  <header class="source">
      <img src="https://cdn-resources.ableton.com/80bA26cPQ1hEJDFjpUKntxfqdmG3ZykO/static/images/favicon.f83afbda6c78.ico" class="site-icon" alt="" width="16" height="16">

      <a href="https://www.ableton.com/en/link/" target="_blank" rel="noopener nofollow ugc">ableton.com</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:690/362;"><img src="https://cdn-resources.ableton.com/80bA26cPQ1hEJDFjpUKntxfqdmG3ZykO/static/images/og-images/link.79b1e8121977.jpg" class="thumbnail" alt="" width="690" height="362"></div>

<h3><a href="https://www.ableton.com/en/link/" target="_blank" rel="noopener nofollow ugc">Ableton Link: Connect music making apps with Ableton Live</a></h3>

  <p>Link is a technology that keeps devices in time over a wireless network, so you can forget the hassle of setting up and focus on playing music.</p>


  </article>

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

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

<p>As an FYI, after learning of Flowex and FBP, I actually reached out to J Paul Morrison and he was very kind and appreciative.  Not sure if you ever communicated with him but he’s very cool.  Am excited to learn/practice Flowex/FBP.</p>
<p><a class="mention" href="/u/dom" rel="nofollow">@dom</a><br>
Here’s a video from Paul Morrison himself where he explains the origins of FBP:</p><div class="youtube-onebox lazy-video-container" data-video-id="up2yhNTsaDs" data-video-title="The origins of Flow Based Programming with J Paul Morrison" data-video-start-time="" data-provider-name="youtube">
  <a href="https://www.youtube.com/watch?v=up2yhNTsaDs" target="_blank" class="video-thumbnail" rel="noopener nofollow ugc">
    <img class="youtube-thumbnail" src="https://img.youtube.com/vi/up2yhNTsaDs/maxresdefault.jpg" title="The origins of Flow Based Programming with J Paul Morrison" width="690" height="388">
  </a>
</div>

<p>And for more detailed explanation, here’s his website: <a href="http://www.jpaulmorrison.com/fbp/" rel="noopener nofollow ugc">http://www.jpaulmorrison.com/fbp/</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="67585" 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/flowex-flow-based-programming-framework/6758/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-67585" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="67585"
                     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 #14"></div>
  </section>
</div>
    <div class="postbit" id="67590" data-post-id="67590">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="antonmi" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/antonmi/120/5822_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  antonmi
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi <a class="mention" href="/u/synthslave" rel="nofollow">@synthslave</a>!<br>
Thanks for the information.<br>
Yeap, know about J Paul Morrison and have read his excellent book “Flow-Based Programming”, but haven’t communicated with him.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="67590" 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/flowex-flow-based-programming-framework/6758/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-67590" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="67590"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>