<?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/"
	>

<channel>
	<title>mrclay.org</title>
	<atom:link href="http://mrclay.org/feed/" rel="self" type="application/rss+xml" />
	<link>https://mrclay.org</link>
	<description>Song ▚ for ▚ a ▚ future ▚ generation</description>
	<lastBuildDate>Mon, 25 May 2026 02:04:27 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.5</generator>
<site xmlns="com-wordpress:feed-additions:1">92299748</site>	<item>
		<title>New release coming</title>
		<link>https://mrclay.org/2026/05/24/new-release-coming/</link>
					<comments>https://mrclay.org/2026/05/24/new-release-coming/#respond</comments>
		
		<dc:creator><![CDATA[Steve]]></dc:creator>
		<pubDate>Mon, 25 May 2026 02:04:26 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<guid isPermaLink="false">https://mrclay.org/?p=2631</guid>

					<description><![CDATA[A French Horns release is in the works! Twenty years late and thanks to a long campaign of nudging from Josh, we&#8217;ve finally dug through a small mountain of unreadable hard drives and scavenged a set of songs, remixed some, and added a bit of overdubs. For most songs, truly new mixes were off the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>A <a href="https://thefrenchhorns.com/">French Horns</a> release is in the works! Twenty years late and thanks to a long campaign of nudging from Josh, we&#8217;ve finally dug through a small mountain of unreadable hard drives and scavenged a set of songs, remixed some, and added a bit of overdubs. For most songs, truly new mixes were off the table due to lost session files, and some songs aren&#8217;t really finished, but it&#8217;s time to call these done.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrclay.org/2026/05/24/new-release-coming/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2631</post-id>	</item>
		<item>
		<title>Shutdowns</title>
		<link>https://mrclay.org/2025/10/30/shutdowns/</link>
					<comments>https://mrclay.org/2025/10/30/shutdowns/#respond</comments>
		
		<dc:creator><![CDATA[Steve]]></dc:creator>
		<pubDate>Fri, 31 Oct 2025 02:22:18 +0000</pubDate>
				<category><![CDATA[Policy]]></category>
		<category><![CDATA[Congress]]></category>
		<category><![CDATA[Partisanship]]></category>
		<guid isPermaLink="false">https://mrclay.org/?p=2620</guid>

					<description><![CDATA[For a moment, set aside any partisan views you have on this and past government shutdowns. We&#8217;re increasingly often finding us in these stalemates and I think it&#8217;s due to&#8211;what a surprise&#8211;the problems I regularly gripe about on here. Primary is the mistaken belief that the Senate&#8217;s filibuster rule is worth maintaining. You know, because [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>For a moment, set aside any partisan views you have on this and past government shutdowns. We&#8217;re increasingly often finding us in these stalemates and I think it&#8217;s due to&#8211;what a surprise&#8211;the problems I regularly gripe about on here.</p>



<p>Primary is the mistaken belief that the Senate&#8217;s filibuster rule is worth maintaining. You know, because &#8220;it keeps healthy, productive debate alive in the Senate&#8221;. This notion has been laughable since at least the Obama administration. In practice the filibuster means the majority in the Senate can&#8217;t pass legislation; that&#8217;s it. That means the majority must resort to gigantic Frankenstein bills engineered to bypass the rule, and we get these regular stalemates over budget bills.</p>



<p>But it&#8217;s just a relatively new norm. The Constitution designed the Senate with a <em>simple majority vote</em> to change rules and pass bills. The majority could, at any time, change the rule and pass their desired budget, starting the end of any shutdown. Democrats could&#8217;ve done this in 2013 and Republicans could do it tomorrow.</p>



<p>But there&#8217;s fear that the press will treat this as a radical upending of norms (it isn&#8217;t). Fear that the public will realize they could&#8217;ve done this weeks ago (true). Fear that the minority party will in the future have one less constraint when they regain the majority (true). Some Senators seem genuinely concerned that without this non-Constitutional 60-vote hurdle, the Senate will break, but we can all see <strong>Congress is broken today</strong>. Ditch the filibuster and at least the Senate will always be able to pass budgets, and, because obstruction is impossible, there will be more incentive to have a seat at the table making those decisions. The filibuster hasn&#8217;t fostered debate; it&#8217;s busted it. Several Senators that have prominently defended the filibuster publicly in recent history have left the Senate, so, fingers crossed.</p>



<p>The second factor is just partisan acrimony arising from our dumb first-past-the-post election systems. <a href="https://mrclay.org/2022/07/19/were-all-being-cooked/">I make this case more broadly here</a>, but basically Congress is dominated by increasingly partisan actors that are more inclined to play hardball and refuse to compromise. To force stand-offs when this helps no one. In this moment both parties at least quietly acknowledge the need to extend ACA subsidies to avoid millions of people being priced out of health insurance, but each party must not &#8220;lose&#8221;. Republicans could put an ACA extension in their bill or end the filibuster, but that would be losing. Democrats, who lost the last election, could just approve the the last budget they approved last time, but <em>that</em> would be losing.</p>



<p>There&#8217;s definitely bad behavior going on here, but simply arriving at these shutdowns is a sign we need changes.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrclay.org/2025/10/30/shutdowns/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2620</post-id>	</item>
		<item>
		<title>It&#8217;s time to boycott OpenAI</title>
		<link>https://mrclay.org/2025/10/30/its-time-to-boycott-openai/</link>
					<comments>https://mrclay.org/2025/10/30/its-time-to-boycott-openai/#respond</comments>
		
		<dc:creator><![CDATA[Steve]]></dc:creator>
		<pubDate>Thu, 30 Oct 2025 14:54:52 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Economics]]></category>
		<guid isPermaLink="false">https://mrclay.org/?p=2618</guid>

					<description><![CDATA[If you use AI, I think it&#8217;s time to boycott OpenAI and its products like Ch**GPT and S*ra in favor of its many competitors. The economic case: Several large firms are placing very large bets on OpenAI ending up with a de facto monopoly, and when this doesn&#8217;t happen, the bubble&#8217;s pop will hurt the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>If you use AI, I think it&#8217;s time to boycott OpenAI and its products like Ch**GPT and S*ra in favor of its many competitors.</p>



<p><strong>The economic case:</strong> Several large firms are placing very large bets on OpenAI ending up with a de facto monopoly, and when this <em>doesn&#8217;t</em> happen, the bubble&#8217;s pop will hurt the broader economy. It&#8217;s better for the public early on to loudly tell investors, &#8220;no, we&#8217;re going to use whatever&#8217;s cheapest, and you won&#8217;t recoup giant investments.&#8221; LLMs are math and I think will end up commodity goods whose cost will trend towards the cost of hardware + CPU time, which are both themselves commodities. I&#8217;ve not yet seen a case why OpenAI will be able to sustain a monopoly by sprinkling &#8220;special sauce&#8221; on top of models whose capabilities are in the ballpark of its competitors.</p>



<p><strong>The WWW case:</strong> <a href="https://www.anildash.com/2025/10/22/atlas-anti-web-browser/">Atlas, the &#8220;browser&#8221; described here</a> is a direct shot across the bow at the web. Even more than Google&#8217;s AI search results, it says to site authors, &#8220;the future is us drinking your content and users never knowing your site even exists.&#8221; I won&#8217;t pretend Atlas&#8217; failure would stop anything. We&#8217;re well on the path to the collapse of the ad-supported web, and people who create sites for free won&#8217;t bother as few are reading and web hosting costs rise back up. Do you want to share your thoughts or promote your service or product? Here are the 5 companies you can pay and their terms of service will be outrageous.</p>



<p><strong>The privacy case:</strong> Holy hell <a href="https://www.anildash.com/2025/10/22/atlas-anti-web-browser/#:~:text=in%20reality%2C%20you%20are%20the%20agent%20for%20ChatGPT">one feature of Atlas invites next level surveillance of the public</a>. Your TV already catalogues the content you watch (yes, even attached HDMI devices) and is selling that data. Atlas invites you to share your whole browsing experience with OpenAI (and if not now, eventually its friendly 3rd-party partners). OpenAI&#8217;s service S*ra demands that copyright holders opt out. Good luck with that argument in court.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrclay.org/2025/10/30/its-time-to-boycott-openai/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2618</post-id>	</item>
		<item>
		<title>DOGE</title>
		<link>https://mrclay.org/2025/03/24/doge/</link>
					<comments>https://mrclay.org/2025/03/24/doge/#respond</comments>
		
		<dc:creator><![CDATA[Steve]]></dc:creator>
		<pubDate>Mon, 24 Mar 2025 21:55:37 +0000</pubDate>
				<category><![CDATA[Policy]]></category>
		<category><![CDATA[Politics]]></category>
		<guid isPermaLink="false">https://mrclay.org/?p=2609</guid>

					<description><![CDATA[&#8220;Good morning. On top of your current duties, your team is taking over providing a vital service to hundreds of millions of people.&#8221; &#8220;How will we do that on top of the existing work?&#8221; &#8220;Efficiency.&#8221; &#8220;OK. Completely different domain; the people who know all the ins and outs of this service, and software and stuff, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>&#8220;Good morning. On top of your current duties, your team is taking over providing a vital service to hundreds of millions of people.&#8221;</p>



<p>&#8220;How will we do that on top of the existing work?&#8221;</p>



<p>&#8220;Efficiency.&#8221;</p>



<p>&#8220;OK. Completely different domain; the people who know all the ins and outs of this service, and software and stuff, when do they train us?&#8221;</p>



<p>&#8220;Oh, we fired them. You&#8217;re going to be very efficient.&#8221;</p>



<p>&#8220;Well, why didn&#8217;t you just <em>not</em> fire the people already knowledgeable and doing this work?&#8221;</p>



<p>&#8220;We put daily numbers on a website. Firing people makes big numbers today.&#8221;</p>



<p>&#8220;Won&#8217;t we end up just expanding <em>this</em> office with a similar number of people except who won&#8217;t know what they&#8217;re doing? Is this going to work?&#8221;</p>



<p>&#8220;Look, I&#8217;m 23 making six figures. Elon and I will be back at SpaceX soon enough and if shit breaks Trump is going to blame you and Democrats and make some splashy deportations and it&#8217;s going to be fine.&#8221;</p>



<p>[Nervous laughter] &#8220;Oh good!&#8221;</p>



<p>&#8220;Oh, not for you. We&#8217;re going to slander you while you collapse under an impossible workload, but fine for me. SpaceX is getting some big contracts soon.&#8221;</p>



<p>”But we’ll save <em>some</em> money, right?”</p>



<p>”Possibly [deep drag on a cigarette] but most of that is going to the 1% in a big tax cut.”</p>



<p>&#8220;Cool I guess. This seems kinda cynical and cruel to the thousands who got fired and millions depending on these services.&#8221;</p>



<p>&#8220;If it makes you feel better, these particular victims are imaginary because this is a writing exercise. We don’t exist either.&#8221;</p>



<p>&#8220;Oh, huh&#8230;&#8221; [puts on basketball shorts, catches ball thrown from out of frame, shoots, crowd cheers]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrclay.org/2025/03/24/doge/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2609</post-id>	</item>
		<item>
		<title>Installing a Second HTTPS Service in DDev</title>
		<link>https://mrclay.org/2025/03/02/installing-a-second-https-service-in-ddev/</link>
					<comments>https://mrclay.org/2025/03/02/installing-a-second-https-service-in-ddev/#respond</comments>
		
		<dc:creator><![CDATA[Steve]]></dc:creator>
		<pubDate>Mon, 03 Mar 2025 02:48:45 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[DDev]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Docker-compose]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[Node]]></category>
		<guid isPermaLink="false">https://mrclay.org/?p=2602</guid>

					<description><![CDATA[Let&#8217;s say you have a DDev setup with https://example.ddev.site, but you need a second secure URL for a separate service. Normally you&#8217;d do this with additional_hostnames, but you still would need to use a nonstandard port like 8443 because port 443 across all the hostnames goes to the web container. But there is a way [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Let&#8217;s say you have a DDev setup with https://example.ddev.site, but you need a second secure URL for a separate service. Normally you&#8217;d do this with <a href="https://ddev.readthedocs.io/en/stable/users/extend/additional-hostnames/">additional_hostnames</a>, but you still would need to use a nonstandard port like 8443 because <em>port 443 across all the hostnames goes to the web container</em>. But there <em>is</em> a way to get https://host2.ddev.site (on port 443) to be served by another DDev service:</p>



<p>First, in your new service, manually set up it up to serve port 443 on the new hostname:</p>



<pre class="wp-block-preformatted">    environment:<br>      # This configures traefik to map host2.ddev.site:443 specifically<br>      # to this container port 8080. Because we don't want the web container<br>      # handling this hostname, we do NOT include it in additional_hostnames.<br>      VIRTUAL_HOST: host2.ddev.site<br>      HTTP_EXPOSE: 80:8080<br>      HTTPS_EXPOSE: 443:8080</pre>



<p>In DDev&#8217;s config.yaml, do <strong>not</strong> place <code>host2</code> in additional_hostnames. The reason is this would place &#8220;host2.ddev.site&#8221; in the web container&#8217;s VIRTUAL_HOST. I recommend a comment to point this out:</p>



<pre class="wp-block-preformatted"># We _are_ using the hostname host2.ddev.site in the project, BUT we cannot<br># list it here because then the web container would handle it.<br>additional_hostnames: []</pre>



<p><img src="https://s.w.org/images/core/emoji/15.0.3/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Now you have two HTTPS services:</p>



<ul class="wp-block-list">
<li>example.ddev.site:443 -&gt; web container port 80</li>



<li>host2.ddev.site:443 -&gt; host2 container port 8080</li>
</ul>



<h3 class="wp-block-heading">Allowing https://host2.ddev.site to work inside another container</h3>



<p>This isn&#8217;t essential, but in my case I needed to use the same URL in the browser and within a third container <code>site3</code> running Alpine linux.</p>



<p>In the site3 Dockerfile, install ca-certificates, so we can later install the self-signed DDev cert:</p>



<pre class="wp-block-preformatted">RUN apk add ca-certificates</pre>



<p>In docker-compose.site3.yaml, map the DNS and add a volume mount with the cert:</p>



<pre class="wp-block-preformatted">    external_links:<br>      # Set up host2.ddev.site to reach the main traefik router<br>      - ddev-router:host2.ddev.site<br>    volumes:<br>      - ".:/mnt/ddev_config"<br>      # Allow copying mkcert/rootCA.pem into container<br>      - ddev-global-cache:/mnt/ddev-global-cache</pre>



<p>In config.yaml, add post-start hooks to install the cert:</p>



<pre class="wp-block-preformatted">hooks:<br>  post-start:<br>    - exec: cp /mnt/ddev-global-cache/mkcert/rootCA.pem /usr/local/share/ca-certificates/my-cert.crt<br>      service: site3<br>    - exec: update-ca-certificates<br>      service: site3</pre>



<h3 class="wp-block-heading">Using the DDev cert with node</h3>



<p>If site3 uses Node, you&#8217;ll need to <a href="https://nodejs.org/api/cli.html#--use-bundled-ca---use-openssl-ca">select the OpenSSL cert store</a> instead of the built-in one.</p>



<pre class="wp-block-preformatted">node --use-openssl-ca script.js</pre>



<p>If using <code>pm2</code>:</p>



<pre class="wp-block-preformatted">NODE_OPTIONS="--use-openssl-ca" pm2 start ...</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://mrclay.org/2025/03/02/installing-a-second-https-service-in-ddev/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2602</post-id>	</item>
		<item>
		<title>Quick Thoughts on “AI Music”</title>
		<link>https://mrclay.org/2025/01/17/quick-thoughts-on-ai-music/</link>
					<comments>https://mrclay.org/2025/01/17/quick-thoughts-on-ai-music/#respond</comments>
		
		<dc:creator><![CDATA[Steve]]></dc:creator>
		<pubDate>Fri, 17 Jan 2025 10:11:48 +0000</pubDate>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Policy]]></category>
		<category><![CDATA[Copyright]]></category>
		<category><![CDATA[LLMs]]></category>
		<category><![CDATA[Music Generation]]></category>
		<guid isPermaLink="false">https://mrclay.org/?p=2584</guid>

					<description><![CDATA[The tech is fascinating but the trajectory of it being used to screw artists is already clear. Hopefully artists will lawyer up and get their works out of training data. Large artist unions should be mandated access to freely and deeply test public models for the purposes of detecting IP in the training data. If [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>The tech is fascinating but the trajectory of it being used to screw artists is already clear. Hopefully artists will lawyer up and get their works out of training data.</p>



<p>Large artist unions should be mandated access to freely and deeply test public models for the purposes of detecting IP in the training data. If you’re making money providing a model, be prepared to show your papers on its training; trust needs to be earned.</p>



<p>Commercial models should be taxed, with revenue supporting ongoing development of tools for smaller artists to protect themselves from being ripped off.</p>



<p>If this effort goes well for artists, I generally expect sound quality of music generation to improve but “humanness” of the public models to sink. Bad news for companies wanting nearly free anodyne music for commercial use, but arguably better for art. </p>



<p>Where do the real prices of services like Udio land after investors stop footing the bills? Do these VC subsidized toys ignite the creative spirit of everyday non-artists to get into the game of actual music creation? What are we missing out on by having a world where very few people make music?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrclay.org/2025/01/17/quick-thoughts-on-ai-music/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2584</post-id>	</item>
		<item>
		<title>Restarting a node service on macOS boot</title>
		<link>https://mrclay.org/2025/01/06/restarting-a-node-service-on-macos-boot/</link>
					<comments>https://mrclay.org/2025/01/06/restarting-a-node-service-on-macos-boot/#respond</comments>
		
		<dc:creator><![CDATA[Steve]]></dc:creator>
		<pubDate>Mon, 06 Jan 2025 20:04:38 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[macOS]]></category>
		<guid isPermaLink="false">https://mrclay.org/?p=2566</guid>

					<description><![CDATA[This was a pain to get right, so here&#8217;s what I landed on: Example root cron: PATH=/Users/steve/.bun/bin:/usr/local/bin:...@reboot pm2 start /full/path/to/script.js This creates a PM2 service for the root user. You can only see/remove its entries when logged in as root: sudo su# list servicespm2 list# remove 1st entrypm2 del 0]]></description>
										<content:encoded><![CDATA[
<p>This was a pain to get right, so here&#8217;s what I landed on:</p>



<ol class="wp-block-list">
<li>Open&nbsp;<strong>System Settings &gt; Energy Saver</strong></li>



<li>Turn on <strong>Start up automatically after a power failure</strong></li>



<li>Under <strong>Privacy &amp; Security &gt; Full Disk Access</strong>, add the executable <code>/usr/sbin/cron</code></li>



<li>Log in as root: <code>sudo su</code></li>



<li>Install <a href="https://www.npmjs.com/package/pm2">pm2</a> globally: <code>npm i -g pm2</code></li>



<li>Don&#8217;t get trapped in vim: <code>export EDITOR=nano</code></li>



<li>Copy the PATH to clipboard: <code>eval 'echo PATH="$PATH"' | pbcopy</code></li>



<li>Edit crontab: <code>crontab -e</code></li>



<li>Paste in the PATH</li>



<li>Create cron entries using the full path for file/directory references (you don&#8217;t need it for executables)</li>
</ol>



<p>Example root cron:</p>



<pre class="wp-block-preformatted">PATH=/Users/steve/.bun/bin:/usr/local/bin:...<br><br>@reboot pm2 start /full/path/to/script.js</pre>



<p>This creates a PM2 service for the root user. You can only see/remove its entries when logged in as root:</p>



<pre class="wp-block-preformatted">sudo su<br><br># list services<br>pm2 list<br><br># remove 1st entry<br>pm2 del 0</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://mrclay.org/2025/01/06/restarting-a-node-service-on-macos-boot/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2566</post-id>	</item>
		<item>
		<title>Keys and Scales</title>
		<link>https://mrclay.org/2024/12/26/keys-and-scales/</link>
					<comments>https://mrclay.org/2024/12/26/keys-and-scales/#respond</comments>
		
		<dc:creator><![CDATA[Steve]]></dc:creator>
		<pubDate>Thu, 26 Dec 2024 23:44:53 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<guid isPermaLink="false">https://mrclay.org/?p=2553</guid>

					<description><![CDATA[The early stages of learning music tends to leave musicians with the impression that being &#8220;in a key&#8221; means using notes in the key&#8217;s signature scale; the &#8220;diatonic&#8221; notes and chords built from them. Nope! Lots of chords using chromatic notes sound totally natural when in a key because&#8230; A key is not its scale. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>The early stages of learning music tends to leave musicians with the impression that being &#8220;in a key&#8221; means using notes in the key&#8217;s signature scale; the &#8220;diatonic&#8221; notes and chords built from them. Nope! Lots of chords using chromatic notes sound totally natural when in a key because&#8230;</p>



<h3 class="wp-block-heading">A key is not its scale.</h3>



<p><strong>A key is more like a <em>mental state</em></strong> set up by a particular chord being perceived as &#8220;home&#8221;. This provides a context where some melodies and harmonies sound more natural than others.</p>



<p>How do we get into this state? We <em>think</em> it&#8217;s from having the chord first in a piece or a loop, or by giving its chord tones emphasis by some melody. For example, here are the critical notes (root and 3rd) of a G major chord with the G note doubled on top, and we give G a little jump from D to help it be heard as the tonal center:</p>



<iframe src="https://mrclay.org/piano/embed?url=https%3A%2F%2Fmrclay.org%2Fsequence%2Fsongs%2Fv4%2C90%2C1%2Cp37p3bp43-j37j3bj43-j37j3bj43-j37j3bp3e" height="120" width="600" style="border:0; width:100%"></iframe>



<p>Once established in our head, there becomes a variety of familiar harmonies we&#8217;re use to hearing, but <strong>it isn&#8217;t really about the G major scale</strong>.</p>



<h3 class="wp-block-heading">An example 4 bar loop in G major</h3>



<iframe src="https://mrclay.org/piano/embed?url=https%3A%2F%2Fmrclay.org%2Fsequence%2Fsongs%2Fv4%2C70%2C1%2Cp43p3bp2bp32p37-p45j3bj32j37p2a-p47p37p3bp28p34p3c-p48j37j3bp28j34j3c-p4ap27p37p3ap3e-j4ap27j37j3aj3ep4f-p3cp4cp24p37p3bp40-j3cj4cj37j3bj40p24-p3bp39p29p4dp40-p29j3bj39p4cj40-p28p38p3bp3ep40p4a-j38j3bj3ep28j40p44p47-p37p3cp2dp40p39p48p45-j37j3cj40p2dj39j48j45-p3cp43p33p3ep37p24-j43p26p32p3ep3cp36" height="120" width="600" style="border:0; width:100%"></iframe>



<p>We have: G &#8211; C/E | <strong>Eb</strong> &#8211; C | <strong>Bø7/F</strong> &#8211; <strong>E</strong> | Am &#8211; <strong>Cm</strong> D7</p>



<p>The Eb chord in bar 2 (with Eb and Bb instead of E and B) sounds a bit intriguing, but not at all <em>wrong</em>:</p>



<iframe src="https://mrclay.org/piano/embed?url=https%3A%2F%2Fmrclay.org%2Fchord%2F39%2C55%2C58%2C62" height="120" width="600" style="border:0; width:100%"></iframe>



<p>And if you stop the song and play a scale over this chord, you&#8217;ll find it&#8217;s <strong>not the G major scale</strong> that sounds best!</p>



<iframe loading="lazy" src="https://mrclay.org/piano/embed?url=https%3A%2F%2Fmrclay.org%2Fpiano%2Fsongs%2FC270C374C3a4C3e8C436iD438qC458rC46axD45axD46cmC48cnC4af0D48f1D4ahrC4bhrC4dkjD4bkkD4dnmC4fnnD3exaD4fxcD27xeD3axfD37xi" height="120" width="600" style="border:0; width:100%"></iframe>



<p>It turns out the <em>current chord</em> has a ton of influence over which scale(s) sound best at the moment. Or as I like to think about it, <strong>some chords <em>bend</em> the scale</strong> to support the chord.</p>



<p>And this little part below from bar 3 doesn&#8217;t even sound like G major when you take it out of context:</p>



<iframe loading="lazy" src="https://mrclay.org/piano/embed?url=https%3A%2F%2Fmrclay.org%2Fsequence%2Fsongs%2Fv4%2C70%2C1%2Cp3bp39p29p4dp40-p29j3bj39p4cj40-p28p38p3bp3ep40p4a-j38j3bj3ep28j40p44p47-p3cp2dp40p39p48p45-j3cj2dj40j39j48j45-j3cj2dj40j39j48j45-j3cj2dj40j39j48j45" height="120" width="600" style="border:0; width:100%"></iframe>



<p>This is plain old <em>key of A minor</em> material, even using the A harmonic minor scale with F instead of F#, and G# instead of G! In the context of our G major song, this is what&#8217;s called &#8220;tonicizing the two&#8221; because we&#8217;re momentarily using the dominant chord of ii (E), treating Am like a temporary tonic. <strong>But we&#8217;re still in G major.</strong></p>



<h3 class="wp-block-heading">So what can we play? And with what scales?</h3>



<p>I put together a <a href="https://mrclay.org/common-chords/G-major?7ths=0" data-type="link" data-id="https://mrclay.org/common-chords/A-major?7ths=0" target="_blank" rel="noreferrer noopener">broad overview of chords commonly used in G major</a> (and all the other keys). Any resource like this should be treated as a starting point, and I&#8217;m definitely not implying that music using more or rarer chords will be better in some way.</p>



<p>Regarding scales, to avoid perpetuating another misconception, we shouldn&#8217;t think of there being one &#8220;right&#8221; scale to pair with any chord. Context, genre, taste all come into play, and as with harmony, <em>trust your ears</em>. Usually the scale will have several notes in common with the key signature.</p>



<p>Of course there are some ways to predict scales that are commonly used&#8230; in another post.</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrclay.org/2024/12/26/keys-and-scales/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2553</post-id>	</item>
		<item>
		<title>Writing melodies over modal interchange</title>
		<link>https://mrclay.org/2024/12/22/writing-melodies-over-modal-interchange/</link>
					<comments>https://mrclay.org/2024/12/22/writing-melodies-over-modal-interchange/#respond</comments>
		
		<dc:creator><![CDATA[Steve]]></dc:creator>
		<pubDate>Mon, 23 Dec 2024 03:35:12 +0000</pubDate>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Composition]]></category>
		<guid isPermaLink="false">https://mrclay.org/?p=2536</guid>

					<description><![CDATA[If you look at the common chords of A major you&#8217;ll find six maj7 chords fit the modes commonly used: Amaj7, Dmaj7 from A Ionian (the diatonic ones); Gmaj7 borrowed from A Mixolydian; Cmaj7, Fmaj7 borrowed from A Aeolian; and Bbmaj7 borrowed from A Phrygian. Here&#8217;s a loop of them with an A pedal tone [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>If you look at the <a href="https://mrclay.org/common-chords/A-major" target="_blank" rel="noreferrer noopener">common chords of A major</a> you&#8217;ll find six maj7 chords fit the modes commonly used:</p>



<p><strong>Amaj7, Dmaj7</strong> from A Ionian (the diatonic ones); <strong>Gmaj7</strong> borrowed from A Mixolydian; <strong>Cmaj7, Fmaj7</strong> borrowed from A Aeolian; and <strong>Bbmaj7</strong> borrowed from A Phrygian. Here&#8217;s a loop of them with an A pedal tone on top:</p>



<iframe loading="lazy" src="https://mrclay.org/piano/embed?url=https%3A%2F%2Fmrclay.org%2Fsequence%2Fsongs%2Fv4%2C100%2C1%2Cp2dp38p3dp40p45-j2dj38j3dj40j45-p26p39p3dp42j45-j26j39j3dj42p45-p2bp42p3ep3bp45-j2bj42j3ej3bj45-p24p3bp40p37j45-j24j3bj40j37p45-p29p39p3cp40p45-j29j39j3cj40j45-p2ep39p3ep41j45-j2ej39j3ej41p45" height="120" width="600" style="border:0; width:100%"></iframe>



<p>As you might expect, you can&#8217;t just play any A major melody over any scale. Here are a couple strategies:</p>



<h3 class="wp-block-heading">Avoid the Changes</h3>



<p>Here you keep the melody diatonic (here using only A Ionian), but craft the melody (and/or the chords) so the melody is always in the current mode.</p>



<p>Here&#8217;s an example that uses all seven notes of A major:</p>



<iframe loading="lazy" src="https://mrclay.org/piano/embed?url=https%3A%2F%2Fmrclay.org%2Fsequence%2Fsongs%2Fv4%2C100%2C1%2Cp2dp45p38p3dp40-j2dp47j38j3dj40-p2bp36p3bp3ep49-j2bj36j3bj3ep4c-p2ep39p3ep35p4a-j2ej39j3ej35p4c-p37p3bp40p30p51-j37j3bj40j30j51-p26p39p3dp42p50-j26j39j3dj42p4e-p26j39j3dj42p49-j26j39j3dj42j49-p2bp3bp3ep42p4a-p49j3bj3ej42j2b-p45j3bj3ej42p2b-j45j3bj3ej42j2b" height="120" width="600" style="border:0; width:100%"></iframe>



<h3 class="wp-block-heading">Play to the changes</h3>



<p>Here you intentionally target notes that are newly brought to the scale by a mode change. E.g. switching from A Mixolydian to A Aeolian, you&#8217;d want to land on C or F.</p>



<p>Here&#8217;s an example over the same chords, but playing to the changes to squeeze in more chromatic notes:</p>



<iframe loading="lazy" src="https://mrclay.org/piano/embed?url=https%3A%2F%2Fmrclay.org%2Fsequence%2Fsongs%2Fv4%2C100%2C1%2Cp2dp38p3dp40p4c-j2dj38j3dj40p4e-p2bp36p3bp3ep4f-j2bj36j3bj3ep53-p2ep39p3ep35p52-j2ej39j3ej35p4d-p37p3bp40p30p4c-j37j3bj40j30j4c-p26p39p3dp42p49-j26j39j3dj42p51-p26j39j3dj42p50-j26j39j3dj42p4e-p2bp3bp3ep42p4f-j3bj3ej42j2bp51-j3bj3ej42p2bp4a-j3bj3ej42j2bj4a" height="120" width="600" style="border:0; width:100%"></iframe>



<p>And an example from pop music, in the chorus of &#8220;Something About You&#8221; (E major) the melody moves from the 3 scale degree to the b3 over the borrowed bVI chord:</p>



<iframe loading="lazy" src="https://mrclay.org/piano/embed?url=https%3A%2F%2Fmrclay.org%2Fsequence%2Fsongs%2Fv4%2C106%2C0p5%2Cp28p38p34p3b-j28j38j34j3b-p2ap44p39p3bp36-j2aj44j39j3bj36-p2cp44p34p3b-p2dp42p36p3b-p2fp40p3bp38-p30p43p34p3bp37-j43j34j3bj37j30-j43j34j3bj37p2d-j43j34j3bj37p2b-p28j34j37j3bj43-p24j34j37j3b-j24j34j37j3b-j34j37j3bj24-.-.-." height="120" width="600" style="border:0; width:100%"></iframe>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="697" height="500" src="https://mrclay.org/wp-content/uploads/2024/12/single-chromatic.jpg" alt="" class="wp-image-2549" srcset="https://mrclay.org/wp-content/uploads/2024/12/single-chromatic.jpg 697w, https://mrclay.org/wp-content/uploads/2024/12/single-chromatic-640x459.jpg 640w" sizes="(max-width: 697px) 100vw, 697px" /></figure></div>]]></content:encoded>
					
					<wfw:commentRss>https://mrclay.org/2024/12/22/writing-melodies-over-modal-interchange/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2536</post-id>	</item>
		<item>
		<title>Why I&#8217;ll vote for Kamala Harris</title>
		<link>https://mrclay.org/2024/10/12/why-ill-vote-for-kamala-harris/</link>
					<comments>https://mrclay.org/2024/10/12/why-ill-vote-for-kamala-harris/#respond</comments>
		
		<dc:creator><![CDATA[Steve]]></dc:creator>
		<pubDate>Sat, 12 Oct 2024 21:49:19 +0000</pubDate>
				<category><![CDATA[Policy]]></category>
		<category><![CDATA[Politics]]></category>
		<guid isPermaLink="false">https://mrclay.org/?p=2520</guid>

					<description><![CDATA[Harris seems to me a focused and competent adult with integrity, who can work with people to get things done while taking the awesome responsibility of the Presidency seriously. I expect she, like me, recognizes that a leader&#8217;s public behavior, character, and decency to other humans matter. There are plenty of public figures setting a [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Harris seems to me a focused and competent adult with integrity, who can work with people to get things done while taking the awesome responsibility of the Presidency seriously. I expect she, like me, recognizes that a leader&#8217;s public behavior, character, and decency to other humans matter. There are plenty of public figures setting a bad example of how to live without the leader of the free world doing it, too. I expect she knows it&#8217;s morally wrong and particularly repugnant for a political leader in this era to bully and slander because it puts people in real danger. I expect she will never say things that lead to people and organizations getting <em>death threats</em>.</p>



<p>I expect she knows it&#8217;s also just <em>not smart strategically</em> to have a long enemies list if you want to have a positive effect on the world. I expect she will not inflame tensions or bring out the worst in crowds by suggesting that if not re-elected, certain doom will befall the country. I expect she feels some shame when lying. She has certainly lied, but I would gladly invite a comparison with her opponent.</p>



<p>I expect she won&#8217;t waste hours a day on social media or cable television getting a distorted and false view of the world. I expect she&#8217;ll <em>recognize what she doesn&#8217;t know</em>, and will learn from expert advisors rather than just people who praise her. Any decent economic advisor would warn her that blanket tariffs would be massively inflationary and risk starting a trade war that would endanger our own exports. (We should ask why the executive branch&#8217;s control of tariffs are so powerful.)</p>



<p>I expect she&#8217;ll recognize that the rule of law&#8211;state laws, attorneys general, and courts&#8211;decide how elections and recounts are run and adjudicated. I expect she won&#8217;t pretend as if recounts, investigations, or court cases didn&#8217;t happen or bring up lies already debunked by law enforcement.</p>



<p><strong>This is not a particularly high bar.</strong> Arguably every major party candidate in recent history&#8211;save one&#8211;easily cleared it. I suppose if a candidate were exceptionally capable you could argue letting a few of these things slide, but in my opinion&#8230;</p>



<h3 class="wp-block-heading">Donald Trump does not seem exceptionally capable.</h3>



<p>His tax cuts raised the debt by trillions while achieving <a href="https://www.cbpp.org/research/federal-tax/the-2017-trump-tax-law-was-skewed-to-the-rich-expensive-and-failed-to-deliver">none of the promised outcomes</a>. The economy he is credited for was a steady continuation of the 2012-2017 post-recession period as you can see on any graph of the major economic indicators like <a href="https://fred.stlouisfed.org/series/GDP">GDP</a> and <a href="https://fred.stlouisfed.org/series/UNRATE">unemployment</a>; there was no Trump bump. To be generous I could say he didn&#8217;t break anything (but the debt). Analyses of his tariff proposals look disastrous for the economy. There&#8217;s no credible theory of how he would reverse the <em>worldwide phenomenon</em> of inflation without a time machine, and to &#8220;bring back his economy&#8221; <a href="https://www.forbes.com/sites/christianweller/2024/03/22/the-economy-is-much-stronger-than-four-years-ago/">you&#8217;d need to fire lots of people</a> because unemployment is lower now.</p>



<p>Subjectively, during his presidency he seemed driven by daily distractions and grievances he came across on social media and cable news, and he lacked the focus to ignore what didn&#8217;t matter and ignore the haters&#8211;he created more every day. His obsession with being perceived as having the greatest <em>everything</em> of all time led to national embarrassments like <a href="https://en.wikipedia.org/wiki/Hurricane_Dorian%E2%80%93Alabama_controversy">Sharpiegate</a> and &#8220;<a href="https://en.wikipedia.org/wiki/Alternative_facts">alternative facts</a>&#8220;. Although his team&#8217;s efforts to fast track COVID vaccine development and rollout should be applauded, he routinely undermined his own government&#8217;s efforts by downplaying his own family&#8217;s vaccinations and giving spotlight to fringe figures and unproven therapies [1]. There were weeks when one could argue his public behavior was a greater help to the outbreak.</p>



<p>I&#8217;m further convinced by the large pool of former Trump administration folks <em>not endorsing him</em> up to and including his former VP. All these people cannot just be chalked up to Trump Derangement Syndrome; they worked directly in his orbit.</p>



<p>He would be the oldest President in history, we know nothing official about his health, and if he passes in office it will lead to a man taking office who is at least on board with Trump&#8217;s demonization of immigrants and past behavior, and has promised to <a href="/2024/03/08/president-trumps-reckless-and-immoral-actions-after-the-2020-election/">follow Trump into the darkness</a> of testing the limits of post-election lies and the rule of law.</p>



<p>No thanks.</p>



<p>[1] For their part, scientists and politicians surely damaged their own reputations by various means in the COVID era, but I believe there were at the very least many thousands of deaths that could be attributed to the politicization of vaccines, and that will sadly continue.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrclay.org/2024/10/12/why-ill-vote-for-kamala-harris/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2520</post-id>	</item>
	</channel>
</rss>
