<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=19threader</id>
		<title>explain xkcd - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=19threader"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/19threader"/>
		<updated>2026-04-16T08:53:14Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1306:_Sigil_Cycle&amp;diff=55758</id>
		<title>1306: Sigil Cycle</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1306:_Sigil_Cycle&amp;diff=55758"/>
				<updated>2013-12-22T10:00:37Z</updated>
		
		<summary type="html">&lt;p&gt;19threader: noting location on sine wave of data labels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1306&lt;br /&gt;
| date      = December 20, 2013&lt;br /&gt;
| title     = Sigil Cycle&lt;br /&gt;
| image     = sigil_cycle.png&lt;br /&gt;
| titletext = The cycle seems to be 'we need these symbols to clarify what types of things we're referring to!' followed by 'wait, it turns out words already do that.'&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
In {{w|computer programming}}, a variable is a way of storing information temporarily, for use later in the program. There are different types of variables, called {{w|Data type|data types}}, such as integers, strings, characters, and booleans, all of them holding different types of information. Integers hold whole numbers, strings hold text, and so on. Variables traditionally have names that identify their purpose, and a programmer should usually be able to infer from this variable name what type of variable it is. For example, if you want to store the name of the customer in a catalogue service, you might store the text in a string variable called &amp;quot;NameOfCustomer&amp;quot;. Because it is fairly clear that names are made up of text, it is logical that this variable would be a string variable - if you didn't have any other information about it. &lt;br /&gt;
&lt;br /&gt;
A {{w|Sigil (computer programming)|sigil}} in computer programming is a symbol that appears before the variable name. It is an alternative method of telling someone who is reading the program code what data type the variable is. Rather than relying on logic, then, to know that NameOfCustomer is a string, you might use a sigil &amp;quot;$&amp;quot; before the variable name, as in $NameOfCustomer, which would specify that the variable can hold text. Sigils can also specify the {{w|Scope (computer science)|scope}} of a variable, which refers to where the variable can be used in a program, and which parts of the program can access that variable. Sigils are useful in some ways because you don't have to refer to previous program code or find where the variable is declared (created) to know what data type it is. They also provide some level typing in languages that do not explicitly declare the type of the variable.&lt;br /&gt;
&lt;br /&gt;
Most {{w|Programming language|programming languages}} have a different method for storing variables, although some languages may use the same variable types under different names. The following are the programming languages referenced in the comic and how they use variables.&lt;br /&gt;
&lt;br /&gt;
;{{w|QBASIC}}&lt;br /&gt;
:Variables of type string end with the $ symbol. Other symbols are used (% for integers, ! for single-precision, # for double-precision and, in some versions of BASIC, &amp;amp; for long integers), however the usual QBASIC program will use only the $ symbol and not any of the others, as the default type if no symbol is used is double-precision and that's OK for most numeric uses.&lt;br /&gt;
&lt;br /&gt;
;{{w|C++}}&lt;br /&gt;
:Pronounced &amp;quot;see plus plus.&amp;quot; Variables are just words with regular letters. Ironically, it is the name of the language itself that includes symbols.&lt;br /&gt;
&lt;br /&gt;
;{{w|bash (Unix shell)|bash}}&lt;br /&gt;
:This is not typically thought of as a full-featured programming language, but a Unix shell. However, the shell command syntax is rich enough to be able to write simple (and sometimes really complex) programs called shell-scripts. In this language, all variable dereferences start with the symbol $.&lt;br /&gt;
&lt;br /&gt;
;{{w|Perl}}&lt;br /&gt;
:In Perl, variables of simple types, and references to items in arrays and hashes, start with $. Arrays start with @. Hashes start with %.&lt;br /&gt;
&lt;br /&gt;
;{{w|Python (programming language)|Python}}&lt;br /&gt;
:Variables are just words with regular letters.&lt;br /&gt;
&lt;br /&gt;
;{{w|Google}}&lt;br /&gt;
:In the beginning, Google was only a search engine. However, it now includes many things, in particular a social network called Google+ (pronounced &amp;quot;google plus&amp;quot;). Google+ accounts are referenced with a + prefix.&lt;br /&gt;
&lt;br /&gt;
;{{w|Twitter}}&lt;br /&gt;
:Twitter account IDs are identified by the leading symbol @. When an account is &amp;quot;mentioned&amp;quot; in a tweet using @, it triggers smart behavior. For example, account owners can configure Twitter to forward tweets that mention them. This feature was not present in the early days of Twitter.&lt;br /&gt;
&lt;br /&gt;
;{{w|Hashtag}}s&lt;br /&gt;
:In 2007 Twitter users began a convention that a # sign (whose {{w|Number sign|many names}} include the &amp;quot;hash&amp;quot;) can be prepended to words to mark them as keywords. Twitter could then be searched for those words.  In 2009 Twitter recognized the existence of hashtags and began hyperlinking them.  Some other microblogging services followed suit.  Google+ eventually added hashtag support as did Facebook.&lt;br /&gt;
&lt;br /&gt;
As is noted by the comic, the use of sigils to indicate types of variables varies between programming languages, from strict enforcement in languages like Perl, to their complete absence in languages like C++ (but see  {{w|Hungarian Notation}}).  The comic notes that the use of sigils seems to be cyclic, especially if you count things like hashtags as extensions of the pattern.&lt;br /&gt;
&lt;br /&gt;
The title text describes the two competing influences responsible for the cycle:  The first impulse finds sigils useful to elucidate the type of the variable, especially when variable names are not very descriptive, while the latter impulse notes that descriptive variable names are much more useful for that purpose, especially in extensible languages where the built-in types form only a small part of the type system.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:A sine wave is shown.&lt;br /&gt;
:Y axis: Odds that the words I type will start with some weird symbol&lt;br /&gt;
:X axis: Time&lt;br /&gt;
:Data labels: [at first peak] $QBASIC, [at first trough] C++, [at second peak] $BASH, @$PERL, [at second trough] PYTHON, [at third peak] +GOOGLE, @TWITTER, #HASHTAGS&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
[[Category:Charts]]&lt;br /&gt;
[[Category:Computers]]&lt;br /&gt;
[[Category:Comics presenting a compromise]]&lt;br /&gt;
[[Category:Internet]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Social networking]]&lt;/div&gt;</summary>
		<author><name>19threader</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1194:_Stratigraphic_Record&amp;diff=32492</id>
		<title>1194: Stratigraphic Record</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1194:_Stratigraphic_Record&amp;diff=32492"/>
				<updated>2013-04-04T20:40:54Z</updated>
		
		<summary type="html">&lt;p&gt;19threader: made capitalization consistent with subsequent quotation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1194&lt;br /&gt;
| date      = April 3, 2013&lt;br /&gt;
| title     = Stratigraphic Record&lt;br /&gt;
| image     = stratigraphic record.png&lt;br /&gt;
| titletext = All we have are these stupid tantalizing zircons and the scars on the face of the Moon.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
We have no rock formations on Earth older than about 3.5 billion years, because everything solid from before that time has been {{w|Subduction|subducted}} down into the {{w|Mantle (geology)|Earth's mantle}}, by {{w|Plate tectonics|tectonic movement}}. The title text hints at the cooler {{w|Moon}} which stopped re-melting its surface much sooner, so we theoretically could learn something about Earth’s history from examining our Moon’s surface and makeup. {{w|Zircon|Zircons}} are a type of mineral found in the {{w|Crust (geology)|Earth’s crust}}, some of which have been estimated to be as old as 4.4 billion years, older than any other mineral.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:[Image of the earth from space.]&lt;br /&gt;
:Nearly 4.5 billion years ago, Earth had liquid water.&lt;br /&gt;
:But all the crust older than 3.5 billion years has been recycled into the mantle by subduction.&lt;br /&gt;
&lt;br /&gt;
:A billion years of the stratigraphic record, the memory of the hills, is forever lost to us.&lt;br /&gt;
:What was it ''like'' here, four billion years ago?&lt;br /&gt;
&lt;br /&gt;
:Earth,&lt;br /&gt;
:What ''secrets'' do you have?&lt;br /&gt;
&lt;br /&gt;
:Earth: come closer&lt;br /&gt;
&lt;br /&gt;
:[Zoom in on the Earth.]&lt;br /&gt;
&lt;br /&gt;
:Earth: ''i'll never tell.''&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
[[Category:Comics with color]]&lt;/div&gt;</summary>
		<author><name>19threader</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1192:_Humming&amp;diff=31810</id>
		<title>1192: Humming</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1192:_Humming&amp;diff=31810"/>
				<updated>2013-03-30T04:26:15Z</updated>
		
		<summary type="html">&lt;p&gt;19threader: added SoundHound mention, because it is a mobile phone app that does humming recognition, as depicted in the comic -- unlike MusicBrain which appears limited to web&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1192&lt;br /&gt;
| date      = March 29, 2013&lt;br /&gt;
| title     = Humming&lt;br /&gt;
| image     = humming.png&lt;br /&gt;
| titletext = I'm so bad at carrying a tune, those 'find a song by humming its melody' websites throw an HTTP 406 error as soon as I start to hum.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
Services like {{w|MusicBrainz}} and {{w|SoundHound}} can detect a recorded song's {{w|acoustic fingerprint}} and match it with an existing song. This lets them identify the title and artist of an unnamed recorded musical extract. In this comic, [[Megan]] hacks the acoustic fingerprint database to add her own entry with a message to [[Cueball]], in which she asks him to buy cat food.&lt;br /&gt;
&lt;br /&gt;
HTTP error code 406 means Not Acceptable (which doesn't mean that content ''sent'' is unacceptable type, but that server doesn't serve content that fits client `Accept` header; '406 Not Acceptable' is returned by the server when it can't respond based on accepting the request headers (e.g. they have an `Accept` header which states they only want XML, and server outputs only JSON)).&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:[Megan is humming a tune.]&lt;br /&gt;
:Cueball: Hey.&lt;br /&gt;
:Cueball: What's that?&lt;br /&gt;
&lt;br /&gt;
:[Megan is still humming the same tune.]&lt;br /&gt;
:Cueball: What are you hummming?&lt;br /&gt;
:Cueball: Should I know the tune?&lt;br /&gt;
:Cueball: ...Hmm...&lt;br /&gt;
&lt;br /&gt;
:[Cueball gets out his phone and opens up a music recognition program.]&lt;br /&gt;
:Phone: Identify song recorded.&lt;br /&gt;
:Phone: &amp;gt;Live [beta]&lt;br /&gt;
&lt;br /&gt;
:Phone: Identifiying...&lt;br /&gt;
&lt;br /&gt;
:[A zoom in on the phone screen. An album cover with a picture of Megan on it.]&lt;br /&gt;
:Positive match:&lt;br /&gt;
:''Check it out!''&lt;br /&gt;
:By I hacked the audio fingerprint database&lt;br /&gt;
:Feat. MEEEEEE&lt;br /&gt;
:Track: We're out of cat food (pick some up?)&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
[[Category:Comics featuring Megan]]&lt;br /&gt;
[[Category:Comics featuring Cueball]]&lt;br /&gt;
[[Category:Music]]&lt;/div&gt;</summary>
		<author><name>19threader</name></author>	</entry>

	</feed>