<?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=172.69.194.19</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=172.69.194.19"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/172.69.194.19"/>
		<updated>2026-06-25T17:15:58Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=673:_The_Sun&amp;diff=378717</id>
		<title>673: The Sun</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=673:_The_Sun&amp;diff=378717"/>
				<updated>2025-06-01T11:27:16Z</updated>
		
		<summary type="html">&lt;p&gt;172.69.194.19: /* Explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 673&lt;br /&gt;
| date      = December 9, 2009&lt;br /&gt;
| title     = The Sun&lt;br /&gt;
| image     = the_sun.png&lt;br /&gt;
| titletext = Obligatory bad guy: This operation is sheer foolishness, and it's not happening on my watch! Mainly because I can't figure out how to adjust the time.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
This comic makes fun of {{w|science fiction}} {{w|disaster movies}}, especially the 2003 film ''{{w|The Core}}'' in which a group of scientists travel through the Earth's mantle to place a series of nuclear devices in order to speed up the slowing rotation of the Earth's core and prevent a complete collapse of Earth's magnetic field. The comic is also a pun on &amp;quot;Daylight Saving Time&amp;quot;, using it to mean saving the Sun's light rather than its usual meaning of the semi-annual shift in clocks to &amp;quot;save&amp;quot; daylight for a more useful part of the day.&lt;br /&gt;
&lt;br /&gt;
This comic presents the next film from the makers of ''The Core''. In this case an astronomer, [[Ponytail]], discovers that the Sun's fusion is failing. The two [[Cueball]]-like guys behind her are not impressed; one is disbelieving and the other is not interested (&amp;quot;whatever&amp;quot;). But then Ponytail rallies them by pointing out the impeding doom for Earth and they call {{w|NASA}}. A group of astronauts at NASA takes the call and the leader (another Cueball-like guy) describes what could happen in trailer-like fashion:&lt;br /&gt;
*The earth bathed in eternal darkness? &lt;br /&gt;
*A night without a dawn? Not on my watch! &lt;br /&gt;
Then he tells his team of astronauts - a fourth Cueball-like guy, [[Megan]] and another Ponytail - to &amp;quot;saddle up&amp;quot;, and the comic finishes with the poster (a copy of the one for The Core with the Sun in place of the Earth's mantle) of this new movie called ''The Sun'' (hence the title of the comic) with two taglines:&lt;br /&gt;
*It's Daylight Saving Time. &lt;br /&gt;
*Never fall back. &lt;br /&gt;
&lt;br /&gt;
The movie describes a scenario in which &amp;quot;the Sun's fusion is failing&amp;quot;. This is in fact the exact plot of the British science fiction film  ''{{w|Sunshine (2007 film)|Sunshine}}'' from 2007, released two years before this comic, which was about a group of astronauts sent on a mission to reignite a dying {{w|Sun}} with a battery of nuclear bombs. &lt;br /&gt;
&lt;br /&gt;
The {{w|Sun}}'s energy comes from {{w|nuclear fusion}} reactions among the extremely hot, dense hydrogen nuclei in its core. The idea of the Sun's fusion failing is rather ridiculous from a scientific perspective, because the fusion reactions are well understood and the Sun has enough hydrogen to fuel it for about 5 billion more years. Even if a sun's hydrogen was getting low, it would {{w|Star#Post–main sequence|start fusing helium}} and begin expanding into a {{w|red giant}}. This would then make the Earth uninhabitable. In other words, if the Sun stopped fusing, we wouldn't have to worry about less sunlight, we would have to worry about more. &lt;br /&gt;
&lt;br /&gt;
In any case, it appears to be failing and the solution is to send a team of astronauts to the Sun to restart the fusion. The team leader is motivated by concern that if the Sun's fusion stops, there will be no more light, and so the earth will be in perpetual darkness.&lt;br /&gt;
&lt;br /&gt;
The poster in the final panel gives the movies two taglines, both puns. {{w|Daylight saving time}} (DST) refers both to the policy of changing clocks and to the scenario in this movie in which it is time for the team to literally save the Sun's daylight from being extinguished. &amp;quot;Never fall back&amp;quot; is an additional word play on the {{w|mnemonic}} used (in the States at least) to remember the direction to change clocks. The mnemonic, {{w|Spring forward, fall back#Terminology|&amp;quot;spring forward, fall back&amp;quot;}} indicates that in the springtime, clocks get set ahead by an hour, while in fall the clocks are set backwards an hour. The phrase &amp;quot;fall back&amp;quot;, however, can also mean to retreat from a battle.&lt;br /&gt;
&lt;br /&gt;
[[Randall]] seems to believe that DST makes little sense today and he has made it clear in [[:Category:Daylight saving time|several comics]] that he is not a fan — or at least not a fan of the twice-yearly transitions between the two semi-arbitrary time standards. As DST is the main joke of the comic (and the title of the next movie), the comment from the astronaut about this not happening &amp;quot;on my watch&amp;quot; may be a pun relating to his wristwatch. He would not wish to have DST on his watch! This meaning is made clear in the title text (see below).&lt;br /&gt;
&lt;br /&gt;
The comic makes fun of these disaster movies in a couple of ways. The characters in the first panel acknowledge that the scenario doesn't make sense scientifically, but are prepared to sacrifice scientific value for the plot. Also, in the second panel, the team is to be composed of {{w|NASA}}'s &amp;quot;hottest astronauts&amp;quot;, which makes fun of the fact that the characters in movies are much more attractive than average, and the fact that they will be much hotter when they reach the Sun. The team leader expresses his concern with a few buzz phrases often used in such films.&lt;br /&gt;
&lt;br /&gt;
An alternative explanation, which would make sense scientifically, is that the Sun had never stopped working, and Ponytail merely assumed that something was wrong with the Sun when the sunrise did not occur at its normal time, but that was only because the clocks had been sent an hour ahead for DST, and not because of anything wrong with the Sun, which continued working properly, oblivious to earth clocks.&lt;br /&gt;
&lt;br /&gt;
The title text continues the lunacy (solacy?) of the situation with the cliché of the &amp;quot;obligatory bad guy&amp;quot; (or perhaps some version of {{tvtropes|DaChief|inflexible manager}}) — a person in the plot who acts antagonistic, often for the flimsiest of reasons. There is also the common complaint, especially among the technologically inept, that he can't figure out how to change the time, relating back to DST, and using the phrase &amp;quot;on my watch&amp;quot; as a pun here (if you interpret &amp;quot;watch&amp;quot; in the sense of a wristwatch). The phrase &amp;quot;on my watch&amp;quot; was used in the comic itself, but it isn't clear whether it was intended as a pun. It's possible that Randall realized he missed his chance to make a great pun with that phrase, inspiring the title text.&lt;br /&gt;
&lt;br /&gt;
Note that while four different Cueballs in a comic is [[:Category:Multiple Cueballs|not uncommon]], it is rare that two different Ponytails are shown in one comic.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:[Caption above the first panel, which is lower than the rest:]&lt;br /&gt;
:Coming this March from the makers of ''The Core''...&lt;br /&gt;
:[Ponytail is standing on a raised platform looking through a huge telescope (exiting the panel to the left) in an observatory. To her right is a large station with three screens and two Cueball-like guys are standing on the floor to the of that right. Behind them is another station with a large panel showing two circles with an arrow pointing from the top left to the bottom right.]&lt;br /&gt;
:Ponytail: The sun's fusion is failing!&lt;br /&gt;
:Man 1: Does that make sense?&lt;br /&gt;
:Man 2: Whatever.&lt;br /&gt;
&lt;br /&gt;
:[Zoom in on the scene where Ponytail throws up her arms as she turns towards the two Cueball, still standing on the platform, but the rest of the background is white. The first Cueball turns around and points to the other Cueball who has also turned around and has taken a phone of the hook, the curled cord disappearing at the panels right edge.]&lt;br /&gt;
:Ponytail: If we don't send a ship to restart it, it could go out completely! &lt;br /&gt;
:Man 1: Call NASA!&lt;br /&gt;
:Man 2 (into the phone): &amp;lt;small&amp;gt;Assemble our hottest astronauts.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:[Another Cueball-like guy has taken the call, and still stands with the phone in hand, the cord attached to the phone hook on the panels left edge. He stands with the helmet of a space suit under his other arm, obviously being an astronaut. Behind him is a fourth Cueball-like guy, Megan and another Ponytail.]&lt;br /&gt;
:Astronaut: The earth bathed in eternal darkness? A night without a dawn? Not on my watch!&lt;br /&gt;
:Astronaut: Saddle up.&lt;br /&gt;
&lt;br /&gt;
:[The same four characters are shown in silhouette on gray background (still only one with helmet under arm), casting huge shadows towards the bottom of the panel from the dim sun in the top center of the panel. Above the sun is written a tagline (for the movie) and at the bottom of the panels with shadows falling over it is a second smaller tagline:]&lt;br /&gt;
:It's &lt;br /&gt;
:&amp;lt;big&amp;gt;'''''Daylight saving time.'''''&amp;lt;/big&amp;gt;&lt;br /&gt;
:&amp;lt;small&amp;gt;Never fall back.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Comics featuring Ponytail]]&lt;br /&gt;
[[Category:Comics featuring Cueball]]&lt;br /&gt;
[[Category:Comics featuring Megan]]&lt;br /&gt;
[[Category:Multiple Cueballs]]&lt;br /&gt;
[[Category:The Core]]&lt;br /&gt;
[[Category:Physics]]&lt;br /&gt;
[[Category:Daylight saving time]]&lt;br /&gt;
[[Category:Telescopes]]&lt;br /&gt;
[[Category:Puns]]&lt;/div&gt;</summary>
		<author><name>172.69.194.19</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:3040:_Chemical_Formulas&amp;diff=363222</id>
		<title>Talk:3040: Chemical Formulas</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:3040:_Chemical_Formulas&amp;diff=363222"/>
				<updated>2025-01-22T18:51:06Z</updated>
		
		<summary type="html">&lt;p&gt;172.69.194.19: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Please sign your posts with ~~~~ and don't delete this text. New comments should be added at the bottom.--&amp;gt;&lt;br /&gt;
I believe the diagram on the left incorrectly shows a double-bond between the carbon and the OH pair. -- [[User:Dtgriscom|Dtgriscom]] ([[User talk:Dtgriscom|talk]]) 03:13, 21 January 2025 (UTC)&lt;br /&gt;
:: ''&amp;quot;incorrectly shows a double-bond&amp;quot;''  This may be more correct (there are many ways to draw it):&lt;br /&gt;
:: https://www.shutterstock.com/image-vector/formic-acid-molecule-structure-260nw-1359283460.jpg   [[User:PRR|PRR]] ([[User talk:PRR|talk]]) 03:42, 21 January 2025 (UTC)&lt;br /&gt;
:::what’s a double bond? '''[[User:42.book.addict|&amp;lt;span style=&amp;quot;font-family:Cormorant Garamond;font-size:9pt;color:#A9C6CA&amp;quot;&amp;gt;42.book.addict&amp;lt;/span&amp;gt;]]&amp;lt;sup&amp;gt;[[User talk:42.book.addict|&amp;lt;span style=&amp;quot;font-family:Cormorant Garamond;font-size:6pt;color:#516874&amp;quot;&amp;gt;Talk to me!&amp;lt;/span&amp;gt;]]&amp;lt;/sup&amp;gt;''' 04:25, 21 January 2025 (UTC)&lt;br /&gt;
:::: if a hydrogen atom had hands it would have one and could only hold other atoms with one hand. Some atoms have more than one hand and in the case of a double bond can hold another atom with two hands. I almost recall something about electron orbits and spaces. I hope this isn't to unhelpful.[[Special:Contributions/108.162.242.58|108.162.242.58]] 05:08, 21 January 2025 (UTC)&lt;br /&gt;
:::::ohhhh, i think i get it now. thanks! '''[[User:42.book.addict|&amp;lt;span style=&amp;quot;font-family:Cormorant Garamond;font-size:9pt;color:#A9C6CA&amp;quot;&amp;gt;42.book.addict&amp;lt;/span&amp;gt;]]&amp;lt;sup&amp;gt;[[User talk:42.book.addict|&amp;lt;span style=&amp;quot;font-family:Cormorant Garamond;font-size:6pt;color:#516874&amp;quot;&amp;gt;Talk to me!&amp;lt;/span&amp;gt;]]&amp;lt;/sup&amp;gt;''' 05:19, 21 January 2025 (UTC)&lt;br /&gt;
::::::For the molecules concerned (and ignoring some more exotic situations), you just need to know that;&lt;br /&gt;
::::::*Hydrogen should have only one bond in total (H-C... or H-O..., in whatever direction. An H-H would be H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;, or hydrogen (probably!) gas unbonded to anything else).&lt;br /&gt;
::::::*Oxygen should have two bonds (...X-O-Y... as part of a link between X and Y, like the (acceptibly abbreviated) -OH ('hydroxy') group attached to a carbon; or ...C=O, as oxygen double-bonded to a carbon with those two bonds available). H-O-H would be water (H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O), O=O would be the pure oxygen molecule (O&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;).&lt;br /&gt;
::::::*Carbon has ''four'' bonds, which can be:&lt;br /&gt;
::::::**Four singles, often with alkane links, ...C-C... with three things (more carbons, hydrogens or hydroxys/etc) hanging off as well, as part of a hydrocarbon/similar, starting with CH&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt; which has ''only'' hydrogens hanging directly off the one and only carbon, longer chained alkanes string carbons together with two hydrogens off of each mid-carbon (in three-or-more chains) and a third completing each end.&lt;br /&gt;
::::::**Two singles and a double, like the ...C=O with two further off-shoots, or else an ...C=C... as an alkene link (with two things/continuations of carbon hanging off each of the ends of that carbon-pair),&lt;br /&gt;
::::::**''Two'' doubles (cumulenes, like ...C=C=C..., are rare, but O=C=O is the really common CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;/carbon dioxide molecule in its entirety), or&lt;br /&gt;
::::::**A single and a triple, typically back-to-back as alkynes, ...-C≡C-..., ''or'' something like -C≡N (nitrogen has exactly three bonds!) for a cyano-group, but it's often a strained group.&lt;br /&gt;
::::::**A quadruple-bond would be... beyond this basic overview.&lt;br /&gt;
::::::**(Benzene rings effectively have 1.5 shared links between the adjacent carbons, or alternating single/double three times round the six Carbon-Carbon links, leaving one &amp;quot;hang off&amp;quot; bond from each of them, without bothering which ring-bonds are single or double.)&lt;br /&gt;
::::::**(Graphene sheets effectively have three singles, plus &amp;quot;two halves&amp;quot; weakly bonding to adjacent graphene sheets, in actual graphite; or whatever else fun thing you're doing with graphene/nanotubes/buckyballs ''singly''...)&lt;br /&gt;
::::::If you check the &amp;quot;Hackoo&amp;quot;, the C has ''five'' bonds (at least until and unless Randall corrects it!), the error most obviously (just from the above knowledge!) because the O in the -OH (i.e. -O-H) has three bonds (...C=O-H) where it should only have two (...C-O-H).&lt;br /&gt;
:::::::If I still had access to the university and its DFT calculator, I'd be tempted to do a run how stable the ion HC+=O=O+H would be (HCOOH with two electrons removed, charge at C and O), the only way to make sense of the formula. And write an April article for the regular column of the German Chemists Society Newsletter. Here is the data of the monocation: https://atct.anl.gov/Thermochemical%20Data/version%201.140/species/?species_number=731 ...wait, did I just nerdsnipe myself?[[Special:Contributions/172.71.148.103|172.71.148.103]] 08:48, 21 January 2025 (UTC)&lt;br /&gt;
::::::It can perhaps be explained as an interestingly radical-enhanced number of bonds, though you'd notate it differently (in diagram ''and'' formula) and it wouldn't really be the ethanoic/formic acid that Cueball(/Randall) clearly intends it to be. Simple slip of the stylus, maybe, from someone more a physical scientist who [[520: Cuttlefish|isn't always affiliated to chemical sciences]], so may not have realised when glancing at the 'finished' comic. (Or it's yet another (too?) subtle dig at the Cueball character that he's set up to fail/be creatively-wrong.) [[Special:Contributions/172.70.90.108|172.70.90.108]] 07:01, 21 January 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
Similar to 2492 [[User:Chakra|Chakra]] ([[User talk:Chakra|talk]]) 03:18, 21 January 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
My favorite hydrocarbons are C6H6 (Bouba) and C5H12 (Kiki) [[Special:Contributions/172.69.70.105|172.69.70.105]] 03:21, 21 January 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
I assume 'Nackle' is NaCl (Sodium Chloride, aka salt) [[User:Pvnic|Pvnic]] ([[User talk:Pvnic|talk]]) 03:30, 21 January 2025 (UTC)&lt;br /&gt;
: for blood pressure reasons I use fake salt = potassium chloride. Note to self: don't say &amp;quot;please pass the kackle&amp;quot; because at best at best I'd get a funny look and a chicken nugget. (Thinking) Or do. Chicken nuggets are good.[[Special:Contributions/172.68.245.179|172.68.245.179]] 04:41, 21 January 2025 (UTC)&lt;br /&gt;
::Wouldn't that be more like &amp;quot;kickle&amp;quot; or &amp;quot;keckle&amp;quot;? [[Special:Contributions/162.158.212.173|162.158.212.173]] 07:10, 21 January 2025 (UTC) &lt;br /&gt;
And in the meta-humor department, the explanation message &amp;quot;Created by a BORON-OXYGEN-TANTALUM-URANIUM-TITANIUM-MOLYBDENUM-TITANIUM-CARBON-ALUMINUM-LITHIUM&amp;quot; abbreviates to &amp;quot;B O Ta U Ti Mo Ti C Al Li&amp;quot;, or &amp;quot;BOT aUTiMoTiCaLLi&amp;quot;. [[User:Jordan Brown|Jordan Brown]] ([[User talk:Jordan Brown|talk]]) 04:27, 21 January 2025 (UTC)&lt;br /&gt;
: The bot probably drank too much choo-choo-oh (CH₃CH₂OH) [[Special:Contributions/162.158.103.187|162.158.103.187]] 15:57, 22 January 2025 (UTC)&lt;br /&gt;
: OH! Thank you. [[Special:Contributions/172.68.245.179|172.68.245.179]] 04:41, 21 January 2025 (UTC)&lt;br /&gt;
:: In my family, we actually do (occasionally) call it &amp;quot;nackle&amp;quot;, so I updated the explanation accordingly. [[User:Gbisaga|Gbisaga]] ([[User talk:Gbisaga|talk]]) 16:25, 21 January 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
Guilty as charged! (And I got a Ph.D. in chemistry...) [[Special:Contributions/172.68.195.130|172.68.195.130]] 08:35, 21 January 2025 (UTC)&lt;br /&gt;
:nice! which uni? '''[[User:42.book.addict|&amp;lt;span style=&amp;quot;font-family:Cormorant Garamond;font-size:9pt;color:#A9C6CA&amp;quot;&amp;gt;42.book.addict&amp;lt;/span&amp;gt;]]&amp;lt;sup&amp;gt;[[User talk:42.book.addict|&amp;lt;span style=&amp;quot;font-family:Cormorant Garamond;font-size:6pt;color:#516874&amp;quot;&amp;gt;Talk to me!&amp;lt;/span&amp;gt;]]&amp;lt;/sup&amp;gt;''' 22:46, 21 January 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
The 'put it on a plate' and 'take with a pinch of salt' stuff all seems a bit of a stretch.[[Special:Contributions/172.69.194.59|172.69.194.59]] 10:08, 21 January 2025 (UTC)&lt;br /&gt;
:I don't see any sign that anybody would anyone be literally requiring salt, so more probably is one or other figurative use. &amp;quot;Are you upset? I don't ''care'' you're upset. Pass the salt... Mmmmm...&amp;quot; from our Cueball or &amp;quot;Yeah, so I'm hearing what you're telling me, but I'm gonna ignore your inane mutterings, so pass the salt...&amp;quot;. Or maybe from a similar sort of vein as &amp;quot;Are you salty about that? I think you're salty, boo-hoo!&amp;quot; sarcastic response. There are plenty of possible phrases using the substance in analogy, and I'm sure others could be imagined by anyone worth their salt. [[Special:Contributions/172.70.91.246|172.70.91.246]] 14:45, 21 January 2025 (UTC)&lt;br /&gt;
::There's absolutely no indication that the title text is spoken by anyone in the comic. It's an example of a common phrase with the twist of using the phonetic pronunciation described here. It's supposed to be a secondary punchline of sorts, and overthinking it doesn't make it funnier. [[Special:Contributions/172.68.50.7|172.68.50.7]] 09:19, 22 January 2025 (UTC)&lt;br /&gt;
:::Many TTs ''are'' clearly spoken by the comic's characters (some readily identifiable as one or other of the protagonist, antagonists or off-panel voices - restating their initial point and/or following-up their ripostes). Others are the &amp;quot;Voice of (Relative) Sanity&amp;quot; that is Randall, only then emerging out of the fourth wall (as a counterpoint to ''whatever'' his possible avatars on-page might be thinking or saying).&lt;br /&gt;
:::And it's also entirely consistent for it to be left flapping in the wind. Either it was left directly ambiguous, or (despite whatever intent), we're able to reinterpret according to our own individual impressions. I think it's not a problem to appreciate the different nuances.&lt;br /&gt;
:::The secondary punchline ''might'' be asking for salt as an accompaniment for the vinegar (if this isn't too {{w|Fish and chips#Accompaniments|anglocentric}} for Randall, as a Leftpondian himself who might not actually partake of that particular combination), but it does seem like it lacks any reason for the off-page switch from a 'presentation' on organic chemistry to some random cullinary scenario. As opposed to directly messing about with obtuse language, which flows straight into a metaphorical or figurative derision (from whoever, to whoever).&lt;br /&gt;
:::And &amp;quot;overthinking it&amp;quot; is ''very'' on-brand, from both creator and his fandom. I'd personally have no problem suggesting that the salt-request was primarily a put-down phrase, but with the possibility that it was ''actually'' about heretofor unreferenced table-salt, just so that no opinion (or lingering need for further satisfactory explanation) is left unsatisfied. It's all grist to the mill. [[Special:Contributions/141.101.99.99|141.101.99.99]] 15:02, 22 January 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
I wonder if this is inspired by people in Cyberpunk 2077 pronouncing CHOOH2 (the fuel cars are powered by in universe) as &amp;quot;chew two.&amp;quot; [https://cyberpunk.fandom.com/wiki/CHOOH2#:~:text=CHOOH2%20is%20not%20actually%20the%20chemical%20formula%2C%20it%27s%20just%20a%20moniker%20for%20marketing%20purposes. Game wiki page.] [[Special:Contributions/172.69.22.31|172.69.22.31]] 17:50, 21 January 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
Edible oil analysis is now like B-Box [[User:799571388|799571388]] ([[User talk:799571388|talk]]) 21:04, 21 January 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
Can we make an emperical formula-to-speech model? [[Special:Contributions/172.70.215.72|172.70.215.72]] 02:42, 22 January 2025 (UTC)&lt;br /&gt;
:Oh definitely. I played with a text-to-speech freeware program back in the late '80s/early '90s that used the ''PC speaker'' to say things. Surprisingly well, for its simplicity, but you ideally needed to convert text to its syllabary to not just plough through what ''it'' thought it should, although English is tough (&amp;quot;... pl-a-ow th-r-oo w-ot IT th-or-t it sh-ud, awl-th-oh IN-g-l-isch iz t-uff&amp;quot;, or similar, is what it really needed). I'd be surprised if Alexa-era synth software with another 30+ years of development (and actual soundchips, plus clock frequencies greater than at most the tens of megahertz of 286s/386s this would run on) don't have extensive pre-processing that could say something that derives from Cr&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;(CH&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt;CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;)&amp;lt;sub&amp;gt;4&amp;lt;/sub&amp;gt;(H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;O)&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; without batting a virtual eyelid (&amp;quot;Cratch Coho&amp;quot;?) — or at least not stumbling and stuttering. Assuming they don't use their amazing internet-connected reference system to look up and say &amp;quot;Chromium-2 acetate hydrate&amp;quot;. ;) [[Special:Contributions/172.70.163.11|172.70.163.11]] 16:54, 22 January 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
There are certainly some chemical formulas that get pronounced this way.  {{w|Dioxygen difluoride|FOOF}} comes to mind. [[Special:Contributions/162.158.79.40|162.158.79.40]] 17:12, 22 January 2025 (UTC)&lt;br /&gt;
:It's also an onomatopoeia, being the sound you get if you spill it on... pretty much anything. (If you can blot out your own accompanying screams.) [[Special:Contributions/172.69.194.19|172.69.194.19]] 18:51, 22 January 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>172.69.194.19</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=3035:_Trimix&amp;diff=361439</id>
		<title>3035: Trimix</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=3035:_Trimix&amp;diff=361439"/>
				<updated>2025-01-09T10:25:42Z</updated>
		
		<summary type="html">&lt;p&gt;172.69.194.19: /* Explanation */ Sorting a word-salad of an edit.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 3035&lt;br /&gt;
| date      = January 8, 2025&lt;br /&gt;
| title     = Trimix&lt;br /&gt;
| image     = trimix_2x.png&lt;br /&gt;
| imagesize = 436x259px&lt;br /&gt;
| noexpand  = true&lt;br /&gt;
| titletext = You don't want the nitrogen percentage to be too high or you run the risk of eutrophication.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete|Created by a FLOATING TRIMIX SCUBA DIVER - Please change this comment when editing this page. Do NOT delete this tag too soon.}}&lt;br /&gt;
{{w|Trimix (breathing gas)|Trimix}} is a gas used in {{w|SCUBA}} tanks that consists of {{w|helium}}, {{w|oxygen}}, and {{w|nitrogen}}. Trimix comes in some standard ratios between the component gases, depending on the required diving depth, for example 21/35/44 (percentage oxygen/helium/nitrogen), 18/45/37 and 15/55/30 for increasing depth. Helium replaces a portion of the nitrogen to minimize nitrogen's narcotic effects at greater depths and to ease the effort required for breathing. This comic jokes that if the helium amount is too high, a diver will float away before reaching the water to start a dive, as a helium balloon will do if not securely tethered. &lt;br /&gt;
&lt;br /&gt;
The reason a helium balloon creates lift is that it can inflate. The balloon has a thin and expandable layer, weighing almost nothing, that allows the intrinsically less dense gas to take up space at not much more than atmospheric pressure. The total weight of the filled balloon is less than the total weight of the air it displaces, thus creating {{w|buoyancy}}. A SCUBA tank is made of metal, is heavy and cannot inflate{{Citation needed}}, which means it will never become lighter on air as you pump more of ''any'' kind of gas into it. (In fact, it will just get heavier, as an inflating helium balloon does, but without the over-compensating increase in volume.) Thus it will never be able to create any kind of lift, no matter the amount of helium or any other gas that is compressed inside of it, and neither could a typical SCUBA tank even attain lift by thoroughly emptying it to try to create a {{w|vacuum balloon}}.&lt;br /&gt;
&lt;br /&gt;
For a standard SCUBA tank to serve as a helium balloon capable of lifting a human diver of average size (not counting extra mass from dive accoutrements such as weight belts), it would need to contain approximately 70 kg of pure helium. This loading is more than an order of magnitude greater than the norm of around 3 kg of gas. It might prove difficult to fit such a tank with a regulator that could deliver the gas evenly and safely, and the absence of oxygen could be detrimental to the diver. Moreover, it would cost on the order of US$2000-4000 to charge the tank, an extra financial burden on an already expensive operation. Consider also that, at a mere 10 atm pressure, the density of helium is greater than that of air, hence a fixed-wall helium-containing tank at that density won't float. Normally-loaded SCUBA tanks are around 150 atm pressure, with a correspondingly higher density of the contained gas, and correspondingly lower likelihood that the tank will float. For these reasons, SCUBA divers floating in air are seldom encountered, the helium content of their tanks notwithstanding.&lt;br /&gt;
&lt;br /&gt;
More to the point, the rise into the air would be caused by Archimede's force, which is proportional to the weigh of the displaced volume. Air being ~ 1,3 g/L, it takes 1m3 to lift 1,3kg, and ~50m3 to lift a 65kg person. Such a volume represents a 2.3m radius sphere, which is obviously way bigger than the helium tank.&lt;br /&gt;
&lt;br /&gt;
The real reason SCUBA divers need to be careful with the amount of helium is to not get too little oxygen or too much nitrogen.&lt;br /&gt;
&lt;br /&gt;
The title text asserts that a trimix diver whose gas mix contains an excess of nitrogen runs &amp;quot;the risk of eutrophication&amp;quot;. The term {{w|Eutrophication|eutrophication}} describes the process by which nutrients (&amp;quot;fertilizers&amp;quot;) accumulate in an environment, typically a body of water, leading to consequences that are often unfortunate for inhabitants or users of that environment. The human body is an ecosystem, but one that is not typically subject to eutrophication due to its manner of acquiring and jettisoning nutrients. Moreover, the nitrogen in trimix is diatomic elemental nitrogen, not the {{w|Nitrogen_fixation|&amp;quot;fixed&amp;quot;}} nitrogen that serves as a component of eutrophication. The diver would not breathe &amp;quot;fixed&amp;quot; nitrogen unless nitrogen-fixing bacteria were somehow incorporated into the SCUBA gear, a complex feature of dubious utility.&lt;br /&gt;
&lt;br /&gt;
[[Randall]] addressed the question &amp;quot;how much helium is needed to lift a human body&amp;quot; in a [https://what-if.xkcd.com/62/ What if?] article. Helium has also featured in comics [https://xkcd.com/2766/ 2766] and [https://xkcd.com/2972/ 2972].&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:[In a single frame five images of Cueball is shown as a kind of carton, with each image a later time in the process. The first image to the left shows Cueball standing by the shore of a body of water. He is wearing SCUBA gear, goggles, breathing tubes, SCUBA tanks with a small H logo on it on his back, and swimming flippers, which almost touch the water.]&lt;br /&gt;
&lt;br /&gt;
:[In the next four images he has the same equipment on, but with changes. It should be seen as he is still at the edge of the water, but that is not drawn in the next four depictions of Cueball.]&lt;br /&gt;
&lt;br /&gt;
:[In the second image  to the right of the first, Cueball's SCUBA tank is beginning to float upwards, so the end that is not teetered to Cueball move out and up, as shown with three small lines beneath the tank.]&lt;br /&gt;
&lt;br /&gt;
:[In the third image the SCUBA tank is now floating above Cueball's head and the strings pull his arms a bit upwards. Cueball has turned his head looking up at the tank floating above and behind his head. Again three small lines beneath the tank indicates it is moving upwards.]&lt;br /&gt;
&lt;br /&gt;
:[In the fourth image Cueball is now being lifted up, so his feet are now off the ground and he is tilting forward. The tank is now pointing it's bottom almost straight up and Cueball is looking down with his arms out the each side as the tank pulls him up. Two lines on either side of the tank indicate that it now wobbles above him as it lifts him up.]&lt;br /&gt;
&lt;br /&gt;
:[In the fifth and last image the SCUBA tank is now pulling a dangling Cueball high above the ground, above his head's height in the first image. The tank is now turned so it points it's bottom to the left with lines on either side indicating wobbling motion. Cueball is floating as lying prone a bit bended on the middle as the tanks straps pulls him up. At this point he yells:]&lt;br /&gt;
:Cueball: ''Help!''&lt;br /&gt;
&lt;br /&gt;
:[Caption below the panel:]&lt;br /&gt;
:Trimix SCUBA divers need to be careful not to let the helium percentage get too high.&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Comics featuring Cueball]]&lt;/div&gt;</summary>
		<author><name>172.69.194.19</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:3026:_Linear_Sort&amp;diff=360122</id>
		<title>Talk:3026: Linear Sort</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:3026:_Linear_Sort&amp;diff=360122"/>
				<updated>2024-12-23T18:01:15Z</updated>
		
		<summary type="html">&lt;p&gt;172.69.194.19: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Please sign your posts with ~~~~ and don't delete this text. New comments should be added at the bottom.--&amp;gt;&lt;br /&gt;
First in linear time![[User:Mr. I|Mr. I]] ([[User talk:Mr. I|talk]]) 13:28, 18 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Due to the fact that O(nlog(n)) outgrows O(n), the Linear Sort is not actually linear. [[Special:Contributions/162.158.174.227|162.158.174.227]] 14:21, 18 December 2024 (UTC)&lt;br /&gt;
:If your sleep() function can handle negative arguments &amp;quot;correctly&amp;quot;, then I guess it could work. [[Special:Contributions/162.158.91.91|162.158.91.91]] 16:27, 18 December 2024 (UTC)&lt;br /&gt;
::Yes, on a machine where sleep() allowed negative values (somewhat similarly but more limited than [https://esolangs.org/wiki/TwoDucks TwoDucks]), the algorithm would take linear time regardless of the used constant in place of 1e6. Also, with a smaller constant, the so-called linear optimization is not completely dissimilar to [https://en.wikipedia.org/wiki/Radix_sort Radix sort], which has time-complexity of O(mn), where m is the bitlength of the item, which becomes linear for any item of limited bitlength (such as int64_t). In school we were taught that this is effectively linear, but that is deceptive, since the actual sort time grows to log(n) by virtue of requiring longer memory per item to fit more items in such a list, because a radix sort of 16 bit integers would be limited to useful lists of up to 65536 unique values to sort, and you'd need to grow them to 32 bit integers. If the sleep constant was chosen precisely to match the worst case [https://en.wikipedia.org/wiki/Timosrt Timsort] would take - and I pick timsort because in addition to having O(n) best case, equal items won't be swapped or take time for such swaps - the time complexity deception would be identical to that of Radix sort: The algorithm would be linear, but only until you exceed e^(sleeping steps) unique items in the list (same as radix sort, although radix sort becomes unusable, and LinearSort() only becomes slower), and the time wasted is comparable as it in both cases bounded by a number proportional to the bitlength of the (longest) value, which is usually larger than log(n'), and never smaller, if n' are the number of distinct values. So, in some ways, 1e6 is corresponding to m in a radix sort. [[Special:Contributions/172.68.190.145|172.68.190.145]] 12:10, 23 December 2024 (UTC)&lt;br /&gt;
:It relies on 1 second being long enough to outcompete the maximum input length provided. The joke is that most sort operations that take an entire second or more are considered too slow to be worth doing. 02:30, 22 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
That was fast... [[User:CalibansCreations|'''&amp;lt;span style=&amp;quot;color:#ff0000;&amp;quot;&amp;gt;Caliban&amp;lt;/span&amp;gt;''']] ([[User talk:CalibansCreations|talk]]) 15:35, 18 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Do I even want to know what Randall's thinking nowadays? [[User:Definitely Bill Cipher|⯅A dream demon⯅]] ([[User talk:Definitely Bill Cipher|talk]]) 16:02, 18 December 2024 (UTC)&lt;br /&gt;
:Does anyone every want to know what Randall is thinking nowadays? :P [[Special:Contributions/198.41.227.177|198.41.227.177]] 22:02, 19 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
The title text would be more correct if Randall used e.g. Timsort instead of Mergesort. They both have the same worst-case complexity O(n*log(n)), but the former is linear if the list was already in order, so best-case complexity is O(n). Mergesort COULD also be implemented this way, but its standard version is never linear. [[User:Bebidek|Bebidek]] ([[User talk:Bebidek|talk]]) 16:35, 18 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
According to my estimates extrapolated from timing the sorting of 10 million random numbers on my computer, the break-even point where the algorithm becomes worse than linear is beyond the expected heat death of the universe. I did neglect the question of where to store the input array. --[[Special:Contributions/162.158.154.35|162.158.154.35]] 16:37, 18 December 2024 (UTC)&lt;br /&gt;
:If the numbers being sorted are unique, each would need a fair number of bits to store. (Fair meaning that the time to do the comparison would be non-negligible.) If they aren't, you can just bucket-sort them in linear time. Since we're assuming absurdly large memory capacity. [[Special:Contributions/162.158.186.253|162.158.186.253]] 17:14, 18 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
What system was the person writing the description using where Sleep(n) takes a parameter in whole seconds rather than the usual milliseconds? [[Special:Contributions/172.70.216.162|172.70.216.162]] 17:20, 18 December 2024 (UTC)&lt;br /&gt;
: First, I don't recognize the language, but sleep() takes seconds for python, C (et. al.), and no doubt many others. Second, the units don't have to be seconds, they just have to be whatever `TIME()` returns, and multiplicable by 1e6 to yield a &amp;quot;big enough&amp;quot; delay.  Of course, no coefficient is big enough for this to actually be linear in theory for any size list, so who cares?  To be truly accurate, sleep for `e^LENGTH(LIST)`, and it really won't much matter what the units are, as long as they're big enough for `SLEEP(e)` to exceed the difference in the time it takes to sort two items versus one item. Use a language-dependent coefficient as needed. [[User:Jlearman|Jlearman]] ([[User talk:Jlearman|talk]]) 18:02, 18 December 2024 (UTC)&lt;br /&gt;
: Usual where, is that the Windows API? The sleep function in the POSIX standard takes seconds. See https://man7.org/linux/man-pages/man3/sleep.3.html . [[Special:Contributions/162.158.62.194|162.158.62.194]] 18:57, 18 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
If I had a nickel for every time I saw an O(n) sorting algorithm using &amp;quot;sleep&amp;quot;… But this one is actually different. The one I usually see feeds the to-be-sorted value into the sleep function, so it schedules &amp;quot;10&amp;quot; to be printed in 10 seconds, then schedules &amp;quot;3&amp;quot; to be printed in 3 seconds, etc., which would theoretically be linear time, if the sleep function was magic. [[User:Fabian42|Fabian42]] ([[User talk:Fabian42|talk]]) 17:25, 18 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
This comic also critiques/points out the pitfalls of measuring time complexity using Big-O notation, such as an algorithm or solution that runs in linear time still being too slow for its intended use case. [[User:Sophon|Sophon]] ([[User talk:Sophon|talk]]) 17:46, 18 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Current text is incorrect, but I'm not sure how best to express the correction -- there &amp;lt;b&amp;gt;do&amp;lt;/b&amp;gt; exist O(n) sorting algorithms, they're just not general-purpose, since they don't work with an arbitrary comparison function. See [https://en.wikipedia.org/wiki/Counting_sort counting sort]. [[Special:Contributions/172.69.134.151|172.69.134.151]] 18:25, 18 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Hi! I'm just gonna say this before everyone leaves and goes on their merry way. Significant comic numbers coming soon:&lt;br /&gt;
Comics 3100, 3200, 3300, etc, Comic 3094 (The total number of frames in 'time'), Comic 4000, Comic Whatever the next April fools day comic will be, and Comic 4096. Wait for it...[[User:DollarStoreBa&amp;amp;#39;al|DollarStoreBa&amp;amp;#39;al]] ([[User talk:DollarStoreBa&amp;amp;#39;al|talk]]) 20:42, 18 December 2024 (UTC)&lt;br /&gt;
:Comic 3141.592654[[Special:Contributions/172.70.163.144|172.70.163.144]] 09:16, 19 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
As everyone observed, the stated algorithm is not theoretically linear, but only practically linear (in that the time and space to detect O(n log n) exceeds reasonable (time, space) bounds for this universe). Munroe's solution is much deeper than that though - it trivially generalises to a _constant_ O(1) bound. [run a sort algorithm, wait 20 years, give the answer]. That's the preferred way of repaying loans, too. {{unsigned ip|172.69.195.27|21:46, 18 December 2024 (UTC)}}&lt;br /&gt;
&lt;br /&gt;
Continues comic 3017's theme of worst-case optimization. [[Special:Contributions/172.70.207.115|172.70.207.115]] 00:32, 19 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
It looks as though this function does not actually do the sort in Linear Time, it only returns in Linear Time.&lt;br /&gt;
The MERGESORT Function itself looks to only take one parameter and does not have an obvious return value indicating that it performs an in-place sort on the input mutable list.&lt;br /&gt;
This means that the list is sorted at the speed of the MERGESORT function, but flow control is only returned after Linear Time.&lt;br /&gt;
For a single threaded program calling this function there is no practical difference, but it would make a difference if some other thread was concurrently querying the list.&lt;br /&gt;
A clearer linear time sort might look like this:&lt;br /&gt;
&lt;br /&gt;
  function LinearSort(list):&lt;br /&gt;
    StartTime=Time()&lt;br /&gt;
    SortedList=MergeSort(list)&lt;br /&gt;
    Sleep(1e6*length(list)-(Time()-StartTime))&lt;br /&gt;
    return SortedList&lt;br /&gt;
&lt;br /&gt;
Leon {{unsigned ip|172.70.162.70|17:31, 19 December 2024}}&lt;br /&gt;
:There's such a thing as pass-by-reference, variously implemented depending upon the actual programming language used. It's even possible to accept both ''list'' (non-reference, to force a return of ''sorted_list'') and ''listRef'' (returns nothing, or perhaps a result such as ''number_of_shuffles made''), for added usefulness, though of course that'd need even more pseudocode to describe. For the above/comic pseudocode, it's not so arbitrary that a programmer shouldn't know how to implement it in their instance.&lt;br /&gt;
:I might even set about to do something like use a SetStartTime() and CheckElapsedTime() funtion, if there's possible use; the former making a persistant (private variable) note of what =Time() it is, perhaps to an arbitrary record scoped to any parameterID it is supplied, and the latter returning the 'now' time minus the stored (default or explicitly IDed) moment of record. I could then have freely pseudocoded the extant outline in even briefer format, on the understanding what these two poke/peek functions are. Which is already left open to the imagination for MergeSort(). [[Special:Contributions/172.69.43.182|172.69.43.182]] 18:04, 19 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
There are situations where you want to return in O(1) time or some other time that is not dependent on the input data to prevent side-channel data leaks.  While the run-time of Randall's &amp;quot;O(n)&amp;quot; algorithm has an obvious dependencies on the input data, using the &amp;quot;Randall Algorithm&amp;quot; to obscure a different algorithm can reduce the side-channel opportunities.  A more sure-fire way would be to have the algorithm return in precisely i seconds, where i is the number of seconds between now and the heat death of the universe.  [[Special:Contributions/172.71.167.89|172.71.167.89]] 17:49, 19 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
;Please write an explanation for non-programmers!&lt;br /&gt;
I don't understand this explainxkcd. The comic itself was less confusing. Can please someone who really gets this stuff write a section of the explanation that explains the joke to people like me who do not have a theoretical programming degree? I know that is a tall task but right now it reads as rambling and a bunch of 0(n) that makes no sense to me. I can cut and paste a bash script together and make it work. I can understand that putting a sleep for a million seconds in a loop somewhere makes it slow. But a layperson explanation of what makes a sort linear, what is linear, what is funny about that approach, would be better than all the arguing about 0(n) because we don't get it. Thanks in advance! You folks are awesome! [[Special:Contributions/172.71.147.210|172.71.147.210]] 20:51, 19 December 2024 (UTC)&lt;br /&gt;
:Maybe this would be a good start:&lt;br /&gt;
::--cut here--&lt;br /&gt;
::An algorithm is a step-by-step way of doing things.&lt;br /&gt;
::A sorting algorithm is a step-by-step way to sort things.&lt;br /&gt;
::There are several commonly used sorting algorithms.  Some have very little &amp;quot;overhead&amp;quot; (think: set-up time or requiring lots of extra memory) or what I call &amp;quot;molassas&amp;quot; (yes, I just made that up) (think &amp;quot;taking a long time or lots of extra memory for each step&amp;quot;) but they really bog down if you have a lot of things that need sorting.  These are better if you have a small list of items to sort.&lt;br /&gt;
&lt;br /&gt;
::Others have more &amp;quot;overhead&amp;quot; or &amp;quot;molasses&amp;quot; but don't bog down as much when you have a lot of things that need sorting.  These are better if you have a lot of things to sort.&lt;br /&gt;
&lt;br /&gt;
::A linear sorting algorithm would take twice as long to sort twice as many unsorted items.  If it took 100 seconds to sort 100 items, then it would take 200 seconds to sort 200, 300 seconds to sort 300, and so on.  Algorithms that take &amp;quot;twice as long to do twice as much&amp;quot; are said to run in &amp;quot;Order(n)&amp;quot; or &amp;quot;O(n)&amp;quot; time, where &amp;quot;n&amp;quot; is the number of items they are working on, or in the case of a sorting algorithm, the number of items to be sorted.&lt;br /&gt;
&lt;br /&gt;
::For traditional sorting algorithms that don't use &amp;quot;parallel processing&amp;quot; (that is, they don't do more than one thing in any given moment), a linear sorting algorithm with very little &amp;quot;overhead&amp;quot; or &amp;quot;molasses&amp;quot; would be the &amp;quot;holy grail&amp;quot; of sorting algorithms.  For example, a hypothetical linear sorting algorithm that took 1/1000th of a second to &amp;quot;set things up&amp;quot; (low &amp;quot;overhead&amp;quot;) and an additional 1 second to sort 1,000,000 numbers (not much &amp;quot;molasses&amp;quot;) would be able to sort 2,000,000 numbers in just over 2 seconds, 10,000,000 numbers in just over 10 seconds, and 3,600,000,000 numbers in a hair over an hour.&lt;br /&gt;
&lt;br /&gt;
::The reality is that there is no such thing as a general-purpose linear sorting algorithm that has very little overhead (in both time and memory) and very little &amp;quot;molasses.&amp;quot;  All practical general-purpose sorting algorithms either use parallel processing, they have a lot of overhead (set-up time or uses lots of memory), a lot of &amp;quot;molasses&amp;quot; (takes a long time or uses lots of memory for EACH item in the list) or they are &amp;quot;slower than linear,&amp;quot; which means they bog down when you give them a huge list of things to sort. For example, let's say the &amp;quot;mergesort&amp;quot; in Randall's algorithm doesn't have much &amp;quot;overhead&amp;quot; or &amp;quot;molasses&amp;quot; and it sorts 1,000,000 items in 1 second.  It's time is &amp;quot;O(nlog(n))&amp;quot; which is a fancy way of saying if you double the number, you'll more than double the time.  This means sorting 2,000,000 items will take more than 2 seconds, and sorting 4,000,000 items will take more than twice as long as it takes to sort 2,000,000.  Eventually all of those &amp;quot;more than's&amp;quot; add up and things slow to a crawl.&lt;br /&gt;
&lt;br /&gt;
::The joke is that Randall &amp;quot;pretends&amp;quot; to be the &amp;quot;holy grail&amp;quot; by being a linear sorting algorithm, but he has lots of &amp;quot;molasses&amp;quot; because his linear sorting algorithm takes 1 million seconds for each item in the list, compared to the 1,000,000 items per second in the hypothetical &amp;quot;linear sorting algorithm&amp;quot; I proposed.&lt;br /&gt;
&lt;br /&gt;
::As others in the discussion point out, Randall's &amp;quot;algorithm&amp;quot; is &amp;quot;busted&amp;quot; (breaks, doesn't work, gives undefined results) if the mergesort (which is a very fast sort if you have a large list if items) is sorting a list so big that it takes over 1 million seconds per item to sort anyways.  I'll spare you the math, but if the mergesort part of Randall's &amp;quot;algorithm&amp;quot; could do 1,000,000 numbers in 1 second with a 1/1000th of a second to &amp;quot;set things up,&amp;quot; it would take a huge list to get it to &amp;quot;bust&amp;quot; Randall's &amp;quot;algorithm.&amp;quot;&lt;br /&gt;
::--cut here--&lt;br /&gt;
:[[Special:Contributions/162.158.174.202|162.158.174.202]] 21:44, 19 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Layman's guide to O(n) time, second try:&lt;br /&gt;
::--cut here--&lt;br /&gt;
::First, &amp;quot;O&amp;quot; is &amp;quot;Order of&amp;quot; as in &amp;quot;order of magnitude.&amp;quot; It's far from exact.&lt;br /&gt;
::O(1) is &amp;quot;constant time&amp;quot; - the time it takes me to give you a bag that contains 5000 $1 bills doesn't depend on how many bills there are in the bag.  It would take the same amount of time if the bag had only 500, 50, or even 5 bills in it.&lt;br /&gt;
::O(log(n)) is &amp;quot;logarithmic time&amp;quot; - the time is the time it takes me to write down how many bills are in the bag.  If it's 5000, I have to write down 4 digits, if it's 500, 3, if it's 50, 2, if it's 5, only 1.&lt;br /&gt;
::O(n) is &amp;quot;linear time&amp;quot; - the time it takes me to count out each bill in the bag depends on how many bills there are.  It takes a fixed amount of time to count each bill.  If there's 5000 $1 bills it may take me 5000 seconds to count them.  If there's 500 $1 bills, it will take me only 500 seconds.&lt;br /&gt;
::O(nlog(n)) is &amp;quot;linear times logarithmic time&amp;quot; - the time it takes me to sort a pre-filled bag of money by serial number using a good general-purpose sorting algorithm (most good general-purpose sorting algorithms are O(nlog(n)) time).  If it takes me 2 seconds to sort two $1 bills, it will take me about 3 or 4 times 5000 seconds to sort 5000 $1 bills.  The &amp;quot;3 or 4&amp;quot; is very approximate, the important thing is that &amp;quot;logarithm of n&amp;quot; (in this case, logarithm of 5000) is big enough to make a difference (by a factor of 3 or 4 in this case) but far less than &amp;quot;n&amp;quot; (in this case, 5000).&lt;br /&gt;
::O(n&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;) is &amp;quot;n squared&amp;quot; time, which is a special case of &amp;quot;polynomial time.&amp;quot; &amp;quot;Polynomial time&amp;quot; includes things like O(n&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;) and O(n&amp;lt;sup&amp;gt;1,000,000&amp;lt;/sup&amp;gt;). Many algorithms including many &amp;quot;naive&amp;quot; sorting algorithms are in this category.    If I used a &amp;quot;naive&amp;quot; sorting algorithm to sort 5000 $1 bills by serial number, instead of it taking about 15,000-20,000 seconds, it would take about 5,000 times 5,000 seconds.  I don't know about you, but I've got better things to do with 25,000,000 seconds than sort paper money.&lt;br /&gt;
::It gets worse (O(2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;) anyone?  No thanks!), but you wanted to keep it simple.&lt;br /&gt;
:[[Special:Contributions/198.41.227.177|198.41.227.177]] 23:30, 19 December 2024 (UTC)&lt;br /&gt;
::Personally, I've got better things to do than sort dollar bills, full stop.[[Special:Contributions/172.70.91.130|172.70.91.130]] 09:37, 20 December 2024 (UTC)&lt;br /&gt;
:: O() notations is about behavior with large values, not small values.  Try the &amp;quot;handing a bag of bills&amp;quot; algorithm with a few million dollar bills.  You're going to need a forklift.  Getting a forklift is not, in practice, instantaneous.  Big N notation is almost always a joke for people trying to solve real problems.  It only works on an abstract machine with some really weird (not physically achievable) properties. [[Special:Contributions/162.158.155.141|162.158.155.141]] 20:54, 20 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Friendly reminder that some users of this site are just here to learn what the joke is, and not to read the entire Wikipedia article on Big O Notation. Perhaps the actual explanation could be moved up a bit, and some of the fiddly Big-O stuff could be moved down? I'd do it myself, but I'm not really sure which is which. [[Special:Contributions/172.70.176.28|172.70.176.28]] 06:42, 20 December 2024 (UTC)&lt;br /&gt;
:I mean, it is fairly fundamental to the joke, and therefore to the explanation. It might be possible to slim it down a bit, but I don't think you can explain the joke without ''some'' explanation of Big O.[[Special:Contributions/172.70.91.130|172.70.91.130]] 09:37, 20 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
I've just come to the conclusion that I will never 100% understand 3026. [[User:Dogman15|Dogman15]] ([[User talk:Dogman15|talk]]) 10:14, 20 December 2024 (UTC)&lt;br /&gt;
:Tell me that again when you've actually tried the official process...&lt;br /&gt;
  function Understand(comic):&lt;br /&gt;
    StartTime=Time()&lt;br /&gt;
    ReadExplanation(comic)&lt;br /&gt;
    Sleep(1e12*length(comic)-(Time()-StartTime))&lt;br /&gt;
    return&lt;br /&gt;
:[[Special:Contributions/172.70.162.56|172.70.162.56]] 11:10, 20 December 2024 (UTC)&lt;br /&gt;
::The article should start off &amp;quot;This is a joke about Big-O notation and sorting algorithms, a topic in introductory computer science education.&amp;quot; then continue with something like &amp;quot;An algorithm is computer code for solving a general problem. Big-O notation is a method for describing the efficiency of algorithms.&amp;quot; and maybe something like &amp;quot;Randall has designed an algorithm that appears more efficient than commonly considered possible, claiming to solve a popular challenge of many decades, by trying to game how the Big-O approach to analysis ignores the real speed of an algorithm, instead considering how it changes when the data is changed.&amp;quot; [[Special:Contributions/172.68.54.209|172.68.54.209]] 02:43, 22 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Here's my crack at a shorter explanation of the joke, without explaining the entirety of the Big-O notation Wikipedia article and without getting unnecessarily pedantic. (&amp;lt;em&amp;gt;Please keep this in mind when critiquing this explanation!&amp;lt;/em&amp;gt; I probably know whatever simplification you notice.)&lt;br /&gt;
:The joke here consists of two parts: (1) a linear-time sort of a list is mathematically impossible, and yet (2) a linear-time algorithm is presented, with it being roughly correct because Big-O notation hides the full picture on purpose. The title-text joke is that someone realizes (1) and investigates (2) &amp;lt;em&amp;gt;because&amp;lt;/em&amp;gt; of the purposeful full-picture-hiding.&lt;br /&gt;
:Let's start with part (2): how Big-O notation is a bit handwavy and inexact. This is not to say it's not useful in computer science research and explaining differences between algorithms, but it inherently and on purpose hides the full picture. It's kind of like rounding away unnecessary digits when doing a back-of-the-envelope physics calculation, except in Big-O, the thing that is rounded is a mathematical formula. The formula is for calculating the time it takes for an algorithm to run (whether in (nano)seconds or something abstract like &amp;quot;number of operations&amp;quot;), and it will be in terms of ''n'', which is basically &amp;quot;how many things does your algorithm need to process&amp;quot; (in this case, it's the size of a list). An algorithm might be calculated to have a running time of something complicated like 32''n''&amp;lt;sup&amp;gt;2.796&amp;lt;/sup&amp;gt;+1.31''n''+6500, but it's Big-O &amp;quot;rounding&amp;quot; would be expressed as O(''n''&amp;lt;sup&amp;gt;2.796&amp;lt;/sup&amp;gt;). This is because as ''n'' grows larger and larger (into the billions), the extra stuff is irrelevant: except in special cases, an algorithm with a running time of O(''n'') will take less time than an algorithm taking O(''n''&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;) time, because no matter what the stuff you &amp;quot;rounded away&amp;quot; was, the former will eventually be less than the latter once ''n'' grows big enough.&lt;br /&gt;
:With the relevant bits of Big-O notation explained, we can look at the problem of sorting a list. This is a classic problem in computer science and it comes up in coursework all the time, so Randall assumes a lot of his audience will be familiar with it. Part (1) of the joke is that a linear, ''i.e.'' O(''n'') time, sorting of a list is mathematically impossible: just checking whether a list is sorted in the first place requires comparing every pair of elements at least once, taking O(''n'') time, and after this you have to swap elements that are out of place and check again. If you build an algorithm carefully you can get away with doing log(''n'') &amp;quot;scans&amp;quot; back and forth along the list, ending up doing log(''n'') scans of ''n'' time each, which comes to O(''n''&amp;amp;nbsp;×&amp;amp;nbsp;log(''n'')) time. This &amp;quot;O(''n''&amp;amp;nbsp;log&amp;amp;nbsp;''n'')&amp;quot; time is accepted as the lowest general sorting algorithm average-case run-time, and all improvements to sorting algorithms are in improving the stuff that Big-O notation hides – remember how we rounded away all those factors as unnecessarily complicated and irrelevant? Turns out they're actually relevant in practice! They can be fine-tuned for real computers and practical inputs; the mergesort in the comic is special because it's guaranteed to always take the same time, no matter the input.&lt;br /&gt;
:Putting both parts together: the &amp;quot;linear sort&amp;quot; presented is &amp;quot;linear&amp;quot;, taking O(''n'') time, not because it has actually magically found a way to cheat at math and do sorting faster than is possible, but because O(''n'') notation hides the fact that it just waits for a million (milli)seconds for each item in the list: O(''n'') &amp;lt;em&amp;gt;looks&amp;lt;/em&amp;gt; faster than O(''n''&amp;amp;nbsp;log&amp;amp;nbsp;''n''), but what's actually going on is that 1,000,000''n'' is way slower than mergesort's O(''n''&amp;amp;nbsp;log&amp;amp;nbsp;''n'').&lt;br /&gt;
:Curiously, this is actually a thing that [[wikipedia:Galactic algorithm|does happen in computer science]], although not as blatantly as this: there are some problems for which there exists an algorithm with a &amp;quot;better&amp;quot; Big-O-notated time, but which for whatever technical reason run worse in practice on real computers than apparently-slower algorithms.&lt;br /&gt;
(And again, please remember that I've on purpose left out irrelevant technical details! I know about radix sort etc., and I know the difference between O, Θ and Ω, and I know about space complexity also; I do actually have a master's degree in this stuff and know what I'm talking about.) [[Special:Contributions/172.69.136.141|172.69.136.141]] 16:09, 23 December 2024 (UTC)&lt;br /&gt;
:Actually I already thought of an improvement to this explanation (if it were to be used as the main explanation): it's unnecessary to bring up Big-O notation in the first place, until explaining the title text. The comic itself just talks about linear time, and mergesort (and sorting in general) could just be explained as requiring &amp;quot;more than linear time&amp;quot; because of the repeated comparisons I already mentioned. (O(''n''&amp;amp;nbsp;log&amp;amp;nbsp;''n'') is &amp;quot;quasilinear&amp;quot; or &amp;quot;log-linear&amp;quot; time but introducing that term can – and in my opinion should – be avoided). The title text explanation requires explaining that &amp;quot;O(n) means linear&amp;quot;, and a bit about how Big-O notation is &amp;quot;rounding&amp;quot; away the complicated parts of the formula. [[Special:Contributions/172.69.136.165|172.69.136.165]] 16:42, 23 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Why is the prose so terrible on this site? Who writes &amp;quot;As one can image in most contexts one would wish for....&amp;quot; and thinks other people can understand it? Please run your text through ChatGPT, it's free now. [[Special:Contributions/172.71.147.54|172.71.147.54]] 17:31, 23 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Regarding {{diff|360113|this edit}}, I have my reservations. While Log&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; ''may'' be 'logical' in a system using binary, there's no reason why the algorithm cannot be implemented upon a trinary-based &amp;quot;machine code&amp;quot; system, or one in quad (and I actually have created a four-instruction 'ultra-RISC' microcode kernel, of sorts, that used base-4 principles, not base-2), or decimal/BCD, and then byte-size is commonly 8-bit with 16-bit, 32-bit and 64-bit extensions to the basic unit and ''could'' translate to an equivalent higher-base if you are bothered about ''n'' vs. log&amp;lt;sub&amp;gt;''x''&amp;lt;/sub&amp;gt; ''n'' efficiency at lower ''n''s and higher ''x''s. Could even be natural-log (for reasons entirely unrelated to the hardware/firmware/software it is implemented on, just what it needs to do). Most of the time, we don't care if it's O(log&amp;lt;sub&amp;gt;10&amp;lt;/sub&amp;gt; ''n'') or O(ln ''n'') or whatever, because the difference is an appropriate constant multiple. That's something generally not retained... we may have O(''m'' log ''n''), for independent variable ''m'', but something like O(2 log ''n'') is treated as O(log ''n'') equivalent, like O(2) is just O(1) in the final analysis, and why the O(1e8*n) reality sneaks through here as O(n). So, ''by actual implementation'', you can't actually say that O(''n'' log ''n'') will be gte O(''n'') always. With 1&amp;lt;''n''&amp;lt;log_base, it won't be.  ...Whether or not we're free to consider either generality, though, I definitely won't ask you how algorithms actually stack up next to each other where run under ''n''=0 conditions! But at least O(''n''&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;) isn't a common thing... ;) [[Special:Contributions/172.69.194.19|172.69.194.19]] 18:01, 23 December 2024 (UTC)&lt;/div&gt;</summary>
		<author><name>172.69.194.19</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:3019:_Advent_Calendar_Advent_Calendar&amp;diff=358519</id>
		<title>Talk:3019: Advent Calendar Advent Calendar</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:3019:_Advent_Calendar_Advent_Calendar&amp;diff=358519"/>
				<updated>2024-12-03T08:49:02Z</updated>
		
		<summary type="html">&lt;p&gt;172.69.194.19: Question on the title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Please sign your posts with ~~~~ and don't delete this text. New comments should be added at the bottom.--&amp;gt;&lt;br /&gt;
Would this basically be triangle numbers? So on Christmas Eve you would open 300 windows?[[User:Tommyds|Tommyds]] ([[User talk:Tommyds|talk]]) 16:01, 2 December 2024 (UTC)&lt;br /&gt;
:Yes and no. It's not 12 days of Christmas (as mentioned in the title text), so only the overall number of gifts are a triangle number; you open 30 windows on Christmas Day.  The 12 days ref is key as the song generates more gifts if taken literally even in 12 days -- 78 on the last day, 66 on the previous day, etc, for a total of 364. [[User:Mneme|Mneme]] ([[User talk:Mneme|talk]]) 16:35, 2 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Notice that this year The Advent calendars are correct. Normally, Advent calendars start at the 1st of December even if the Advent starts at a different day. But this year the Advent also starts at the 1st of December. [[Special:Contributions/162.158.172.40|162.158.172.40]] 16:55, 2 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Donald Knuth wrote a paper for April 1984 Communications of the ACM that included an analysis of the complexity of 12 Days of Christmas. It's in the CACM archive https://dl.acm.org/doi/pdf/10.1145/358027.358042. {{unsigned ip|172.70.211.144|16:58, 2 December 2024 (UTC)}}&lt;br /&gt;
&lt;br /&gt;
The explanation currently says &amp;quot;each day, he gets another advent calendar, which each contains 24-25 different items&amp;quot;. I don't think that's correct; look at the picture: each day's calendar has one fewer item than the previous one. For example, the 24th only has 2 boxes and the 25th only has one. --[[User:Itub|Itub]] ([[User talk:Itub|talk]]) 17:25, 2 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Perhaps each smaller advent calendar might also contain a smaller advent calendar and so on ...? [[Special:Contributions/172.70.90.199|172.70.90.199]] 17:51, 2 December 2024 (UTC)&lt;br /&gt;
:Since the 1st has a calendar with a 1st, that would mean an infinite number of calendars just on the first day, so probably not. [[Special:Contributions/172.71.154.225|172.71.154.225]] 18:03, 2 December 2024 (UTC)&lt;br /&gt;
::It could work out if you don't open the first window of a new advent calendar on the day that it is revealed. So on day 1, you open the first window revealing an advent calendar that starts on day 2.  Then on day 2 you open the second window, revealing a second advent calendar and the first window of the day 1 advent calendar, revealing a third advent calendar. ... and so on. If my mental math on that is right, it's doubling every day, so 2^24 =~ 16M calendars in total? (I could be off by a day) [[Special:Contributions/172.71.147.69|172.71.147.69]] 19:38, 2 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Can we just take a moment to appreciate whoever named the bot for this page? They wrote as follows: Created by 4 ENVELOPE BACKS 3 NERDS A-EDITING, 2 TURTLE BOTS, AND A FUNNY NEW XKCD. [[User:Willintendo|Willintendo]] ([[User talk:Willintendo|talk]]) 23:26, 2 December 2024 (UTC)&lt;br /&gt;
:That note is hand-edited on the first couple of edits. Not sure why that rule exists, though. [[User:Fabian42|Fabian42]] ([[User talk:Fabian42|talk]]) 00:50, 3 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
The title text says 'may' twice, &amp;quot;per day may may [sic] seem absurd&amp;quot; --[[Special:Contributions/198.41.236.163|198.41.236.163]] 00:01, 3 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
The German YouTube channel &amp;quot;Malternativ&amp;quot; has actually done this a couple years: Opening one advent calendar every day. He went more and more insane as December went on… [[User:Fabian42|Fabian42]] ([[User talk:Fabian42|talk]]) 00:50, 3 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Noting that the calendar is entirely correct for the day of publication. Too much to hope for that it is ''kept'' correct for each further day of Advent until (or, rather, 'until and including', as noted at least once above) Christmas Day? Maybe worth checking to see if (at an appropriate time, Randall-time, later today on the 3rd) it hasn't been updated. Or some special sub-page appeared with a revised (Time-like) update. Just in case. And, if Randall doesn't, I'm sure it's not beyond our own wit to make adjustments/animate as a fan-copy. [[Special:Contributions/172.70.91.214|172.70.91.214]] 01:57, 3 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
[https://knowyourmeme.com/memes/xzibit-yo-dawg Yo Dawg], I herd you like advent calendars, so I put an advent calendar in your advent calendar so you can count down while you count down. [[User:Solomon|Solomon]] ([[User talk:Solomon|talk]]) 03:31, 3 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Wonder how many chocolates you would get if you did this with the life expectancy advent calendar. [[User:N-eh|N-eh]] ([[User talk:N-eh|talk]]) 04:40, 3 December 2024 (UTC)&lt;br /&gt;
:At some point, most people would reach the point at which that many chocolates would be a lethal (or at least LD50) quantity, so would be a self-shortening process. For those who reach the end of their LEAC ''without'' it actually being the cause of death, there should be a compensatory (or 'condolances') supply hidden on the back, for entirely guilt-free eating. [[Special:Contributions/172.70.162.200|172.70.162.200]] 06:01, 3 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Nobody tell Stuart and Dan about this one... [[Special:Contributions/172.71.183.11|172.71.183.11]] 06:56, 3 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
I still don't understand it. Does he not open the first and second door of the second calendar on the second day? If not, does he open the first or the second door of the second calendar. Do the other items stay in the calendar? [[Special:Contributions/162.158.245.162|162.158.245.162]] 07:36, 3 December 2024 (UTC)&lt;br /&gt;
:Each next calendar has one fewer doors. So the second calendar starts with door number 2. On 1 December he opens the number 1 door revealing the first subcalendar, where he opens the number 1 door. On 2 December he opens the number 2 door of the first subcalendar and then the second door of the big calendar, revealing the second subcalendar, where he opens the first door, which is the number 2 door, since it has no number 1 door. [[User:Mtcv|Mtcv]] ([[User talk:Mtcv|talk]]) 08:12, 3 December 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Is the title correct, from a formal language point of view? I would expected it to be Advent Advent Calendar. OTOH I'm not American and not overtly familiar with this tradition.&lt;/div&gt;</summary>
		<author><name>172.69.194.19</name></author>	</entry>

	</feed>