<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en" xml:base="https://wavgen.ca/diary/">
  <title>The Waveform Generation — Diary</title>
  <subtitle>Rob McDonald - Creative technologist exploring music, video, data, and art in Toronto, Canada.</subtitle>
  <link rel="self" type="application/atom+xml" href="https://wavgen.ca/feed.xml"/>
  <link rel="alternate" type="text/html" href="https://wavgen.ca/"/>
  <id>tag:wavgen.ca,2025-08-24:diary</id>
  <updated>2026-10-18T17:04:25Z</updated>
  <author>
    <name>Rob McDonald</name>
  </author>
  <icon>https://wavgen.ca/icons/icon-192.png</icon>
  <entry>
    <title>When did you stop chasing photorealism — or did you?</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2026-10-17-when-did-you-stop-chasing-photorealism-or-did-you</id>
    <published>2026-10-17T00:00:00Z</published>
    <updated>2026-10-18T17:04:25Z</updated>
    <content type="html">&lt;p&gt;I never stopped chasing it.&lt;/p&gt;
&lt;p&gt;A friend of mine in the TouchDesigner community works on world models and has been doing realism-based generation for a couple of years now. He is the one who inspired me to keep searching for that uber-realistic generation. Getting all the way there takes the premium models, but we run MiniMax H3 now and it is pretty good, and so much of it comes down to the prompt.&lt;/p&gt;
&lt;p&gt;In my own visual work there have always been elements of realism. I used to do caricature, realistic but cartoonish. My paintings are very abstract, but the realism is still in there, hidden underneath the colour and the theory and the principles behind them.&lt;/p&gt;
&lt;p&gt;When it comes to AI, I think realism is the chase, and the chase is real. You look at Midjourney output and it is creative and different from reality, and at the same time it can look completely real, the same way high-end CGI can. There is the deepfake question hanging over all of it, with its pros and cons.&lt;/p&gt;
&lt;p&gt;A film camera recording a scene looks real because it is reality. Anything computer generated has to emulate that, and AI is the closest a consumer has ever been able to get to that kind of output. In my own creativity, I like to ride the line: realism embedded into abstraction.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>If you had to project your work on the side of a building tomorrow, what</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2026-08-20-if-you-had-to-project-your-work-on-the-side-of-a-b</id>
    <published>2026-08-20T00:00:00Z</published>
    <updated>2026-08-20T16:32:26Z</updated>
    <content type="html">&lt;p&gt;The Bilbao Guggenheim&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>What&#39;s a thing AI can do that you&#39;d rather it not do for you, even if it</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2026-06-01-what-s-a-thing-ai-can-do-that-you-d-rather-it-not-</id>
    <published>2026-06-01T00:00:00Z</published>
    <updated>2026-06-01T16:05:39Z</updated>
    <content type="html">&lt;p&gt;One of my paintings&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Where does your creative work mirror your relationships? Where does it</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2026-05-31-where-does-your-creative-work-mirror-your-relation</id>
    <published>2026-05-31T00:00:00Z</published>
    <updated>2026-05-31T14:35:54Z</updated>
    <content type="html">&lt;p&gt;It’s not work, it’s just fun&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>What&#39;s a question you&#39;ve been afraid to ask out loud?</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2026-05-28-what-s-a-question-you-ve-been-afraid-to-ask-out-lo</id>
    <published>2026-05-28T00:00:00Z</published>
    <updated>2026-05-28T15:12:31Z</updated>
    <content type="html">&lt;p&gt;Can’t think of one I want published on my website lol&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>What would your work gain from a month with no internet?</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2026-05-23-what-would-your-work-gain-from-a-month-with-no-int</id>
    <published>2026-05-23T00:00:00Z</published>
    <updated>2026-05-23T02:58:37Z</updated>
    <content type="html">&lt;p&gt;Maybe be better grounded in the physical world&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>What&#39;s a part of yourself you&#39;ve grown into through your craft? Are you</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2026-05-23-what-s-a-part-of-yourself-you-ve-grown-into-throug</id>
    <published>2026-05-23T00:00:00Z</published>
    <updated>2026-05-23T03:18:37Z</updated>
    <content type="html">&lt;p&gt;Focus and retrospective growth.  I’m grateful for everything.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>What feedback did you ignore this week, rightly or wrongly?</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2026-05-23-what-feedback-did-you-ignore-this-week-rightly-or-</id>
    <published>2026-05-23T00:00:00Z</published>
    <updated>2026-05-23T01:04:02Z</updated>
    <content type="html">&lt;p&gt;I ignored the thinking I couldn’t do any of this and trusted Claude&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>If you had to delete half your sample library to make better use of the</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2026-05-23-if-you-had-to-delete-half-your-sample-library-to-m</id>
    <published>2026-05-23T00:00:00Z</published>
    <updated>2026-05-23T03:05:43Z</updated>
    <content type="html">&lt;p&gt;Drums&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Gallery Multi-Row System &amp; Site Enhancements</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2025-11-30-gallery-multi-row-system-site-enhancements</id>
    <published>2025-11-30T00:00:00Z</published>
    <updated>2025-11-30T22:23:52Z</updated>
    <content type="html">&lt;ul&gt;
&lt;li&gt;Gallery: 5 scrolling rows on homepage, 3 on subpages with alternating directions&lt;/li&gt;
&lt;li&gt;Variable animation speeds per row (15s–27s), hybrid real images + generative canvas&lt;/li&gt;
&lt;li&gt;All gallery cards clickable with modal view, 75×60px with wavgen-yellow borders&lt;/li&gt;
&lt;li&gt;Homepage now aggregates images from ALL section folders (art, music, video, data)&lt;/li&gt;
&lt;li&gt;Ken Burns effect slideshow cycles through combined images&lt;/li&gt;
&lt;li&gt;Fixed video player auto-scroll on load (added skipScroll parameter)&lt;/li&gt;
&lt;li&gt;Fixed code playground Monaco Editor stealing focus on page load&lt;/li&gt;
&lt;li&gt;Removed duplicate hero sections from music subpages (ambient, melodic, breaks)&lt;/li&gt;
&lt;li&gt;Removed unnecessary dark overlay divs, consistent 2×2 grid layout&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Technical:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GSAP startRowMarquee() for individual row animations&lt;/li&gt;
&lt;li&gt;Scroll position save/restore pattern for Monaco initialization&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Save Markdown Diary entry to local site</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2025-08-25-save-markdown-diary-entry-to-local-site</id>
    <published>2025-08-25T00:00:00Z</published>
    <updated>2025-08-25T00:00:00Z</updated>
    <content type="html">&lt;p&gt;This comment will be saved to the site using a local application.  One question is, how this will run in the browser when deployed to Github Pages?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Save Markdown Diary entry ON WEBSITE</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2025-08-25-save-markdown-diary-entry-on-website</id>
    <published>2025-08-25T00:00:00Z</published>
    <updated>2025-08-25T00:00:00Z</updated>
    <content type="html">&lt;p&gt;This comment will be saved to the site using a local application. One question is, how this will run in the browser when deployed to Github Pages?  Here is the test :-)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Untitled</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2025-08-25-entry</id>
    <published>2025-08-25T00:00:00Z</published>
    <updated>2025-08-25T17:14:34Z</updated>
    <content type="html">&lt;ul&gt;
&lt;li&gt;Point one&lt;/li&gt;
&lt;li&gt;Point two&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Context or links.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Email MD</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2025-08-25-email-md</id>
    <published>2025-08-25T00:00:00Z</published>
    <updated>2025-08-25T17:14:34Z</updated>
    <content type="html">&lt;p&gt;Email MD&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Email MD</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2025-08-25-email-md-1</id>
    <published>2025-08-25T00:00:00Z</published>
    <updated>2025-08-25T17:14:34Z</updated>
    <content type="html">&lt;p&gt;Email MD Local test&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Project overview seeded from README</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2025-08-24-readme</id>
    <published>2025-08-24T00:00:00Z</published>
    <updated>2025-08-24T18:35:24Z</updated>
    <content type="html">&lt;ul&gt;
&lt;li&gt;Eleventy-powered, teaching-grade portfolio with comprehensive commenting and GSAP-driven visuals.&lt;/li&gt;
&lt;li&gt;Sections: Music, Video, Data &amp;amp; Tech, Art; responsive navigation; purple/yellow theme.&lt;/li&gt;
&lt;li&gt;Real multimedia: SoundCloud (10 tracks) and YouTube (5 videos) with robust UX and error handling.&lt;/li&gt;
&lt;li&gt;Interactive Code Playground: Monaco Editor with modes (Tailwind, GSAP, Eleventy, Site Snippets).&lt;/li&gt;
&lt;li&gt;Tech stack: 11ty, Nunjucks, Tailwind, Node, GSAP, GitHub Actions/Pages.&lt;/li&gt;
&lt;li&gt;Purpose: living reference and playground blending creative tech, pedagogy, and portfolio.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Generated by Page</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2025-08-24-entry</id>
    <published>2025-08-24T00:00:00Z</published>
    <updated>2025-08-24T23:20:48Z</updated>
    <content type="html">&lt;ul&gt;
&lt;li&gt;Point one&lt;/li&gt;
&lt;li&gt;Point two&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Context or links.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Dev + Deploy flow (convenient reference)</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2025-08-24-dev-deploy-flow</id>
    <published>2025-08-24T00:00:00Z</published>
    <updated>2025-08-24T18:35:24Z</updated>
    <content type="html">&lt;ul&gt;
&lt;li&gt;Local dev options:
&lt;ul&gt;
&lt;li&gt;Two terminals: &lt;code&gt;npm run build-css&lt;/code&gt; and &lt;code&gt;npm run serve&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Or one command (recommended): &lt;code&gt;npm run dev&lt;/code&gt; using &lt;code&gt;concurrently&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Production build check: &lt;code&gt;npm run build&lt;/code&gt; runs Tailwind then Eleventy.&lt;/li&gt;
&lt;li&gt;Deploy via Git:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git add .&lt;/code&gt;, &lt;code&gt;git commit -m &amp;quot;…&amp;quot;&lt;/code&gt;, &lt;code&gt;git push origin main&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;GitHub Actions builds: Node setup → npm ci → build-css → eleventy → deploy &lt;code&gt;_site/&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Quick cheatsheet:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;npm run dev&lt;/code&gt; → edit → commit → push → wait for Pages.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Codebase commenting project summary</title>
    <id>tag:wavgen.ca,2025-08-24:diary/2025-08-24-commenting-summary</id>
    <published>2025-08-24T00:00:00Z</published>
    <updated>2025-08-24T18:35:24Z</updated>
    <content type="html">&lt;ul&gt;
&lt;li&gt;Scope: every meaningful line across templates, JS, CSS, config, docs, and data is commented for teaching clarity.&lt;/li&gt;
&lt;li&gt;Native comment styles: Nunjucks ``, JS &lt;code&gt;//&lt;/code&gt; and &lt;code&gt;/* ... */&lt;/code&gt;, CSS &lt;code&gt;/* ... */&lt;/code&gt;, Markdown &lt;code&gt;&amp;lt;!-- ... --&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Teaching blocks at file tops explain structure, purpose, and decisions.&lt;/li&gt;
&lt;li&gt;Heavily documented systems:
&lt;ul&gt;
&lt;li&gt;GSAP gallery (hero slideshows, background slideshow, infinite marquee, modal gallery).&lt;/li&gt;
&lt;li&gt;Media players (SoundCloud, YouTube) with robust UX and error handling patterns.&lt;/li&gt;
&lt;li&gt;Interactive Code Playground (Monaco) with 4 learning modes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Result: a beginner‑friendly, maintainable, and pedagogically strong codebase.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Generated Manually</title>
    <id>tag:wavgen.ca,2025-08-24:diary/1</id>
    <published>2025-08-24T00:00:00Z</published>
    <updated>2025-08-24T23:20:48Z</updated>
    <content type="html">&lt;ul&gt;
&lt;li&gt;Point one&lt;/li&gt;
&lt;li&gt;Point two&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Context or links.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
</feed>
