<?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>software &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Mon, 16 Mar 2026 20:34:30 +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>software &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Some esoteric versioning schemes (monotonic moronity)]]></title>
		<link>https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/</link>
					<comments>https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 12 Feb 2025 12:34:33 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[shitpost]]></category>
		<category><![CDATA[software]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=58043</guid>

					<description><![CDATA[Since time immemorial, software has had version numbers.  A developer releases V1 of their product. Some time later, they add new features or fix bugs, and release the next version.  What should that next version be called? Modern software broadly bifurcates into two competing standards; SemVer and CalVer.  SemVer  Semantic Versioning is usually in the form 1.2.3, the last digit is usually for…]]></description>
										<content:encoded><![CDATA[<p>Since time immemorial, software has had version numbers.  A developer releases V1 of their product. Some time later, they add new features or fix bugs, and release the next version.</p>

<p>What should that next version be called? Modern software broadly bifurcates into two competing standards; <code>SemVer</code> and <code>CalVer</code>.</p>

<h2 id="semver"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#semver">SemVer</a></h2>

<p><strong>Sem</strong>antic <strong>Ver</strong>sioning is usually in the form <code>1.2.3</code>, the last digit is usually for minor bug fixes, the second digit for new functionality, and the primary digit for big and/or breaking changes.</p>

<p>The semantics are <em>pretty</em> loose. There's no real consensus on when a new "primary" number should be issued. There are two main weaknesses:</p>

<ol>
<li>The numbers might not be decimals. Is <code>V1.29</code> newer or older than <code>V1.3</code>?</li>
<li>There's no semantic information about <em>when</em> the software was released.</li>
</ol>

<p>Which leads us to…</p>

<h2 id="calver"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#calver">CalVer</a></h2>

<p><strong>Cal</strong>endar <strong>Ver</strong>sioning is, ironically, more semantic than SemVer. The version number is the date when the software was released.  For example, Ubuntu releases are in the form of <code>YY.MM</code> - the latest stable release at the time of writing is <code>24.04</code> - so we can tell that it was released in April 2024.</p>

<p>There are three main problems with this approach.</p>

<ol>
<li>ISO8601 or GTFO! Surely these should use <code>YYYY-MM</code> to make it obvious this is a date?</li>
<li>Minor bug fixes are often given a release number like <code>24.04.1</code> - is that still obvious it is date-based? Was it really released on the 1st of April?</li>
<li>No information about big and/or breaking changes. Software released several years apart may be functionally identical whereas software released days apart may be incompatible.</li>
</ol>

<h2 id="alternatives"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#alternatives">Alternatives</a></h2>

<p>So, what other ways can we number software versions?</p>

<h3 id="effver"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#effver">EffVer</a></h3>

<p><a href="https://jacobtomlinson.dev/effver/"><strong>Eff</strong>ort <strong>Ver</strong>sioning</a> is, I think, a sensible way to standardise SemVer. It attempts to show how much effort it takes to move between versions.</p>

<h2 id="pridever"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#pridever">PrideVer</a></h2>

<p><a href="https://mastodon.online/@nikitonsky/113691789641950263">How much Pride</a> do you have in your software release?</p>

<p>This is SemVer for people with an ego and the coding chops to match.</p>

<h3 id="ruffver"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#ruffver">RuffVer</a></h3>

<p><a href="https://docs.astral.sh/ruff/versioning/">Ruff</a> is a sort of bastard child between SemVer and CalVer, but adds this delightful complication:</p>

<blockquote><p>Stable releases use even numbers in minor version component: <code>2024.30.0</code>, <code>2024.32.0</code>, <code>2024.34.0</code>, … Preview releases use odd numbers in minor version component: <code>2024.31.0</code>, <code>2024.33.0</code>, <code>2024.35.0</code>, …</p></blockquote>

<p>It's the versioning equivalent of setting up a fully scalable cloud database and hand-chiselling HTML out of stone for the cookery blog you update twice per year.</p>

<h3 id="0ver"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#0ver">0Ver</a></h3>

<p><a href="https://0ver.org/"><strong>Zero</strong>-based <strong>Ver</strong>sioning</a> tells us that it is forbidden to ask and a sin to know when a piece of software will be completed.</p>

<p>Essentially, it is SemVer for cowards who are afraid to commit.  The opposite of <a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#PrideVer">PrideVer</a>.</p>

<h3 id="piver"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#piver">PiVer</a></h3>

<p>The venerable TeX uses <a href="https://www.preethamrn.com/posts/piver"><strong>Pi</strong> <strong>Ver</strong>sioning</a>.  The current version is <code>3.141592653</code>, the next version will be <code>3.1415926535</code>.</p>

<p>As the software gets refined, it gradually reaches a state of perfection. This is a charming versioning scheme which shouldn't be used by anyone other than Knuth lest hubris overtake you!</p>

<h3 id="namever"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#namever">NameVer</a></h3>

<p>Sometimes marketing takes the reins and insists that consumers need a <strong>Name</strong>d <strong>Ver</strong>sion to help prevent confusion.</p>

<p>Ubuntu uses things like <code>Bionic Beaver</code>, <code>Distinct Dropbear</code>, and <code>Mantic Minotaur</code>. By convention, names increase alphabetically, so you should know that <code>Jaundiced Jackdaw</code> is before <code>Killer Kangaroo</code> - until you've released 26 version and have to wrap around the alphabet again.</p>

<p>NameVer is helpful for <em>distinct</em> products which aren't related, but probably more confusing than necessary.</p>

<h3 id="winver"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#winver">WinVer</a></h3>

<p>Microsoft Windows uses this <em>very</em> logical scheme - 1, 2, 3, 3.11, 98, 2000, Me, XP, Vista, 7, 8, 10, 11.</p>

<p>It starts with more-or-less SemVer, then jumps to CalVer, then 4 digit CalVer, then to NameVer, then back to SemVer - <a href="https://www.engadget.com/2014-10-01-windows-10-9-naming-rumor.html">skipping 9 because of alleged technical reasons</a>.</p>

<p>Do not attempt to use this versioning unless you want to anger <em>both</em> gods and mortals.</p>

<h3 id="kelver"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#kelver">KelVer</a></h3>

<p>Absolute Zero is defined as 0K. And so, <a href="https://rybl.net/software-engineering/2022/06/08/kelvin-versioning.html#kelver"><strong>Kel</strong>vin <strong>Ver</strong>sioning</a> counts <em>down</em> to stability.</p>

<p>Almost the opposite of <a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#PiVer">PiVer</a> - the closer this gets to zero, the closer the code is to being complete.</p>

<p>This versioning scheme is affront to most sane people. But here's to the crazy ones.</p>

<h2 id="non-monotonic"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#non-monotonic">Non-Monotonic</a></h2>

<p>You will notice that all of the above are <em>monotonic</em>. That is, they all proceed in one direction and never reverse. Any subsequent version was <em>definitely</em> released later than a previous version.  So, in a sense, they all contain <em>some</em> level of semantics.</p>

<p>But they don't have to.</p>

<h3 id="hashver"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#hashver">HashVer</a></h3>

<p>Taking the Cryptographic Hash of the code, or a commit, allows one to create  <strong>Hash</strong> <strong>Ver</strong>sioning. For example <a href="https://github.com/termux/termux-app/commit/43317b78c920a48254f8846f5e14b5f873faa271"><code>43317b7</code></a> is a HashVer for something which would otherwise have the dull and unworthy name of v0.118.1</p>

<p>But, of course, a hash does have a <em>modicum</em> of semantic information - even if it is only loosely related to the content of the code.  What if there were something with <em>no</em> semantics and <em>no</em> monotonic behaviour!?!?</p>

<h3 id="randver"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#randver">RandVer</a></h3>

<p>Embrace the weird with <strong>Rand</strong>om <strong>Ver</strong>sioning!  It its heart, <a href="https://nedbatchelder.com/blog/202305/scriv_on_test_code.html">RandVer</a> says pick any number that hasn't been used before.</p>

<p>Perhaps <code>V7</code> is followed by <code>V2.5</code>, which is overtaken by <code>V0xDEADBEEF</code></p>

<p>Absolutely guaranteed to have zero semantic content.</p>

<h2 id="what-have-we-learned-today"><a href="https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/#what-have-we-learned-today">What have we learned today?</a></h2>

<p>The square-root of bugger-all.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=58043&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2025/02/some-esoteric-versioning-schemes-monotonic-moronity/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Book Review - Working in Public: The Making and Maintenance of Open Source Software by Nadia Eghbal ★★★★⯪]]></title>
		<link>https://shkspr.mobi/blog/2021/12/book-review-working-in-public-the-making-and-maintenance-of-open-source-software-by-nadia-eghbal/</link>
					<comments>https://shkspr.mobi/blog/2021/12/book-review-working-in-public-the-making-and-maintenance-of-open-source-software-by-nadia-eghbal/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 24 Dec 2021 12:34:25 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Book Review]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[software]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=41379</guid>

					<description><![CDATA[Over the last 20 years, open source software has undergone a significant shift—from providing an optimistic model for public collaboration to undergoing constant maintenance by the often unseen solo operators who write and publish the code that millions of users rely on every day. In Working in Public, Nadia Eghbal takes an inside look at modern open source software development, its evolution o…]]></description>
										<content:encoded><![CDATA[<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/12/working-in-public.jpg" alt="Book cover." width="338" height="500" class="alignleft size-full wp-image-41380">

<blockquote><p>Over the last 20 years, open source software has undergone a significant shift—from providing an optimistic model for public collaboration to undergoing constant maintenance by the often unseen solo operators who write and publish the code that millions of users rely on every day. In Working in Public, Nadia Eghbal takes an inside look at modern open source software development, its evolution over the last two decades, and its ramifications for an internet reorienting itself around individual creators. By delineating the structure of open source projects, she explores, for the first time, the maintenance costs of production that software incurs for its developers. Drawing on hundreds of developer interviews and analyses of platforms like Twitter, Facebook, Instagram, Twitch, and YouTube, Eghbal argues that examining who produces things on the internet, and not just what they produce, helps us understand the value of online content today.</p></blockquote>

<p>This is an excellent book. If you're an experienced open source developer, it'll bring clarity to a bunch of concepts you're familiar with but couldn't name. If you're managing teams who work with - or produce - open source, it'll give you a greater understanding of the scene and its limitations.</p>

<p>Given the current furore with Log4J developers basically being volunteers, the book presents several ways that critical open source can be funded.</p>

<p>But, for me, the best thing about it is the way that it reflects our culture at this moment in time. Sure, it covers the history of F/OSS and it looks to the future - but it is mostly about what working on Open Source is like <em>right now</em>.</p>

<p>If you're interested in software as a cultural movement - and its intersection with commerce and government - this is the book for you.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=41379&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/12/book-review-working-in-public-the-making-and-maintenance-of-open-source-software-by-nadia-eghbal/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[What do you call open source software that just works?]]></title>
		<link>https://shkspr.mobi/blog/2021/06/what-do-you-call-open-source-software-that-just-works/</link>
					<comments>https://shkspr.mobi/blog/2021/06/what-do-you-call-open-source-software-that-just-works/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 22 Jun 2021 11:45:41 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[software]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=39323</guid>

					<description><![CDATA[The fashion industry has the concept of &#34;prêt-à-porter&#34; - ready to wear.  You pick a thing off the rack and off you go. No tailoring needed.  Similarly, the food industry has &#34;prêt-à-manger&#34; - ready to eat. No telling l&#039;artiste du pain how much mayo you want, just grab a boxed sandwich and start munching.  What&#039;s the equivalent for Open Source Software?  (I know it is facile to say &#34;There are two …]]></description>
										<content:encoded><![CDATA[<p>The fashion industry has the concept of "<span lang="fr">prêt-à-porter</span>" - ready to wear.  You pick a thing off the rack and off you go. No tailoring needed.</p>

<p>Similarly, the food industry has "<span lang="fr">prêt-à-manger</span>" - ready to eat. No telling <span lang="fr">l'artiste du pain</span> how much mayo you want, just grab a boxed sandwich and start munching.</p>

<p>What's the equivalent for Open Source Software?</p>

<p>(I know it is facile to say "There are two types of X in the world..." but I'm going to do so anyway.)</p>

<p>There are two types of Open Source Software in the world, those that "just work" and those that make you want to bash your head against your monitor and go live in the woods without electricity.</p>

<p>In my infinite wisdom, the best sort of OSS requires no installation, no esoteric configuration, no mystic incantations, no downloading dependencies. A simple <code>./whatever</code> and you're off to the races.</p>

<p>I <em>loathe</em> stuff where the running instructions say "Install these seven external programs (half of which require compiling, the other half haven't been updated in a decade), fill in this tedious YAML document with a billion options, download yet another version of Docker for no particular reason, oh and remember to set <code>--safe-mode=true</code> when you run or it'll delete all your files."</p>

<p>GAH!</p>

<p>I appreciate that some software is complex. And not everything is amenable to a flatpak or snap package. And a developer's time is finite. And you get what you pay for. And that sometimes it is simply <em>better</em> to have a steep learning curve.</p>

<p>But most times I just want to download and run.</p>

<p>So, on to the most important matter of this thesis. What should we call this sort of software? I conducted a highly scientific Twitter survey - and these are some of my favourite answers:</p>

<blockquote><p><a href="https://web.archive.org/web/20210615072832/https://twitter.com/voltagex/status/1404702214543740932">Pret-a-Docker? (oh god)</a></p></blockquote>

<blockquote class="social-embed" id="social-embed-1404705822551203842" lang="es" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/ben_nuttall" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRuABAABXRUJQVlA4INQBAADQCQCdASowADAAPrVGnUqnI6KhsdM9+OAWiUAYC4F9/88AZUBi/iT0gUz/x2Yi1FvH8pq2qgkRxfVDXvlsquGPR233nNWgbjRPm3d5tEBY8WOtldy+DwAA/v34fHTGYdkcvM0NpyW5l9wXBDmJizXg/G78cyvDv/hDOMVphom5abaa+N0tCHH6Atw6JP/BnZnQ9+4bdDOHqsX8LyY/6z7Vb5lIiK5Hf8wmbpwHbOHKrPxOx4LkVB3C3Y1Uk8tsumTGiT8uvARYdIOs4daIZ8vZaXmuVrV78PrLysVkYNLl6q4rHMKZc4Mk1O6qaFaIbADyJeh0xRg5M2DWCKQ2wFsXn/oKXvO5lN2Vm+KlrJCkNL92nsAMUGUDOaDwqR40IHORon3f+esYpXN0TWg7NC4t900f/V7X19hanVskWTfhXN/R9at634o3kHU1HCGOgbGWHor/DMLFTeUFJ+CdEuarzqv0nc9P+OnpGI6wg7erI6NIQOeuD28SekqNZmjpsqbvvixRfW7Z8eHu//wtipY8+zP/0x6wT6+5sKxkpb4UqRQZ5/rIjGOGYQCt91SkKW3AHaFVtuzuMNz3UarAgVG0puJWkczvAj0sdp6DQ45edLE/gAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Ben Nuttall</p>@ben_nuttall</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"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/1404701948012548096">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> Pret-a-Mongo</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/ben_nuttall/status/1404705822551203842"><span aria-label="1 likes" class="social-embed-meta">❤️ 1</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-06-15T07:42:20.000Z" itemprop="datePublished">07:42 - Tue 15 June 2021</time></a></footer></blockquote>

<blockquote><p><a href="https://web.archive.org/web/20210615072804/https://twitter.com/TrialByTruth/status/1404702194130206722">prêt-à-monger?</a></p></blockquote>

<blockquote class="social-embed" id="social-embed-1404702476994060288" lang="fr" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/angusprune" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRlgCAABXRUJQVlA4IEwCAACQDACdASowADAAPrVSoUwnJKMiJyto4BaJQBUk4/8PCA6R61NlrMZ28y89Li06kAt4ofAcE/veBW99cd+8CEWHG8GsbBKm4+8maL+9X6UcvdmmHrKmbCz5PI8vR+bM2r5OicHMKhZbDhRGWwUAAP7sN2zjCKVuz27PIbowBuvdu7blcYifvGcnJGsq6uxSZMuPiyRS1QKbH7QMS+H46yP4hFoeBH7I61b6PFevYSLnH5mKOAcMZ97HCLOK6DobBFzn8SXXro9AhhvaIV+/hEch+T096J2lLlTPPL6R2Rpwl8t7xx5QWW+/9WdwhZJnyTG1ZoEXh9yg9IRZJaJTqMBmS6lK6xM361rXN8bUApR1phJjZT59vDrPij/yc7UzEvzyhwFfUEJ8SIZDV/PZOi5+JI0pV7Nl5GJ7dmU/s1NNi6kvuUAhq71I/jzvgw5GM19nQH5Xrt9C9ccc/iiIEHkOIhCwKdveSC8uG7ycrSaSiJZ1pEKRRGIWlAQcKxt8QSioPlHx/HfCKg39wkhOU0k+h7fJUCmSB1JJYxjH+y2tlnQN3B4+mt8c7Pg/mxlIcToVMzY9EBVKsAFG5ZE6E2UXMIrm2DIGbAjM2PhqgkBF4K19p131CpTn7YB0usJUQHB5URSVSac3YTJJWwSkRubO82TWEj8xdnMLxgPwYm7mKTBzi/rwu8ebCu73t4tX1saHbn97EEpgKWKKa7VHPjVIX2l9pPvEgxgQVV6UGxxuAWvYkaywlLAZAOCnvJLXOUI7gYMaUNwnYo/94AA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">angusprune@mastodon.lol 🫡</p>@angusprune</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"><small class="social-embed-reply"><a href="https://twitter.com/marxculture/status/1404702162110881794">Replying to @marxculture</a></small><a href="https://twitter.com/marxculture">@marxculture</a> <a href="https://twitter.com/edent">@edent</a> Prêt-à-god-it-works</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/angusprune/status/1404702476994060288"><span aria-label="6 likes" class="social-embed-meta">❤️ 6</span><span aria-label="1 replies" class="social-embed-meta">💬 1</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-06-15T07:29:03.000Z" itemprop="datePublished">07:29 - Tue 15 June 2021</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1404702681466216451" lang="fr" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/hondanhon" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRvQBAABXRUJQVlA4IOgBAABwCgCdASowADAAPrVInUqnJCKhrjgMyOAWiUAWdn79KzmO4W5p2dFhRzY/Uyp03QaAVWnlephI2NhWu5286lk6pfkUkHr1vJKj856/ZXg7o914YWIqdix7PkiCgAD+/fi0hTMelSXnr1RqGaUk+omP6HDZnmsTl9D+jdnqdb7AWGsLHCs3axKifPjz6wubfsbwX+jLmnLdDonJ3aOPZSI9RA68STy6+fLINaXG3fCJPLKpkh0pWlec+UD4Vblf3JigTsDMiY0Bt/3Mj6/9g40YBCBHRaElgpckjBzpC7uLgFv7ddxGc+zqZsYhJXpyamssr7nH75FSANa5J2tnLfpjceLs3U+uMx3O0jujcGlZTk7Y4zvg4C3a7+E4Y74p1hsdtlH3svcw3cLHNroGS3UflsiSKTe4WrudULxcyFt2dX/geyb7MOZie5BTa+MarNhoa64rK+GSWjgAAf42HvG1zCZ2RjU787OtrWi2Ylsf4YqlzvPdXKIwC6mt6gibChRkCPxXJRfYSdEoB7D4NlW9gZNi2qXRXccrA93+91ndUkrdRg4hDTNa3TCqpLNTe/Lhy7h+KFgxA2EttUd3tVlj8EWAn4zcKYQ/nkIZZyPQiXPQO2wrNVJHQpRbNKCJGJ0vdL94iAAAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Dan "Quietly Quit" Hon</p>@hondanhon</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"><small class="social-embed-reply"><a href="https://twitter.com/marxculture/status/1404702162110881794">Replying to @marxculture</a></small><a href="https://twitter.com/marxculture">@marxculture</a> <a href="https://twitter.com/edent">@edent</a> Prêt-allo-monde</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/hondanhon/status/1404702681466216451"><span aria-label="7 likes" class="social-embed-meta">❤️ 7</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="2021-06-15T07:29:52.000Z" itemprop="datePublished">07:29 - Tue 15 June 2021</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1404703672257462275" 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/rhowe212" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgDAABXRUJQVlA4IDwDAABwDgCdASowADAAPq1InEmmJKKhMdmcAMAViWgAwQtt0As+fif4uBbnAPPDZpTjGA7tE+iuJdkaOdXLKszt9+ouBUzyvf2axkXKOKauV6k5+I9KOJiD6MGUGnzusgFHRJPkqDIl4Rct89jxUcYcCyEITIHtqO/ueg7xqSjgAP7+/1e4Fdf91zQWX/x2wRQP7DGnGWiZo6IA7IJsZb9KGF+QBTjva8vBnnd/4PMTTR+NkUHHSMfVrJNUnvRhFCbOlgbz0bhmr6Oj3dHusMO70PHtbKtzjw0Em20ngCDba9z+rYoDqHJuY+Lx+8CSApacCwGj24G2dttVXb3OV6vyPwP+4YBR5ON9W4V5zlPTTrWb8Fu9Uvr+00TwwZjS3YIWpm7HRr+n3uFc2DPOxP/PBG5P38kWr/vMz+vrqyQWi1nwiFuQG/e6tCBj/25ObpeXwTSxhblex5QzDOe3TBeR0UL1GXeQjQnbo7Uek9wBuF6q+cPEWJGOE3IoqoWyxS0rhp08MCqSeLjv9006nFvaQis08uAk0GigMCA4ojG6UbFOU+kD6QNxlrw6h+oo4HCUTQz1mcBMEdme6136S/NhUy6JJd8hFSk86Vu6LBI4TVoqIqE/jG0QqfjwOhZd/ENytLXuQyceA9k/9kT6di6gJmIFRHrAAuVt7XW1Zeoxc2JnXSo0aAiireLYTpm+QVzo5yQ0YAbFe1q9ZNrB1Fi/jhBvFXorQ6CCs+YPFkTx326+dnH+28AmafRFMMuIU3E+h5xdOYz/dmOlH+iORfFQBSphQB2JfxclEndB6xJ02DEb4s/O6dB7I93nQ57iNHIEtTAfeamDWNmfDv2wwwzqDN108vNQEtD+GhzDMp8uVZ+LggoKtkR05/nwEqo3teUTJlqLA1LdIJWPRuoHDb/eKZcrfjp54jGAgl09jAj0/8vryqEjhvGOCb159+tGIoh9jmgxF0giLoVjTUuvsQrL2bm2Ohy4hGu6rMfnOHM5IMuP30QRiyjP9y2YM8mnMvVcCk6bRUfcAcm41pcHZaXojYe9b75H8YCQNqG5U63ZZsH6bg3Kgra9obrmkvVQZ6YtJOaO48VTBjC7WcVAAAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Russell Howe</p>@rhowe212</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"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/1404701948012548096">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> Wget-a-bash</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/rhowe212/status/1404703672257462275"><span aria-label="1 likes" class="social-embed-meta">❤️ 1</span><span aria-label="1 replies" class="social-embed-meta">💬 1</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-06-15T07:33:48.000Z" itemprop="datePublished">07:33 - Tue 15 June 2021</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1404707354403389440" lang="ca" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/aptshadow" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRuACAABXRUJQVlA4INQCAADwDQCdASowADAAPrVImkonJCIhsdZsAOAWiWkAFGB0j+M32VGiuA+rwZ/aeGuKxZpPk6Y48UD40LifMvj4442DT7ulB+y+ata7jniiyHHz+BFnRMoCn0Noc98IagSurCnw6Zs0kvv5blX0Li1GebRNpcjiZwE9ksAA/Vci1V+viWktm/thdhkrx+a/31VYwx/VzZ1FignUsQ0R7FYxXgHr46/zLpUcK3jiFwLo32mzEmtiz/7xP0EzuL4zyStnssv6G2vZFCmeUkBrdmTjdPUB7o3esn8BQWt5chTBeHEmNdtNhO8JvUJEdmFZ0EJVnlmTzdkQ/BQJHAUkJ0uPKgTOteRvkdUUsSgigUrcfwK/05Q2GHUNw1JWCzPrNZ2P/Q1EP7siY+4/sJrWG48Xf+TjC2G+x+0qJNB0UZwbdDMI9L2OpL7YAM2MzizaurEi0MHEAbPsD3GQpVRhSlAe6pQotEMqT2+9S7O341QjBU9KGPispN974XU/XpGkPqS/HQ55aIMJUC2nTxDK3P+HONtdPhBtlUfcfY0VjvX6B7vMJkyweJf4dYCujxGjlOY3Hf48hA9ZvK7D3Q04hJTI9bCKTxPmb7WoDDsS2kepJ8MGv2BHz8Ju4RvFEk7GeYKS+nfYBW6Qo1vG+ETl1oSS9++cPLipPzy+XCN2AnnlCBLbTt4VYx9feN9LDawZle69ZkYcyWIrGed66SJrzVmmhuWpguKtMF96x1I88XVRm28Uf9Mn5P54vBS+8Nudr41OaXX3/l/73/Ub7IachFIvddaWyWZVcXZZWZGb6+6kJ8aWxJtSwZj04N1F0tJG5jlEAq5NA4AScAhanMt47ppheHD0fKzwr3dEXXVv0yi5AbOuj5U8g/ysytQZIjiBQMNdhd1xunrArPUywP8ueX02oEgesnMbDZWKUPD9bvdmH9Eb4/pMh5B1jTcBaInYAn+n25kL+MAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Adrian Tchaikovsky</p>@aptshadow</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"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/1404701948012548096">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> Pret a ecran bleu de la mort.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/aptshadow/status/1404707354403389440"><span aria-label="19 likes" class="social-embed-meta">❤️ 19</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-06-15T07:48:26.000Z" itemprop="datePublished">07:48 - Tue 15 June 2021</time></a></footer></blockquote>

<blockquote><p><a href="https://web.archive.org/web/20210615080012/https://twitter.com/nto52406828/status/1404710246178828288">prêt-à-bugger</a></p></blockquote>

<blockquote class="social-embed" id="social-embed-1404717281679118337" 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/benthorp" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRgoDAABXRUJQVlA4IP4CAADwDACdASowADAAPqVAmEmmI6IhNUgAwBSJZgCsOUFT/lWTTbgm4nEFz+gBnAbJQ0uWVpI2eFOWygZBlbl4Bux7AFGyMcIfvde6/MLgL4h0D3tvLhqQ5iQXGOlmI3KcPIfNqI9IKXglx1F+4LFs7AMAAP7yvInJUYakr7bIT8R84umCjuezOFn/Poyg8FyF0L6F00uJnX/r87325kN/4HZflXng06sK4XbIU6y/8m7gANHnidtilHVfp5Dcyu3rfGl1yFzewKBvHfLI8smVnZfNGTy1axjO7rdA54QkoE56VBJzSyp+MKcSNAVT0aTmvF69pjZLmOJrvv35x4O4EkvKbw+Xg6EQySkNQkfBrV5KqReFAmE2Xs9cqpHzErCX6aWvWHzDx142ILIe5304ADsZOpRamK5rCmInEZ1pN4GMw/QIMlt7KrDlC/1+ZRkuSrGxVka59xlxBEidtYsnerp5z8mUwtDVveATAA+rH5yq5/aqk9QrMSNP2bx1nVXLaxbrjosgA0zfUrf46V8CepJSmKKuC2xObWRLXWLEelvY1CJ2wq/abL5J66AhSXp8B3lWWaIOBNXnwj12tWZ0OAaoBTyZK3iN3nEiDrzSSMAkhx9RUZ15gLJO/CmbzR9OZAgRc8jC7OE4S3bDq5rFvjZQzMRUyNZnbNseiU8iscUIAFl8T7tkjYM5NLgV+AhP+w7YU+30Lw3wMoF6s6y2Jiwhi5VKZnIxauAFYbXx1NtW5NNJvFHJi7rzgVlsWXOFEhvYha3SkwtXPyVKae0kfX+7F2u1D1KKmsXL2viXERIh75gnVNcBmvFEfe8YLMvogm8f8h3Gk1jC+Fv9cWjC5Jj63v8Mayvjs6pJ0HiIOZkTQbdmdyUppIl5uI13PFVqQ2V5mPKcp0LnLUA4HkPGlKBEGttW+cvnnqKP5NJ3+9+w+InFbW8Go+tPb/mABSPiZnFbLhuJWY70VSVa+sQafiymvWFjd2VuaQ7GJ5JqyRL+KMssCwItJmB1lwx78IAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Ben Thorp</p>@benthorp</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"><small class="social-embed-reply"><a href="https://twitter.com/sil/status/1404706736729120768">Replying to @sil</a></small><a href="https://twitter.com/sil">@sil</a> <a href="https://twitter.com/edent">@edent</a> OSS that requires no installation *or* esoteric configuration? pret-er-miracle.... ;)</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/benthorp/status/1404717281679118337"><span aria-label="1 likes" class="social-embed-meta">❤️ 1</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-06-15T08:27:52.000Z" itemprop="datePublished">08:27 - Tue 15 June 2021</time></a></footer></blockquote>

<blockquote><p><a href="https://web.archive.org/web/20210615131226/https://twitter.com/mynamelowercase/status/1404780297393160198">Prêt-à-plug-'n'-play</a></p></blockquote>

<blockquote class="social-embed" id="social-embed-1404768995954331655" 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/ben_nuttall" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRuABAABXRUJQVlA4INQBAADQCQCdASowADAAPrVGnUqnI6KhsdM9+OAWiUAYC4F9/88AZUBi/iT0gUz/x2Yi1FvH8pq2qgkRxfVDXvlsquGPR233nNWgbjRPm3d5tEBY8WOtldy+DwAA/v34fHTGYdkcvM0NpyW5l9wXBDmJizXg/G78cyvDv/hDOMVphom5abaa+N0tCHH6Atw6JP/BnZnQ9+4bdDOHqsX8LyY/6z7Vb5lIiK5Hf8wmbpwHbOHKrPxOx4LkVB3C3Y1Uk8tsumTGiT8uvARYdIOs4daIZ8vZaXmuVrV78PrLysVkYNLl6q4rHMKZc4Mk1O6qaFaIbADyJeh0xRg5M2DWCKQ2wFsXn/oKXvO5lN2Vm+KlrJCkNL92nsAMUGUDOaDwqR40IHORon3f+esYpXN0TWg7NC4t900f/V7X19hanVskWTfhXN/R9at634o3kHU1HCGOgbGWHor/DMLFTeUFJ+CdEuarzqv0nc9P+OnpGI6wg7erI6NIQOeuD28SekqNZmjpsqbvvixRfW7Z8eHu//wtipY8+zP/0x6wT6+5sKxkpb4UqRQZ5/rIjGOGYQCt91SkKW3AHaFVtuzuMNz3UarAgVG0puJWkczvAj0sdp6DQ45edLE/gAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Ben Nuttall</p>@ben_nuttall</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"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/1404701948012548096">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> Actually it's GNU/Pret</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/ben_nuttall/status/1404768995954331655"><span aria-label="13 likes" class="social-embed-meta">❤️ 13</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-06-15T11:53:22.000Z" itemprop="datePublished">11:53 - Tue 15 June 2021</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1404852001025007622" 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/ChrisBeeley" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRhADAABXRUJQVlA4IAQDAAAQDgCdASowADAAPrFImkmnJCIhLizI4BYJaACxHuhIONY6Fe3c8q4wVgLlh90Rpjg9kFcXLL0qDQyx/+2AjzfGqXzG891LgHLm62pobaP138MzKeHMDkDciEgRKzMGK46dXrqFQp0nhylTGOqIrUEJGU/5WoPksRuAAP76oCPHNjcP3nf2j+qqCFHvGk4SuE/t6E/JlnBmJtT+Ne2PL4KHkPJbuh0zueXntvEWg1oH3arbv+Jh69J9/IxTHeYNt662BB0nUu8S3DwN/lQneWYDoF9oJOMJuIKdnJMvMHefWmngxiMq6YipA5MDzFN3Tmhqt32giiEiA6ehIO4ZrLxFOUvXOFU/gzZ90L78cSF4ZgnkcG4vGMQExxao6oekBEBY4oCVb0V3lQWYL3l7nQXR7+OQAX/eSXqYZv/EkueP3CwurLHSXh1qKKVjB7aoX6Qmevbj9a31na9OFBv+JRRaHz+I/FJ9/DvUlabj8TVhIByCauMEIcSv2XjrniGjZvnbaS/OL7J14YcQvUtyJOrBloVkPo/VkESafQPvlnYNlbNWbla46gxvkNNsfrLoYO3vIH84ZJIsfm8KGB2Qf7nNAQuGqTypysbJJI2tOy1ARbZbHLvV5aT37spO3uvEsREGsQMPxiBY/fTnr2FtJPoQSnBaEnPWg2+V8/kvJO2S23SzQnu6ry25jUDfbQCT6+PLbsS2gNYUr1+bx22fcuzkA/fVIiTeYgeLoRGL/7M4ZnUZbHCNB/4CUqo6Q5WScx+ifE/qzEkedmAmo/M7sF1oWbJcaVXb6jBqS2C9SyvjkuqoJh9ycCMtDVnluYwZraRHPfvlODP86/Pp58BVIWy2IiIMRs9WvS8ui67Ny+qSKzjqAApuKeG0Ds29C+e9EdNBBCo18kozh1QGATG8WWfSTc2KOfXUhB7jGvXaq4WQtG0Ytvmtfh9CNfTMpTGWGnTmL14871hcDBgzQry3wQwvNuqnJuLr8X/qpHe2EurM6GVkXfB73cg6iSZEgNeav9LOjGgA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">chrisbeeley@fosstodon.org</p>@ChrisBeeley</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"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/1404701948012548096">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> I don't know but this reminded me of this excellent tweet <br><br><a href="https://twitter.com/leahvelleman/status/1377829865504833536?s=20">x.com/leahvelleman/s…</a><br><br>So I guess my answer would be <br><br>Pret a piano pas<br><br>(sorry my GCSE French is letting me down a bit here)</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/ChrisBeeley/status/1404852001025007622"><span aria-label="0 likes" class="social-embed-meta">❤️ 0</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-06-15T17:23:12.000Z" itemprop="datePublished">17:23 - Tue 15 June 2021</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1404933798735790082" 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/brucel" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRuYBAABXRUJQVlA4INoBAACwCgCdASowADAAPrVSn0snJSKhqrqsAOAWiUAUu/5I4/b4JHWL+CnIb7u0NlOLqHTvVU0zBXtwfo/sCmVnousXbJMipVAlQUYpcwSxlkyNW7vio6Lbvl/J+KZfcNoAAP79DTnTddyglkAZ/oDCslpgciQlUcnQk/XLbBjivDGyCCjXQkCJUUwfJ4DcUbA3tjiE7T+4SsbHBOiP2k9g9YEC7Izug2L6fqC/A4uQAvUey+P1a5cLwq8sCHq6X9iaCZMpkUb4dQHxgZERCn6si7TuObEIr0I2DfMMXXyhei5HYanL9uqO4AWmkVcu+TMWihZxwMKmK8gBfGrlihzF5y8KHqrNraKCuDQHJw9hdY3CVihSvAJuM7p8kCN7/rZRpgm8YhCU6Zb7rgqjoF12Pk3HcKtytueZ/CGNJ/hW8aexAVbc8gNDFCXf/lZFSisHYIPUU5QIFOUjqjKyLfMr+UgWwI4aTcAnm2ji1Hl9jEBCBcQsXkBaS8gT4B8P3ShgNWOmiAx/hikCK/7v2jbWf2VDKSqT1NTOHl6kSGW9BeX9Btx+R5cJMx38gSDZpd8Rfbz6zXPObexPGJ1bFuNez/EFrPn8Xvbu/UvZWv8NMG06HNxdTcgZLjd4AAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Bruce Lawson</p>@brucel</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"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/1404701948012548096">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> "What phrase would you use for stuff which requires no installation or esoteric configuration?"<br><br>"A web site"</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/brucel/status/1404933798735790082"><span aria-label="13 likes" class="social-embed-meta">❤️ 13</span><span aria-label="3 replies" class="social-embed-meta">💬 3</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-06-15T22:48:14.000Z" itemprop="datePublished">22:48 - Tue 15 June 2021</time></a></footer></blockquote>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=39323&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/06/what-do-you-call-open-source-software-that-just-works/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Do any Open Source Licences require source history?]]></title>
		<link>https://shkspr.mobi/blog/2020/08/do-any-open-source-licences-require-source-history/</link>
					<comments>https://shkspr.mobi/blog/2020/08/do-any-open-source-licences-require-source-history/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 01 Aug 2020 11:45:58 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[software]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=35960</guid>

					<description><![CDATA[A question to the void. Are you entitled to get the source history of open source projects?  Lots of Open Source licences give the consumer of software the right to a copy of the source code.  For example, GPLv3 says that distributors of software have to:  give anyone who possesses the object code ... a copy of the Corresponding Source  What is &#34;Corresponding Source&#34;?  The &#34;Corresponding Source&#34;…]]></description>
										<content:encoded><![CDATA[<p>A question to the void. Are you entitled to get the source <em>history</em> of open source projects?</p>

<p>Lots of Open Source licences give the consumer of software the right to a copy of the source code.</p>

<p>For example, <a href="https://www.gnu.org/licenses/gpl-3.0.txt">GPLv3</a> says that distributors of software have to:</p>

<blockquote><p>give anyone who possesses the object code ... a copy of the Corresponding Source</p></blockquote>

<p>What is "Corresponding Source"?</p>

<blockquote><p>The "Corresponding Source" means all the source code needed to generate, install, and run the object code</p></blockquote>

<p>That, to me, reads like a user is only entitled to a code snap-shot. Not the full history of code development, but just the version of the source used to compile the distributed binaries.</p>

<p>My question to you, gentle reader - are there any licences which compel the distribution or publication of the development history?</p>

<h2 id="is-this-a-good-idea"><a href="https://shkspr.mobi/blog/2020/08/do-any-open-source-licences-require-source-history/#is-this-a-good-idea">Is this a good idea?</a></h2>

<p>Services like GitHub and GitLab now dominate the open source conversation. But nothing about FOSS says that you <em>must</em> develop in public. It just seems to be the social norm now.</p>

<p>But I don't see any reason to make it a compulsory part of a licence.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=35960&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/08/do-any-open-source-licences-require-source-history/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Wanted - audio output based on screen output for Linux]]></title>
		<link>https://shkspr.mobi/blog/2020/06/wanted-audio-output-based-on-screen-output-for-linux/</link>
					<comments>https://shkspr.mobi/blog/2020/06/wanted-audio-output-based-on-screen-output-for-linux/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 11:51:10 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=35268</guid>

					<description><![CDATA[I think what I&#039;m asking for is impossible...  I have a Linux laptop with built in speakers and an external monitor with speakers. The laptop connects to the screen via HDMI.  I have my Linux desktop set up for dual screens.  If I drag a window from one screen to the other, I want the sound to follow the window.  Is this possible?  A bit more detail  When I have YouTube running on my monitor, I…]]></description>
										<content:encoded><![CDATA[<p>I think what I'm asking for is impossible...</p>

<p>I have a <a href="https://shkspr.mobi/blog/2020/05/review-clevo-n151cu-lafite-iv-system76-darter-pro-entroware-proteus/">Linux laptop</a> with built in speakers and an <a href="https://shkspr.mobi/blog/2020/04/review-iiyama-prolite-b2482hs-b1-24-vertical-monitor/">external monitor</a> with speakers. The laptop connects to the screen via HDMI.  I have my Linux desktop set up for dual screens.</p>

<p>If I drag a window from one screen to the other, I want the sound to follow the window.</p>

<p>Is this possible?</p>

<h2 id="a-bit-more-detail"><a href="https://shkspr.mobi/blog/2020/06/wanted-audio-output-based-on-screen-output-for-linux/#a-bit-more-detail">A bit more detail</a></h2>

<p>When I have YouTube running on my monitor, I want the sound to come from the monitor.</p>

<p>When I have a video conference running on my laptop screen, I want the sound to come from the laptop's speakers.</p>

<p>POP!_OS running Wayland gives me the option to set the default audio output.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/06/Screenshot-from-2020-06-04-15-13-44.png" alt="OS displaying a long list of options." width="632" height="584" class="aligncenter size-full wp-image-35272">

<p>Some apps - mostly video conference apps - let me select the audio output of that app. So I can set the output to my headphones or screen or laptop or Bluetooth speakers or the misconfigured Smart TV next door.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/06/Screenshot-from-2020-06-04-17-15-21.png" alt="Microsoft Teams lets me choose headset or built in audio device." width="572" height="201" class="aligncenter size-full wp-image-35270">

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/06/Screenshot-from-2020-06-04-15-15-17.png" alt="Google Meet lets me choose default, HDMI, or headphones." width="821" height="361" class="aligncenter size-full wp-image-35271">

<h2 id="is-this-actually-what-i-want"><a href="https://shkspr.mobi/blog/2020/06/wanted-audio-output-based-on-screen-output-for-linux/#is-this-actually-what-i-want">Is this <em>actually</em> what I want?</a></h2>

<p>My laptop usually has a wired headset and a Bluetooth headset connected - along with the built in speakers.  What I <em>really</em> want is for my webcam to notice what headset I'm wearing and route audio to that. If I'm not wearing headphones, notice which screen I'm looking at and route audio that way.  Except when I'm playing music on one screen and working on a document on a different screen.</p>

<p>Butler.  I want a human butler to surreptitiously readjust the sound output based on my subconscious whims.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=35268&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/06/wanted-audio-output-based-on-screen-output-for-linux/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The Invisible Nightmare]]></title>
		<link>https://shkspr.mobi/blog/2013/07/the-invisible-nightmare/</link>
					<comments>https://shkspr.mobi/blog/2013/07/the-invisible-nightmare/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 15 Jul 2013 11:12:32 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[software]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=7970</guid>

					<description><![CDATA[It rather sounds like the title of a Doctor Who story from the late 1970s, doesn&#039;t it?   But it&#039;s a term that I think we&#039;re going to be hearing a lot of in the future.  Jake Levine recently wrote an excellent post on apps which don&#039;t require any interaction.  It&#039;s not quite as crazy as it sounds - the interfaceless application - but refers to a class of program where the only interaction is in…]]></description>
										<content:encoded><![CDATA[<p>It rather sounds like the title of a Doctor Who story from the late 1970s, doesn't it?
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/04/The-Invisible-Nightmare.jpg" alt="The Invisible Nightmare" width="623" height="476" class="alignnone size-full wp-image-7971"></p>

<p>But it's a term that I think we're going to be hearing a lot of in the future.</p>

<p><a href="https://medium.com/i-m-h-o/nobody-knows-that-i-use-these-apps-20ae8b36f564">Jake Levine recently wrote an excellent post on apps which don't require any interaction</a>.  It's not quite as crazy as it sounds - the interfaceless application - but refers to a class of program where the only interaction is in the act of being notified.</p>

<p>The examples given are fairly obvious in retrospect - an app whose only function is to play a sound when it's about to rain, an exercise app which notifies you once per day about how many calories you've used.</p>

<p>We see these a lot with SMS alerts - e.g. a notification to say your credit card has been used. Automated emails from services which tell us what our website stats are for the month.</p>

<p>There is a risk that we get overwhelmed by these notifications.  Not just through <a href="http://www.independent.co.uk/voices/comment/is-fomo-depriving-us-of-our-ability-to-exist-in-the-present-and-take-pleasure-in-the-here-and-now-8449677.html">Fear Of Missing Out</a> - but just through the sheer volume.  I'm sure we've all gone through periods of unsubscribing from every bloody newsletter which has flooded our inbox.</p>

<p>That's a fairly visible nightmare. It's what happens next which scares me.</p>

<h2 id="invisible-apps"><a href="https://shkspr.mobi/blog/2013/07/the-invisible-nightmare/#invisible-apps">Invisible Apps</a></h2>

<p>Are there apps which you use, silently making changes, and you're not even aware of them?  Of course!</p>

<p>On a prosaic level, there's the app which automatically adjusts your screen's brightness.  The app monitors the ambient light and silently adjusts the screen so it is readable.  It never pops up and says "Hey! I just changed the screen - keep this brightness? Y/N"  It just plods along.</p>

<p>We are surrounded by devices passively collecting information, and then making autonomous decisions.</p>

<p>Can we ever know why those decisions are made?  Can we understand and - more importantly - correct their mistakes?</p>

<p>Google Now scans my inbox and occasionally alerts me when it thinks I'm about to miss a flight. Handy - but creepy.  It would be trivial for it to see my calendar for tomorrow, see that there's bad traffic, and autonomously decide to set my alarm clock app to wake me half-an-hour earlier than usual.</p>

<p>That's... good.  Probably.  In an ideal world where Google Now is 100% confident that I'm not taking the bus, or had decided to cancel, or any one of a hundred other variables that may impact the decision making process.</p>

<p>Your phone could look at your temperature, your hormone levels, shopping habits and <a href="http://www.nytimes.com/2012/02/19/magazine/shopping-habits.html?pagewanted=9&amp;_r=1&amp;hp&amp;pagewanted=all">correctly conclude you're pregnant</a>.  Is it acceptable if your phone refuses to let you order a glass of wine?  What if it automatically tells your friends to cancel your joint sky-diving lesson?</p>

<p>As we move more of our life into digital services, it's temping to think of our phone as a latter day butler.  A silent presence, looking over our shoulder, getting us out of scrapes and - somehow - always knowing when to call us a taxi home.</p>

<p>It's possible that the level of artificial intelligence needed to do this in a useful way may arise - I'm not confident of seeing that any time soon.  Having a butler that is continuously intervening - and is often wrong about its interventions - would be supremely distressing.</p>

<h2 id="a-malicious-siri"><a href="https://shkspr.mobi/blog/2013/07/the-invisible-nightmare/#a-malicious-siri">A Malicious Siri</a></h2>

<p>Do we need protecting from autonomous robots making important decisions for us?</p>

<p>Take, for example, your credit score.  There are thousands of software processes which are automatically looking at your spending, your saving, how quickly you pay back debt, and a hundred other facets of your life.  All of which builds up to create a credit score - essentially a quantified risk profile.  If your score is too low - no mortgage for you.</p>

<p>What are the systems which decide these scores? Are they accurate? Do they have bugs? Are they <a href="http://www.huffingtonpost.com/2009/09/30/credit-rating-agency-anal_n_305587.html">the same systems which gave a clean bill of health to Lehman Brothers</a>?</p>

<p>Imagine your phone realises that it's in a noisy environment - so switches from silent mode to loud mode.  Useful, unless you're in a cinema and receive a call during the emotional dénouement.</p>

<p>Worse, could our "faithful companions" be actively working against us?</p>

<p>Imagine Amazon released "Percy The Personal Shopper".  A smart software agent which would do your shopping for you - picking out the latest fashions in the correct sizes, recommending books you'll <em>just love</em>!  What could be better?  (Assuming he is smart enough to understand your sarcasm and doesn't automatically order you 3 tons of potatoes.)</p>

<p>But, of course, Percy doesn't work for you.  He works for Amazon.  He isn't suggesting clothes you'll like - he's suggesting clothes which are taking up space in Amazon's warehouse, or perhaps those which have a high profit margin.</p>

<p>Your exercise scheduler (Free! Sponsored by Nike!) automatically arranges tennis matches for you against better players who just happen to have a Nike racket.</p>

<p>Your calendar automatically sends your grandmother flowers on her birthday.  It doesn't know she died and you just keep the reminder in your calendar as a memento.</p>

<h2 id="taking-control"><a href="https://shkspr.mobi/blog/2013/07/the-invisible-nightmare/#taking-control">Taking Control</a></h2>

<p>Automatic decision making is a fascinating branch of artificial intelligence.  It won't be long before Google Now and Siri really do start taking actions for us in the background rather than simply notifying us.</p>

<p>How do we stop these invisible systems from tormenting us with their ill-informed - but well intended - actions?</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=7970&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2013/07/the-invisible-nightmare/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Car Hacking - With Bluetooth OBD]]></title>
		<link>https://shkspr.mobi/blog/2012/12/car-hacking-with-bluetooth-obd/</link>
					<comments>https://shkspr.mobi/blog/2012/12/car-hacking-with-bluetooth-obd/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 06 Dec 2012 10:15:32 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[obd]]></category>
		<category><![CDATA[obd2]]></category>
		<category><![CDATA[obdii]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[torque]]></category>
		<category><![CDATA[toyota]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=6838</guid>

					<description><![CDATA[Friend, colleague, and fellow geek, Sam Machin has introduced me to the wonders of the OBDII port!  Essentially, OBD (On Board Diagnostics) is a port which is found on every car produced since the late 1990s. It allows garages to see all sorts of diagnostic information about your car, its engine, and all other manner of petrol-headed goodness. It&#039;s designed to be easily accessible and conform to…]]></description>
										<content:encoded><![CDATA[<p>Friend, colleague, and fellow geek, <a href="http://sammachin.com/">Sam Machin</a> has introduced me to the wonders of the OBDII port!</p>

<p>Essentially, OBD (<a href="http://en.wikipedia.org/wiki/OBDII">On Board Diagnostics</a>) is a port which is found on every car produced since the late 1990s. It allows garages to see all sorts of diagnostic information about your car, its engine, and all other manner of petrol-headed goodness. It's designed to be easily accessible and conform to a common standard.</p>

<p>So, it's no surprise that a whole cottage-industry has developed around this port. Whereas connecting to OBD used to be something done only by garages, now anyone can buy an adapter. Which is how I got this £20 <a href="http://www.amazon.co.uk/gp/product/B009NPAORC/ref=as_li_ss_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B009NPAORC&amp;linkCode=as2&amp;tag=shkspr-21">BlueTooth capable OBD dongle</a>.</p>

<p>After scrabbling around in <a href="https://shkspr.mobi/blog/2012/12/new-car/">my new Toyota Yaris Hybrid</a>, I found the OBD port just to the right of the steering wheel.
<img class="aligncenter size-full wp-image-6845" title="OBDII port in Toyota Yaris" src="https://shkspr.mobi/blog/wp-content/uploads/2012/12/OBDII.jpg" alt="OBDII port in Toyota Yaris" width="600" height="363"></p>

<p>Fitting it was simply a matter of figuring our which way round it went, and then jamming it in. It fits well and doesn't feel like it will fall out - but a bit of gaffer tape may be in order to secure it when I drive along bumpy roads.
<img class="alignnone size-full wp-image-6849" title="Toyota Yaris Hybrid OBD Port" src="https://shkspr.mobi/blog/wp-content/uploads/2012/12/Toyota-Yaris-Hybrid-OBD-Port.jpg" alt="Toyota Yaris Hybrid OBD Port" width="375" height="500">
As soon as it plugged in, the lights started flashing and I was able to pair it with my Android phone.</p>

<h2 id="security"><a href="https://shkspr.mobi/blog/2012/12/car-hacking-with-bluetooth-obd/#security">Security</a></h2>

<p>The default code for these things is either "0000", "1234", or "6789". I <em>really</em> wish that could be changed. OR, at least, print a unique 8 digit code on each device. Essentially, the unit is on all the time - slowing drawing energy from the battery - which means that it is discoverable all the time.</p>

<p>So, anyone walking around the car park - or stuck in traffic with me - can get a full readout of my car's diagnostics.</p>

<p>True, it's not the biggest security threat in the world. We know that <a href="https://shkspr.mobi/blog/2012/11/is-samsung-spying-on-your-printer/">proprietary software is riddled with bugs</a>. Toyota had to <a href="https://www.cnet.com/science/toyota-software-bugs-unlike-those-in-flaky-pcs/">recall hundreds of thousands of cars due to software glitches</a>.</p>

<p>Perhaps there's a bug in the car - or the device - which will let an attacker stall the engine, or unlock the doors, or find out my fuel efficiency.</p>

<p>Of course, I could unplug the dongle every time I get out of the car (some units have physical power buttons) but that's a faff I can do without.</p>

<h2 id="the-plan"><a href="https://shkspr.mobi/blog/2012/12/car-hacking-with-bluetooth-obd/#the-plan">The Plan</a></h2>

<p>I'm using the free Android app <a href="https://play.google.com/store/apps/details?id=org.prowl.torquefree">Torque</a> (<a href="https://play.google.com/store/apps/details?id=org.prowl.torque">Pro Version available for £3</a>).</p>

<p>It's a nifty program which lets you monitor (and export) data from the engine.
<a href="https://shkspr.mobi/blog/wp-content/uploads/2012/12/wpid-Screenshot_2012-12-06-08-42-41.png"><img class="alignleft  wp-image-6840" title="Torque Android Screenshot" src="https://shkspr.mobi/blog/wp-content/uploads/2012/12/wpid-Screenshot_2012-12-06-08-42-41.png" alt="Torque Android Screenshot" width="350" height="622"></a> My phone will quite happily pair with the car's audio system and the OBD dongle - so that shouldn't be a problem. But it does rely on my remembering to pair the device (and take my phone with me!).</p>

<p>What I'm planning to do is use a cheap 2nd hand Android phone to act as a 3G bridge for the dongle. The Yaris has a USB port hidden in the glove compartment - it's usually used for playing music from a USB stick, but I think it should be sufficient to trickle charge a phone.</p>

<p>As the car doesn't have a built in GPS unit, I can use the Android's GPS to keep track of the car. I can use its 3G connection to email or text me whenever the car is moved - useful if it's being stolen or towed. I can plot my journeys, automatically let my wife know when I'm stuck in traffic, and all sorts of other jiggery-pokery.</p>

<p>Let the hacking commence :-)</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=6838&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2012/12/car-hacking-with-bluetooth-obd/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
	</channel>
</rss>
