<?xml version="1.0" encoding="UTF-8"?><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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Gavin &#8211;  </title>
	<atom:link href="https://dgen.net/0/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>https://dgen.net/0</link>
	<description>Designing our data infrastructure</description>
	<lastBuildDate>Thu, 23 Jul 2026 11:30:43 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://dgen.net/0/wp-content/uploads/2017/02/cropped-dgen-D-logo-2017-32x32.png</url>
	<title>Gavin &#8211;  </title>
	<link>https://dgen.net/0</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">232530259</site>	<item>
		<title>Are we just drawing epicycles?</title>
		<link>https://dgen.net/0/2026/07/23/are-we-just-drawing-epicycles/</link>
		
		<dc:creator><![CDATA[Gavin]]></dc:creator>
		<pubDate>Thu, 23 Jul 2026 11:07:02 +0000</pubDate>
				<category><![CDATA[astronomy]]></category>
		<category><![CDATA[climate change]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Finance]]></category>
		<guid isPermaLink="false">https://dgen.net/0/?p=8403</guid>

					<description><![CDATA[Measuring the rate of change of impact rather than planetary proxies For fifteen centuries, astronomers knew something was wrong: the planets sped up, slowed down, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Measuring the rate of change of impact rather than planetary proxies</em></p>



<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2026/07/epicycles.jpg"><img fetchpriority="high" decoding="async" width="1024" height="576" src="https://dgen.net/0/wp-content/uploads/2026/07/epicycles-1024x576.jpg" alt="" class="wp-image-8404" srcset="https://dgen.net/0/wp-content/uploads/2026/07/epicycles-1024x576.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/07/epicycles-300x169.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/07/epicycles-768x432.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/07/epicycles-1536x864.jpg 1536w, https://dgen.net/0/wp-content/uploads/2026/07/epicycles-2048x1152.jpg 2048w, https://dgen.net/0/wp-content/uploads/2026/07/epicycles-830x467.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/07/epicycles-230x129.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/07/epicycles-350x197.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/07/epicycles-480x270.jpg 480w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">(Some of you may know that my background is in astrophysics)</figcaption></figure>



<p class="wp-block-paragraph">For fifteen centuries, astronomers knew something was wrong: the planets sped up, slowed down, and even appeared to go backwards. The maths of the era kept failing.</p>



<p class="wp-block-paragraph">The fix? Add more circles.</p>



<p class="wp-block-paragraph"><em>Epicycles</em> were small circular orbits layered on top of the main ones, to patch the gap between theory and what the sky actually did. When they didn’t work, astronomers added more epicycles on top of epicycles. By the time <a href="https://en.wikipedia.org/wiki/Nicolaus_Copernicus" rel="noreferrer noopener" target="_blank">Copernicus</a> looked at it properly, the model had become a very sophisticated mechanism for being very precisely wrong. It produced numbers which looked like answers, but they weren’t.</p>



<p class="wp-block-paragraph">In 1604, after 40 failed attempts, <a href="https://en.wikipedia.org/wiki/Johannes_Kepler" rel="noreferrer noopener" target="_blank">Kepler</a> solved it by abandoning the assumption that orbits had to be circular at all. The answer was the ellipse. The fact you’re reading this is based on our understanding that planets orbit the sun in elliptical orbits.</p>



<p class="wp-block-paragraph">We are doing exactly this with carbon accounting, and we’ve been doing it for years.</p>



<p class="wp-block-paragraph"><strong>The problem</strong></p>



<p class="wp-block-paragraph">Most carbon accounting is built on spend data: take a financial figure from an invoice (e.g. what a company paid for electricity, goods or services), multiply it by an emission factor from an economy-wide table, or another abstracted model, and generate a number in tonnes of CO2e that looks like a measurement. However, it’s not really a measure, it’s a financial proxy in a costume, with a ‘choose your own adventure’ rulebook.</p>



<p class="wp-block-paragraph">NB: this isn’t a criticism of the standards bodies. They are explicit that spend-based data is the entry point, not the destination (both the GHG Protocol and PCAF codify data quality hierarchies for exactly this reason). The problem is what happens in practice: the market often settles at the bottom of the hierarchy (as a compliance checkbox), and the financial sector treats the resulting numbers with a credibility they were never designed to carry.</p>



<p class="wp-block-paragraph">Emission factors are national averages, often aggregated across entire sectors, sometimes years out of date, and blind to what was actually bought, when, from whom, made of what, using which energy mix. Two companies buying identical goods from the same supplier at different negotiated prices will report different emissions. Negotiate well and report lower emissions.</p>



<p class="wp-block-paragraph">This yields an abstracted accounting process with a green label on it, rather than physics.</p>



<p class="wp-block-paragraph">The intersection between the <a href="https://en.wikipedia.org/wiki/Real_economy" rel="noreferrer noopener" target="_blank">real economy</a> and the <a href="https://en.wikipedia.org/wiki/Financial_economics" rel="noreferrer noopener" target="_blank">financial economy</a> is part of the challenge: we rarely create exchange rates between them. What is deemed ‘good enough’ for some are epicycles for others. MIT have <a href="https://mitsloan.mit.edu/sustainability-initiative/aggregate-confusion-project" rel="noreferrer noopener" target="_blank">carried out some excellent research</a> showing, for example, the spreads on ESG score across the market for the <em>same businesses</em>.</p>



<p class="wp-block-paragraph">Having spent 20+ years in carbon reporting, including aggregating over <a href="https://discover.icebreakerone.org/" rel="noreferrer noopener" target="_blank">40,000 carbon calculation methodologies</a>, even when everyone is “using the GHG Protocol”, footprinting can deliver materially different values (double, half) depending on methodology choices. For regulators, that’s confusing, for banks, insurers and pension funds, it introduces risk: they need assurable, comparable data to allocate capital, and if they don’t have it at scale, sustainable finance will always be its own category, not core businesses.</p>



<p class="wp-block-paragraph"><strong>And so the epicycles begin</strong></p>



<p class="wp-block-paragraph">Spend-based estimates too crude?&nbsp;… add supplier-specific emission factors.&nbsp;<br>Suppliers don’t have them?&nbsp;… add industry-average adjustments.&nbsp;<br>Reporting boundaries don’t match?&nbsp;… add scope allocation rules.&nbsp;<br>Outputs not comparable?&nbsp;… add assurance frameworks.&nbsp;<br>Frameworks can’t assure what isn’t measured?… add materiality thresholds.<br>Confused and finding all this too complex?&nbsp;… let’s get AI to solve it for us.&nbsp;<br>GOTO start.</p>



<p class="wp-block-paragraph">Each layer of correction is a response to the inadequacy of the layer beneath it and none fix the underlying problem. Instead they make the system more elaborate, more expensive and more ‘defensible’ (compliance-led rather than value-driven), while preserving and compounding errors.</p>



<p class="wp-block-paragraph">The EU’s proposal to use eInvoicing data for SME sustainability reporting could be seen as the latest epicycle. While it is a<strong> genuine attempt to reduce burden</strong>, and will produce more granular numbers, it’s still a financial signal being used as a proxy for a physical one.</p>



<p class="wp-block-paragraph">A “CO2e per unit” figure on an invoice line is only as good as the supplier’s own calculation, which is almost certainly itself spend-based or, at best, aligned with a standard but not harmonised in its actual implementation. Estimates referencing estimates, each with compounding error, processed through enough steps that the original uncertainty becomes invisible. The latest GHG process added provenance, to much aplomb, and while provenance is essential (and should have been mandated from the outset), without sorting out the source, it’s another epicycle that avoids addressing market incentives. Making numbers look more specific doesn’t make them more true.</p>



<p class="wp-block-paragraph"><strong>Read the meter</strong></p>



<p class="wp-block-paragraph">Kepler’s insight wasn’t that the geocentric model needed better maths, it was that the geocentric model of the universe was the problem.</p>



<p class="wp-block-paragraph">The equivalent insight in carbon accounting is quite simple: if you want to know how much energy a business has consumed, and at what carbon intensity, measure it, and read the meter. We can apply the actual grid carbon intensity at the time and place of consumption: the result should be as close to a physically grounded, continuously updated and independently verifiable figure as we can get. This can happen at scale for both electricity and gas, and when we create the right rules, can extend to water, transport and other resources that are harder to measure. Remember, though, we are <a href="https://www.ugotrade.com/2008/11/02/tim-oreilly-instrumenting-the-world/" rel="noreferrer noopener" target="_blank">instrumenting the world</a> (there are more sensors connected to the internet than there are people).</p>



<p class="wp-block-paragraph">This is what the Perseus project (<a href="https://ib1.org/perseus" rel="noreferrer noopener" target="_blank">https://ib1.org/perseus</a>) is doing: half-hourly smart meter data, transmitted through the national smart meter programme, matched to grid carbon intensity at the time and location of use, and delivered through a permissioned, provenance-stamped data flow with a complete audit trail from meter to calculation.</p>



<p class="wp-block-paragraph">It’s as close to the real physics-based data as we can get.</p>



<p class="wp-block-paragraph"><strong>Why this matters</strong></p>



<p class="wp-block-paragraph">Banks need to underwrite green lending and sustainable finance, pension funds need to report financed emissions, insurers need to model transition risk, treasury needs to model our sustainable future economy.</p>



<p class="wp-block-paragraph">None of these can be built on proxies without inheriting all the errors, the incomparability and legal risk that comes with them. As was once described to me by a very senior consultant in the sector, “a defensible financial decision needs more than a random number generator”.</p>



<p class="wp-block-paragraph">The UK sustainable finance market should be around £40 billion, in terms of high-value, auditable outcomes I’d estimate today it’s more likely £1 billion. The end-game should be that sustainable finance calculations are baked into all relevant economic flows, as part of the core of loan books, not a category.</p>



<p class="wp-block-paragraph">The gap is a failure in connected data flows, and a failure to link these to market incentives, and a failure to make it trivially easy for people to connect their own needs with measurable impact.</p>



<p class="wp-block-paragraph"><strong>So what?</strong></p>



<p class="wp-block-paragraph">There’s a reason <a href="https://en.wikipedia.org/wiki/Ptolemy" rel="noreferrer noopener" target="_blank">Ptolemy’s</a> model survived fifteen centuries: it was internally consistent and it had the authority of tradition. It did give predictions people could act on (even if they were systematically wrong) and changing it meant abandoning assumptions so fundamental that most people didn’t recognise them as an assumption.</p>



<p class="wp-block-paragraph">Spend-based carbon accounting has the same properties: it is embedded in reporting frameworks, audit standards and corporate processes. It has the authority of standards bodies and decades of practice. The assumptions this rests on (that financial flows are an adequate proxy for physical ones) is so foundational it’s rarely examined. It wasn’t ‘wrong’ to say “we need something to act upon” or “don’t let the perfect be the enemy of the good” but I argue that we’re past that point now: “<a href="https://agentgav.medium.com/dont-let-the-mediocre-be-the-enemy-of-the-good-c9fa71815b69" rel="noreferrer noopener" target="_blank">we should not let the mediocre be the enemy of the good</a>”</p>



<p class="wp-block-paragraph">Perseus is the ellipse: not because it’s simpler (it demands real data flows, real permissioning, real provenance infrastructure) but because it starts from what’s actually measured: emissions are physical phenomena and physical phenomena can be measured. A measurement is worth more than any number of corrections applied to a proxy.</p>



<p class="wp-block-paragraph">We don’t need more epicycles: we need to read the meter.</p>



<p class="wp-block-paragraph">You can join IB1 as an individual (for free) or as a commercial member: <a href="https://ib1.org/join" rel="noreferrer noopener" target="_blank">https://ib1.org/join</a></p>



<p class="wp-block-paragraph">If you’d like to share this on</p>



<ul class="wp-block-list">
<li>LinkedIn, <a href="https://www.linkedin.com/posts/gavinstarks_are-we-just-drawing-epicycles-activity-7483184860761755648-ecKQ" target="_blank" rel="noreferrer noopener">please repost this</a>. </li>



<li>Medium, <a href="https://agentgav.medium.com/are-we-just-drawing-epicycles-9829717421b8">please share this</a></li>
</ul>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8403</post-id>	</item>
		<item>
		<title>Speculative futures</title>
		<link>https://dgen.net/0/2026/07/21/speculative-futures/</link>
		
		<dc:creator><![CDATA[Gavin]]></dc:creator>
		<pubDate>Tue, 21 Jul 2026 01:01:00 +0000</pubDate>
				<category><![CDATA[stuff]]></category>
		<guid isPermaLink="false">https://dgen.net/0/?p=8406</guid>

					<description><![CDATA[<img width="1024" height="576" src="https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-1024x576.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-300x169.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-768x432.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-1536x864.jpg 1536w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-830x467.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-230x129.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-350x197.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-480x270.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" />(an update on my 2009 version, based on some conversations last weekend at #emfcamp) Venus Syndrome &#8211; mass extinctionMad Max &#8211; resource-hoarding autocracyBrazil &#8211; Kafkaesque [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="1024" height="576" src="https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-1024x576.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-300x169.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-768x432.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-1536x864.jpg 1536w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-830x467.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-230x129.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-350x197.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures-480x270.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/07/speculative_futures.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" />
<p class="wp-block-paragraph"><em>(an update on my <a href="https://www.flickr.com/photos/dgen/3471659466">2009 version</a>, based on some conversations last weekend at <strong>#emfcamp</strong>)</em></p>



<p class="wp-block-paragraph"><a href="https://en.wikipedia.org/wiki/Runaway_greenhouse_effect">Venus Syndrome</a> &#8211; mass extinction<br><a href="https://en.wikipedia.org/wiki/Mad_Max">Mad Max</a> &#8211; resource-hoarding autocracy<br><a href="https://en.wikipedia.org/wiki/Brazil_(1985_film)">Brazil</a> &#8211; Kafkaesque bureaucratic totalitarianism<br><a href="https://en.wikipedia.org/wiki/The_Prisoner">The Prisoner</a> &#8211; paternalistic panopticon<br><a href="https://en.wikipedia.org/wiki/Blade_Runner">Blade Runner</a> &#8211; corporate hegemony<br><a href="https://en.wikipedia.org/wiki/A.I._Artificial_Intelligence">A.I.</a> &#8211; consumerist surrogacy<br><a href="https://en.wikipedia.org/wiki/WALL-E">WALL-E</a> &#8211; hedonic sedation<br><a href="https://en.wikipedia.org/wiki/Brave_New_World">Brave New World</a> &#8211; engineered caste stability<br><a href="https://en.wikipedia.org/wiki/Star_Trek">Star Trek</a> &#8211; post-scarcity luxury federalism</p>



<p class="wp-block-paragraph"><strong><a href="https://en.wikipedia.org/wiki/Runaway_greenhouse_effect">Venus Syndrome</a></strong>: not a movie, just a possible outcome of runaway climate change.</p>



<p class="wp-block-paragraph"><strong><a href="https://en.wikipedia.org/wiki/Mad_Max">Mad Max</a></strong>: depicts the absence of any state. It&#8217;s a post-collapse resource anarchy or &#8216;warlord survivalism&#8217; and Fury Road, specifically, is resource-hoarding autocracy (Immortan Joe controls water).</p>



<p class="wp-block-paragraph"><strong><a href="https://en.wikipedia.org/wiki/Brazil_(1985_film)">Brazil</a></strong>: war economy is a background pretext, core is the machinery of administration itself. It&#8217;s a Kafkaesque bureaucratic totalitarianism, or more simply, a &#8216;consumerist police state&#8217;.</p>



<p class="wp-block-paragraph"><strong><a href="https://en.wikipedia.org/wiki/The_Prisoner">The Prisoner</a></strong>: it&#8217;s a cheerful village, comfortable, and anonymous in its authority, a &#8216;velvet-glove surveillance state&#8217;, or &#8216;paternalistic panopticon&#8217;. We never learn who Number One is, do we ever?</p>



<p class="wp-block-paragraph"><strong><a href="https://en.wikipedia.org/wiki/Blade_Runner">Blade Runner</a></strong>: more of a corporate hegemony (there&#8217;s little democracy visible) or techno-capitalist stratification (with commodified personhood as its &#8216;moral core&#8217;).</p>



<p class="wp-block-paragraph"><strong><a href="https://en.wikipedia.org/wiki/A.I._Artificial_Intelligence">A.I.</a></strong>: the world has climate collapse, licensed reproduction, and robots built up to absorb human emotional demand&#8230;it&#8217;s commodified affection under a scarcity banner, or perhaps &#8216;consumerist surrogacy&#8217;.</p>



<p class="wp-block-paragraph"><strong><a href="https://en.wikipedia.org/wiki/WALL-E">WALL-E</a></strong>: nobody planned it and nobody enforces it, we just reclined into it, with consumption is automated, effort obsolete, a &#8216;hedonic sedation&#8217; so complete the captain has to rediscover walking.</p>



<p class="wp-block-paragraph"><strong><a href="https://en.wikipedia.org/wiki/Brave_New_World">Brave New World</a></strong>: the inverse of WALL-E in that everything is deliberate, castes decanted to spec, discontent chemically pre-empted, and &#8216;stability&#8217; as the highest civic virtue. It is &#8216;engineered caste stability&#8217; as a dystopia whose citizens would vote to keep it (if voting was allowed).</p>



<p class="wp-block-paragraph"><strong><a href="https://en.wikipedia.org/wiki/Star_Trek">Star Trek</a></strong>: it&#8217;s a multiverse of post-scarcity federalism, or meritocratic utopianism. The Federation is arguably more a benevolent technocratic commons than a democracy that we rarely see actually functioning (I&#8217;m sure many people will help me correct this!).</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8406</post-id>	</item>
		<item>
		<title>Marshmallows for Everyone</title>
		<link>https://dgen.net/0/2026/07/18/marshmallows-for-everyone/</link>
		
		<dc:creator><![CDATA[Gavin]]></dc:creator>
		<pubDate>Sat, 18 Jul 2026 12:19:16 +0000</pubDate>
				<category><![CDATA[stuff]]></category>
		<guid isPermaLink="false">https://dgen.net/0/?p=8395</guid>

					<description><![CDATA[<img width="682" height="1024" src="https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-682x1024.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-682x1024.jpg 682w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-200x300.jpg 200w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-768x1152.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-1024x1536.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-830x1245.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-230x345.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-350x525.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-480x720.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda.jpg 1067w" sizes="(max-width: 682px) 100vw, 682px" />For #EMFcamp (if you would like to join the experimental constellation, sign up https://emfcamp.cl8.io) A Sweet Future for All: Marshmallows for Everyone My fellow citizens, [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="682" height="1024" src="https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-682x1024.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-682x1024.jpg 682w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-200x300.jpg 200w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-768x1152.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-1024x1536.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-830x1245.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-230x345.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-350x525.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda-480x720.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/07/marshmallow_propaganda.jpg 1067w" sizes="(max-width: 682px) 100vw, 682px" />
<p class="wp-block-paragraph">For #<a href="http://emfcamp.org">EMFcamp</a>  (if you would like to join the experimental constellation, sign up <a href="https://emfcamp.cl8.io/">https://emfcamp.cl8.io</a>)</p>



<p class="wp-block-paragraph">A Sweet Future for All: <strong>Marshmallows for Everyone</strong></p>



<p class="wp-block-paragraph">My fellow citizens, today we stand on the precipice of a new era, an era defined not by division, but by delight; not by scarcity, but by sweetness. For too long, the simple joys of life have been out of reach for many. But no more! Today, I present to you Marshmallows for Everyone, a revolutionary initiative that promises to transform our nation, <strong>one fluffy, delectable treat at a time</strong>.</p>



<p class="wp-block-paragraph">Imagine a nation where every morning begins with a soft, sweet promise. This policy, delivering a daily marshmallow ration to every citizen, is more than just a handout; it is <strong>a profound investment in our collective well-being</strong>. It will boost national morale like never before, replacing cynicism with smiles, and despair with deliciousness. And let us not underestimate the power of a good sugar rush! This daily dose of energy will undoubtedly drive productivity across all sectors, fueling innovation, creativity, and sheer, unadulterated hard work.</p>



<p class="wp-block-paragraph">For generations, we have heard promises from our leaders, many of which have <strong>dissolved like sugar in the rain</strong>. But this, my friends, is different. This is finally a government promise that can actually be delivered! A tangible, edible commitment to your happiness. And in its simplicity, it holds immense power to unite people across class, age, and political divides. <strong>Who can argue with a marshmallow? </strong>From the youngest child to the wisest elder, from the factory floor to the halls of power, the shared experience of this sweet treat will foster a sense of community and shared purpose.</p>



<p class="wp-block-paragraph">But the vision extends beyond mere unity. With Marshmallows for Everyone, we are not just distributing a snack; we are <strong>enshrining a fundamental pleasure</strong>. We are declaring that the joy of a perfectly toasted s’more is not a luxury, but a right. Indeed, s’mores become a constitutional right! This policy is a testament to our commitment to a life filled with simple pleasures, accessible to all.</p>



<p class="wp-block-paragraph">Let us embrace this sweet revolution. Let us look forward to a future where every citizen feels valued, energised, and united by the simple, profound goodness of a marshmallow. </p>



<p class="wp-block-paragraph">Support Marshmallows for Everyone, and together, we will build a sweeter, stronger, and more harmonious nation. </p>



<p class="wp-block-paragraph">I thank you.</p>



<p class="wp-block-paragraph">&#8212;</p>



<p class="wp-block-paragraph">[created via <a href="https://ib1.io">IB1</a> offsite fun]</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8395</post-id>	</item>
		<item>
		<title>Constellation reflections</title>
		<link>https://dgen.net/0/2026/06/12/constellation-reflections/</link>
		
		<dc:creator><![CDATA[Gavin]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 12:42:27 +0000</pubDate>
				<category><![CDATA[business]]></category>
		<category><![CDATA[Constellation]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[Environment]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[science]]></category>
		<guid isPermaLink="false">https://dgen.net/0/?p=8318</guid>

					<description><![CDATA[<img width="1024" height="576" src="https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-1024x576.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-300x169.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-768x432.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-1536x864.jpg 1536w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-830x467.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-230x129.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-350x197.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-480x270.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" />This has happened before, but I thought I&#8217;d write it down this time, because it&#8217;s such a lovely story. After a few years of quietness [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="1024" height="576" src="https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-1024x576.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-300x169.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-768x432.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-1536x864.jpg 1536w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-830x467.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-230x129.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-350x197.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612-480x270.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/06/CL8-20260612.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" />
<p class="wp-block-paragraph">This has happened before, but I thought I&#8217;d write it down this time, because it&#8217;s such a lovely story. </p>



<p class="wp-block-paragraph">After a few years of quietness while I built <a href="http://ib1.org/">ib1.org</a>, a month ago I relaunched the <a href="/0/2026/05/12/constellation/">Dgen constellation social directory</a>. I need to note here too that Icebreaker One itself grew out of the Dgen constellation in exactly the same way as this. There&#8217;s a straight line, except it&#8217;s not really a straight line, it&#8217;s a constellation line.</p>



<p class="wp-block-paragraph">Within two weeks over 60 people had reactivated, and one posted a bid in our Signal channel (thanks <a href="https://d.cl8.io/p/matt-jarvis">Matt</a>) &#8211; within days a dozen people had expressed their interest and we had two calls, joined a briefing session with the prospect and now have an active and genuinely multidisciplinary group (banking to sound art) and a bid taking shape.</p>



<p class="wp-block-paragraph">Some of the individuals coming together hadn&#8217;t seen each other for over five years (pre-lockdown) and so, of course, the majority of our calls weren&#8217;t about the work, but about catching up with each other, sharing stories and was inspiring to hear. The act of people just getting together to make things is always just lovely and we reflected that, unlike COVID, the current global sentiment is a very different shape, and carries a very different kind of weight. </p>



<p class="wp-block-paragraph">On one level it doesn&#8217;t really matter what happens next, I&#8217;m just really happy that we&#8217;ve continued to build on our many-parts, loosely joined community &#8230; to find a way of getting really lovely people together to make new and unpredictable connections. Everything is all anchored on and around people who just love just <strong>doing</strong> stuff. If we win this particular commission it&#8217;d be amazing of course, but it is almost beside the point: the constellation doing what constellations do is the point. The bid is part of the constellation experiment. </p>



<p class="wp-block-paragraph">The speed in which I was able to do this (I still run IB1) is <em>supported by</em> the tech that I&#8217;ve built very specifically around what I need, rather than someone else&#8217;s product or beholden to an enshitified product, is part of what we&#8217;re building here: tech that doesn&#8217;t enables and gets out of the way, doesn&#8217;t track or mess with our data in ways we don&#8217;t want. Part of the good side of what ai can enable is that we can all now build the tools (not the agents) we want to see in the world, rather than being someone else&#8217;s extractive product. I also have had to reflect that the nickname/handle I&#8217;ve used online for the last 20+ years (agentGav, thanks to Manu) now has a certain irony to it! </p>



<p class="wp-block-paragraph">*** <strong>UPDATE</strong> *** One of our Constellation has just let me know that &#8220;One thing that emerged from the constellation is [anonymised] and I getting married. During the pandemic [anonymised] connected over a project and that&#8217;s how we met&#8221;. Oh my.</p>



<p class="wp-block-paragraph">A screenshot of part of our Constellation below for reference, just to bring it to life &#8211; if you&#8217;d like to join, the <a href="/0/2026/05/12/constellation/">link and description is here</a>. If you&#8217;d like your own Constellation, please get in touch (yes, of course it&#8217;s open source).</p>



<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2026/06/Dgen-Constellation-20260612.jpg"><img decoding="async" width="1024" height="545" src="https://dgen.net/0/wp-content/uploads/2026/06/Dgen-Constellation-20260612-1024x545.jpg" alt="" class="wp-image-8319" srcset="https://dgen.net/0/wp-content/uploads/2026/06/Dgen-Constellation-20260612-1024x545.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/06/Dgen-Constellation-20260612-300x160.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/06/Dgen-Constellation-20260612-768x409.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/06/Dgen-Constellation-20260612-830x442.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/06/Dgen-Constellation-20260612-230x122.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/06/Dgen-Constellation-20260612-350x186.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/06/Dgen-Constellation-20260612-480x256.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/06/Dgen-Constellation-20260612.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8318</post-id>	</item>
		<item>
		<title>Introducing cl8; connecting constellations</title>
		<link>https://dgen.net/0/2026/05/12/constellation/</link>
		
		<dc:creator><![CDATA[Gavin]]></dc:creator>
		<pubDate>Tue, 12 May 2026 08:08:33 +0000</pubDate>
				<category><![CDATA[Constellation]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[socialchange]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://dgen.net/0/?p=8215</guid>

					<description><![CDATA[<img width="1024" height="576" src="https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-1024x576.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-300x169.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-768x432.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-1536x864.jpg 1536w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-830x467.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-230x129.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-350x197.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-480x270.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" />Hi friends, what have you all been learning? Many years ago (as captured in my 2017 Thread), I was trying to work out not just [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="1024" height="576" src="https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-1024x576.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-300x169.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-768x432.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-1536x864.jpg 1536w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-830x467.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-230x129.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-350x197.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10-480x270.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/05/cl8-blog-2026-05-10.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" />
<h2 class="wp-block-heading">Hi friends, what have you all been learning?</h2>



<p class="wp-block-paragraph">Many years ago (as captured in my <a href="/0/thread/thread-2/#constellation">2017 Thread</a>), I was trying to work out not just what everyone in my fascinating networks of friends, peers and collaborators were <em>doing</em>, but what knowledge they&#8217;d gathered.</p>



<p class="wp-block-paragraph">When you know people over years and decades, it&#8217;s easy to lose track of what everyone has learned, what they are interested in, and what unexpected collaborations might exist as a result.</p>



<p class="wp-block-paragraph">I&#8217;m often approached as someone who &#8216;<em>probably knows someone who does that</em>&#8216; and wanted to work out how to do that better, and to get out of the way far faster.</p>



<p class="wp-block-paragraph">I wondered how to better <em>encourage serendipity</em>: part of this was to hold <a href="https://en.wikipedia.org/wiki/Salon_(gathering)">salon-like</a> evenings on M/S Hans to bring dozens of people together in-person and see what just happened. The energy from those events got me thinking about tools that could support everyone in those quite random settings, without creating yet another social network or yet another thing that got in the way more than it helped.</p>



<p class="has-text-align-center wp-block-paragraph"><a href="https://d.cl8.io">Sign up now</a></p>



<p class="wp-block-paragraph">If you&#8217;re reading this, it&#8217;s likely you already know me, so please feel free to sign up here (and note that the approval process is manual, so it won&#8217;t be instant).</p>



<h2 class="wp-block-heading">Let&#8217;s connect on our skills and interests and have fun</h2>



<p class="wp-block-paragraph">The same challenge applies to most networking events, socials, and conferences—there&#8217;s a plethora of &#8216;conference apps&#8217; that are every bit as awful as you&#8217;d imagine (Whova, Hopin, Brella et al). But how to connect communities who have ideas, collaboration and work to do together? You might remember someone who you met at an event, half-remember their organisation, might want make an introduction and you can&#8217;t quite pull the thread, and everyone&#8217;s overwhelmed with social media connections.</p>



<p class="wp-block-paragraph">For example, in work settings, the usual solution is LinkedIn. However, the usual problem with LinkedIn is that it&#8217;s LinkedIn: optimised for broadcasting and monetisation not belonging, and <a href="https://thenextweb.com/news/linkedin-browsergate-extension-scanning-privacy-fingerprint">your data is theirs</a> the moment you post it. Most people I know who use LinkedIn to connect after a business event just use its messaging function to get to an email address and then stop using it for that. So, there&#8217;s a signal! </p>



<h2 class="wp-block-heading">To start, how about we do less? (but with more fun)</h2>



<p class="wp-block-paragraph"><strong>cl8</strong> is a really small thing: a directory. </p>



<p class="wp-block-paragraph">I grew up in a village of about 700 people &#8211; after a while you&#8217;d kind of just know everyone&#8217;s phone number, and have a sense of what they did. And, if you rewind a few decades, the person who would <strong><em>definitely</em></strong> know that was&#8230;the local telephone operator. One of the last telephone operators was a family friend (thank you Margie Knox), and she knew everyone, everything (and more) about everyone, including how they all connected with each other.  </p>



<p class="wp-block-paragraph">So, can we reboot this in the 2026? </p>



<h2 class="wp-block-heading">Why not just use something that already exists?</h2>



<p class="wp-block-paragraph">Nothing I&#8217;ve found so far quite fills this gap in this way. </p>



<p class="wp-block-paragraph">I&#8217;m sure many have tried and failed (and we may too, but have more fun trying). One pattern I&#8217;m sure of though: small things can survive if they stay the right shape.</p>



<p class="wp-block-paragraph">Looking at alternatives, they tend to fall into three categories: SaaS products that will likely eventually enshittify (Orbit, Luma, and Common Room already did); self-hosted tools that require a lot more faff than the challenge warrants (it needs to be as <em>easy</em> as possible); or shared documents (e.g. Airtable) that go stale because that&#8217;s just what happens: the utility or enthusiasm atrophies and, let&#8217;s face it, they&#8217;re just so <em>desperately</em> dull. </p>



<p class="wp-block-paragraph">None of them seem to hold the shape of a human network, run by individuals, with communities of overlapping and transitory interests, where skills might cluster and gaps are plentiful. And, of course, all of them involve handing your member data to a platform with rights that seek to keep them, rather than keeping users in control.</p>



<p class="wp-block-paragraph">I wanted something lightweight enough to actually run myself, curated enough to stay useful, and honest about what it is: more of a <strong>social directory</strong> rather than a social network. Yes, also looking back to where a lot of social networks began (looking at you, <a href="https://www.well.com">Well</a>), and re-asking if the incentives to &#8216;keep growing&#8217; were the wrong solutions, and for the wrong reasons (looking at you, FB, Tw*t, Ning, and the rest of you). </p>



<h2 class="wp-block-heading">On words</h2>



<p class="wp-block-paragraph"><strong>cl8</strong> is a compression of &#8220;constellation&#8221; or &#8220;constellate&#8221; (as a verb), the name I use for communities of practice, and the (astronomical) language that threads through a lot of my projects.</p>



<p class="wp-block-paragraph">A constellation isn&#8217;t a random scatter of points, it&#8217;s more like a pattern that becomes legible when you can work out how to read it. The points were always there: a constellation is what happens when you impose meaning on proximity and <strong>cl8</strong> is, perhaps, a type of social telescope. The people were already in the room, more or less: the tool just makes connections visible. Less stuff, more fun.</p>



<h2 class="wp-block-heading">What it does</h2>



<p class="wp-block-paragraph">You sign in with Google or a verified email, fill in your name, a short bio, and <strong>tag yourself with your skills and interests</strong>. Ideally not job titles, but rather the things you&#8217;d say to someone when meeting them at one of my salon evenings on the boat.</p>



<p class="wp-block-paragraph">It&#8217;s a searchable, private directory where your profile is visible only to other authenticated members of that <strong>cl8</strong> instance. Access is granted by whoever runs that community: human curation is part of the design.</p>



<p class="wp-block-paragraph">It can run on your own server, your community controls the membership, and your data is yours. I&#8217;ve built it for my dgen network constellation (you can sign up at <a href="https://d.cl8.io/">d.cl8.io</a> and as its curator it may take me a little while to manually approve you). The first instance is also running for IB1 (Icebreaker One), which is exactly the point: one tool, many communities, each owning their own. You can sign up for that one at <a href="https://ib1.org/constellation">ib1.org/constellation</a>. </p>



<p class="wp-block-paragraph">And yes, you&#8217;ll hopefully find some things in all of this that surprise and delight: it&#8217;s the start of a journey to doing things differently. It should be fun, so adding in things for <em><strong>your</strong></em> specific, quirky, bonkers community is up to you. Less faff, more fun.</p>



<h2 class="wp-block-heading">What it doesn&#8217;t do</h2>



<p class="wp-block-paragraph">It doesn&#8217;t </p>



<ul class="wp-block-list">
<li>reveal any information about you to anyone that you don&#8217;t want to share (see <a href="https://d.cl8.io/privacy">https://d.cl8.io/privacy</a>)</li>



<li>track you (no cookies)</li>



<li>create more noise in the world</li>
</ul>



<h2 class="wp-block-heading">On building it</h2>



<p class="wp-block-paragraph"><strong>cl8</strong> is a just few hundred KB of code: a single Node.js file with zero npm dependencies. It mirrors the same architecture as Broadside: copy the file to a server, configure, start a service, done. The data lives in flat JSON. The whole thing was built with AI assistance in the same spirit as the other tools in this stack: it&#8217;s been something I&#8217;ve wanted for years, and AI has helped me build it in about the same time as it would have taken to evaluate and customise any SaaS alternatives and then <em>sign up for none of them</em>.</p>



<p class="wp-block-paragraph">It&#8217;s meant to be the absolute minimum. A social directory for a few hundred people doesn&#8217;t need a database cluster, it does need good session management, solid authentication and security, and enough care in the UI to make filling in your profile feel like something other than homework. Less code, more fun.</p>



<p class="wp-block-paragraph">If you run a community of practice and you&#8217;re tired of it living inside someone else&#8217;s product, ping me. It&#8217;s <a href="https://dgen.net/0/connect/">open licence</a>, deployable in under an hour, and then the only person looking after your community&#8217;s data is you (and them).</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8215</post-id>	</item>
		<item>
		<title>Broadside: write once, post many, keep everything</title>
		<link>https://dgen.net/0/2026/04/26/broadside/</link>
		
		<dc:creator><![CDATA[Gavin]]></dc:creator>
		<pubDate>Sun, 26 Apr 2026 13:00:00 +0000</pubDate>
				<category><![CDATA[business]]></category>
		<category><![CDATA[Constellation]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[stuff]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://dgen.net/0/?p=7838</guid>

					<description><![CDATA[<img width="1024" height="576" src="https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-1024x576.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-300x169.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-768x432.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-1536x864.jpg 1536w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-830x467.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-230x129.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-350x197.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-480x270.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" />A self-hosted social posting tool, ensuring you own your own content In my ongoing experiments with ai-assisted dev of tools I&#8217;d like, I&#8217;ve create Broadside [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="1024" height="576" src="https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-1024x576.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-300x169.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-768x432.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-1536x864.jpg 1536w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-830x467.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-230x129.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-350x197.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427-480x270.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-diamond.v20260427.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" />
<h2 class="wp-block-heading">A self-hosted social posting tool, ensuring you own your own content</h2>



<p class="wp-block-paragraph">In my ongoing experiments with ai-assisted dev of tools I&#8217;d like, I&#8217;ve create Broadside to solve a specific irritation. As we all know, “<a href="https://www.google.com/search?q=%E2%80%9CIf+you+aren%E2%80%99t+paying+for+the+product%2C+you+are+the+product.%E2%80%9D">If you aren’t paying for the product, you are the product</a>.” and as all these tools develop their own special <a href="https://en.wikipedia.org/wiki/Enshittification">enshittifications</a>, it feels like it&#8217;s time to have another go at inverting the models. </p>


<div class="wp-block-image img-left">
<figure class="alignleft size-large is-resized"><a href="https://dgen.net/0/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-19.53.09.png"><img decoding="async" width="1024" height="685" src="https://dgen.net/0/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-19.53.09-1024x685.png" alt="" class="wp-image-7862" style="aspect-ratio:1.4949112952561037;object-fit:contain;width:386px;height:auto" srcset="https://dgen.net/0/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-19.53.09-1024x685.png 1024w, https://dgen.net/0/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-19.53.09-300x201.png 300w, https://dgen.net/0/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-19.53.09-768x514.png 768w, https://dgen.net/0/wp-content/uploads/2026/04/Screenshot-2026-04-07-at-19.53.09-1536x1028.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<p class="wp-block-paragraph">Also, with the demise of that old-bird-site, things have become more federated and fragmented. I wanted to post across Mastodon, Bluesky, Threads and LinkedIn at the same time, and do so without &#8216;losing&#8217; what I&#8217;d written the moment I hit publish.</p>



<p class="wp-block-paragraph">Broadside it a small web app that posts to all four simultaneously, keeps a searchable archive of everything locally, and pulls social feeds into one place, including creating useful open things, like an RSS feed.  This post is about why I made it, what it does, and the slightly eccentric vocabulary it uses.</p>



<p class="wp-block-paragraph">You can read all my posts here: <a href="https://broadside.dgen.net/bindery/gavin">https://broadside.dgen.net/bindery/gavin</a></p>



<p class="wp-block-paragraph">If you&#8217;d like to try it, just ping me (on any channel).</p>



<h3 class="wp-block-heading"><strong>You probably didn&#8217;t know LinkedIn is a one-way street</strong></h3>



<p class="wp-block-paragraph">If you post to LinkedIn regularly, you&#8217;re building a professional record in a place <strong>you cannot back up</strong>. They do not let you download your own posts in bulk &#8211; the &#8220;account data export&#8221; doesn&#8217;t include posts. You can use their API to POST to the site, but not GET your own content back (without paying).</p>



<p class="wp-block-paragraph">For the platform most associated with <em>professional credibility</em> where people are documenting their work, sharing hard-won thinking, and announcing things that matter to them,  to offer no way to retrieve what you&#8217;ve put there is, to be generous, unprofessional.</p>



<p class="wp-block-paragraph">The same applies across many platforms, to varying degrees and I&#8217;ve maintained this website (dgen.net) to be both a business site and a master record of my own works, that I completely control. With music I am addressing a version of this <a href="https://dgen.net/0/2026/02/25/discovery-collection-connection/">by building a tool to convert my Spotify playlists into a physical record catalogue</a>, because streaming solved discovery but not &#8216;ownership&#8217;. Social media has the same shape: it solved distribution but not possession.  Broadside is an attempt to do something about that. </p>



<p class="wp-block-paragraph">And, yes, of course there are loads of self-publishing tools, but they&#8217;re often commercialised into their own SaaS businesses with similar issues of enshittification (looking at you TweetDeck/HootSuite), or too &#8216;techy&#8217; to actually do yourself. Alternative services, like Mastodon are great but also directly compete with, rather than replace the production flow.</p>



<h2 class="wp-block-heading">What Broadside does</h2>



<p class="wp-block-paragraph">Broadside runs on my own server (you can host your own too, once I get it on GitHub, open licence of course), and it supports multiple users (so I can enable my constellations and communities to use it for free). It connects social accounts, enables a post to be written in a single compose window, and it posts simultaneously to whichever platforms you select (Mastodon, Bluesky, Threads, LinkedIn, or any combination. Note that Facebook and others don&#8217;t allow connections like this). Link previews, image attachments and scheduled posts all work.</p>



<p class="wp-block-paragraph">It also is keep a copy.</p>



<p class="wp-block-paragraph">Before anything goes to a social platform, it&#8217;s written to an archive on my server. That archive is searchable and downloadable. If any other platform disappears, your posts don&#8217;t (nb: if my/your server vanishes, you have backups everywhere else you&#8217;ve posted). If you want to find what you said about something three years ago, you can. This useful to me &#8211; having a personal, searchable archive of all my public writing is just <em>nice</em>, independently of the cross-posting convenience.</p>



<p class="wp-block-paragraph">There&#8217;s also a feed view, pulling in my Mastodon and Bluesky feeds together into one place (NB: LinkedIn and Threads don&#8217;t allow this, and Facebook doesn&#8217;t allow anything). </p>



<h2 class="wp-block-heading">With added AI?</h2>


<div class="wp-block-image img-right">
<figure class="alignright size-large is-resized"><a href="https://dgen.net/0/wp-content/uploads/2026/04/Bindery-research-2026-04-04.jpg"><img decoding="async" width="1024" height="555" src="https://dgen.net/0/wp-content/uploads/2026/04/Bindery-research-2026-04-04-1024x555.jpg" alt="" class="wp-image-7852" style="aspect-ratio:1.8450767065929918;width:472px;height:auto" srcset="https://dgen.net/0/wp-content/uploads/2026/04/Bindery-research-2026-04-04-1024x555.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/04/Bindery-research-2026-04-04-300x163.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/04/Bindery-research-2026-04-04-768x416.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/04/Bindery-research-2026-04-04-1536x832.jpg 1536w, https://dgen.net/0/wp-content/uploads/2026/04/Bindery-research-2026-04-04-830x450.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/04/Bindery-research-2026-04-04-230x125.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/04/Bindery-research-2026-04-04-350x190.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/04/Bindery-research-2026-04-04-480x260.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/04/Bindery-research-2026-04-04.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<p class="wp-block-paragraph">I added an AI-assisted <strong>research tool</strong> that automatically surfaces related links (e.g. Wikipedia, academic papers, Guardian articles, Hacker News discussions and things I&#8217;m experimenting with) for anything I post. This last bit genuinely surprised me with how useful it can be by lowering the &#8216;friction&#8217; in then googling for references &#8211; in an age of fake news, it&#8217;s nice to filter on some diverse-yet-trusted sources. The whole thing was built with Claude and, like my other experiments is stuff I wanted but would never have had time to build a decade ago.</p>



<h2 class="wp-block-heading">And, a white-listed constellation?</h2>



<p class="wp-block-paragraph">Of course, once you&#8217;ve got a publishing tool that works well, you can share it with your friends. And then you have something that&#8217;s bot-free, curated (h/t <a href="https://www.gyford.com/phil/writing/2007/02/04/the-haddock-dire/">haddock</a>), and more akin to the original idea of shared bookmarking and socials. Back to basics, without the tracking (no, really tracking, like <a href="https://thenextweb.com/news/linkedin-browsergate-extension-scanning-privacy-fingerprint">LinkedIn scanning all your browser extensions to fingerprint your machine and track you</a> is actually a thing, never mind cookies).</p>



<p class="wp-block-paragraph">All while <strong>not having to switch</strong> away from, or shut down, places you like to hangout with <em><strong>other</strong> </em>friends and colleagues.</p>



<p class="wp-block-paragraph">You can probably guess where I might go next with this: not leaving places, but rather <em><strong>connecting</strong></em> them.</p>



<h2 class="wp-block-heading">On words</h2>



<p class="wp-block-paragraph">Those who know me already know I love finding fun words (e.g. <a href="http://ib1.org">Icebreaker One</a>, <a href="https://dgen.net/0/2017/03/10/the-amee-story-part-one/">AMEE</a>, <a href="https://dgen.net/0/overview/tornado-history/">Tornado</a>) to make using things <em>just feel good</em>.  And, of course, design matters deeply to all of this so I&#8217;m experimenting with letting people choose their own themes.  We love to personalise things. </p>



<p class="wp-block-paragraph">Note that while I&#8217;m using ai for these prototypes, a quick plug for my friends at <a href="https://philpottdesign.com/">philpottdesign.com</a>, just because ;).</p>



<p class="wp-block-paragraph">I&#8217;ve given Broadside its own vocabulary because I think it&#8217;s  more interesting than calling things &#8220;dashboard&#8221; and &#8220;feed&#8221;.</p>



<p class="wp-block-paragraph"><strong>Broadside</strong>: historically, this is a large sheet printed on one side and distributed as news, proclamations, or verse &#8211; one of the original one-to-many formats. It felt right for a tool that takes one piece of writing and to many public spaces at once. Obviously, given my interest in things nautical, broadside is also when all the guns on one side of a warship are fired simultaneously&#8230; so quite apt!</p>



<p class="wp-block-paragraph"><strong>The Murmurator</strong>: the compose interface. A murmuration is what you see when a flock of starlings moves as one coherent shape. Social media can feel a bit like that and The Murmurator is where you introduce something into the flow.</p>



<p class="wp-block-paragraph"><strong>Murmurings</strong>: your own incoming feeds from the people you follow, across the networks.</p>



<p class="wp-block-paragraph"><strong>The Bindery</strong>: your personal post archive. The Bindery refers to &#8220;a&nbsp;studio,&nbsp;workshop&nbsp;or&nbsp;factory&nbsp;where sheets of (usually) paper are fastened together to make books&#8221; [<a href="https://en.wikipedia.org/wiki/Bindery">wikipedia</a>] so felt apt for where your own posts are gathered, ordered, and made publicly accessible by default (as a public web page and RSS feed).</p>



<p class="wp-block-paragraph"><strong>Commonplace</strong>: As I add people from my constellation into our shared Broadside instance, the Commonplace is our collective archive: everything everyone has posted, in one place (as a public web page and RSS feed). (originally I used <em>Sammelband</em> a <a href="https://en.wikipedia.org/wiki/Sammelband">German word</a> for a &#8216;volume that binds together separately published works&#8217; but that was getting a bit too esoteric, even for me).</p>



<h2 class="wp-block-heading"><strong>Addenda</strong>: re-establishing control</h2>



<p class="wp-block-paragraph">Stepping aside from all the stupid AI-hype, I think we&#8217;re at a fascinating juncture that reminds me of the 1990s early web. The same AI tools that vast platform players are racing to deploy to bind us <strong>to them</strong>, are equally available to <strong>all of us</strong>. </p>



<p class="wp-block-paragraph">We can all now build personalised infrastructure, in hours or days, that would have taken dedicated teams many months or years before. Broadside is an example of this: a small act of reclaiming your relationship with your own writing, from the platforms you publish on and can control.</p>



<p class="wp-block-paragraph">If we can&#8217;t build things for everyone, it won&#8217;t <em>work</em> for all of us.</p>



<p class="wp-block-paragraph">To quote NTK, &#8220;<em>THEY STOLE OUR REVOLUTION</em>. NOW WE&#8217;RE STEALING IT BACK&#8221;</p>



<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2026/04/broadside-ntk.jpg"><img decoding="async" width="1024" height="576" src="https://dgen.net/0/wp-content/uploads/2026/04/broadside-ntk-1024x576.jpg" alt="" class="wp-image-8209" srcset="https://dgen.net/0/wp-content/uploads/2026/04/broadside-ntk-1024x576.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-ntk-300x169.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-ntk-768x432.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-ntk-830x467.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-ntk-230x129.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-ntk-350x197.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-ntk-480x270.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/04/broadside-ntk.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7838</post-id>	</item>
		<item>
		<title>From discovery to collection to connection</title>
		<link>https://dgen.net/0/2026/02/25/discovery-collection-connection/</link>
		
		<dc:creator><![CDATA[Gavin]]></dc:creator>
		<pubDate>Wed, 25 Feb 2026 12:20:59 +0000</pubDate>
				<category><![CDATA[arts]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[music-industry]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[stuff]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://dgen.net/0/?p=7810</guid>

					<description><![CDATA[<img width="1024" height="691" src="https://dgen.net/0/wp-content/uploads/2026/02/music-cat-1024x691.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/02/music-cat-1024x691.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-300x203.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-768x518.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-830x560.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-230x155.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-350x236.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-480x324.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" />Turning your Spotify playlist into a record collection, and why that could be really disruptive Quick summary I’ve long wanted to make it easy to [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="1024" height="691" src="https://dgen.net/0/wp-content/uploads/2026/02/music-cat-1024x691.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/02/music-cat-1024x691.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-300x203.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-768x518.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-830x560.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-230x155.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-350x236.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat-480x324.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/music-cat.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" />
<p class="wp-block-paragraph"><strong><em>Turning your Spotify playlist into a record collection, and why that could be really disruptive</em></strong></p>



<h2 class="wp-block-heading"><strong>Quick summary</strong></h2>



<p class="wp-block-paragraph">I’ve long wanted to make it easy to buy the music of artists I like, not least because they get better £pay on physical, but when (not if) online services de-list things and hard drives break, they don’t vanish forever.</p>



<p class="wp-block-paragraph">So, here&#8217;s a first experiment: pulling out one of my annual playlists into a ‘catalogue/shop window’ that links to various retailers, CD and Vinyl, and Bandcamp if that exists for the artist. </p>



<p class="wp-block-paragraph" style="text-decoration:line-through">This is only 2025 for now, while I work out some of the bugs. <a href="https://dgen.net/w/playlists/2025.html">https://dgen.net/w/playlists/2025.html</a></p>



<p class="wp-block-paragraph">Update: now live at <a href="https://secondpress.club/p/5lx398">https://secondpress.club/p/5lx398</a> </p>



<h2 class="wp-block-heading"><strong>Some reflections (over the past three decades</strong>) </h2>



<p class="wp-block-paragraph">This is an example of shifting power dynamics in consumption, engagement and how we can help deliver open markets that work for everyone.  I&#8217;ve also noticed that the music sector is often an early adopter/trailblazer for broader societal shifts. </p>



<p class="wp-block-paragraph">Music streaming has solved discovery: a near-infinite library at your fingertips, finding new artists, forgotten classics and new connections has never been easier. </p>



<p class="wp-block-paragraph">However, there&#8217;s an issue buried in that convenience: you don&#8217;t really &#8216;have&#8217; any of it. If a label dispute pulls an album, or you cancel your subscription, your carefully curated listening history evaporates. This can also apply to your &#8216;downloads&#8217; (even with good hard drives and cloud services, we still lose our digital stuff).</p>



<p class="wp-block-paragraph">I&#8217;ve long thought about what it actually means to have a music collection. Back in the day (1998!) I put Virgin Megastores online: all 60,000 products (which is how may CDs were in a typical store), and designed a service with a colleague, Rick Glanville, where we could sell a subscription to digital downloads and give away a tiny MP3 player as part of the package. We even got Cambridge Electronics to make a little postage-stamp sized player. [yes, these pre-dated the iPod, iPod Shuffle and Spotify by many, many years]. </p>



<p class="wp-block-paragraph">While on that journey it struck me that we were in the process of reducing &#8216;music&#8217; to a search box, killing most of the actual experience outside of listening, destroying record stores, and as humans we were likely to eventually push back on something so techno-reductionist. </p>



<p class="wp-block-paragraph">Many of the things we enjoy about music listening are physical: this has played out in the long-term success of stores like Rough Trade, and the resurgence of vinyl (even cassettes are back!).  At the time, as a bit of rebellion, I also released my own music as a <a href="https://binarydust.org/consume/">19kg solid granite MP3 player and radio transmitter</a>.</p>



<p class="wp-block-paragraph">In one of my many roles as CEO of <a href="https://ci-info.com/">Consolidated Independent</a>, we helped get over 20% of the world&#8217;s music online: millions of tracks from thousands of labels distributed to hundreds of retailers and services. Some of the labels were <em>terrified </em>of the web destroying their business due to piracy, but the whole system had to embrace it, including sorting out commercial realities. Sadly some of those realities massively skewed market value to &#8216;the big guys&#8217;, including ludicrous statements from some (let&#8217;s say &#8216;commercial&#8217;) CEOs that if artists wanted more money they should increase their output (as if <em>art</em> and <em>soup cans</em> are the same thing <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ). </p>



<p class="wp-block-paragraph">Don&#8217;t get me wrong, I love the fact we have vast access to new music, and listen to a very diverse range of music. And, it creates different challenges for us as consumers and music fans. Now we can have more agency in balancing out the way the music market works &#8211; the <a href="https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar">cathedrals are not going anywhere, but the bazaar has some new spaces</a>.  </p>



<h2 class="wp-block-heading"><strong>What we can now do</strong></h2>



<p class="wp-block-paragraph">One of the things I missed when listening was album art, and a few years back I made a <a href="https://dgen.net/0/2023/07/05/bringing-album-art-back-to-life/">12&#8243; sized screen to pull down and display</a> whatever I&#8217;m playing on Spotify (AI helped me code this, and I would never have got around to it without that help).</p>



<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2023/07/AlbumArt-BinaryDust.jpg"><img decoding="async" width="1024" height="568" src="https://dgen.net/0/wp-content/uploads/2023/07/AlbumArt-BinaryDust-1024x568.jpg" alt="" class="wp-image-6382" srcset="https://dgen.net/0/wp-content/uploads/2023/07/AlbumArt-BinaryDust-1024x568.jpg 1024w, https://dgen.net/0/wp-content/uploads/2023/07/AlbumArt-BinaryDust-300x166.jpg 300w, https://dgen.net/0/wp-content/uploads/2023/07/AlbumArt-BinaryDust-768x426.jpg 768w, https://dgen.net/0/wp-content/uploads/2023/07/AlbumArt-BinaryDust-1536x852.jpg 1536w, https://dgen.net/0/wp-content/uploads/2023/07/AlbumArt-BinaryDust-830x460.jpg 830w, https://dgen.net/0/wp-content/uploads/2023/07/AlbumArt-BinaryDust-230x128.jpg 230w, https://dgen.net/0/wp-content/uploads/2023/07/AlbumArt-BinaryDust-350x194.jpg 350w, https://dgen.net/0/wp-content/uploads/2023/07/AlbumArt-BinaryDust-480x266.jpg 480w, https://dgen.net/0/wp-content/uploads/2023/07/AlbumArt-BinaryDust.jpg 1706w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h2 class="wp-block-heading"><strong>Building things just for me is fun, and&#8230; </strong></h2>



<p class="wp-block-paragraph">Interestingly, with just a few AI prompts and some lightweight code, I created a tool that takes my Spotify playlist, cross-references every album against <a href="https://www.discogs.com/">Discogs</a>, and produced a personalised catalogue. </p>



<p class="wp-block-paragraph">Based on the <strong>individual tracks</strong> I&#8217;d added to my annual playlist (which I have going back 8 years now), it looks up the <strong>album</strong> that it was on. It then works out which are available on <strong>CD</strong> and <strong>Vinyl</strong> (or <strong>digital</strong>&#8211;<strong>only</strong>), where to find them, and who sells them. And, not &#8216;just Amazon&#8217;, but others: Rough Trade, HMV and directly linking back to the artist&#8217;s Bandcamp. This is just the start of and idea, and took less than half a day to create it as a prototype.</p>



<p class="wp-block-paragraph">This makes me wonder about a quiet promise of AI that doesn&#8217;t get talked about so much: enabling each of us to build the world we&#8217;d like. This will disrupt the big platforms (Spotify, Amazon, Apple) who have invested billions in making their aggregated experience frictionless and hard to leave. They&#8217;re using AI to make them more personalised and &#8216;sticky&#8217;. We can do the same for ourselves.</p>



<p class="wp-block-paragraph">The same AI tools they&#8217;re racing to build are equally available to you and me. We can now spin up personalised services—in an afternoon—that would have taken a dedicated development team a decade ago.</p>



<p class="wp-block-paragraph">So, this is a prototype of a custom, personalised catalogue and record-buying assistant that can be built around <em>your</em> taste, routing money to <em>your</em> preferred retailers that you can share with <em>your</em> friends. It is a small but real act of reclaiming your relationship with artists, and their music, from the big platforms.  </p>



<p class="wp-block-paragraph">We can help bridge the gaps and connect the smaller services together (back to the original vision of the web). </p>



<p class="wp-block-paragraph">And, looking forward, we can start blending, sharing, cross-connecting using federated services like <a href="https://mastodon.social/@agentGav">Mastodon</a> and then connecting people, places, gigs, merch, in a way that could actually help everyone. </p>



<p class="wp-block-paragraph">Isn&#8217;t that exciting!?</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7810</post-id>	</item>
		<item>
		<title>AI-enabled Hi-Fi adventures</title>
		<link>https://dgen.net/0/2026/02/20/ai-enabled-hifi-adventures/</link>
		
		<dc:creator><![CDATA[Gavin]]></dc:creator>
		<pubDate>Fri, 20 Feb 2026 16:14:51 +0000</pubDate>
				<category><![CDATA[data]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[stuff]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[hi-fi]]></category>
		<category><![CDATA[pi]]></category>
		<guid isPermaLink="false">https://dgen.net/0/?p=7740</guid>

					<description><![CDATA[<img width="1024" height="683" src="https://dgen.net/0/wp-content/uploads/2026/02/amp-1024x683.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/02/amp-1024x683.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/02/amp-300x200.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/02/amp-768x512.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/amp-830x553.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/amp-230x153.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/amp-350x233.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/amp-480x320.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/amp.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" />AI-generated image of an amplifier being controlled via a web interface.]]></description>
										<content:encoded><![CDATA[<img width="1024" height="683" src="https://dgen.net/0/wp-content/uploads/2026/02/amp-1024x683.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/02/amp-1024x683.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/02/amp-300x200.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/02/amp-768x512.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/amp-830x553.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/amp-230x153.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/amp-350x233.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/amp-480x320.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/amp.jpg 1200w" sizes="(max-width: 1024px) 100vw, 1024px" />
<p class="wp-block-paragraph">I wonder if AI might actually help us actually break away from native mobile apps for a lot of things &amp; &#8216;get back to the web&#8217;? </p>



<p class="wp-block-paragraph">Many modern hi-fi amplifiers have &#8216;an App&#8217;. They are, uniformly (from what I can see), terrible.</p>



<p class="wp-block-paragraph">In this post I show how I &#8216;fixed this&#8217; in <strong>under an hour</strong> using ai to do something I would never, ever have got around to doing. Given how much I listen to music, I know it&#8217;s going to save me many hours of irritation. It even left me with enough time to write this post.</p>



<p class="wp-block-paragraph">Let&#8217;s start with the challenge.  In the UK we spend about £600M a year on hi-fi stuff: that seems like quite a lot. And the higher-end kit costs more than your PC. However, while they &#8216;try and be digital&#8217;, it&#8217;s like walking back into the 1990s as a user. </p>



<p class="wp-block-paragraph">Here are some screenshots from the &#8216;flagship&#8217; Marantz app starting up.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1.jpg"><img decoding="async" width="461" height="1024" data-id="7743" src="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1-461x1024.jpg" alt="" class="wp-image-7743" srcset="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1-461x1024.jpg 461w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1-135x300.jpg 135w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1-768x1707.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1-691x1536.jpg 691w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1-922x2048.jpg 922w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1-830x1844.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1-230x511.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1-350x778.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1-480x1067.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132503_marantz-avr-remote_55106088266_o-1.jpg 1080w" sizes="(max-width: 461px) 100vw, 461px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o.jpg"><img decoding="async" width="461" height="1024" data-id="7744" src="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o-461x1024.jpg" alt="" class="wp-image-7744" srcset="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o-461x1024.jpg 461w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o-135x300.jpg 135w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o-768x1707.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o-691x1536.jpg 691w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o-922x2048.jpg 922w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o-830x1844.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o-230x511.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o-350x778.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o-480x1067.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132526_marantz-avr-remote_55106289933_o.jpg 1080w" sizes="(max-width: 461px) 100vw, 461px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o.jpg"><img decoding="async" width="461" height="1024" data-id="7746" src="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o-461x1024.jpg" alt="" class="wp-image-7746" srcset="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o-461x1024.jpg 461w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o-135x300.jpg 135w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o-768x1707.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o-691x1536.jpg 691w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o-922x2048.jpg 922w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o-830x1844.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o-230x511.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o-350x778.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o-480x1067.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132603_marantz-avr-remote_55106465980_o.jpg 1080w" sizes="(max-width: 461px) 100vw, 461px" /></a></figure>
</figure>



<p class="wp-block-paragraph">I should point out that not only is the user interface <strong>terrible</strong> (including trying to get you to sign up to their <a href="https://www.reddit.com/r/heos/comments/ibp45y/heos_software_is_complete_garbage_almost_to_the/">HEOS garbage</a>) but it takes needless <strong>ages </strong>to start up and navigate. Those spinning disks spin for a long time, and then present with a page with a <strong><em>tiny </em></strong>round button for the volume and mostly meaningless other stuff that&#8217;s too small to consistently accurately tap. It&#8217;s really easy to accidentally turn the volume up a lot (which on a >3kW system can be alarming if you&#8217;re not expecting it).</p>



<p class="wp-block-paragraph">Let&#8217;s say you want to turn the volume down (the #1 thing you do on an amp &#8216;instantly&#8217;), it can take up to <strong>10 seconds</strong> to get there. This means you revert back to the remote control, or &#8211; heaven forbid &#8211; <em>have to actually stand up and turn actual the volume control &#8211; there are plenty of other apps that tell us when we need to move <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></em>. Further, to get into any granular controls such as changing sound processing, or changing the volume on individual surround channels is painfully slow (tens of seconds to get to, seconds for each change), cumbersome and, actually just <strong>unusable</strong>. I often want to do this for specific tracks when in a proper listening session.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o.jpg"><img decoding="async" width="461" height="1024" data-id="7747" src="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o-461x1024.jpg" alt="" class="wp-image-7747" srcset="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o-461x1024.jpg 461w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o-135x300.jpg 135w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o-768x1707.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o-691x1536.jpg 691w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o-922x2048.jpg 922w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o-830x1844.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o-230x511.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o-350x778.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o-480x1067.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132612_marantz-avr-remote_55105203647_o.jpg 1080w" sizes="(max-width: 461px) 100vw, 461px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o.jpg"><img decoding="async" width="461" height="1024" data-id="7748" src="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o-461x1024.jpg" alt="" class="wp-image-7748" srcset="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o-461x1024.jpg 461w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o-135x300.jpg 135w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o-768x1707.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o-691x1536.jpg 691w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o-922x2048.jpg 922w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o-830x1844.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o-230x511.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o-350x778.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o-480x1067.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132628_marantz-avr-remote_55106466135_o.jpg 1080w" sizes="(max-width: 461px) 100vw, 461px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o.jpg"><img decoding="async" width="461" height="1024" data-id="7750" src="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o-461x1024.jpg" alt="" class="wp-image-7750" srcset="https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o-461x1024.jpg 461w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o-135x300.jpg 135w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o-768x1707.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o-691x1536.jpg 691w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o-922x2048.jpg 922w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o-830x1844.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o-230x511.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o-350x778.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o-480x1067.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/screenshot_20260220_132652_marantz-avr-remote_55106290143_o.jpg 1080w" sizes="(max-width: 461px) 100vw, 461px" /></a></figure>
</figure>



<p class="wp-block-paragraph">Clearly in 2026 this really isn&#8217;t good enough.   Fortunately this is now something (almost) anyone can fix without waiting for manufacturers to wake up and do something. </p>



<p class="wp-block-paragraph">Googling around the docs there are some API standards and I&#8217;d done some previous command-line work to pull status and push things like volume to see if it all actually worked (it did). </p>



<p class="wp-block-paragraph">But now, with the wonders of AI (in this case, <em><a href="https://claude.ai">Claude.ai</a></em>) it is almost <em>magically trivial to make your own interface.</em></p>



<p class="wp-block-paragraph">In this post I show how easy (and things that can be frustrating).</p>



<p class="wp-block-paragraph">Let&#8217;s start with a bit of magic: I asked Claude (thinking that this wouldn&#8217;t be enough)</p>



<pre class="wp-block-code"><code>&gt; develop a web interface for the Marantz SR7015 using its API</code></pre>



<p class="wp-block-paragraph">It wasn&#8217;t just &#8220;enough&#8221;, it even styled the page with custom fonts and an image of a surround setup. To get it actually working (locally, on my Mac) I just had to give it the error I got</p>



<pre class="wp-block-code"><code>&gt; it says "Cannot reach 192.168.1.46"</code></pre>



<p class="wp-block-paragraph">At which point the AI created a local proxy server, told me how to install it and some supporting packages (with copy/paste instructions). If I rewind to when I used to be able to actually code, I think this would have all easily taken me a day. Instead it took this aging hacker about 30 mins of faffing around. This was it &#8211; a fully working, way better visual interface and way better user experience (it loads <strong>instantly</strong> with no noticeable latency on the controls), and individual controls, all on one screen. And, against a black background as usually listening when it&#8217;s dark (or watching a movie).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><a href="https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-scaled.png"><img decoding="async" width="1260" height="2560" src="https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-scaled.png" alt="" class="wp-image-7753" style="aspect-ratio:0.49219353841397434;width:558px;height:auto" srcset="https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-scaled.png 1260w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-148x300.png 148w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-504x1024.png 504w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-768x1561.png 768w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-756x1536.png 756w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-1008x2048.png 1008w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-830x1687.png 830w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-230x467.png 230w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-350x711.png 350w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-12.29.22-480x976.png 480w" sizes="(max-width: 1260px) 100vw, 1260px" /></a></figure>
</div>


<p class="wp-block-paragraph">I then spent a few hours playing around with layouts to see what was possible, then asked the AI to make a version I would run on my Pi-Fi (the <a href="https://dgen.net/0/2023/07/05/bringing-album-art-back-to-life/">Raspberry Pi I have that displays album art</a> when Spotify is playing). Which, of course, it did at a similar pace. </p>



<p class="wp-block-paragraph">This means I can access a web page on my home&#8217;s wifi network on my phone, laptop or desktop &#8211; as can anyone I give the web address to who is with me. I can use it as a remote for the amplifier, not just for volume, but including controlling all the parameters I actually want to access instantly, with nice big buttons and only the things I need.  It still wasn&#8217;t able to do some things (like more nuanced reading/writing of custom fields).</p>



<p class="wp-block-paragraph">I then added <strong>new functionality</strong> &#8211; to pair and group left and right speakers into &#8216;front&#8217;, &#8216;surround&#8217; so I can control the top-front-side-back distribution more easily (unless you&#8217;re a sound engineer, you&#8217;ll be surprise how much more this varies than you&#8217;d think based on the mix and type of the music). </p>



<p class="wp-block-paragraph">And, finally, for now, a joystick control to move the balance around between all 11 speakers. Which was done with a single prompt:</p>



<pre class="wp-block-code"><code>> create a joystick control to balance the audio between all the speakers</code></pre>



<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-17.55.07.png"><img decoding="async" width="1024" height="689" src="https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-17.55.07-1024x689.png" alt="" class="wp-image-7799" srcset="https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-17.55.07-1024x689.png 1024w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-17.55.07-300x202.png 300w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-17.55.07-768x517.png 768w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-17.55.07-1536x1034.png 1536w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-17.55.07-830x559.png 830w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-17.55.07-230x155.png 230w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-17.55.07-350x236.png 350w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-17.55.07-480x323.png 480w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-17.55.07.png 1744w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<iframe loading="lazy" width="315" height="560" src="https://www.youtube.com/embed/PUtGOzQ18Ug?si=7Gn8waH_MPbBeIto" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



<p class="wp-block-paragraph">Next up I&#8217;m thinking of keying together listening room profiles per track, keyed into what&#8217;s playing on Spotify so the entire balance of the system can auto-configure based on what&#8217;s playing. This would then include <a href="https://dgen.net/0/2022/12/22/a-stereo-or-a-soundstage/">custom listening profiles and sound stages</a> I&#8217;d set up for specific favourite tracks. It&#8217;s almost as if one could take all this too far*&#8230;? </p>



<figure class="wp-block-image size-full is-resized"><a href="https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-scaled.png"><img decoding="async" width="1910" height="2560" src="https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-scaled.png" alt="" class="wp-image-7763" style="width:828px;height:auto" srcset="https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-scaled.png 1910w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-224x300.png 224w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-764x1024.png 764w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-768x1029.png 768w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-1146x1536.png 1146w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-1528x2048.png 1528w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-830x1113.png 830w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-230x308.png 230w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-350x469.png 350w, https://dgen.net/0/wp-content/uploads/2026/02/Screenshot-2026-02-20-at-15.35.23-480x643.png 480w" sizes="(max-width: 1910px) 100vw, 1910px" /></a></figure>



<p class="wp-block-paragraph">* Looking out at the hi-fi geek landscape, there is no end of completely stupid nonsense things people do (from £1,000 <a href="https://www.mcru.co.uk/product-category/hifi-cables/usb-cables-hifi-cables/">audiophile USB cables</a> to &#8216;<a href="https://forum.audiogon.com/discussions/does-raising-speaker-cables-off-the-floor-really-make-a-big-difference">elevated speaker cable risers</a>&#8216;), none of which make a single bean of difference to anything but your wallet. Once you&#8217;ve got a basic system in place by far the biggest differences you&#8217;ll be able to <em>actually hear</em> are (a) treating the room with sound insulation, and/or (b) treating the distribution, balance and EQ of the signal itself in your space, which is what I&#8217;m doing here.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7740</post-id>	</item>
		<item>
		<title>Data infrastructure as economic power</title>
		<link>https://dgen.net/0/2026/02/14/data-infrastructure-as-economic-power/</link>
		
		<dc:creator><![CDATA[Gavin]]></dc:creator>
		<pubDate>Sat, 14 Feb 2026 13:00:00 +0000</pubDate>
				<category><![CDATA[stuff]]></category>
		<guid isPermaLink="false">https://dgen.net/0/?p=7795</guid>

					<description><![CDATA[<img width="1024" height="683" src="https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-1024x683.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-1024x683.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-300x200.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-768x512.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-830x553.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-230x153.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-350x233.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-480x320.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP.jpg 1536w" sizes="(max-width: 1024px) 100vw, 1024px" />
Data infrastructure as economic power
Those who set the rules and govern data flows, control the value]]></description>
										<content:encoded><![CDATA[<img width="1024" height="683" src="https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-1024x683.jpg" class="attachment-large size-large wp-post-image" alt="" style="float:left; margin:0 15px 15px 0;" decoding="async" srcset="https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-1024x683.jpg 1024w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-300x200.jpg 300w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-768x512.jpg 768w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-830x553.jpg 830w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-230x153.jpg 230w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-350x233.jpg 350w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP-480x320.jpg 480w, https://dgen.net/0/wp-content/uploads/2026/02/DIaSP.jpg 1536w" sizes="(max-width: 1024px) 100vw, 1024px" />
<h4 class="wp-block-heading">Those who set the rules and govern data flows, control the&nbsp;value</h4>



<p class="wp-block-paragraph"><strong>Data infrastructure</strong> is not a technical concern nor a subset of digital policy.</p>



<p class="wp-block-paragraph">It is a core determinant of national power. It shapes how a country governs itself, secures its citizens and its businesses, how it shapes and grows its economy, and how it positions itself in an increasingly hostile geopolitical and commercial landscape. Data infrastructure also increasingly moderates the perceived legitimacy of relationships between government, institutions, business, and the general population.</p>



<p class="wp-block-paragraph">As data mediates finance, energy, health, transport, housing and public services, the ability to govern how data <strong><em>flows</em></strong>, who controls it, through what processes and on what terms, is now inseparable from national interest.</p>



<p class="wp-block-paragraph">Without sovereign control of the rules, permissions and layers of trust that determine data access, use and re-use, the UK risks outsourcing core economic and civic functions to foreign platforms, to standards outside of its control and incentives outside its jurisdiction.</p>



<p class="wp-block-paragraph">This is not just a question of efficiency or cost: it is a question of agency. Who sets the rules of the digital economy? Who captures the value? Whose values and what incentives are encoded into the systems that increasingly shape everyday life and trade?</p>



<p class="wp-block-paragraph">Addressing these questions can help to shine light on where important centers of power and decision-making capacity lie across the economy, and stimulate debate about what incentives, risks and benefits may exist. These should be considered on a short, medium and long-term commercial and geopolitical basis. They also highlight that a modern data economy requires a secure, trusted and domestically accountable, legally enforceable layer for organisations who use and control data. This is not just <em>technical</em> plumbing but foundational to democratic legitimacy and social trust.</p>



<p class="wp-block-paragraph">At the same time, the opportunity is substantial. Countries that invest in trusted, interoperable, market-enabling data infrastructures are laying the foundations for a new wave of productivity and growth. The UK’s experience with Open Banking showed what is possible: clear rules, shared standards and strong governance unlocked a multibillion-pound fintech ecosystem used by millions, and positioned the UK as a global exemplar. As it extends this approach with primary legislation across energy, property, health, transport and other sectors it can unlock new markets, attract investment, and reduce friction across the economy.</p>



<p class="wp-block-paragraph">Countries that can verify business identities while managing consumer permissions and protecting citizen rights in the digital sphere are better equipped to counter fraud, organised crime and interference from hostile actors. Those that can’t expose themselves to systemic risk.</p>



<p class="wp-block-paragraph">In an adversarial geopolitical environment, data assets such as energy telemetry, financial behaviours and mobility patterns are strategic resources. We must proceed by assuming all digital systems are under continuous both commercial and ‘bad actor’ attack. Resilience depends on open markets, transparency, interoperability, assurance and governance, not just ‘technology infrastructure’ at scale.</p>



<p class="wp-block-paragraph">This opportunity is also threatened by corporate capture. A small number of (predominantly US-based or Chinese) technology firms increasingly control critical digital infrastructure: cloud, identity, payments, AI models, developer ecosystems and now the <em>data layer itself </em>(data is a different <em>category</em> to technology).</p>



<p class="wp-block-paragraph">Through proprietary or ‘high friction’ standards, high switching costs and vertically integrated platforms, these firms are de-facto rule-makers. They shape access, pricing and innovation trajectories without public accountability. This concentrates economic power, weakens regulatory leverage and displaces public value with private extraction. Such challenges have been well documented for some time (see selected references).</p>



<p class="wp-block-paragraph">This is not inevitable and the UK has a credible alternative path. It can use its legal institutions, regulatory sophistication, academic depth and civil-society capability to lead a different model, based on open standards, open source and <em>open governance</em>. Open source in this context is not an ideology but a strategic instrument that underpins the principles of a free market economy. Properly governed, it reduces dependency, improves transparency, lowers barriers to entry, cost and friction, and allows domestic firms to build on shared foundations rather than renting infrastructure from abroad.</p>



<p class="wp-block-paragraph">Crucially, <em>open governance</em> preserves cultural and democratic sovereignty. It ensures that the rules of the data economy reflect UK legal norms, social values and public-interest objectives.</p>



<p class="wp-block-paragraph">Through modular, interoperable trust frameworks, the UK can export not just technology but governance itself, positioning the country as a global leader in trusted data markets. This is how economic value can be created at scale: enabling many firms to innovate on shared infrastructure, rather than entrenching a small number of dominant platforms.</p>



<p class="wp-block-paragraph">The strategic choice is clear: data infrastructure must be treated not merely as national infrastructure, but as a core component of the economy itself. The UK should act accordingly: owning the rules, investing in open components, institutionalising trust frameworks, and using this architecture to drive growth, resilience and global influence. Nations that do this will shape the rules of the digital age. Those that do not will inherit rules written elsewhere.</p>



<p class="wp-block-paragraph"><strong>Selected references</strong></p>



<p class="wp-block-paragraph">Khan, L.M. (2017) ‘Amazon’s antitrust paradox’, Yale Law Journal, 126(3), pp. 710–805. <a href="https://www.yalelawjournal.org/note/amazons-antitrust-paradox" rel="noreferrer noopener" target="_blank">https://yalelawjournal.org/note/amazons-antitrust-paradox</a></p>



<p class="wp-block-paragraph">Kenney, M. and Zysman, J. (2016) ‘The rise of the platform economy’, Issues in Science and Technology, 32(3), pp. 61–69. <a href="https://issues.org/the-rise-of-the-platform-economy" rel="noreferrer noopener" target="_blank">https://issues.org/the-rise-of-the-platform-economy</a></p>



<p class="wp-block-paragraph">OECD (2019) Competition policy in the digital age. <a href="https://www.oecd.org/competition/competition-policy-in-the-digital-age.htm" rel="noreferrer noopener" target="_blank">https://oecd.org/competition/competition-policy-in-the-digital-age.htm</a></p>



<p class="wp-block-paragraph">OECD (2022) The evolving concept of market power in the digital economy. <a href="https://www.oecd.org/daf/competition/the-evolving-concept-of-market-power-in-the-digital-economy.htm" rel="noreferrer noopener" target="_blank">https://oecd.org/daf/competition/the-evolving-concept-of-market-power-in-the-digital-economy.htm</a></p>



<p class="wp-block-paragraph">Srnicek, N. (2017) Platform capitalism. <a href="https://www.politybooks.com/bookdetail?book_slug=platform-capitalism--9781509504862" rel="noreferrer noopener" target="_blank">https://politybooks.com/bookdetail?book_slug=platform-capitalism&#8211;9781509504862</a></p>



<p class="wp-block-paragraph">Zuboff, S. (2019) The age of surveillance capitalism: The fight for a human future at the new frontier of power. New York: PublicAffairs. <a href="https://www.publicaffairsbooks.com/titles/shoshana-zuboff/the-age-of-surveillance-capitalism/9781610395694/" rel="noreferrer noopener" target="_blank">https://publicaffairsbooks.com/titles/shoshana-zuboff/the-age-of-surveillance-capitalism/9781610395694/</a></p>



<p class="wp-block-paragraph">Fetter J., Rao, K., Eaves, D. (2025) State of Digital Public Infrastructure Report <a href="https://www.ucl.ac.uk/bartlett/publications/2025/nov/2025-state-digital-public-infrastructure-report" rel="noreferrer noopener" target="_blank">https://www.ucl.ac.uk/bartlett/publications/2025/nov/2025-state-digital-public-infrastructure-report</a></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7795</post-id>	</item>
		<item>
		<title>GDrive sync to local drive &#8211; critical bug</title>
		<link>https://dgen.net/0/2025/08/25/gdrive-sync-to-local-drive-critical-bug/</link>
		
		<dc:creator><![CDATA[Gavin]]></dc:creator>
		<pubDate>Mon, 25 Aug 2025 19:12:55 +0000</pubDate>
				<category><![CDATA[stuff]]></category>
		<guid isPermaLink="false">https://dgen.net/0/?p=7687</guid>

					<description><![CDATA[If you are a Google Drive user (I&#8217;m on a Mac Mini M4), then when you set up local sync, there is a potentially disastrous [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">If you are a Google Drive user (I&#8217;m on a Mac Mini M4), then when you set up local sync, there is a potentially disastrous bug in their software.</p>



<p class="wp-block-paragraph">I like to have local copies of everything, so when I upgraded to a new Mac I selected &#8220;<strong>Mirror files</strong>&#8221; below and set it running. It immediately moved everything on my GDrive cloud storage to the bin (ie. treated my local empty machine as the &#8216;new thing&#8217; and overwrote everything in the cloud). This is, obviously, not the behaviour anyone wants. </p>



<figure class="wp-block-image size-large"><a href="https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-19.56.34.png"><img decoding="async" width="1024" height="767" src="https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-19.56.34-1024x767.png" alt="GDrive app" class="wp-image-7688" srcset="https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-19.56.34-1024x767.png 1024w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-19.56.34-300x225.png 300w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-19.56.34-768x575.png 768w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-19.56.34-830x621.png 830w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-19.56.34-230x172.png 230w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-19.56.34-350x262.png 350w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-19.56.34-480x359.png 480w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-19.56.34.png 1512w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">The &#8216;solution&#8217; &#8211; after you&#8217;ve gone online into the Bin, very carefully selected everything and clicked &#8216;<strong>Restore</strong>&#8216; (not Delete forever(!)) &#8211; is to launch the application in &#8220;<strong>Stream files</strong>&#8221; mode. Then, when it starts to stream go into the finder, right-click and select &#8220;<strong>Download Now</strong>&#8220;. </p>



<figure class="wp-block-image size-full"><a href="https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-20.05.50.png"><img decoding="async" width="812" height="302" src="https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-20.05.50.png" alt="screenshot of right-click menu selection" class="wp-image-7689" srcset="https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-20.05.50.png 812w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-20.05.50-300x112.png 300w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-20.05.50-768x286.png 768w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-20.05.50-230x86.png 230w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-20.05.50-350x130.png 350w, https://dgen.net/0/wp-content/uploads/2025/08/Screenshot-2025-08-25-at-20.05.50-480x179.png 480w" sizes="(max-width: 812px) 100vw, 812px" /></a></figure>



<p class="wp-block-paragraph">The app itself has a terrible user experience for such a tiny number of options: it&#8217;s not always clear which account your are in (I have many Gdrive accounts), it&#8217;s not consistent in language and the menus often loop back to the same thing. As for trying to set it to save to an external drive, do let me know if you have any tips as this seems impossible now on the Mac M4 (apparently <em>symlinking</em> is the workaround &#8230; it&#8217;s  2025!). </p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7687</post-id>	</item>
	</channel>
</rss>
