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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I understand that you have a good idea of the tradeoffs here. What I am trying to tell you is that the average developer does <em>not</em> have a good understanding of the performance issues caused by ids that are not k-sortable and will simply assume this library solves them. Which it <em>does</em>, but not in the configuration suggested at the top of the README, which is the one those users will <em>assume</em> is the recommended default.</p>
<p>However I see you actually removed those performance claims from the README yesterday so I suppose that’s a fair enough compromise!</p>
<aside class="quote no-group" data-username="jechol" data-post="12" data-topic="72880">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jechol/48/39260_2.png" class="avatar"> jechol:</div>
<blockquote>
<p>Different scales need different solutions.</p>
</blockquote>
</aside>
<p>I am aware there are use-cases which can get by with 4-byte ids (or less!), but in the past this has caused substantial problems. Libraries like Rails/ActiveRecord defaulted to 4-byte ids and many did not anticipate how many rows they would end up having, leading to difficult migrations.</p>
<p>It’s entirely possible to design a database which makes it easy to migrate this BTW, it’s just that Postgres specifically does not handle it well and it has caused a huge amount of trouble in the past. For <em>most</em> use-cases 64 bits is fine. If you know what you’re doing then of course you can exercise good judgement.</p>
<aside class="quote no-group" data-username="jechol" data-post="12" data-topic="72880">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jechol/48/39260_2.png" class="avatar"> jechol:</div>
<blockquote>
<p>You can’t say “your approach isn’t wrong” and then tell me what I “want” to do in the same sentence.</p>
</blockquote>
</aside>
<p>This is just a manner of speaking. It does not refer to <em>you</em> literally. <a href="https://en.wikipedia.org/wiki/Generic_you" rel="noopener nofollow ugc">English is a ridiculous language</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="375829" 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/feistelcipher-ashfeistelcipher-encrypted-integer-ids-using-feistel-cipher/72880/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-375829" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375829"
                     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="375844" data-post-id="375844">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This may be interesting to you, introduced just a month ago.</p>
<h1><a name="p-375844-uuidv47statelessmehttpsuuidv47statelessme-1" class="anchor" href="#p-375844-uuidv47statelessmehttpsuuidv47statelessme-1" aria-label="Heading link" rel="nofollow"></a><a href="https://uuidv47.stateless.me/" rel="noopener nofollow ugc">uuidv47.stateless.me</a></h1>
<ul>
<li>v7 in your DB, v4 on the wire</li>
<li>UUIDv7 is time-ordered → better index locality &amp; pagination</li>
<li>façade hides timing patterns and looks like v4 to clients</li>
<li>uses a PRF (SipHash-2-4); avoids non-crypto hashes</li>
</ul>
<p><a href="https://github.com/stateless-me/uuidv47" rel="noopener nofollow ugc">github.com/stateless-me/uuidv47</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="375844" 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/feistelcipher-ashfeistelcipher-encrypted-integer-ids-using-feistel-cipher/72880/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-375844" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="375844"
                     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>