<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Developer-friendly</title>
    <description>The latest articles on DEV Community by Developer-friendly (@developer-friendly59).</description>
    <link>https://dev.to/developer-friendly59</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4004376%2F4b61e1d8-deef-4c2b-a8ba-905543ad2d1f.png</url>
      <title>DEV Community: Developer-friendly</title>
      <link>https://dev.to/developer-friendly59</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/developer-friendly59"/>
    <language>en</language>
    <item>
      <title>The Algorithm That Refuses to Give a Straight Answer (Just Like My Ex)</title>
      <dc:creator>Developer-friendly</dc:creator>
      <pubDate>Mon, 29 Jun 2026 10:48:15 +0000</pubDate>
      <link>https://dev.to/developer-friendly59/the-algorithm-that-refuses-to-give-a-straight-answer-just-like-my-ex-1e50</link>
      <guid>https://dev.to/developer-friendly59/the-algorithm-that-refuses-to-give-a-straight-answer-just-like-my-ex-1e50</guid>
      <description>&lt;h1&gt;
  
  
  Your Database Is Secretly Saying "I Don't Know" (And That's Genius)
&lt;/h1&gt;

&lt;p&gt;Imagine you're trying to create an Instagram account.&lt;/p&gt;

&lt;p&gt;You type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Username: may_hua
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You click &lt;strong&gt;Check Availability&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;One second later...&lt;/p&gt;

&lt;p&gt;✅ Available!&lt;/p&gt;

&lt;p&gt;Easy.&lt;/p&gt;

&lt;p&gt;But have you ever wondered...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How did Instagram answer that so quickly?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Does it search through hundreds of millions of usernames every single time?&lt;/p&gt;

&lt;p&gt;If yes...&lt;/p&gt;

&lt;p&gt;I hope their database enjoys suffering.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Obvious Solution
&lt;/h2&gt;

&lt;p&gt;Let's pretend we're building our own social media app.&lt;/p&gt;

&lt;p&gt;Our database looks like this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alice
bob
charlie
david
emma
...
500,000,000 more usernames
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Someone types:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;may_hua
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Our program asks the database,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hey... does this username exist?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The database searches.&lt;/p&gt;

&lt;p&gt;It finds the answer.&lt;/p&gt;

&lt;p&gt;Done.&lt;/p&gt;

&lt;p&gt;This works perfectly.&lt;/p&gt;

&lt;p&gt;So...&lt;/p&gt;

&lt;p&gt;Why am I writing a whole blog?&lt;/p&gt;

&lt;p&gt;Because engineers are never satisfied.&lt;/p&gt;

&lt;p&gt;Someone looked at this and said,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Can we make it even faster?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Classic engineer behavior.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Real Problem
&lt;/h2&gt;

&lt;p&gt;Imagine your website becomes famous.&lt;/p&gt;

&lt;p&gt;(Delulu. ✨)&lt;/p&gt;

&lt;p&gt;Now every second,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;20,000 people log in&lt;/li&gt;
&lt;li&gt;10,000 people sign up&lt;/li&gt;
&lt;li&gt;thousands of people search for usernames&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every one of those requests asks the database.&lt;/p&gt;

&lt;p&gt;Even though databases are incredibly fast, millions of unnecessary lookups still consume resources.&lt;/p&gt;

&lt;p&gt;Then one engineer had a weird idea.&lt;/p&gt;

&lt;p&gt;A very weird idea.&lt;/p&gt;




&lt;h1&gt;
  
  
  "What if we don't store the usernames?"
&lt;/h1&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;Wait.&lt;/p&gt;

&lt;p&gt;What?&lt;/p&gt;

&lt;p&gt;Isn't that the whole point?&lt;/p&gt;

&lt;p&gt;Apparently not.&lt;/p&gt;

&lt;p&gt;Welcome to the &lt;strong&gt;Bloom Filter&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Meet the Magic Light Board
&lt;/h2&gt;

&lt;p&gt;Forget databases for a moment.&lt;/p&gt;

&lt;p&gt;Imagine we have a board with only 20 light bulbs.&lt;/p&gt;

&lt;p&gt;Initially they all look like this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪
⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;White means OFF.&lt;/p&gt;

&lt;p&gt;That's all our Bloom Filter has.&lt;/p&gt;

&lt;p&gt;No usernames.&lt;/p&gt;

&lt;p&gt;No text.&lt;/p&gt;

&lt;p&gt;No list.&lt;/p&gt;

&lt;p&gt;Just lights.&lt;/p&gt;

&lt;p&gt;You're probably thinking,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How on earth is this supposed to remember 500 million usernames?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Excellent question.&lt;/p&gt;

&lt;p&gt;It doesn't.&lt;/p&gt;

&lt;p&gt;At least... not directly.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Magical Machine
&lt;/h2&gt;

&lt;p&gt;Now imagine we own a magical machine.&lt;/p&gt;

&lt;p&gt;You put a word into it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apple
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The machine says&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;7
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You put another word.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;banana
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It says&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;15
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Another.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;orange
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It says&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This magical machine is called a &lt;strong&gt;hash function&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It simply converts any text into a number.&lt;/p&gt;

&lt;p&gt;Don't worry about how it works today.&lt;/p&gt;

&lt;p&gt;Just think of it as a machine that loves turning words into numbers.&lt;/p&gt;




&lt;h2&gt;
  
  
  Let's Add Our First Username
&lt;/h2&gt;

&lt;p&gt;Suppose someone creates an account.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alice
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Our magical machine says&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Turn on light #7.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now our board becomes&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;⚪ ⚪ ⚪ ⚪ ⚪ ⚪ 🟢 ⚪ ⚪ ⚪
⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it.&lt;/p&gt;

&lt;p&gt;We don't store&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alice
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We only turned on one light.&lt;/p&gt;

&lt;p&gt;Strange.&lt;/p&gt;

&lt;p&gt;Very strange.&lt;/p&gt;




&lt;h2&gt;
  
  
  But One Light Isn't Enough
&lt;/h2&gt;

&lt;p&gt;Imagine this happens.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alice

↓

7
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then...&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;banana

↓

7
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Uh oh.&lt;/p&gt;

&lt;p&gt;Now both usernames point to the same light.&lt;/p&gt;

&lt;p&gt;Who turned it on?&lt;/p&gt;

&lt;p&gt;Alice?&lt;/p&gt;

&lt;p&gt;Banana?&lt;/p&gt;

&lt;p&gt;The light refuses to answer.&lt;/p&gt;

&lt;p&gt;This is called a &lt;strong&gt;hash collision&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So Bloom Filters do something clever.&lt;/p&gt;

&lt;p&gt;Instead of using &lt;strong&gt;one&lt;/strong&gt; hash function...&lt;/p&gt;

&lt;p&gt;they use &lt;strong&gt;several&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Three Magical Machines
&lt;/h2&gt;

&lt;p&gt;Now we have three machines.&lt;/p&gt;

&lt;p&gt;For the username&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alice
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Machine 1 says&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Machine 2 says&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Machine 3 says&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;17
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of turning on one light...&lt;/p&gt;

&lt;p&gt;we turn on three.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;⚪ ⚪ 🟢 ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ 🟢
⚪ ⚪ ⚪ ⚪ ⚪ ⚪ 🟢 ⚪ ⚪ ⚪
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Alice has left three little fingerprints.&lt;/p&gt;

&lt;p&gt;Not an actual fingerprint.&lt;/p&gt;

&lt;p&gt;Please don't press your thumb on your monitor.&lt;/p&gt;




&lt;h2&gt;
  
  
  Add Another Username
&lt;/h2&gt;

&lt;p&gt;Now someone registers&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bob
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The machines say&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;5

10

19
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Turn those lights on.&lt;/p&gt;

&lt;p&gt;Notice something?&lt;/p&gt;

&lt;p&gt;Light 10 was already ON.&lt;/p&gt;

&lt;p&gt;That's completely fine.&lt;/p&gt;

&lt;p&gt;Lights can be shared.&lt;/p&gt;

&lt;p&gt;Nobody gets jealous.&lt;/p&gt;




&lt;h1&gt;
  
  
  Time for the Big Question
&lt;/h1&gt;

&lt;p&gt;Someone types&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alice
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Does she exist?&lt;/p&gt;

&lt;p&gt;Our three machines produce&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;3

10

17
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's check the lights.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;3 ✅ ON

10 ✅ ON

17 ✅ ON
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Everything is ON.&lt;/p&gt;

&lt;p&gt;The Bloom Filter answers...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🤔 Maybe.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Wait.&lt;/p&gt;

&lt;p&gt;Not...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ Yes?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Nope.&lt;/p&gt;

&lt;p&gt;Only...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🤔 Maybe.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Why?&lt;/p&gt;

&lt;p&gt;Because other usernames might have turned on those same lights.&lt;/p&gt;

&lt;p&gt;The Bloom Filter isn't completely sure.&lt;/p&gt;




&lt;h2&gt;
  
  
  Another Person Arrives
&lt;/h2&gt;

&lt;p&gt;Now someone searches&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;may_hua
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The machines produce&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2

6

11
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's check.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2 ❌ OFF
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Game over.&lt;/p&gt;

&lt;p&gt;The Bloom Filter immediately says&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;❌ Definitely NOT.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It doesn't even bother checking lights 6 or 11.&lt;/p&gt;

&lt;p&gt;One OFF light is enough.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Is It So Confident?
&lt;/h2&gt;

&lt;p&gt;Think about it.&lt;/p&gt;

&lt;p&gt;If &lt;strong&gt;may_hua&lt;/strong&gt; had ever been inserted,&lt;/p&gt;

&lt;p&gt;light #2 would have been turned ON.&lt;/p&gt;

&lt;p&gt;But it's OFF.&lt;/p&gt;

&lt;p&gt;So the username could never have been added.&lt;/p&gt;

&lt;p&gt;It's impossible.&lt;/p&gt;

&lt;p&gt;This is why Bloom Filters can confidently say&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Definitely not."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Weirdest Part
&lt;/h2&gt;

&lt;p&gt;Imagine our database contains only&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alice
bob
charlie
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Their lights accidentally create this pattern.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;3

7

10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now someone searches&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;david
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And...&lt;/p&gt;

&lt;p&gt;surprise!&lt;/p&gt;

&lt;p&gt;David also hashes to&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;3

7

10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every light is ON.&lt;/p&gt;

&lt;p&gt;The Bloom Filter says&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🤔 Maybe.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The database checks.&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;David isn't there.&lt;/p&gt;

&lt;p&gt;Oops.&lt;/p&gt;

&lt;p&gt;The Bloom Filter made a mistake.&lt;/p&gt;

&lt;p&gt;This is called a &lt;strong&gt;false positive&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And believe it or not...&lt;/p&gt;

&lt;p&gt;that's perfectly okay.&lt;/p&gt;




&lt;h2&gt;
  
  
  But Can It Make the Opposite Mistake?
&lt;/h2&gt;

&lt;p&gt;Suppose Alice really exists.&lt;/p&gt;

&lt;p&gt;Can the Bloom Filter ever say&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;❌ Definitely not?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No.&lt;/p&gt;

&lt;p&gt;Never.&lt;/p&gt;

&lt;p&gt;Not even once.&lt;/p&gt;

&lt;p&gt;That's the superpower of a Bloom Filter.&lt;/p&gt;

&lt;p&gt;It can accidentally say&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Maybe"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;when the answer is actually "No."&lt;/p&gt;

&lt;p&gt;But it will never say&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Definitely not"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;when the answer is actually "Yes."&lt;/p&gt;

&lt;p&gt;Computer scientists call this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ No false negatives&lt;/li&gt;
&lt;li&gt;⚠️ Possible false positives&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fancy words.&lt;/p&gt;

&lt;p&gt;Simple idea.&lt;/p&gt;




&lt;h2&gt;
  
  
  So... Why Is This Useful?
&lt;/h2&gt;

&lt;p&gt;Imagine one million username checks.&lt;/p&gt;

&lt;p&gt;Without a Bloom Filter,&lt;/p&gt;

&lt;p&gt;the database receives one million requests.&lt;/p&gt;

&lt;p&gt;With a Bloom Filter,&lt;/p&gt;

&lt;p&gt;maybe 990,000 of them are answered immediately with&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;❌ Definitely not.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Only the remaining requests need to reach the database.&lt;/p&gt;

&lt;p&gt;Less work.&lt;/p&gt;

&lt;p&gt;Less waiting.&lt;/p&gt;

&lt;p&gt;Happier servers.&lt;/p&gt;

&lt;p&gt;Probably happier engineers too.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where Is This Used?
&lt;/h2&gt;

&lt;p&gt;Bloom Filters quietly work behind the scenes in many large systems.&lt;/p&gt;

&lt;p&gt;They're used in things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Google Chrome Safe Browsing&lt;/li&gt;
&lt;li&gt;Large databases&lt;/li&gt;
&lt;li&gt;Distributed caches&lt;/li&gt;
&lt;li&gt;Search engines&lt;/li&gt;
&lt;li&gt;Storage systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They all use the same idea:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"If we already know something definitely doesn't exist, why waste time asking again?"&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;When I first learned about Bloom Filters, I expected another complicated algorithm full of scary mathematics.&lt;/p&gt;

&lt;p&gt;Instead, I found something beautifully simple.&lt;/p&gt;

&lt;p&gt;It doesn't try to know everything.&lt;/p&gt;

&lt;p&gt;It only tries to eliminate impossible answers.&lt;/p&gt;

&lt;p&gt;Sometimes the smartest answer isn't&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Yes."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It's simply&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I'm absolutely sure the answer is no."&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>programming</category>
      <category>datastructures</category>
      <category>algorithms</category>
      <category>security</category>
    </item>
    <item>
      <title>What is Array? 🤔</title>
      <dc:creator>Developer-friendly</dc:creator>
      <pubDate>Fri, 26 Jun 2026 17:46:45 +0000</pubDate>
      <link>https://dev.to/developer-friendly59/what-is-array-2g40</link>
      <guid>https://dev.to/developer-friendly59/what-is-array-2g40</guid>
      <description>&lt;p&gt;Think of an array as a box with lots of little compartments. 😄 You can store a piece of data in each compartment.&lt;/p&gt;

&lt;p&gt;For example, if you have an array like &lt;code&gt;[1, 2, 3, 4]&lt;/code&gt;, the values &lt;code&gt;1&lt;/code&gt;, &lt;code&gt;2&lt;/code&gt;, &lt;code&gt;3&lt;/code&gt;, and &lt;code&gt;4&lt;/code&gt; are called &lt;strong&gt;elements&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Each compartment also has a number called an &lt;strong&gt;index&lt;/strong&gt;, and the index always starts from &lt;code&gt;0&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
 &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So, the element at index &lt;code&gt;0&lt;/code&gt; is &lt;code&gt;1&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Let's look at another example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;fruits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;apple&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;orange&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;grape&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want to get &lt;code&gt;"apple"&lt;/code&gt;, you can simply write:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;fruits&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want &lt;code&gt;"grape"&lt;/code&gt;, you can write:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;myFruit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;fruits&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;myFruit&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output will be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="s2"&gt;"grape"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🍇&lt;/p&gt;

&lt;p&gt;So, when do we use arrays?&lt;/p&gt;

&lt;p&gt;Arrays are very useful when you want to store data in order and access each item by its position.&lt;/p&gt;

&lt;p&gt;The best part is that JavaScript already provides arrays as a built-in data structure, so you can start using them right away without creating your own.&lt;/p&gt;

&lt;p&gt;That's all for today! See you next week 😉&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
