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

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=2728:_Lane_Change_Highway&amp;diff=306519</id>
		<title>2728: Lane Change Highway</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=2728:_Lane_Change_Highway&amp;diff=306519"/>
				<updated>2023-02-19T22:52:42Z</updated>
		
		<summary type="html">&lt;p&gt;172.69.34.112: /* Explanation */ 101 in California&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 2728&lt;br /&gt;
| date      = January 23, 2023&lt;br /&gt;
| title     = Lane Change Highway&lt;br /&gt;
| image     = lane_change_highway_2x.png&lt;br /&gt;
| imagesize = 374x530px&lt;br /&gt;
| noexpand  = true&lt;br /&gt;
| titletext = I just think lane markers should follow the local magnetic declination.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
&lt;br /&gt;
{{w|Highway}}s are large roads designated for high-speed traffic. Like in [[253: Highway Engineer Pranks]], [[Randall]] proposes an ineffective highway design, which reportedly got him fired.&lt;br /&gt;
&lt;br /&gt;
Highways normally have several, but not a fixed number of lanes; more lanes may be included on parts of the highway with higher traffic flow, and the design decision can interact with entrances and exits to the highway. One common structure is to merge a lane from the right to the left after an entrance, to remove the extra lane created by the merge of the entry ramp. Drivers are expected to merge into one of the lanes further left before the lane on the right ends.&lt;br /&gt;
&lt;br /&gt;
Here, Randall has designed a highway where the lanes are not aligned to the road, thus constantly expanding to the left and requiring merges from the right. This is highly impractical, as each individual lane merge is a difficult maneuver compared to normal driving; being forced to perform these near-constantly is a large hindrance at the least and a large danger at the most.&lt;br /&gt;
&lt;br /&gt;
Effectively every car would have to drive with their left turn blinker on constantly in order to drive in a regular straight line. Alternatively cars could stage their lane changes which would make them swerve gently back and forth across the road. Since everyone will choose a different strategy, the road would be chaos. People would almost never try to make a right lane change since lanes to the right end sooner.&lt;br /&gt;
&lt;br /&gt;
While considerably less extreme, a section of U.S. 101 &amp;quot;North&amp;quot; (which is actually traveling west) in California is somewhat like this.  The road is four lanes when crossing over I-405, with an additional lane immediately entering on the right from I-405 South, but three of these lanes become exit only lanes in the San Fernado Valley (at Haskell Avenue, Havenhurst Avenue, and Topanga Canyon Blvd) and two in Ventura County (one in Thousand Oaks and one in Ventura), so all through traffic must merge into the two lanes that enter on the left carrying traffic from I-405 North.&lt;br /&gt;
&lt;br /&gt;
The title text refers to local {{w|magnetic declination}}, the angle between the magnetic north pole and the true (geographic) north pole. Magnetic declination varies over time due to polar wandering and so the lane markers on the highway would need to be regularly updated to account for this.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:[In a white panel a black road starts at the bottom left and curves gently towards the right until the middle of the panel, where it begins curving slightly to the left ending in the top right corner. The road has space for four lanes divided by lane markers, but the markers does not follow the direction of the road but goes more from left to right than the road, even though they do follow the general curve of the road, but never the actual direction of the road. This results in all these lanes to end near the right edge of the road. Every time the lane gets too near the edge the lane lines stop and on the end of the lane there is a curving arrow pointing left. Below the arrows the word &amp;quot;Merge&amp;quot; is written. This happens seven times on this small patch of highway. At the bottom and top there are the lane marker lines entering and exiting, so there are always four lanes. After the three starting at the bottom, seven new ones begin, the last just below the top, where the final merge arrow also is, stopping the last of the right lines from exiting at the top.]&lt;br /&gt;
:Merge&lt;br /&gt;
:Merge&lt;br /&gt;
:Merge&lt;br /&gt;
:Merge&lt;br /&gt;
:Merge&lt;br /&gt;
:Merge&lt;br /&gt;
:Merge&lt;br /&gt;
&lt;br /&gt;
:[Caption below the panel:]&lt;br /&gt;
:I got fired from my traffic engineering job for building a highway where you could only travel by lane changes.&lt;br /&gt;
&lt;br /&gt;
==Trivia==&lt;br /&gt;
* A faint grey outline is visible under the caption, as if text was rewritten over a semitransparent layer, which was never deleted.&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
[[Category:Engineering]]&lt;/div&gt;</summary>
		<author><name>172.69.34.112</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:2730:_Code_Lifespan&amp;diff=305463</id>
		<title>Talk:2730: Code Lifespan</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:2730:_Code_Lifespan&amp;diff=305463"/>
				<updated>2023-01-28T17:02:43Z</updated>
		
		<summary type="html">&lt;p&gt;172.69.34.112: &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'm not sure if the thesis in this comic is accurate. But if it is, my explanation would be that a person with a more spontaneous live-in-the-moment attitude might program stuff that is more interesting, than the stuff made by the person who is (maybe neurotically) obsessed with making clean code. &lt;br /&gt;
&amp;lt;br /&amp;gt;My own experience is that one loses the fun of programming something if the perfectionism plays to big of a role.{{unsigned ip|162.158.203.40|14:53, 27 January 2023}}‎&lt;br /&gt;
:The advice always given to me is &amp;quot;never let the perfect be the enemy of the good enough&amp;quot;. Though I tend to bounce between being so obsessive, that I don't realise that I'm now gilding the lilly, or hastily kludging it because of the need for an immediate workaround, knowing that if it needs looking at again then I'll be doing it later anyway and that's when I'll get my gilding gear ready. (Hence why I'm 'always' being told that phrase. But I suspect that there really ''is'' no sweet spot between too little and too much, or at least no single keystroke at which I would earn universal praise for my finely balanced tenacity and moderation upon the handling of the issue. Always critics!) [[Special:Contributions/172.70.86.28|172.70.86.28]] 17:19, 27 January 2023 (UTC)&lt;br /&gt;
:On the contrary, there are perfectionists like myself who get a distinct satisfaction out of tweaking code to perfection, making it airtight, cover all conceivable bases. Make the code look clean, efficient, making sure it's fully commented... A lot of the joy in programming, for me, comes from this crap. :) [[User:NiceGuy1|NiceGuy1]] ([[User talk:NiceGuy1|talk]]) 05:25, 28 January 2023 (UTC)&lt;br /&gt;
&lt;br /&gt;
At least at a corporate level, I suspect this phenomenon has an extremely simple explanation.  When your code is high-quality, people often won't even realize they are using and interacting with it, because it just does what it's supposed to.  When your code is hackish, you and your coworkers will constantly find it breaking seemingly unrelated stuff, forcing them to go back to it over and over, trying to make it work, only to discover it breaks even more things when they try to fix it.&lt;br /&gt;
&amp;lt;br /&amp;gt;Your high-quality code is still interacting with those seemingly unrelated things, it's simply not breaking the unrelated things, so you don't notice it's interacting with the seemingly unrelated things.[[Special:Contributions/172.69.68.97|172.69.68.97]] 16:32, 27 January 2023 (UTC)&lt;br /&gt;
&lt;br /&gt;
This also reminds me of [[2347: Dependency]] where a single project made in 1990 has become the backbone of so many other applications. [[Special:Contributions/172.71.151.100|172.71.151.100]] 17:47, 27 January 2023 (UTC)&lt;br /&gt;
&lt;br /&gt;
I won't do the edit myself (because I'm shy), but here is how the comic rings to me (from my own current experience):&lt;br /&gt;
- Often in dev, there are many daily repetitive tasks that are annoying (i.e., build-test-lint-commit-push). These get automated out of spite by someone in a quick'n'dirty way, just to make life easier.&lt;br /&gt;
It has a limited audience (the development team), but lives on forever, since it is used daily (and therefore maintained accordingly).&lt;br /&gt;
- On the other hand, the stuff the team codes and sells is subject to changing requirements (cf. next release, marketing, ...). So it gets overhauled often, all the more easily because developers are not familiar with it (because they don't use it, and they worked on some other part of the project).&lt;br /&gt;
There is also the fact that there is no budget for making changes on the tools, as opposed to the product, so no one really has time to refactor the former - that's how it lives so long!&lt;br /&gt;
~~Aveheuzed~~&lt;br /&gt;
&lt;br /&gt;
The never ending war between &amp;quot;I don't have the time to do this right&amp;quot;, and &amp;quot;this is way too complex for our simple needs&amp;quot; is exactly where this comic lives. The reality of programming is that general solutions are great for saving time writing, but are often bloated (with unneeded options), miss edge cases, or introduce extra dependencies and slow downs. plus the whole &amp;quot;not invented here&amp;quot; thing coupled with licensing headaches means this will probably still be a thing in a hundred years. PS I think the person explaining missed the point of the order in which the title text options are presented &amp;gt;.&amp;gt; [[Special:Contributions/172.70.206.150|172.70.206.150]] 18:19, 27 January 2023 (UTC)&lt;br /&gt;
:I took the (un)crossed combination as implicit, myself, as I read that version, dealt with prosaically in the follow-up paragraph, but I added the contrariwise statements (and preamble) to the end to make it perhaps more obvious as to the intended humour.&lt;br /&gt;
:...on your earlier point, add &amp;quot;...I don't have time ''not'' to write it as a behemoth of a function, when I'm sure it could all boil down into a few lines that are far simple to understand and maintain&amp;quot;. By incremental testing and putting together, you miss that you end up with something that basically has some common role such as &amp;quot;looks for the third non-digit character after every other colon, and returns the first full whitespace-delimitered word that follows on from that&amp;quot; in multiple different data-unmunging instances that all looked the right way to pick apart the necessary data at the time. With time, you can realise that this'ld go nicely into a singly-defined internal function which can be more easily commented, centrally maintained for immediate cross-code consistency, updated or even made more flexible by additional parameterisation (for when it occasionally needs to be the ''n''th non-digit character, etc) and... most importantly... give it a decent function name that does most of the work of commenting its own purpose wherever it appears. But that may takes time, and then they change the stream-format to some alternative that requires a new rewrite across the board. [[Special:Contributions/172.71.242.11|172.71.242.11]] 19:05, 27 January 2023 (UTC) &lt;br /&gt;
::There's definitely space between those extremes. I can't count the number of times I've taken some code and either stripped parts out that were outside my use case, built up something that was missing for the same, or sometimes both at the same time... as long as an eye is kept on internal consistency and a bit of flexibility it usually works out... usually [[Special:Contributions/172.69.34.112|172.69.34.112]] 17:02, 28 January 2023 (UTC)&lt;br /&gt;
&lt;br /&gt;
I took it to mean if you say it's fine it isn't (thinking of Murphy and that &lt;br /&gt;
it's fine fire cartoon here) and if you worry that it isn't it will usually be. Jinx. That's the word I was looking for.18:40, 27 January 2023 (UTC)&lt;br /&gt;
:&amp;quot;Tempting fate&amp;quot;, I'd say, in the latter case. Whatever the overcautious opposite is in the former, which I'm sure has a phrase but I can't immediately think of one so I haven't added the one I know, unpaired. I think we are all having similar thoughts about the philosophical paradoxities, however. [[Special:Contributions/172.71.242.11|172.71.242.11]] 19:05, 27 January 2023 (UTC)&lt;br /&gt;
&lt;br /&gt;
Circa 1969, &amp;quot;Surely 16 bits will be enough for a timestamp, it won't break until the year 2000. Who knows if it will still be around by then.&amp;quot; Circa 1998, &amp;quot;Surely 32 bits will be enough for a timestamp, it won't break until the year 2038. Who knows if it will still be around by then.&amp;quot; But to be fair, while Unix has outlasted one of it's major contributors (Dennis Ritchie, RIP), it was designed with best practices to encourage reuse. [[User:Rtanenbaum|Rtanenbaum]] ([[User talk:Rtanenbaum|talk]]) 18:58, 27 January 2023 (UTC)&lt;br /&gt;
&lt;br /&gt;
Should this be added to the Code Quality series? It fits the vibe and the title style too.[[User:Xurkitree10|Xurkitree10]] ([[User talk:Xurkitree10|talk]]) 16:32, 28 January 2023 (UTC)&lt;/div&gt;</summary>
		<author><name>172.69.34.112</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=2358:_Gravitational_Wave_Pulsars&amp;diff=197056</id>
		<title>2358: Gravitational Wave Pulsars</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=2358:_Gravitational_Wave_Pulsars&amp;diff=197056"/>
				<updated>2020-09-11T20:19:57Z</updated>
		
		<summary type="html">&lt;p&gt;172.69.34.112: more astronomy?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 2358&lt;br /&gt;
| date      = September 11, 2020&lt;br /&gt;
| title     = Gravitational Wave Pulsars&lt;br /&gt;
| image     = gravitational_wave_pulsars.png&lt;br /&gt;
| titletext = The most important attributes of a vector in 3-space are {Location, Location, Location}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete|Created WITH EXQUISITE TIMING. Please mention here why this explanation isn't complete. Do NOT delete this tag too soon.}} &lt;br /&gt;
The title text references a well known real estate saying that the three most important parts are &amp;quot;location, location, location.&amp;quot; In 3d space the three coordinates all refer to locations along one axis&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
{{incomplete transcript|Do NOT delete this tag too soon.}}&lt;br /&gt;
&lt;br /&gt;
Ponytail: Ask me what the secret to detecting gravitational waves using pulsars is.&lt;br /&gt;
&lt;br /&gt;
Cueball: What's the secret to detecting grav--&lt;br /&gt;
&lt;br /&gt;
Ponytail: '''''Timing!'''''&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
[[Category: Comics featuring Ponytail]]&lt;br /&gt;
[[Category: Comics featuring Cueball]]&lt;br /&gt;
[[Category: Astronomy]]&lt;/div&gt;</summary>
		<author><name>172.69.34.112</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=2358:_Gravitational_Wave_Pulsars&amp;diff=197055</id>
		<title>2358: Gravitational Wave Pulsars</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=2358:_Gravitational_Wave_Pulsars&amp;diff=197055"/>
				<updated>2020-09-11T20:18:29Z</updated>
		
		<summary type="html">&lt;p&gt;172.69.34.112: /* Transcript */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 2358&lt;br /&gt;
| date      = September 11, 2020&lt;br /&gt;
| title     = Gravitational Wave Pulsars&lt;br /&gt;
| image     = gravitational_wave_pulsars.png&lt;br /&gt;
| titletext = The most important attributes of a vector in 3-space are {Location, Location, Location}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete|Created WITH EXQUISITE TIMING. Please mention here why this explanation isn't complete. Do NOT delete this tag too soon.}} &lt;br /&gt;
The title text references a well known real estate saying that the three most important parts are &amp;quot;location, location, location.&amp;quot; In 3d space the three coordinates all refer to locations along one axis&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
{{incomplete transcript|Do NOT delete this tag too soon.}}&lt;br /&gt;
&lt;br /&gt;
Ponytail: Ask me what the secret to detecting gravitational waves using pulsars is.&lt;br /&gt;
&lt;br /&gt;
Cueball: What's the secret to detecting grav--&lt;br /&gt;
&lt;br /&gt;
Ponytail: '''''Timing!'''''&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
[[Category: Comics featuring Ponytail]]&lt;br /&gt;
[[Category: Comics featuring Cueball]]&lt;br /&gt;
[[Category: Physics]]&lt;/div&gt;</summary>
		<author><name>172.69.34.112</name></author>	</entry>

	</feed>