Difference between revisions of "Main Page"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
(Happily, we')
m (Protected "Main Page": Excessive vandalism ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(78 intermediate revisions by 10 users not shown)
Line 1: Line 1:
__NOTOC__
+
__NOTOC__{{DISPLAYTITLE:explain xkcd}}
{{DISPLAYTITLE:explain xkcd}}
 
 
 
 
<center>
 
<center>
<big>''Welcome to the '''explain xkcd''' wiki!''
+
<font size=5px>''Welcome to the '''explain [[xkcd]]''' wiki!''</font><br>
We already have [[:Category:Comics|'''{{#expr:{{PAGESINCAT:Comics}}-3}}''' comic explanations]]!</big>
+
We have an explanation for all [[:Category:All comics|'''{{#expr:{{PAGESINCAT:All comics|R}}-1}}''' xkcd comics]],
 
+
<!-- Note: the -1 in the calculation above is to discount "comic" 404,
(But there are still {{#expr:{{LATESTCOMIC}}-({{PAGESINCAT:Comics}}-3)}} to go. Come and [[List of all comics|add yours]]!)
+
    which is not really a comic, even though we've categorised it so. -->
 +
and only {{PAGESINCAT:Incomplete explanations|R}}
 +
({{#expr: {{PAGESINCAT:Incomplete explanations|R}} / {{LATESTCOMIC}} * 100 round 0}}%) [[:Category:Incomplete explanations|are incomplete]]. Help us finish them!
 
</center>
 
</center>
 
 
== Latest comic ==
 
== Latest comic ==
 
 
<div style="border:1px solid grey; background:#eee; padding:1em;">
 
<div style="border:1px solid grey; background:#eee; padding:1em;">
<span style="float:right;">[[{{LATESTCOMIC}}|'''Go to this comic''']]</span>
+
<span style="float:right;">[[{{LATESTCOMIC}}|'''Go to this comic explanation''']]</span>
 
<br clear="right">
 
<br clear="right">
{{:{{LATESTCOMIC}}}}
+
{{:{{LATESTCOMIC}}}}</div>
{{#ifexist:Talk:{{LATESTCOMIC}}|<h2>Discussion</h2>
+
 
{{Talk:{{LATESTCOMIC}}}}
+
<small>''Is this out of date? {{Purge|Clicking here will fix that}}.''</small>
}}</div>
 
  
 
== New here? ==
 
== New here? ==
Feel free to sign up for an account and contribute to the explain xkcd wiki!  We need explanations for comics, characters, themes, memes and everything in between.  If it is referenced in an [http://www.xkcd.com xkcd] web comic, it should be here.
+
<div style="float:right; margin: 0 0 1em 1em">{{Special:ContributionScores/10/7/nosort,notools}}<div style="font-size:0.85em; width:25em; font-style:italic">[[Special:ContributionScores|Lots of people]] contribute to make this wiki a success. Many of the recent contributors, listed above, have [http://www.explainxkcd.com/wiki/index.php?title=Special%3AContributions&contribs=newbie just joined]. You can do it too! Create your account [[Special:UserLogin/signup|here]].</div></div>
  
* If you're new to wikis like this, take a look at these help pages describing [[mw:Help:Navigation|how to navigate]] the wiki, and [[mw:Help:Editing pages|how to edit]] pages.
+
You can read a brief introduction about this wiki at [[explain xkcd]]. Feel free to [[Special:UserLogin/signup|sign up for an account]] and contribute to the wiki! We need explanations for [[:Category:Incomplete explanations|comics]], [[:Category:Characters|characters]], [[:Category:Comics by topic|themes]] and [[:Category:Meta|everything in between]]. If it is referenced in an [[xkcd]] web comic, it should be here.
  
* Discussion about various parts of the wiki is going on at [[Explain XKCD:Community portal]]. Share your 2¢!
+
* If you're new to wiki editing, see the [[explain xkcd:Editor FAQ]] for a specific guidance to this Wiki and the more general help on [[mw:Help:Editing pages|how to edit wiki pages]]. There's also a handy {{w|Help:Cheatsheet|wikicode cheatsheet}}.
  
* [[List of all comics]] contains a complete table of all xkcd comics so far and the corresponding explanations. The red links ([[like this]]) are missing explanations. Feel free to help out by creating them!
+
* Discussion about the wiki itself happens at the [[explain xkcd:Community portal|Community portal]].
 +
 
 +
* You can browse the comics from [[List of all comics]] or by navigating the category tree at [[:Category:Comics]].
 +
 
 +
* There are incomplete explanations listed [[:Category:Incomplete explanations|here]]. Feel free to help out by expanding them!
  
 
== Rules ==
 
== Rules ==
Don't be a jerk.  There are a lot of comics that don't have set in stone explanations, feel free to put multiple interpretations in the wiki page for each comic.
 
  
If you want to talk about a specific comic, use its discussion page.
+
Don't be a jerk!
  
Please only submit material directly related to&mdash;and helping everyone better understand&mdash;xkcd... and of course ''only'' submit material that can legally be posted (and freely edited.)  Off-topic or other inappropriate content is subject to removal or modification at admin discretion, and users posting such are at risk of being blocked.
+
There are a lot of comics that don't have set-in-stone explanations; feel free to put multiple interpretations in the wiki page for each comic.
  
If you need assistance from an admin, feel free to leave a message on their personal discussion page. The list of admins is [[Special:ListUsers/sysop|here]].
+
If you want to talk about a specific comic, use its discussion page.
  
== Logo ==
+
Please only submit material directly related to (and helping everyone better understand) xkcd... and of course ''only'' submit material that can legally be posted (and freely edited).  Off-topic or other inappropriate content is subject to removal or modification at admin discretion, and users who repeatedly post such content will be blocked.
  
Explain xkcd logo courtesy of [[User:Alek2407]].
+
If you need assistance from an [[explain xkcd:Administrators|admin]], post a message to the [[explain xkcd:Community portal/Admin requests|Admin requests]] board.
  
 
[[Category:Root category]]
 
[[Category:Root category]]

Latest revision as of 07:50, 17 April 2024

Welcome to the explain xkcd wiki!
We have an explanation for all 2934 xkcd comics, and only 6 (0%) are incomplete. Help us finish them!

Latest comic

Go to this comic explanation

Bloom Filter
Sometimes, you can tell Bloom filters are the wrong tool for the job, but when they're the right one you can never be sure.
Title text: Sometimes, you can tell Bloom filters are the wrong tool for the job, but when they're the right one you can never be sure.

Explanation

Ambox notice.png This explanation may be incomplete or incorrect: PROBABLY CREATED - Please change this comment when editing this page. Do NOT delete this tag too soon.

The comic is referring to a Bloom Filter, a data structure that is used for approximate membership queries and cardinality estimation using a bounded amount of memory. That is, after a series of objects are added to the bloom filter, given another object, the bloom filter can be queried to see if that object has already been added to it, with a chance of a false positive answer that depends on the size of the bloom filter. Or, the bloom filter can be queried for an approximate count of the objects that have been added to the bloom filter already.

A bloom filter uses a large bit array, and a number of hashing functions that produce indexes into this array. When a value is added to the set, it's hashed with each function, and the corresponding bits in the array are set to 1. To test if a value is in the set you hash it with all the functions, and check if all the bits are 1. If they are, the value may be in the set, but there can also be false positives because each hash collides with some other value in the set (assuming reasonable hash functions, a different element for each hash). But if any of the bits is 0, you know for sure the value is not in the set. The higher the ratio between the size of the bit array and the number of elements in the set, the smaller the false positive rate is (10 bits/element has about 1% false positives.

The joke in the comic is that Cueball has a 1-bit Bloom filter. When the set is empty, it accurately reports that any value is not in the set. But as soon as anything is added to the set, it has a very large false positive rate, since that single bit will be set and everything will hash to that index. Similarly the cardinality estimation is (correctly) 0 initially, but after the first addition the estimate will be "somewhere between 1 and infinity" which is not a terribly useful estimate.

There's also no point in having multiple hash functions for a 1-bit filter, since there's only one possible hash value.

The title text references how bloom filters are always accurate in saying that an element is not in the list (bloom filters are not correct), but you can never be sure if an element is actually in the list (when a bloom filter actually is correct), because of false positives.

Transcript

Ambox notice.png This transcript is incomplete. Please help editing it! Thanks.
[Ponytail holds out her hand to Cueball, who is holding a paper with a 1 on it.]
Ponytail: Does your set contai-
Cueball: Yeah, probably.
[Caption below the panel:]
One-Bit Bloom Filter


Is this out of date? Clicking here will fix that.

New here?

Last 7 days (Top 10)

Lots of people contribute to make this wiki a success. Many of the recent contributors, listed above, have just joined. You can do it too! Create your account here.

You can read a brief introduction about this wiki at explain xkcd. Feel free to sign up for an account and contribute to the wiki! We need explanations for comics, characters, themes and everything in between. If it is referenced in an xkcd web comic, it should be here.

  • There are incomplete explanations listed here. Feel free to help out by expanding them!

Rules

Don't be a jerk!

There are a lot of comics that don't have set-in-stone explanations; feel free to put multiple interpretations in the wiki page for each comic.

If you want to talk about a specific comic, use its discussion page.

Please only submit material directly related to (and helping everyone better understand) xkcd... and of course only submit material that can legally be posted (and freely edited). Off-topic or other inappropriate content is subject to removal or modification at admin discretion, and users who repeatedly post such content will be blocked.

If you need assistance from an admin, post a message to the Admin requests board.