Skip to content

Commit 8f83784

Browse files
link fix
1 parent 82ce8e6 commit 8f83784

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

content/posts/information_chaining_part_1.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ series: ["Open Cybernetics"]
1919

2020
“Information Chaining” is a new family of erasure codes developed at [Open Cybernetics](https://opencybernetics.io). Some variants are rateless; others are fixed-rate. In this series, we’ll explore the different *flavors* of Information Chaining. While later versions are substantially more performant and no longer rely on approximate membership query (AMQ) filters, we begin with the Bloom filter–based variant because it offers the most intuitive entry point into the core idea. It’s also how the concept originally came about.
2121

22-
Throughout the series, I’ll include examples written in [Zig](https://ziglang.org/) (version `0.15.2`). All the code shown here is open source; you can find it in the blog’s GitHub [repository](link). If you’d like to learn more about our work and philosophy, visit [our blog](https://blog.opencybernetics.io/post/who_holds_the_control/). And if Zig sparks joy for you the way it does for us, consider supporting the [Zig Software Foundation](https://ziglang.org/zsf/).
22+
Throughout the series, I’ll include examples written in [Zig](https://ziglang.org/) (version `0.15.2`). All the code shown here is open source; you can find it in the blog’s GitHub [repository](https://github.com/ChainlessCoder/ChainlessCoder.github.io/tree/main/code_examples/zig/information_chaining_part_1/src). If you’d like to learn more about our work and philosophy, visit [our blog](https://blog.opencybernetics.io/post/who_holds_the_control/). And if Zig sparks joy for you the way it does for us, consider supporting the [Zig Software Foundation](https://ziglang.org/zsf/).
2323

2424

2525
# Bloom Filters

docs/posts/let-it-bloom-the-seeds-of-information-chaining-part-1/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ <h1 class="title">Let It Bloom: The Seeds of Information Chaining (Part 1)</h1>
145145

146146
<hr>
147147
<p>“Information Chaining” is a new family of erasure codes developed at <a href="https://opencybernetics.io" target="_blank" rel="noopener">Open Cybernetics</a>. Some variants are rateless; others are fixed-rate. In this series, we’ll explore the different <em>flavors</em> of Information Chaining. While later versions are substantially more performant and no longer rely on approximate membership query (AMQ) filters, we begin with the Bloom filter–based variant because it offers the most intuitive entry point into the core idea. It’s also how the concept originally came about.</p>
148-
<p>Throughout the series, I’ll include examples written in <a href="https://ziglang.org/" target="_blank" rel="noopener">Zig</a> (version <code>0.15.2</code>). All the code shown here is open source; you can find it in the blog’s GitHub <a href="link">repository</a>. If you’d like to learn more about our work and philosophy, visit <a href="https://blog.opencybernetics.io/post/who_holds_the_control/" target="_blank" rel="noopener">our blog</a>. And if Zig sparks joy for you the way it does for us, consider supporting the <a href="https://ziglang.org/zsf/" target="_blank" rel="noopener">Zig Software Foundation</a>.</p>
148+
<p>Throughout the series, I’ll include examples written in <a href="https://ziglang.org/" target="_blank" rel="noopener">Zig</a> (version <code>0.15.2</code>). All the code shown here is open source; you can find it in the blog’s GitHub <a href="https://github.com/ChainlessCoder/ChainlessCoder.github.io/tree/main/code_examples/zig/information_chaining_part_1/src" target="_blank" rel="noopener">repository</a>. If you’d like to learn more about our work and philosophy, visit <a href="https://blog.opencybernetics.io/post/who_holds_the_control/" target="_blank" rel="noopener">our blog</a>. And if Zig sparks joy for you the way it does for us, consider supporting the <a href="https://ziglang.org/zsf/" target="_blank" rel="noopener">Zig Software Foundation</a>.</p>
149149
<h1 id="bloom-filters">Bloom Filters <a href="#bloom-filters" class="anchor">🔗</a></h1><p>Before we continue, let’s refresh our understanding of what Bloom filters are and how they work. A Bloom filter is a simple, space-efficient probabilistic data structure that allows us to quickly test whether an element is part of a set. Initialization is straightforward: we define a bit array of size $m$, initialized with all bits set to zero, and select $k$ independent hash functions. These hash functions don’t need to be cryptographically secure, just fast and reasonably uniform. To populate a Bloom filter, we perform the following steps:</p>
150150
<ul>
151151
<li>Hash an element using the $k$ hash functions, generating $k$ hashes.</li>

0 commit comments

Comments
 (0)