<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>FoundingFuture</title>
		<link>https://foundingfuture.com/</link>
		<description>Recent content on FoundingFuture</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<lastBuildDate>Tue, 08 Sep 2026 00:20:00 +0200</lastBuildDate>
		
			<atom:link href="https://foundingfuture.com/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Numbers and sets</title>
				<link>https://foundingfuture.com/mathematics/fundamentals/numbers-and-sets/</link>
				<pubDate>Mon, 31 Aug 2026 20:10:00 +0200</pubDate>
				<guid>https://foundingfuture.com/mathematics/fundamentals/numbers-and-sets/</guid>
				<description>&lt;p&gt;Each kind of number was invented because an operation ran out of answers. Subtraction ran out of the counting numbers, division ran out of the whole numbers, and roots ran out of the fractions. Complex numbers are the last of those widenings, and they arrive the same way the earlier ones did.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Anatomy of the Mandelbrot set</title>
				<link>https://foundingfuture.com/fractals/mandelbrot-set/anatomy-of-the-set/</link>
				<pubDate>Sun, 30 Aug 2026 12:54:33 +0200</pubDate>
				<guid>https://foundingfuture.com/fractals/mandelbrot-set/anatomy-of-the-set/</guid>
				<description>&lt;p&gt;The pictures that carry the name Mandelbrot show a black bulb with spirals and curls along its edge. They are coloured in bands, and magnifying the edge reveals more detail without end. Those pictures are portraits of a set of complex numbers. One short calculation, repeated, decides which numbers belong. This page defines the set, works that calculation, and names the shapes the picture turns out to hold.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Angles and polar form</title>
				<link>https://foundingfuture.com/mathematics/fundamentals/angles-and-polar-form/</link>
				<pubDate>Mon, 31 Aug 2026 21:03:19 +0200</pubDate>
				<guid>https://foundingfuture.com/mathematics/fundamentals/angles-and-polar-form/</guid>
				<description>&lt;p&gt;A point of the plane can be named by two coordinates, or by one distance and one turn. The second naming is the polar form, and it is the one under which multiplication of complex numbers becomes easy to read. Reaching it takes an angle measure and two ratios.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Matrices and vectors</title>
				<link>https://foundingfuture.com/mathematics/fundamentals/matrices/</link>
				<pubDate>Mon, 31 Aug 2026 22:25:15 +0200</pubDate>
				<guid>https://foundingfuture.com/mathematics/fundamentals/matrices/</guid>
				<description>&lt;p&gt;A vector is a column of numbers. A matrix is a rectangle of them, so a vector is the case of a single column. Adding either works one position at a time. Multiplying two matrices builds each entry of the answer from a whole row and a whole column. That one rule is what the rest of the subject rests on.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Iteration and orbits</title>
				<link>https://foundingfuture.com/mathematics/fundamentals/iteration-and-orbits/</link>
				<pubDate>Mon, 31 Aug 2026 22:05:53 +0200</pubDate>
				<guid>https://foundingfuture.com/mathematics/fundamentals/iteration-and-orbits/</guid>
				<description>&lt;p&gt;Applying one rule repeatedly, with each answer becoming the next question, produces a sequence. Which sequence depends entirely on where the process starts. Two starting points a hair apart can produce sequences that end in different places.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Signals and samples</title>
				<link>https://foundingfuture.com/mathematics/fundamentals/signals-and-samples/</link>
				<pubDate>Sat, 05 Sep 2026 00:35:37 +0200</pubDate>
				<guid>https://foundingfuture.com/mathematics/fundamentals/signals-and-samples/</guid>
				<description>&lt;p&gt;A sound is a pressure that rises and falls in time. A computer cannot hold a curve, only numbers, so it keeps the pressure at regular instants and nothing in between. That list of numbers is a digital signal, and everything an audio program does is arithmetic on the list.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Decibels and exponential decay</title>
				<link>https://foundingfuture.com/mathematics/fundamentals/decibels-and-decay/</link>
				<pubDate>Sat, 05 Sep 2026 00:35:37 +0200</pubDate>
				<guid>https://foundingfuture.com/mathematics/fundamentals/decibels-and-decay/</guid>
				<description>&lt;p&gt;Two sounds that differ by the same ratio sound the same distance apart, however loud they are. A scale for loudness therefore counts ratios rather than differences, and the decibel is that scale. Decay is what one ratio does when it is applied again and again.&lt;/p&gt;</description>
			</item>
			<item>
				<title>One-pole filters, shelves and all-passes</title>
				<link>https://foundingfuture.com/mathematics/fundamentals/filters/</link>
				<pubDate>Sat, 05 Sep 2026 00:35:37 +0200</pubDate>
				<guid>https://foundingfuture.com/mathematics/fundamentals/filters/</guid>
				<description>&lt;p&gt;A filter is a rule that treats fast changes in a signal differently from slow ones. The simplest rule that does so keeps one number in memory and moves it a fixed fraction of the way towards each new sample. Everything on this page is that rule and its mirror image. The last of them rearranges a delay so that it moves a click in time and leaves every steady tone at its level.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Linear, cubic and spherical interpolation</title>
				<link>https://foundingfuture.com/mathematics/fundamentals/interpolation/</link>
				<pubDate>Sat, 05 Sep 2026 00:35:37 +0200</pubDate>
				<guid>https://foundingfuture.com/mathematics/fundamentals/interpolation/</guid>
				<description>&lt;p&gt;Given two values and a fraction, interpolation names a value in between. Which value depends on what the two are: numbers on a line, samples of a curve, or directions. Each case has its own rule, and the wrong rule gives an answer that lies between the inputs and is still wrong.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Random numbers and noise</title>
				<link>https://foundingfuture.com/mathematics/fundamentals/noise/</link>
				<pubDate>Sat, 05 Sep 2026 00:35:37 +0200</pubDate>
				<guid>https://foundingfuture.com/mathematics/fundamentals/noise/</guid>
				<description>&lt;p&gt;A computer has no dice. What it has is a rule that scrambles a number so thoroughly that the sequence it produces passes for chance. It also has a way of turning that sequence into a signal with a chosen colour.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Palette morphing between waypoints</title>
				<link>https://foundingfuture.com/fractals/mandelbrot-set/palette-morphing/</link>
				<pubDate>Tue, 08 Sep 2026 00:20:00 +0200</pubDate>
				<guid>https://foundingfuture.com/fractals/mandelbrot-set/palette-morphing/</guid>
				<description>&lt;!-- requires theme shortcode: lead --&gt;&#xA;&#xA;&lt;div class=&#34;lead&#34;&gt;&lt;h2&gt;Each waypoint of a movie carries its own palette and its own colour cycle density, and the renderer interpolates both across the move between them.&lt;/h2&gt;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;A zoom movie is a list of waypoints and the camera moves between them. Each waypoint carries the two settings that decide colour. One is the palette the frame is drawn in. The other is how many colour cycles the picture spans. The renderer interpolates both across every move, on the same eased parameter that drives the zoom. A frame at a stopped waypoint is drawn exactly as that waypoint defines it. Every frame between two waypoints is part of the way from one setting to the other.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Colour spaces and blending</title>
				<link>https://foundingfuture.com/mathematics/fundamentals/colour-spaces/</link>
				<pubDate>Mon, 07 Sep 2026 23:58:15 +0200</pubDate>
				<guid>https://foundingfuture.com/mathematics/fundamentals/colour-spaces/</guid>
				<description>&lt;!-- requires theme shortcode: lead --&gt;&#xA;&#xA;&lt;div class=&#34;lead&#34;&gt;&lt;h2&gt;Three ways to take a colour halfway between two others, and what each one costs.&lt;/h2&gt;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;A colour halfway between two others depends on the space the halving happens in. Averaging the bytes a file stores gives one colour. Averaging the light those bytes stand for gives another, and averaging in a space built to match perception gives a third. This page defines the three spaces, gives the transforms between them, and measures the midpoint each produces for one pair of colours.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Mandelbrot zoom movies</title>
				<link>https://foundingfuture.com/fractals/mandelbrot-set/example-movies/</link>
				<pubDate>Mon, 07 Sep 2026 23:44:11 +0200</pubDate>
				<guid>https://foundingfuture.com/fractals/mandelbrot-set/example-movies/</guid>
				<description>&lt;!-- requires theme shortcode: lead --&gt;&#xA;&#xA;&lt;div class=&#34;lead&#34;&gt;&lt;h2&gt;Tours of the boundary, rendered frame by frame from a list of waypoints.&lt;/h2&gt;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;A movie is a list of waypoints and the camera moves between them. A waypoint fixes a centre, a view height, an iteration ceiling and the colouring. Every frame is a full escape-time render, so the cost grows with the length of the movie and with the depth it reaches. Each entry below carries the video, the points it dives to and what it took.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Building a morphing reverb</title>
				<link>https://foundingfuture.com/programming/audio/morphing-reverb/</link>
				<pubDate>Sat, 05 Sep 2026 00:35:37 +0200</pubDate>
				<guid>https://foundingfuture.com/programming/audio/morphing-reverb/</guid>
				<description>&lt;p&gt;A reverb turns one sound into thousands of quieter copies of itself, spread over time. A digital reverb builds those copies from delay lines wired into a feedback loop. The table of numbers that wires them decides how the copies pile up. SD-Reverb is an audio plugin whose table does not hold still. It travels a closed path over seconds to minutes, fifty seconds at the default setting. The resonances of the room therefore drift while its decay time stays where the control put it. The architecture and the delay lengths come from the Airwindows reverbs of Chris Johnson. Moving the table is a published technique, reached here by its own route.&lt;/p&gt;</description>
			</item>
			<item>
				<title>SD-Reverb signal path</title>
				<link>https://foundingfuture.com/programming/audio/sd-reverb-signal-path/</link>
				<pubDate>Sat, 05 Sep 2026 00:35:37 +0200</pubDate>
				<guid>https://foundingfuture.com/programming/audio/sd-reverb-signal-path/</guid>
				<description>&lt;p&gt;This page follows a stereo signal through SD-Reverb, from the sample the host hands in to the sample the host takes back. Every operation on the way is written down as arithmetic. Each stage is described twice, first in words and then in symbols. The symbols are the specification and the words are what the symbols mean.&lt;/p&gt;</description>
			</item>
			<item>
				<title>UnQuarantize, a Dropzone action</title>
				<link>https://foundingfuture.com/software/unquarantine-dropzone-action/</link>
				<pubDate>Mon, 31 Aug 2026 22:58:25 +0200</pubDate>
				<guid>https://foundingfuture.com/software/unquarantine-dropzone-action/</guid>
				<description>&lt;p&gt;Dropzone is a macOS utility that sits in the menu bar. Clicking its icon opens a grid of targets, and dragging files or text onto a target runs a script called an action. This page is a guide to writing one. It covers the bundle on disk, the Ruby and Python runtimes Dropzone provides, the metadata header, the API an action talks to, and a complete worked example that removes the quarantine attribute from downloaded files. The finished bundle is linked at the end.&lt;/p&gt;</description>
			</item>
			<item>
				<title>About</title>
				<link>https://foundingfuture.com/about/</link>
				<pubDate>Tue, 25 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://foundingfuture.com/about/</guid>
				<description>&lt;p&gt;Personal interests and software experiments by Eddie Niese. Whatever holds&#xA;my attention long enough to be written down properly: fractals, typography,&#xA;the odd piece of software, and notes on things that turned out to be more&#xA;interesting than they looked.&lt;/p&gt;&#xA;&lt;p&gt;Both &lt;strong&gt;foundingfuture.com&lt;/strong&gt; and &lt;strong&gt;foundingfuture.net&lt;/strong&gt; land here, and neither&#xA;redirects to the other. If you typed one, you stay on it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-runs-it&#34; class=&#34;anchored&#34;&gt;What runs it&lt;a class=&#34;anchor&#34; href=&#34;#what-runs-it&#34; aria-label=&#34;Link to this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The site is built with &#xA;&lt;a href=&#34;https://gohugo.io/&#34; rel=&#34;external noopener&#34; target=&#34;_blank&#34;&gt;Hugo&lt;span class=&#34;newtab&#34;&gt; (opens in a new tab)&lt;/span&gt;&lt;/a&gt;&#xA; and a theme I wrote for&#xA;it, &#xA;&lt;a href=&#34;https://foundingfuture.com/software/foundingfuture-i/&#34;&gt;FoundingFuture I&lt;/a&gt;&#xA;. The theme is MIT&#xA;and on GitHub. The small-capitals face in the menu headings was&#xA;&#xA;&lt;a href=&#34;https://foundingfuture.com/software/bricolage-small-caps/&#34;&gt;cut from Bricolage Grotesque&lt;/a&gt;&#xA; and is there&#xA;to download.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Building a Hugo theme</title>
				<link>https://foundingfuture.com/software/foundingfuture-i/</link>
				<pubDate>Tue, 25 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://foundingfuture.com/software/foundingfuture-i/</guid>
				<description>&lt;p&gt;FoundingFuture I is a Hugo theme under the MIT license. Its source is at&#xA;&#xA;&lt;a href=&#34;https://github.com/FoundingFuture/theme-hugo-ff1&#34; rel=&#34;external noopener&#34; target=&#34;_blank&#34;&gt;github.com/FoundingFuture/theme-hugo-ff1&lt;span class=&#34;newtab&#34;&gt; (opens in a new tab)&lt;/span&gt;&lt;/a&gt;&#xA;.&#xA;This page records how it was built and every requirement the Hugo theme&#xA;directory imposes. The steps apply to any theme.&lt;/p&gt;&#xA;&lt;p&gt;Measured at version 0.1.0: 25 templates, 6 shortcodes, 11 partials, one&#xA;stylesheet of 32,370 bytes holding 249 selectors, three scripts totalling&#xA;7,074 bytes, and six subset fonts.&lt;/p&gt;&#xA;&lt;h2 id=&#34;repository-layout&#34; class=&#34;anchored&#34;&gt;Repository layout&lt;a class=&#34;anchor&#34; href=&#34;#repository-layout&#34; aria-label=&#34;Link to this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;A theme is a directory with a fixed set of subdirectories. Hugo reads each by&#xA;name.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cutting a small-capitals face</title>
				<link>https://foundingfuture.com/software/bricolage-small-caps/</link>
				<pubDate>Mon, 24 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://foundingfuture.com/software/bricolage-small-caps/</guid>
				<description>&lt;!-- requires theme shortcode: lead --&gt;&#xA;&#xA;&lt;div class=&#34;lead&#34;&gt;&lt;h2&gt;Fake small capitals are shrunken capitals. It shows.&lt;/h2&gt;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Set a word in them and it comes apart. The menu on this site sets anything&#xA;that opens in small capitals. Ask a&#xA;browser for that and you write:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-css&#34; data-lang=&#34;css&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;font-variant-caps&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;small-caps&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If the font has small-capital glyphs, you get them. If it does not, the&#xA;browser makes some by shrinking the capitals, and that is where it goes&#xA;wrong.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Search</title>
				<link>https://foundingfuture.com/search/</link>
				<pubDate>Mon, 24 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://foundingfuture.com/search/</guid>
				<description>&lt;p&gt;Searching looks in titles, tags, sections and the first part of each piece.&#xA;Several words narrow rather than widen, so all of them have to appear&#xA;somewhere for a piece to be listed.&lt;/p&gt;</description>
			</item>
			<item>
				<title>What AVIF actually costs</title>
				<link>https://foundingfuture.com/notes/formats/</link>
				<pubDate>Mon, 24 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://foundingfuture.com/notes/formats/</guid>
				<description>&lt;p&gt;Hugo 0.165 encodes AVIF. Nothing to install: it is in the binary, alongside&#xA;JPEG, PNG, WebP, GIF, TIFF and BMP.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go-html-template&#34; data-lang=&#34;go-html-template&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;{{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;$img&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;.Resize&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;900x avif q60&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;cp&#34;&gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The quality numbers do not mean the same thing between formats. AVIF at q80&#xA;aims far higher than JPEG at q80 and charges you for it, which is why the&#xA;list below has AVIF three times.&lt;/p&gt;&#xA;&lt;p&gt;Click one to see it full size, then step through with the arrows. The&#xA;pictures do not move between steps, so any difference is a difference and&#xA;not your eye relocating.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
