<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>simplicity &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/simplicity/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Sun, 09 Nov 2025 05:34:11 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>simplicity &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Everything Is Too Complicated]]></title>
		<link>https://shkspr.mobi/blog/2018/04/everything-is-too-complicated/</link>
					<comments>https://shkspr.mobi/blog/2018/04/everything-is-too-complicated/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 15 Apr 2018 06:32:08 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[simplicity]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=28941</guid>

					<description><![CDATA[In the book &#34;Mostly Harmless&#34; an Earthman finds himself stranded on a distant planet with a primitive level of technology.  He had been extremely chastened to realise that although he originally came from a world which had cars and computers and ballet and Armagnac he didn&#039;t, by himself, know how any of it worked. He couldn&#039;t do it. Left to his own devices he couldn&#039;t build a toaster. He could…]]></description>
										<content:encoded><![CDATA[<p>In the book "<a href="https://amzn.to/2GPFKj2">Mostly Harmless</a>" an Earthman finds himself stranded on a distant planet with a primitive level of technology.</p>

<blockquote><p>He had been extremely chastened to realise that although he originally came from a world which had cars and computers and ballet and Armagnac he didn't, by himself, know how any of it worked. He couldn't do it. Left to his own devices he couldn't build a toaster. He could just about make a sandwich and that was it. There was not a lot of demand for his services.</p></blockquote>

<p>This is the world we live in. None of us know how the world works.  We may think we have a deep understanding of our particular specialism - but we know more and more about less and less.</p>

<p>I know how to use a computer. I can program it. I could build one from pre-fabricated parts. But further than that... Could I build a CPU?  I think it is fair to say that no individual on the planet has a complete understanding of how a modern CPU works.  Isn't that ridiculous? These tiny silicon brains control our lives, but no one know how they work.</p>

<p>The stock market determines our financial future.  We collectively pay people billions to understand the emergent behaviour of a complex system - but it is a Sisyphean task.</p>

<p>The NASDAQ drops and your employer lays you off. Who caused that? Who is responsible? Why did it happen? All unanswerable other than to say "that's the way the system works."</p>

<p>In his seminal essay "<a href="https://fee.org/resources/i-pencil/">I, Pencil</a>", Leonard E. Read discusses what it takes to create a pencil and how there is no man...</p>

<blockquote><p>... including the president of the pencil company, who contributes more than a tiny, infinitesimal bit of know-how.</p></blockquote>

<p>I disagree with some of Read's conclusions (not least due to his shocking ignorance of US petrochemical subsidies) but he is right that we are now, fundamentally, a gestalt intelligence. We are like ants and bees - none of us can possibly know everything about society, but as a <em>swarm</em> we have enough specialised workers to allow our tribe to flourish.</p>

<p>This is distressing to most of us.  We are the top of the food chain! We are experts in our own domains! We understand mechanics both quantum and celestial!  How could we <em>not</em> understand something as simple as... (insert your favourite political topic here)</p>

<h2 id="simplicity"><a href="https://shkspr.mobi/blog/2018/04/everything-is-too-complicated/#simplicity">Simplicity</a></h2>

<p>Paradoxically, it is easier to create something complicated than simple.  Producing baroque and superfluous verbiage is infinitely easier than judiciously reducing a paragraph or sentence down to the bare essentials necessary for understanding.</p>

<p>Simplicity takes work.</p>

<p>As <a href="https://quoteinvestigator.com/2012/04/28/shorter-letter/">Mark Twain said</a>:</p>

<blockquote><p>I'm sorry this letter is so long, I did not have time to make it shorter.</p></blockquote>

<p>Whether you're writing code, designing a bureaucracy, or composing an email - do the hard work to make things simple.  Simplicity is the only way we can comprehend the world.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=28941&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2018/04/everything-is-too-complicated/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[A Polite Way To Say "Ridiculously Complicated"]]></title>
		<link>https://shkspr.mobi/blog/2015/11/a-polite-way-to-say-ridiculously-complicated/</link>
					<comments>https://shkspr.mobi/blog/2015/11/a-polite-way-to-say-ridiculously-complicated/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 09 Nov 2015 08:23:55 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[complexitiy]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[simplicity]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=21583</guid>

					<description><![CDATA[The one book I insist my new hires read before starting is Edward de Bono&#039;s &#34;Simplicity&#34;.  It suggests that we should value others&#039; time over our own.  Every hour we spend making things simple gives a net benefit to humanity.  Whether it is laws, industrial design, software, or documentation - our goal should be to make things radically simple.  Not only does simplicity save time - it also saves…]]></description>
										<content:encoded><![CDATA[<p>The one book I insist my new hires read before starting is <a href="http://www.amazon.co.uk/gp/product/0141033096/ref=as_li_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0141033096&amp;linkCode=as2&amp;tag=shkspr-21">Edward de Bono's "Simplicity"</a>.</p>

<p>It suggests that we should value others' time over our own.  Every hour we spend making things simple gives a net benefit to humanity.  Whether it is laws, industrial design, software, or documentation - our goal should be to make things <em>radically</em> simple.</p>

<p>Not only does simplicity save time - it also saves us from making catastrophic mistakes.  Many recent Internet security issues are a direct result of complicated code implementing complicated standards.  <a href="http://heartbleed.com/">HeartBleed</a>, for example, was partly caused by needless complexity.</p>

<blockquote><p>The fundamental reason they all failed to find the vulnerability is that the OpenSSL code is extremely complex; it includes multiple levels of indirection and other issues that simply exceeded these tools’ abilities to find the vulnerability. Developers should simplify the code (e.g., through refactoring) to make it easier for tools and humans to analyze the program
</p><p>...
</p><p>The fact that it is so difficult to even determine what the allocator does is testimony that the memory allocation system itself is too complex!
</p><p><cite><a href="http://www.dwheeler.com/essays/heartbleed.html">How to Prevent the next Heartbleed - David A. Wheeler</a></cite>
</p></blockquote>

<p>Why do some people and institutions seem to thrive on creating increasingly complex standards and implementations?</p>

<p>It is, so I'm told by those with greater emotional empathy than I, impolite to call people "idiots".  So it would seem that those who write Internet standards have settled on the preferred adjective of "<a href="https://en.wikipedia.org/wiki/Baroque">baroque</a>".</p>

<blockquote><p>After many years of debate, as a result of the perceived need to accommodate certain DNS implementations that apparently couldn't handle any character that's not a letter, digit, or hyphen (and apparently never would be updated to remedy this limitation), the Unicast DNS community settled on an <strong>extremely baroque</strong> encoding called "Punycode" [RFC3492].

</p><p>Punycode is a <em>remarkably ingenious</em> encoding solution, but it is complicated, hard to understand, and hard to implement, using sophisticated techniques including insertion unsort coding, generalized variable-length integers, and bias adaptation.

</p><p><cite><a href="https://tools.ietf.org/html/rfc6762#appendix-F">RFC 6762, Appendix F.</a></cite> emphases added.
</p></blockquote>

<p>Baroque is the fiddly, intricate, majestic, and fiendishly complicated form of art which sounds like this:</p>

<p></p><figure class="audio">
	<figcaption>🔊</figcaption>
	
	<audio controls="" loading="lazy" src="https://upload.wikimedia.org/wikipedia/commons/0/0a/Corelli-Trio_Sonata_11-3.ogg">
		<p>💾 <a href="https://upload.wikimedia.org/wikipedia/commons/0/0a/Corelli-Trio_Sonata_11-3.ogg">Download this audio file</a>.</p>
	</audio>
</figure><p></p>

<p>Complexity causes confusion.  Confusion robs people of their time - <a href="https://www.destroyallsoftware.com/talks/wat">although it can occasionally be amusing</a>.</p>

<p>We need to stop confusion. We need to make things simple enough for people to understand without requiring them to go through the painfully humiliating ritual of screwing up the basics and asking for help.</p>

<p>Let's take as an example HTML5 video and responsive images.</p>

<p>If you want to embed a video into your HTML, this is the simplest way to do so:</p>

<pre>&lt;video src="video.webm"&gt;
&lt;/video&gt;
</pre>

<p>Suppose you want different video formats, there's a relatively simple way to do that - specify the filename and (optionally) the codec within the file.</p>

<pre>&lt;video&gt;
  &lt;source src="video.webm"
          type='video/webm;codecs="vp8, vorbis"'/&gt;
  &lt;source src="video.mp4"
          type='video/mp4;codecs="avc1.42E01E, mp4a.40.2"'/&gt;
&lt;/video&gt;
</pre>

<p>I say "optionally" because video standards are not quite as well established as image standards. While a JPG or PNG image can almost certainly be decoded by any computer, an MP4 could contain all manner of bizarre audio and video content.</p>

<p>Moving on to Responsive Images.  This allows us to specify different sized images which the browser can pick from, depending on its resolution.</p>

<p>For a normal image, we can simple write:</p>

<pre>&lt;img src="picture.jpg" /&gt;
</pre>

<p>So, for a responsive image, following on from the previous example, we should be able to use something like this, right?</p>

<pre>&lt;img&gt;
  &lt;source src="pic.jpg"
          scale='1x'/&gt;
  &lt;source src="bigpic.jpg"
          scale='2x'/&gt;
  &lt;source src="croppedpic.jpg"
          scale='1x;640w'/&gt;
  &lt;source src="croppedbigpic.jpg"
          scale='2x;640w'/&gt;
&lt;/img&gt;
</pre>

<p>Sadly, no.  The <a href="https://web.archive.org/web/20151110115752/https://responsiveimages.org/">official way to do Responsive Images</a> is this <em>delightfully baroque</em> construction:</p>

<pre>&lt;img src="small.jpg"
     srcset="large.jpg 1024w, medium.jpg 640w, small.jpg 320w"
     sizes="(min-width: 36em) 33.3vw, 100vw"&gt;
</pre>

<p>So <code>srcset</code> has comma delimited strings, which are then delimited by spaces, with sizes in an entirely different attribute!  I don't know what happens if a filename has a space or comma, URl encoding perhaps?</p>

<p>How would you even begin to explain that to someone just starting out with HTML?  Would you be able to quickly and easily construct that tag by hand? Could you debug it if you needed to?</p>

<p><a href="https://xkcd.com/1168/"><img src="https://imgs.xkcd.com/comics/tar.png"></a></p>

<p>I'm making an example of Responsive Images - not just because I know <a href="http://brucelawson.github.io/talks/2015/respimg/">Bruce Lawson enjoys public flagellation</a> - but because I think they're a fairly visible symptom of the cult of complexity.</p>

<p>It feels like computer science is in an age of Master Craftsmen who are forming Guilds dedicated to preserving the mystery of their skilled practices.</p>

<p>Just as Master Masons fiercely protected their tools and knowledge - rationing training and apprenticeships - to better enrich themselves, it seems that standards writers, library writers, and technical architects are hell bent on making everything they do as complex as possible in order to preserve their position of power.</p>

<blockquote class="social-embed" id="social-embed-529909875347030016" lang="en"><header class="social-embed-header"><a href="https://twitter.com/ddprrt" class="social-embed-user"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRuQBAABXRUJQVlA4INgBAAAwCgCdASowADAAPrVMok2nI6MiJzgKSOAWiWkAEVR/HvYJAdVYt7GJQGfDFTmR2Tr+WSZDRjcijmUY+9/TyhU2DwdIZyl8lIAH11yyOlAzPAXKg16ezR7rCoAA/vqp6YxEtg9OguOXgH4Ux4WwPB6+H75Q2wOpfieEGvtld7a0S1pUELzxLJWyN7um4T4VVr61CYlEsE7aoIsaDMz4kh3Igkl/Dv2d8ZTtd1B32xyE6X4CYQtKUTepl8dHY1Tv9lNFSmW8g4fTk7BQIB7wTKM9+8c2N6U5uPUIBI4ecwVArnupEuXmMb6z8H58NBtRyuitmS65RDp7k3CtWeKvgAhLWMPEHHyakA3xNa1ke+81eSwfpmhxn2iHAgxFu673O4sRJSqTNE98i1yJ757jQuxGste5/gpbyjzUNnO85k/jDrGXKeX1y05i3GozoBhXomW1Q4jlGVDdL3aKdcXw/mu2yf5FSz/xTK1ENN6eKtaMvCnEgt0e/Wc0t7nGU3ncXTe6mphiuljZYbR5aqY8xFq566dvoTpTVbjBvI46s/iSf7agDGw20UAG6HJkZ0nRUzR33NIe7USi9NCCAI/Tnk2StfHHSibeswy9LJlAlq+Bc8RJCBvF2IAA" alt=""><div class="social-embed-user-names"><p class="social-embed-user-names-name">Stefan Baumgartner @deadparrot@mastodon.social</p>@ddprrt</div></a><img class="social-embed-logo" alt="" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCmFyaWEtbGFiZWw9IlR3aXR0ZXIiIHJvbGU9ImltZyIKdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoCmQ9Im0wIDBINTEyVjUxMkgwIgpmaWxsPSIjZmZmIi8+PHBhdGggZmlsbD0iIzFkOWJmMCIgZD0ibTQ1OCAxNDBxLTIzIDEwLTQ1IDEyIDI1LTE1IDM0LTQzLTI0IDE0LTUwIDE5YTc5IDc5IDAgMDAtMTM1IDcycS0xMDEtNy0xNjMtODNhODAgODAgMCAwMDI0IDEwNnEtMTcgMC0zNi0xMHMtMyA2MiA2NCA3OXEtMTkgNS0zNiAxczE1IDUzIDc0IDU1cS01MCA0MC0xMTcgMzNhMjI0IDIyNCAwIDAwMzQ2LTIwMHEyMy0xNiA0MC00MSIvPjwvc3ZnPg=="></header><section class="social-embed-text">"What's bower?"<br>"A package manager, install it with npm."<br>"What's npm?"<br>"A package manager, you can install it with brew"<br>"What's brew?"<br>...</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://web.archive.org/web/20150329030229/https://twitter.com/ddprrt/status/529909875347030016"><span aria-label="2668 likes" class="social-embed-meta">❤️ 2,668</span><span aria-label="110 replies" class="social-embed-meta">💬 110</span><span aria-label="0 retweets" class="social-embed-meta">♻️ 0</span><time datetime="2014-11-05T08:15:34.000Z">08:15 - Wed 05 November 2014</time></a></footer></blockquote><a href="https://web.archive.org/web/20150329030229/https://twitter.com/ddprrt/status/529909875347030016">

</a><blockquote class="social-embed" id="social-embed-529672490529079296" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><a href="https://web.archive.org/web/20150329030229/https://twitter.com/ddprrt/status/529909875347030016"></a><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://web.archive.org/web/20150329030229/https://twitter.com/ddprrt/status/529909875347030016"></a><a href="https://twitter.com/patrick_h_lauke" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRpYCAABXRUJQVlA4IIoCAADQDACdASowADAAPrVQoUqnJSMhqrqsAOAWiWIAsR+8VuRbX113l+QUCsamdzLd0tbQgTYo50IKBQkqm2j2DF4EQWBOZAA5QAL+mpEFRs9CYGx5kQ4ECOTe6YmctuKYaXqlG/8tBIjejQhXpH7clQAA/usaPZH98UuquV9YoopNJbwFvfjo7yQt1NDtTfSbeXh2JFH18aCp4E3l5v3Tq7tafbk8huAX4UDgxSfnxJy/kAAfbVg68AzhvbJ0coAKev4ZdfF+vdFdckUMBksBxfIZnuP5NgIy/BzC+9XxElqWEk1iXn/7XxDiHZIhzwlDbZWQFCPhTaFFoAHoL8baNLUPWgNtt0qGswmXVD6qxwNUgyjXGiWdjViPy59zjd5Mu1z8vM4ZC5qVcxYX+o8qHyCdBQDTsR9XcQA1iwj1O5aAjjpwVrbfVHz88NOfX5ZRbbPpI624RCJ1IO8R0xxMb7FDjmacQHpljCy+wjxWLJnj7Hmw+gYHAv/McB4WuF62FsXsYNpbtAiOLMn/GKntAoAwVyY65NnYGcfO/zwzRne0coPzjQeyApL5oBzlH521Bui/KsnV/DlqATxkIwJrjbtoDvDcK6JrVwOfp6p38SklBz0PeolJywvSwcZvJavTDYn7Wc5LMlNARI41xmMYa+VK3hWhNXb3p7t2IAfZsr96VXTB68Ky1jIfTysl77kzgMn02pnqsWTYmSjEe/07RhH7L1asHaE2xUNgmX4mzLprepAZ/tbvLFKdqael34NdP/KRfajBbt9CfGPP2MTJEChjJhZi7Vbs1Y5204QCdDh9PRV0cCi3vrXonGOmQSW5MUEu+NcCiVYhFACy+EXOa/KOj7G7A9sHaLQAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">patrick h. lauke "only nazis stay on twiXter"</p>@patrick_h_lauke</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">you need to install ruby. now install ruby devkit. now install the jekyll gem. now intall python. (and that's the point where i scream...)</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/patrick_h_lauke/status/529672490529079296"><span aria-label="4 likes" class="social-embed-meta">❤️ 4</span><span aria-label="2 replies" class="social-embed-meta">💬 2</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2014-11-04T16:32:17.000Z" itemprop="datePublished">16:32 - Tue 04 November 2014</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-652541837039783936" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/whitequark" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRqYCAABXRUJQVlA4IJoCAACwCwCdASowADAAPrVWoUwnJSMiKrqpWOAWiWIAuGPDqS7KypGdoOJlXbeHdM0PLAf+sX4FUPA8MTc5lKETjZQvyqnxuZKdSnZ4v+4ZOe1N2vNQTG8+EvEgp9oYsNmlxQZYBwzBBbAA5VQd43ifg6D7N1nfJbUJOI9SmsVL1j1/MnCZuUusy/2bAZ428TJWmmikSPh7ef6pCq71Dgo5XeP2x/iPq0lLtE94oG6Yr0VQ/uxsE7hmupPW8SK7WO7cB+YvRvcknjdsJRP56pQOAVK9WeA4SR9aNB2W+uFedItimcvVcTOQ2FOGm6KA2AP5Y9HW8Z9ZHbJn7DxzgFQhaAn32hYNTZswMAbQLgx1eoC9QspD3kxmMQRVLHoFstnQEOmxkkaSDSVGRIRUkPSSA83Q24daTmEBr0rzc9k/olT3Fq8PbhXTRR4lyyCj+K+86mAVYLpO4FQgdFziag9i+Em72ZKVBOXCFFIJhbS26XlUnVMEh/m6ymOaUkA7aEGdAXNzNO8HhsJrZYZLUTbuZ5s8IRUHY+VkfiYnPWJY8iD5Dzz2VEiWxPw9G0n2czjfXMXjpiWfGmXnMBwFv42O4qS+5rBKk5m6el3f7PUofvbPcc13cxaSfrG2wyHwzklR1ne/IcvdFcyO+5FlKU528SBDt7eR3wc27keJHGgYrwv+U+nbSfr0pnZVtHbNlKVQDXalHQ3D3f6+ihBTBOhZO+WVkS3ArcgEuFxCWKAO38ufENiFb5ekF3fyODmWkC6r+AIkL4uNFP/ZlnsSsoAkGQUSwY2J8mDvZ3ANpei+1/+IRE6umezJ6ulXk5mmUoSXUgJkLX3CZ7ZMgBRvl1SRtnWidoHmL2VcfT+mMQM7oD4i8qXoB1geIIIAAAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Catherine</p>@whitequark</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">python has four package managers (setuptools, easy_install, pip, conda) and all of them are awful. but conda is the absolute worst</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/whitequark/status/652541837039783936"><span aria-label="5 likes" class="social-embed-meta">❤️ 5</span><span aria-label="5 replies" class="social-embed-meta">💬 5</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2015-10-09T17:51:12.000Z" itemprop="datePublished">17:51 - Fri 09 October 2015</time></a></footer></blockquote>

<p>Part of this is a failure of our attention span.  It's <em>fun</em> to write something new.  It's decidedly <em>not fun</em> to do the grindingly hard work of making existing things better or listening to user complaints and fixing bugs.</p>

<p>We're also grandiose!  "I shall be the one to achieve eternal glory for writing the ultimate..." is a lot more fun to imagine than "I shall toil away unknown as I make this work slightly easier for the next poor sod who has to deal with ..."</p>

<p>Here's what I want you to remember - <strong>CPU cycles are cheap, human lives are expensive</strong>.</p>

<p>(Now, there are some obvious corollaries - if you're working on system with extremely limited resources, like a Mars Rover with 1KB of RAM, you can pull off all sorts of intricate tricks to keep performance high.  But, I suspect most of us have the luxury of keeping things simple for those who follow us.)</p>

<p>It is our duty to sacrifice our time to make sure everyone else has it easier than we do.  Eschew baroque constructions which stoke your ego with their unnecessary complexity and pursue simplicity in all you create.</p>

<hr>

<h2 id="selected-baroques-from-ietf"><a href="https://shkspr.mobi/blog/2015/11/a-polite-way-to-say-ridiculously-complicated/#selected-baroques-from-ietf">Selected Baroques From IETF</a></h2>

<blockquote><p>ASN.1 [2] and BER [3] are baroque both in terms of the abstract syntax and available on-the-wire representations, and complex to  implement.
</p><p><cite><a href="https://tools.ietf.org/html/draft-moore-rescap-blob-02">The Binary Low-Overhead Block Presentation Protocol</a></cite>
</p></blockquote>

<blockquote><p>However, sending a reset has the undesirable longer-term effect of giving an incentive to future TCP implementations to add more baroque combinations of resending SYN packets in response to a reset, because the TCP sender can't tell if the reset is for a standard reason, for congestion, or for the prohibited functionality of option X or reserved bit Y in the TCP header.
</p><p><cite><a href="https://tools.ietf.org/html/rfc3360">Inappropriate TCP Resets Considered Harmful</a></cite>
</p></blockquote>

<blockquote><p>Approaches providing a high degree of flexibility are often baroque; too many options and exceptions often lead to complicated or flawed implementations and serve as a barrier to understanding.
</p><p><cite><a href="https://tools.ietf.org/html/draft-irtf-smug-polreq-00">Multicast Security Policy Requirements and Building Blocks</a></cite>
</p></blockquote>

<blockquote><p>HISTORICAL NOTE:  Several of the mechanisms described in this set of documents may seem somewhat strange or even baroque at first reading.
</p><p>It is important to note that compatibility with existing standards AND robustness across existing practice were two of the highest priorities of the working group that developed this set of documents.
</p><p>In particular, compatibility was always favored over elegance.
</p><p><cite><a href="https://tools.ietf.org/html/rfc2045">Multipurpose Internet Mail Extensions</a></cite>
</p></blockquote>

<blockquote><p>This is no DNS issue, in theory all octets can be used in a label, it is a limitation caused by baroque SPF features, and this memo is not the place to specify the handling of labels with embedded dots.
</p><p><cite><a href="https://tools.ietf.org/id/draft-ellermann-spf-eai-00.html">Sender Policy Framework: Email Address Internationalization</a></cite>
</p></blockquote>

<blockquote><p>While BSON can be used for the representation of JSON-like objects on the wire, its specification is dominated by the requirements of the database application and has become somewhat baroque.  The status of how BSON extensions will be implemented remains unclear.
</p><p><cite><a href="https://tools.ietf.org/html/rfc7049">Concise Binary Object Representation (CBOR)</a></cite>
</p></blockquote>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=21583&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2015/11/a-polite-way-to-say-ridiculously-complicated/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		<enclosure url="https://upload.wikimedia.org/wikipedia/commons/0/0a/Corelli-Trio_Sonata_11-3.ogg" length="1327789" type="audio/ogg" />

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