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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Here is the link to the AWS Lambda sample:</p><aside class="onebox githubfolder" data-onebox-src="https://github.com/jdubray/sam-samples/tree/master/crud-blog-lambda">
  <header class="source">
      <img src="https://github.githubassets.com/favicons/favicon.svg" class="site-icon" alt="" width="32" height="32">

      <a href="https://github.com/jdubray/sam-samples/tree/master/crud-blog-lambda" target="_blank" rel="noopener nofollow ugc">github.com</a>
  </header>

  <article class="onebox-body">
    <h3><a href="https://github.com/jdubray/sam-samples/tree/master/crud-blog-lambda" target="_blank" rel="noopener nofollow ugc">sam-samples/crud-blog-lambda at master · jdubray/sam-samples</a></h3>

  <p><a href="https://github.com/jdubray/sam-samples/tree/master/crud-blog-lambda" target="_blank" rel="noopener nofollow ugc">master/crud-blog-lambda</a></p>

  <p><span class="label1">Contribute to jdubray/sam-samples development by creating an account on GitHub.</span></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="4837" 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/the-sam-state-action-model-pattern-general-discussion-blog-posts-wiki/703/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-4837" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="4837"
                     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="4840" data-post-id="4840">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/jdubray" rel="nofollow">@jdubray</a> I just read your <a href="https://www.infoq.com/articles/no-more-mvc-frameworks" rel="noopener nofollow ugc">infoq article</a> and I must admit I’m a bit puzzled. I’m trying to find a summary of what makes SAM distinct. My poor old brain is getting bogged down in the details (I wrote my first web app in '93). This sounds more flippant than I intend, but my best summary at the moment is that “server API design is so much easier if front-end developers use a Monad-based approach.” Is that even remotely accurate? Perhaps I misread all those details of the distinction between actions, model updates, and side-effects? If I’m even remotely accurate, then I question the practicality of the approach.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="4840" 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/the-sam-state-action-model-pattern-general-discussion-blog-posts-wiki/703/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-4840" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="4840"
                     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="4843" data-post-id="4843">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>1993? my first commercial product was in 1980…  on an Apple ][ <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>To answer your question I would have to pretend I understand what a monad is, which I won’t.</p>
<p>Really all I am trying to say in the article is:<br>
From M → V<br>
V = f(M) works great (thank you React)</p>
<p>from V → M<br>
use TLA+ semantics: propose (action), accept (model) and learn (state)</p>
<p>From what I can tell all the other alternatives do not make that distinction (Elm, Redux, Cycle, MobX, Vue and now VueX)… and they start fighting problems that you generally do not encounter with SAM.</p>
<p>One argument I always hear about the pure Reactive Functional approach and separating effects from the logic is about testability. That’s until you really understand the math behind “testing”, <a href="http://rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste.pdf" rel="noopener nofollow ugc">http://rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste.pdf</a>  (the irony here, is that TLA+ makes your system far more testable, but what do I know)</p>
<p>I also see a lot of people thinking that being “reactive” means something other than V = f(M), you have to somehow use RxJS, Observables, Streams and what not. That’s until you need to start dealing with subscriptions and glitches.</p>
<p>SAM (and TLA+) focuses on getting mutation right (propose, accept, learn). Dr. Lamport got a turing award for  TLA+ (Temporal Logic of Action), so it can’t be that bad, right? Some quotes from him:</p>
<p>“Programming languages provide no well-defined notion of a program step” (SAM does)</p>
<p>“Computation is a major topic of computer science, and almost every object that computes is naturally viewed as a state machine. Yet computer scientists are so focused on the languages used to describe computation that they are largely unaware that those languages are all describing state machines.” (TLA+ gives SAM enough structure, without the burden of traditional State Machine semantics)</p>
<p>If you have not read this article on Computation and State Machines, it’s may be too difficult to understand where SAM is coming from (<a href="http://research.microsoft.com/en-us/um/people/lamport/pubs/state-machine.pdf" rel="noopener nofollow ugc">http://research.microsoft.com/en-us/um/people/lamport/pubs/state-machine.pdf</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="4843" 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/the-sam-state-action-model-pattern-general-discussion-blog-posts-wiki/703/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-4843" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="4843"
                     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 #15"></div>
  </section>
</div>
    <div class="postbit" id="4845" data-post-id="4845">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks! I’m currently working through Lamport’s vector clock paper and I’m adding the state machine one to my reading queue now. I do have concern, for practicality’s sake, that there is not a more concise description though.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="4845" 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/the-sam-state-action-model-pattern-general-discussion-blog-posts-wiki/703/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-4845" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="4845"
                     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 #16"></div>
  </section>
</div>
    <div class="postbit" id="4847" data-post-id="4847">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Please also note that SAM is “my” interpresentation of TLA+ as a programming model. I exchanged several emails with Dr. Lamport last year, as I was laying SAM’s foundation, but by no means he has validated SAM, or SAM would be the only way to translate TLA+ semantics into a programming model.</p>
<p>I can certainly share more specific references inside Dr. Lamport’s book to explain how I created SAM from TLA+.</p>
<p>The key to understand (which most people find unusual) is that TLA+ describes state machines, but not with the semantics we are all accustomed to. I try to explain it here: <a href="http://sam.js.org/#sm" class="inline-onebox" rel="noopener nofollow ugc">SAM - State | Action | Model</a></p>
<p>Then of course the next step is to decide how TLA+ semantics apply to Front-End architectures. The traditional semantics of State Machines (Petri nets) are not a good fit, but TLA+ is very different. That’s why I believe it is applicable.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="4847" 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/the-sam-state-action-model-pattern-general-discussion-blog-posts-wiki/703/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-4847" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="4847"
                     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 #17"></div>
  </section>
</div>
    <div class="postbit" id="5403" data-post-id="5403">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="uranther" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/uranther/120/2627_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  uranther
                    <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>*bump*</p>
<p>I just added a bunch of info to the top post, mostly about TLA+. <img src="https://forum.elixirforum.com/uploads/default/original/2X/3/3a30b8d856b321b56a083b43a1d89624be195466.gif?v=15" title=":024:" class="emoji emoji-custom" alt=":024:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="5403" 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/the-sam-state-action-model-pattern-general-discussion-blog-posts-wiki/703/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-5403" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="5403"
                     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 #18"></div>
  </section>
</div>
    <div class="postbit" id="5485" data-post-id="5485">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I just would like to add a couple of quotes from Lamport on TLA+</p>
<p>“<a href="http://research.microsoft.com/en-us/um/people/lamport/pubs/state-machine.pdf" rel="noopener nofollow ugc">State machines provide a framework for much of computer science. They<br>
can be described and manipulated with ordinary, everyday mathematics</a>”</p>
<p>and</p>
<p>“<a href="http://research.microsoft.com/en-US/um/people/Lamport/pubs/pluscal.pdf" rel="noopener nofollow ugc">Programming languages provide no well-defined notion of a program step</a>”</p>
<p>The semantics of Mathematics and hence TLA+ are quite different from the ones of the familiar Petri Nets, and a lot closer to the way we write code. I believe he has found the most fundamental way to describe state machines.</p>
<p>IMHO, the temporal aspects of TLA+ bring a lot of benefits when compared to observables which seem to be the way the industry is heading. Observables seem to make dealing with temporal aspects harder, in particular when you need to reason about different types of events allowed in a given step.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="5485" 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/the-sam-state-action-model-pattern-general-discussion-blog-posts-wiki/703/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-5485" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="5485"
                     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 #19"></div>
  </section>
</div>
    <div class="postbit" id="8380" data-post-id="8380">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>After reading a bit more from mr. Dubray I must say that I do not like a couple of his ideas and the way he tries to persuade (and hides behind jargon) in a couple of email groups.<br>
He tries to sell the idea of isomorphic javascript. Must ring a bell for elixir devs ;-). I placed some comments below his article: <a href="https://www.infoq.com/articles/no-more-mvc-frameworks" class="inline-onebox" rel="noopener nofollow ugc">Why I No Longer Use MVC Frameworks - InfoQ</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="8380" 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/the-sam-state-action-model-pattern-general-discussion-blog-posts-wiki/703/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-8380" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="8380"
                     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 #20"></div>
  </section>
</div>
    <div class="postbit" id="8577" data-post-id="8577">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I have published a series of blog posts on Back-End architecture (Services, APIs and Microservices - SAMs) and <a href="http://www.ebpml.org/blog15/2016/08/services-apis-and-microservices-part-2/" rel="noopener nofollow ugc">how the SAM pattern aligns with them</a>). As Stefan’s points out, I believe this is not just a key selling point of the pattern but a must have for a grown up programming model. If all you do is produce a programming model that works well in the browser and think of the back-end as just a bunch of HTTP calls, you would have achieved nothing. You will notice on the right end-end the great simplification isomorphism brings to the table when you can align back-end and front-end.</p>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/2X/6/688c2458b64743600ca02a1ad81b7688910122db.jpg" data-download-href="https://forum.elixirforum.com/uploads/default/688c2458b64743600ca02a1ad81b7688910122db" title="sam-sam-1.jpg" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/original/2X/6/688c2458b64743600ca02a1ad81b7688910122db.jpg" width="649" height="374"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">sam-sam-1.jpg</span><span class="informations">649×374 59.5 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div><p></p>
<p>BTW, I go by “JJ”, no need to use any kind of formality.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="8577" 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/the-sam-state-action-model-pattern-general-discussion-blog-posts-wiki/703/22">Post #21</a>
	                </div>
	            </div>
              <div id="likers-container-8577" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="8577"
                     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 #21"></div>
  </section>
</div>
    <div class="postbit" id="8591" data-post-id="8591">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I did not point out at all what you are pointing out yourself. Please do not try to reduce me to a stooge. I don’t buy the isomorphic paradigm and I don’t want to spend too much time formulating arguments. So I’ll just copy a link:<br>
<a href="https://www.jayway.com/2016/05/23/6-reasons-isomorphic-web-apps-not-silver-bullet-youre-looking/" class="onebox" target="_blank" rel="noopener nofollow ugc">https://www.jayway.com/2016/05/23/6-reasons-isomorphic-web-apps-not-silver-bullet-youre-looking/</a><br>
For me the first reason named in the article is enough. I do not want to be obliged to use node.js and js on the backend.<br>
Edit: this is worth a read also I found <a href="http://www.slideshare.net/GustafKotte/simpler-web-architectures-now-at-the-frontend-2016" class="inline-onebox" rel="noopener nofollow ugc">Client Challenge</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="8591" 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/the-sam-state-action-model-pattern-general-discussion-blog-posts-wiki/703/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-8591" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="8591"
                     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 #22"></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/703/load_more?page=3">Load more posts (27 remaining)</a>
</div></template></turbo-stream>