<rss xmlns:source="http://source.scripting.com/" version="2.0">
  <channel>
    <title>Nic Babarskis</title>
    <link>https://nic.babarskis.blog/</link>
    <description></description>
    
    <language>en</language>
    
    <lastBuildDate>Sat, 18 Jul 2026 17:56:32 -0400</lastBuildDate>
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/18/if-the-air-quality-experienced.html</link>
      <pubDate>Sat, 18 Jul 2026 17:56:32 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/18/if-the-air-quality-experienced.html</guid>
      <description>&lt;p&gt;If the air quality experienced in the Great Lakes this past week is a foretaste of summers to come they should start calling this game the ‘Campfire Classic’&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/3f41ec2088.png&#34; width=&#34;600&#34; height=&#34;260&#34; alt=&#34;The scoreboard shows the Toronto Blue Jays leading the Chicago White Sox 1-0 in the top of the 9th inning with two outs.&#34;&gt;
</description>
      <source:markdown>If the air quality experienced in the Great Lakes this past week is a foretaste of summers to come they should start calling this game the ‘Campfire Classic’


&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/3f41ec2088.png&#34; width=&#34;600&#34; height=&#34;260&#34; alt=&#34;The scoreboard shows the Toronto Blue Jays leading the Chicago White Sox 1-0 in the top of the 9th inning with two outs.&#34;&gt;
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/17/despite-major-decentralization-election-integrity.html</link>
      <pubDate>Fri, 17 Jul 2026 19:30:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/17/despite-major-decentralization-election-integrity.html</guid>
      <description>&lt;p&gt;Despite major decentralization election integrity seems to be a hot topic, so if you find yourself in mid-Michigan on July 20 and want to experience one element of how election facilitators check for integrity &lt;a href=&#34;https://lansingcitypulse.com/city-of-east-lansing-notice-of-public-accuracy-test-for-the-tuesday-august-4-2026-state-primary-election/&#34;&gt;you should swing by the East Lansing City Hall at 1:30p for a tabulation accuracy test.&lt;/a&gt;&lt;/p&gt;
</description>
      <source:markdown>Despite major decentralization election integrity seems to be a hot topic, so if you find yourself in mid-Michigan on July 20 and want to experience one element of how election facilitators check for integrity [you should swing by the East Lansing City Hall at 1:30p for a tabulation accuracy test.](https://lansingcitypulse.com/city-of-east-lansing-notice-of-public-accuracy-test-for-the-tuesday-august-4-2026-state-primary-election/) 
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/17/many-companies-are-trading-nearterm.html</link>
      <pubDate>Fri, 17 Jul 2026 12:34:03 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/17/many-companies-are-trading-nearterm.html</guid>
      <description>&lt;p&gt;&amp;ldquo;&amp;hellip;many companies are trading near-term productivity for long-term woes&amp;rdquo; sure feels like a working definition of how we&amp;rsquo;ve collectively made important decisions for my entire adult life.&lt;/p&gt;
&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;Alan Jacobs &#34; data-avatar=&#34;https://micro.blog/ayjay/avatar.jpg&#34; cite=&#34;https://social.ayjay.org/2026/07/17/wsj-vibe-slop-happens-when.html&#34;&gt;&lt;p&gt;&lt;a href=&#34;https://www.wsj.com/tech/ai/vibe-coding-slop-ai-tools-e6a99394?mod=series_chatgptai&#34;&gt;WSJ&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Vibe slop&lt;/strong&gt; happens when coders replace the hard work of designing and testing a system with the shortcut of prompting AI to whip it up … and the resulting software won’t stand the test of time. It’s become a big enough problem that the world’s main repository of open-source code — GitHub — has instituted new policies and features to combat it. […] &lt;/p&gt;
&lt;p&gt;These systems are supposed to make senior engineers so productive that companies can lay off junior engineers, but in reality, many companies are trading near-term productivity for long-term woes. Not only does the pipeline of junior talent dry up, but...&lt;/p&gt;
&lt;/blockquote&gt; &lt;a href=&#34;https://social.ayjay.org/2026/07/17/wsj-vibe-slop-happens-when.html&#34;&gt;social.ayjay.org&lt;/a&gt;&lt;footer&gt;Alan Jacobs  &lt;cite&gt;&lt;a href=&#34;https://social.ayjay.org/2026/07/17/wsj-vibe-slop-happens-when.html&#34; class=&#34;u-in-reply-to&#34;&gt;https://social.ayjay.org/2026/07/17/wsj-vibe-slop-happens-when.html&lt;/a&gt;&lt;/cite&gt;&lt;/footer&gt;&lt;/blockquote&gt;&lt;script src=&#34;https://cdn.micro.blog/quoteback.js&#34;&gt;&lt;/script&gt;
</description>
      <source:markdown>&#34;...many companies are trading near-term productivity for long-term woes&#34; sure feels like a working definition of how we&#39;ve collectively made important decisions for my entire adult life. 


&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;Alan Jacobs &#34; data-avatar=&#34;https://micro.blog/ayjay/avatar.jpg&#34; cite=&#34;https://social.ayjay.org/2026/07/17/wsj-vibe-slop-happens-when.html&#34;&gt;&lt;p&gt;&lt;a href=&#34;https://www.wsj.com/tech/ai/vibe-coding-slop-ai-tools-e6a99394?mod=series_chatgptai&#34;&gt;WSJ&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Vibe slop&lt;/strong&gt; happens when coders replace the hard work of designing and testing a system with the shortcut of prompting AI to whip it up … and the resulting software won’t stand the test of time. It’s become a big enough problem that the world’s main repository of open-source code — GitHub — has instituted new policies and features to combat it. […] &lt;/p&gt;
&lt;p&gt;These systems are supposed to make senior engineers so productive that companies can lay off junior engineers, but in reality, many companies are trading near-term productivity for long-term woes. Not only does the pipeline of junior talent dry up, but...&lt;/p&gt;
&lt;/blockquote&gt; &lt;a href=&#34;https://social.ayjay.org/2026/07/17/wsj-vibe-slop-happens-when.html&#34;&gt;social.ayjay.org&lt;/a&gt;&lt;footer&gt;Alan Jacobs  &lt;cite&gt;&lt;a href=&#34;https://social.ayjay.org/2026/07/17/wsj-vibe-slop-happens-when.html&#34; class=&#34;u-in-reply-to&#34;&gt;https://social.ayjay.org/2026/07/17/wsj-vibe-slop-happens-when.html&lt;/a&gt;&lt;/cite&gt;&lt;/footer&gt;&lt;/blockquote&gt;&lt;script src=&#34;https://cdn.micro.blog/quoteback.js&#34;&gt;&lt;/script&gt;
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/17/saw-someone-standing-outside-what.html</link>
      <pubDate>Fri, 17 Jul 2026 10:40:16 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/17/saw-someone-standing-outside-what.html</guid>
      <description>&lt;p&gt;Saw someone standing outside what I assume from their uniform is their place of employment smoking a cigarette. At this point if it’s about some sort of blend of nicotine and aroma they might as well have just popped a Zyn pouch and gone for a walk.&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/79e29fb3d8.png&#34; width=&#34;298&#34; height=&#34;600&#34; alt=&#34;&#34;&gt;
</description>
      <source:markdown>Saw someone standing outside what I assume from their uniform is their place of employment smoking a cigarette. At this point if it’s about some sort of blend of nicotine and aroma they might as well have just popped a Zyn pouch and gone for a walk. 


&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/79e29fb3d8.png&#34; width=&#34;298&#34; height=&#34;600&#34; alt=&#34;&#34;&gt;
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/16/yup-really-thinking-about-this.html</link>
      <pubDate>Thu, 16 Jul 2026 09:36:13 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/16/yup-really-thinking-about-this.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://nic.babarskis.blog/2026/07/16/welp.html&#34;&gt;yup&lt;/a&gt;&lt;/p&gt;
&lt;blockquote class=&#34;bluesky-embed&#34; data-bluesky-uri=&#34;at://did:plc:jqujuk6ms63i2in57sjzgtoj/app.bsky.feed.post/3mqpyghim2s2h&#34; data-bluesky-cid=&#34;bafyreidi4lgjmk344xj6s54bdo53bziyarzgt64wxi4t77tzt36wi4airm&#34; data-bluesky-embed-color-mode=&#34;system&#34;&gt;&lt;p lang=&#34;en&#34;&gt;really thinking about this tweet as i’ve been struggling to breathe through nausea for the last 5 hours&lt;br&gt;&lt;br&gt;&lt;a href=&#34;https://bsky.app/profile/did:plc:jqujuk6ms63i2in57sjzgtoj/post/3mqpyghim2s2h?ref_src=embed&#34;&gt;[image or embed]&lt;/a&gt;&lt;/p&gt;&amp;mdash; phoenix (&lt;a href=&#34;https://bsky.app/profile/did:plc:jqujuk6ms63i2in57sjzgtoj?ref_src=embed&#34;&gt;[@phoenix-rights.bsky.social](http://phoenix-rights.bsky.social)&lt;/a&gt;) &lt;a href=&#34;https://bsky.app/profile/did:plc:jqujuk6ms63i2in57sjzgtoj/post/3mqpyghim2s2h?ref_src=embed&#34;&gt;July 15, 2026 at 8:34 PM&lt;/a&gt;&lt;/blockquote&gt;&lt;script async src=&#34;https://embed.bsky.app/static/embed.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;
</description>
      <source:markdown>[yup](https://nic.babarskis.blog/2026/07/16/welp.html)

&lt;blockquote class=&#34;bluesky-embed&#34; data-bluesky-uri=&#34;at://did:plc:jqujuk6ms63i2in57sjzgtoj/app.bsky.feed.post/3mqpyghim2s2h&#34; data-bluesky-cid=&#34;bafyreidi4lgjmk344xj6s54bdo53bziyarzgt64wxi4t77tzt36wi4airm&#34; data-bluesky-embed-color-mode=&#34;system&#34;&gt;&lt;p lang=&#34;en&#34;&gt;really thinking about this tweet as i’ve been struggling to breathe through nausea for the last 5 hours&lt;br&gt;&lt;br&gt;&lt;a href=&#34;https://bsky.app/profile/did:plc:jqujuk6ms63i2in57sjzgtoj/post/3mqpyghim2s2h?ref_src=embed&#34;&gt;[image or embed]&lt;/a&gt;&lt;/p&gt;&amp;mdash; phoenix (&lt;a href=&#34;https://bsky.app/profile/did:plc:jqujuk6ms63i2in57sjzgtoj?ref_src=embed&#34;&gt;[@phoenix-rights.bsky.social](http://phoenix-rights.bsky.social)&lt;/a&gt;) &lt;a href=&#34;https://bsky.app/profile/did:plc:jqujuk6ms63i2in57sjzgtoj/post/3mqpyghim2s2h?ref_src=embed&#34;&gt;July 15, 2026 at 8:34 PM&lt;/a&gt;&lt;/blockquote&gt;&lt;script async src=&#34;https://embed.bsky.app/static/embed.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/16/welp.html</link>
      <pubDate>Thu, 16 Jul 2026 09:10:53 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/16/welp.html</guid>
      <description>&lt;p&gt;📷 Welp.&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/screenshot-2026-07-16-at-9.04.19am.png&#34; alt=&#34;A map of Michigan shows various air quality index (AQI) scores with a detailed gauge indicating a very unhealthy level of PM2.5 AQI at 426, alongside values for Ozone AQI and PM10 AQI.&#34;&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/576e90d753.jpg&#34; alt=&#34;A hazy sky with the sun faintly visible above a garden filled with lush green bushes and blooming pink flowers.&#34;&gt;
</description>
      <source:markdown>📷 Welp.  

&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/screenshot-2026-07-16-at-9.04.19am.png&#34; alt=&#34;A map of Michigan shows various air quality index (AQI) scores with a detailed gauge indicating a very unhealthy level of PM2.5 AQI at 426, alongside values for Ozone AQI and PM10 AQI.&#34;&gt;

&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/576e90d753.jpg&#34; alt=&#34;A hazy sky with the sun faintly visible above a garden filled with lush green bushes and blooming pink flowers.&#34;&gt;

</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/15/danny-caballero-a-presidents-compensation.html</link>
      <pubDate>Wed, 15 Jul 2026 14:28:02 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/15/danny-caballero-a-presidents-compensation.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://danny.hellmo.space/posts/welcome-back-kevin-now-earn-it/&#34;&gt;Danny Caballero: &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A president’s compensation funded by unnamed private actors is a governance question, not a compensation question.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
      <source:markdown>[Danny Caballero: ](https://danny.hellmo.space/posts/welcome-back-kevin-now-earn-it/)

&gt;A president’s compensation funded by unnamed private actors is a governance question, not a compensation question.
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/15/from-dismal-science-to-dumb.html</link>
      <pubDate>Wed, 15 Jul 2026 08:16:19 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/15/from-dismal-science-to-dumb.html</guid>
      <description>&lt;p&gt;From dismal science to dumb science:&lt;/p&gt;
&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;Molly White&#34; data-avatar=&#34;https://micro.blog/molly0xfff@hachyderm.io/avatar.jpg&#34; cite=&#34;https://hachyderm.io/@molly0xfff/116921441667666535&#34;&gt;&lt;p&gt;fascinating economic discovery from Fidelity: houses actually are cheaper now than in 2020!*&lt;/p&gt;&lt;p&gt;* if you denominate them in an arbitrary asset that has appreciated over that time frame&lt;/p&gt;&lt;p&gt;next up from Fidelity: groceries aren&#39;t getting more expensive!**&lt;/p&gt;&lt;p&gt;** if you denominate their price in World of Warcraft gold&lt;/p&gt;&lt;p class=&#34;microblog_hashtags&#34;&gt;&lt;a href=&#34;https://hachyderm.io/tags/crypto&#34; class=&#34;mention hashtag&#34;&gt;#&lt;span&gt;crypto&lt;/span&gt;&lt;/a&gt; &lt;a href=&#34;https://hachyderm.io/tags/cryptocurrency&#34; class=&#34;mention hashtag&#34;&gt;#&lt;span&gt;cryptocurrency&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&#34;microblog_collection&#34;&gt;
&lt;img src=&#34;https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fmedia.hachyderm.io%2Fmedia_attachments%2Ffiles%2F116%2F921%2F441%2F558%2F349%2F491%2Foriginal%2F3f5efb2b8b7a3c2e.png&#34; alt=&#34;The average U.S. home has appreciated by over $100,000 since 2020, reflecting the broader inflationary environment across fiat-denominated assets. However, when priced in bitcoin, the average home has declined significantly in value, becoming approximately 10 times less expensive over the same period.  This divergence raises a key question: Is housing becoming more expensive, or is the purchasing power of fiat currency steadily eroding?&#34; loading=&#34;lazy&#34;&gt;&lt;img src=&#34;https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fmedia.hachyderm.io%2Fmedia_attachments%2Ffiles%2F116%2F921%2F441%2F561%2F828%2F609%2Foriginal%2F5060c9062d8eb964.png&#34; alt=&#34;Chart showing average home prices in dollars from 2020–2026 (rising about $100k over that period), and on the second axis the price in bitcoin (dropping by about 50BTC)&#34; loading=&#34;lazy&#34;&gt;
&lt;/div&gt;&lt;footer&gt;Molly White &lt;cite&gt;&lt;a href=&#34;https://hachyderm.io/@molly0xfff/116921441667666535&#34; class=&#34;u-in-reply-to&#34;&gt;https://hachyderm.io/@molly0xfff/116921441667666535&lt;/a&gt;&lt;/cite&gt;&lt;/footer&gt;&lt;/blockquote&gt;&lt;script src=&#34;https://cdn.micro.blog/quoteback.js&#34;&gt;&lt;/script&gt;
</description>
      <source:markdown>From dismal science to dumb science:

&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;Molly White&#34; data-avatar=&#34;https://micro.blog/molly0xfff@hachyderm.io/avatar.jpg&#34; cite=&#34;https://hachyderm.io/@molly0xfff/116921441667666535&#34;&gt;&lt;p&gt;fascinating economic discovery from Fidelity: houses actually are cheaper now than in 2020!*&lt;/p&gt;&lt;p&gt;* if you denominate them in an arbitrary asset that has appreciated over that time frame&lt;/p&gt;&lt;p&gt;next up from Fidelity: groceries aren&#39;t getting more expensive!**&lt;/p&gt;&lt;p&gt;** if you denominate their price in World of Warcraft gold&lt;/p&gt;&lt;p class=&#34;microblog_hashtags&#34;&gt;&lt;a href=&#34;https://hachyderm.io/tags/crypto&#34; class=&#34;mention hashtag&#34;&gt;#&lt;span&gt;crypto&lt;/span&gt;&lt;/a&gt; &lt;a href=&#34;https://hachyderm.io/tags/cryptocurrency&#34; class=&#34;mention hashtag&#34;&gt;#&lt;span&gt;cryptocurrency&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&#34;microblog_collection&#34;&gt;
&lt;img src=&#34;https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fmedia.hachyderm.io%2Fmedia_attachments%2Ffiles%2F116%2F921%2F441%2F558%2F349%2F491%2Foriginal%2F3f5efb2b8b7a3c2e.png&#34; alt=&#34;The average U.S. home has appreciated by over $100,000 since 2020, reflecting the broader inflationary environment across fiat-denominated assets. However, when priced in bitcoin, the average home has declined significantly in value, becoming approximately 10 times less expensive over the same period.  This divergence raises a key question: Is housing becoming more expensive, or is the purchasing power of fiat currency steadily eroding?&#34; loading=&#34;lazy&#34;&gt;&lt;img src=&#34;https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fmedia.hachyderm.io%2Fmedia_attachments%2Ffiles%2F116%2F921%2F441%2F561%2F828%2F609%2Foriginal%2F5060c9062d8eb964.png&#34; alt=&#34;Chart showing average home prices in dollars from 2020–2026 (rising about $100k over that period), and on the second axis the price in bitcoin (dropping by about 50BTC)&#34; loading=&#34;lazy&#34;&gt;
&lt;/div&gt;&lt;footer&gt;Molly White &lt;cite&gt;&lt;a href=&#34;https://hachyderm.io/@molly0xfff/116921441667666535&#34; class=&#34;u-in-reply-to&#34;&gt;https://hachyderm.io/@molly0xfff/116921441667666535&lt;/a&gt;&lt;/cite&gt;&lt;/footer&gt;&lt;/blockquote&gt;&lt;script src=&#34;https://cdn.micro.blog/quoteback.js&#34;&gt;&lt;/script&gt;
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/14/they-can-take-our-cold.html</link>
      <pubDate>Tue, 14 Jul 2026 19:59:14 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/14/they-can-take-our-cold.html</guid>
      <description>&lt;p&gt;They may take our cold beet soup but they can never take our freedom 🇱🇹🇱🇹🇱🇹.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/cf97fedf10.jpg&#34; alt=&#34;A screenshot from Reddit of a New York Times picture of a bowl of bright pink Lithuanian chilled soup, topped with a halved boiled egg, diced vegetables, and fresh herbs, is shown. The NYtimes caption erroneously labels it a Polish chilled soup. The Reddit poster comments “The New York Times is trying to start a war between Poland and Lithuania. &#34;&gt;&lt;/p&gt;
</description>
      <source:markdown>They may take our cold beet soup but they can never take our freedom 🇱🇹🇱🇹🇱🇹. 


![A screenshot from Reddit of a New York Times picture of a bowl of bright pink Lithuanian chilled soup, topped with a halved boiled egg, diced vegetables, and fresh herbs, is shown. The NYtimes caption erroneously labels it a Polish chilled soup. The Reddit poster comments “The New York Times is trying to start a war between Poland and Lithuania. ](https://nic.babarskis.blog/uploads/2026/cf97fedf10.jpg)
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/14/sorry-i-have-to-direct.html</link>
      <pubDate>Tue, 14 Jul 2026 14:31:45 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/14/sorry-i-have-to-direct.html</guid>
      <description>&lt;p&gt;Sorry I have to direct your attention to a page hosted by Meta, but for my fellow great lake residents &lt;a href=&#34;https://www.facebook.com/bradsugdenwx/posts/pfbid02zanof23LpyHJ1r5nFs7es8fjiTVwEJXG11xUkHnBd5n1Yp5p9FooikVXyrvfhN9Hl&#34;&gt;it looks like Michigan is about to get blitzed by Canadian wildfire smoke.&lt;/a&gt;&lt;/p&gt;
</description>
      <source:markdown>Sorry I have to direct your attention to a page hosted by Meta, but for my fellow great lake residents [it looks like Michigan is about to get blitzed by Canadian wildfire smoke.](https://www.facebook.com/bradsugdenwx/posts/pfbid02zanof23LpyHJ1r5nFs7es8fjiTVwEJXG11xUkHnBd5n1Yp5p9FooikVXyrvfhN9Hl)
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/13/its-time-for-corn-sweat.html</link>
      <pubDate>Mon, 13 Jul 2026 22:00:53 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/13/its-time-for-corn-sweat.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.wkar.org/knight-center-for-environmental-journalism/2026-07-10/its-time-for-corn-sweat-as-michigan-hits-mid-summer&#34;&gt;It&amp;rsquo;s time for &amp;lsquo;corn sweat&amp;rsquo; as Michigan hits mid-summer.&lt;/a&gt;  Let&amp;rsquo;s gooo! 🌞🌽💦🇺🇸&lt;/p&gt;
</description>
      <source:markdown>[It&#39;s time for &#39;corn sweat&#39; as Michigan hits mid-summer.](https://www.wkar.org/knight-center-for-environmental-journalism/2026-07-10/its-time-for-corn-sweat-as-michigan-hits-mid-summer)  Let&#39;s gooo! 🌞🌽💦🇺🇸
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/13/cal-newport-we-should-treat.html</link>
      <pubDate>Mon, 13 Jul 2026 20:34:08 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/13/cal-newport-we-should-treat.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://calnewport.com/why-reading-matters/&#34;&gt;Cal Newport&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We should treat highly distracting digital garbage like junk food…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Following this analogy I have a hamburglar-esque relationship to the stuff 😩😩😩&lt;/p&gt;
</description>
      <source:markdown>[Cal Newport](https://calnewport.com/why-reading-matters/):

&gt; We should treat highly distracting digital garbage like junk food…

Following this analogy I have a hamburglar-esque relationship to the stuff 😩😩😩
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/13/media-has-a-story-out.html</link>
      <pubDate>Mon, 13 Jul 2026 10:51:31 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/13/media-has-a-story-out.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.404media.co/these-are-the-worst-chatgpt-flyers-youve-sent-us/&#34;&gt;404 Media has a story out today&lt;/a&gt; that is a compilation of unhinged AI fliers and posters for businesses or other community events. It&amp;rsquo;s getting wild out there.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/dd8f5c0030.jpg&#34; alt=&#34;A French menu poster titled &amp;ldquo;JUICE TIME&amp;rdquo; that shows clear signs of being AI-generated despite having legible text. The layout is divided into three sections: a dine-in menu (&amp;ldquo;SUR PLACE&amp;rdquo;), a takeaway menu (&amp;ldquo;À EMPORTER&amp;rdquo;), and a tea section (&amp;ldquo;DU THÉ AFGHANS&amp;rdquo;). AI generation artifacts are visible throughout the composition: the header &amp;ldquo;DU THÉ AFGHANS&amp;rdquo; contains a grammatical error, mixing singular and plural forms; the ornate metallic teapots and tea glasses at the bottom feature asymmetrical, melting filigree patterns that lack structural logic; the fruits have a hyper-glossy, plastic texture, with the central avocado pit appearing to float unnaturally over the flesh; and the liquid splashes in the top corners exhibit impossible physics, blending seamlessly into the solid fruit pieces.&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/cleanshot-2026-07-09-at-03.25.342x.png&#34; alt=&#34;A &amp;ldquo;COMING SOON&amp;rdquo; advertisement flyer for a restaurant named &amp;ldquo;MEXIBITES FOOD AND BAKERY&amp;rdquo; featuring a central food illustration with distinct signs of AI generation. While the main text is clear, the food bowl contains several telltale AI artifacts: the orange rice has a highly uniform, fuzzy texture resembling a mossy carpet rather than individual grains; the sliced green and red chili peppers floating on the beans are rendered as mathematically perfect, hollow plastic loops and O-rings lacking organic variety; the lime wedges in the top-left are oddly geometric, with one piece morphing unnaturally into a solid green leaf-like shape; and the logo at the bottom features an impossible geometry where a cooking fork&amp;rsquo;s handle melts directly into a metallic grill frame underneath a floating, neon-orange doughnut.&#34;&gt;&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/29c2e11097.jpg&#34;&gt;
</description>
      <source:markdown>[404 Media has a story out today](https://www.404media.co/these-are-the-worst-chatgpt-flyers-youve-sent-us/) that is a compilation of unhinged AI fliers and posters for businesses or other community events. It&#39;s getting wild out there.  

![A French menu poster titled &#34;JUICE TIME&#34; that shows clear signs of being AI-generated despite having legible text. The layout is divided into three sections: a dine-in menu (&#34;SUR PLACE&#34;), a takeaway menu (&#34;À EMPORTER&#34;), and a tea section (&#34;DU THÉ AFGHANS&#34;). AI generation artifacts are visible throughout the composition: the header &#34;DU THÉ AFGHANS&#34; contains a grammatical error, mixing singular and plural forms; the ornate metallic teapots and tea glasses at the bottom feature asymmetrical, melting filigree patterns that lack structural logic; the fruits have a hyper-glossy, plastic texture, with the central avocado pit appearing to float unnaturally over the flesh; and the liquid splashes in the top corners exhibit impossible physics, blending seamlessly into the solid fruit pieces.](https://nic.babarskis.blog/uploads/2026/dd8f5c0030.jpg)  

![A &#34;COMING SOON&#34; advertisement flyer for a restaurant named &#34;MEXIBITES FOOD AND BAKERY&#34; featuring a central food illustration with distinct signs of AI generation. While the main text is clear, the food bowl contains several telltale AI artifacts: the orange rice has a highly uniform, fuzzy texture resembling a mossy carpet rather than individual grains; the sliced green and red chili peppers floating on the beans are rendered as mathematically perfect, hollow plastic loops and O-rings lacking organic variety; the lime wedges in the top-left are oddly geometric, with one piece morphing unnaturally into a solid green leaf-like shape; and the logo at the bottom features an impossible geometry where a cooking fork&#39;s handle melts directly into a metallic grill frame underneath a floating, neon-orange doughnut.](https://nic.babarskis.blog/uploads/2026/cleanshot-2026-07-09-at-03.25.342x.png)

&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/29c2e11097.jpg&#34;&gt;
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/12/ive-read-a-lot-of.html</link>
      <pubDate>Sun, 12 Jul 2026 16:43:20 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/12/ive-read-a-lot-of.html</guid>
      <description>&lt;img src=&#34;https://cdn.micro.blog/books/9781906250836/cover.jpg&#34; align=&#34;left&#34; class=&#34;microblog_book&#34; style=&#34;max-width: 60px; margin-right: 20px; margin-top: 0px; padding-top: 0px;&#34;&gt;
&lt;p&gt;I’ve read a lot of pleasant toddler books, but every once in a while you encounter a certified banger.&lt;/p&gt;
&lt;p&gt;📚 Kids books: &lt;a href=&#34;https://micro.blog/books/9781906250836&#34;&gt;Toot Toot Beep Beep&lt;/a&gt; by Emma Garcia&lt;/p&gt;
</description>
      <source:markdown>&lt;img src=&#34;https://cdn.micro.blog/books/9781906250836/cover.jpg&#34; align=&#34;left&#34; class=&#34;microblog_book&#34; style=&#34;max-width: 60px; margin-right: 20px; margin-top: 0px; padding-top: 0px;&#34;&gt;

I’ve read a lot of pleasant toddler books, but every once in a while you encounter a certified banger. 

📚 Kids books: [Toot Toot Beep Beep](https://micro.blog/books/9781906250836) by Emma Garcia
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/12/seeing-these-sorts-of-artifacts.html</link>
      <pubDate>Sun, 12 Jul 2026 10:30:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/12/seeing-these-sorts-of-artifacts.html</guid>
      <description>&lt;p&gt;Seeing these sorts of artifacts makes me wonder about what archives will be featuring 500 years into our own future as our feeble attempts at understanding the cosmos.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogs.loc.gov/maps/2026/07/taking-a-spin-around-our-solar-system/&#34;&gt;A blog about planetaria housed in the Library of Congress:&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Armillary spheres are the oldest of the three main planetaria. Used by ancient astronomers, they consist of small round balls representing either the Sun or Earth, surrounded by interlocking, solid rings representing planetary orbits, the zodiac, constellations, and sometimes the equator.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://blogs.loc.gov/maps/files/2025/06/20210111SM088-scaled-e1749734906254.jpg&#34; alt=&#34;An antique brass armillary sphere containing a small terrestrial globe at its center. The inner globe features aged map details and Latin geographical inscriptions, including the word &amp;ldquo;LIBYA&amp;rdquo; in red lettering. The globe is enveloped by interlocking, engraved brass rings marked with astronomical terms such as &amp;ldquo;TROPICVS CANCRI&amp;rdquo;. The entire instrument is mounted on a turned metal baluster stand with an octagonal base, resting on a white display surface against a plain, neutral background.&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nova ac generalis orbis descriptio. Caspar Vopell, 1543. Photos by Shawn Miller/Library of Congress. Geography and Map Division.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
      <source:markdown>Seeing these sorts of artifacts makes me wonder about what archives will be featuring 500 years into our own future as our feeble attempts at understanding the cosmos.  


[A blog about planetaria housed in the Library of Congress:](https://blogs.loc.gov/maps/2026/07/taking-a-spin-around-our-solar-system/):

&gt; Armillary spheres are the oldest of the three main planetaria. Used by ancient astronomers, they consist of small round balls representing either the Sun or Earth, surrounded by interlocking, solid rings representing planetary orbits, the zodiac, constellations, and sometimes the equator.  


![An antique brass armillary sphere containing a small terrestrial globe at its center. The inner globe features aged map details and Latin geographical inscriptions, including the word &#34;LIBYA&#34; in red lettering. The globe is enveloped by interlocking, engraved brass rings marked with astronomical terms such as &#34;TROPICVS CANCRI&#34;. The entire instrument is mounted on a turned metal baluster stand with an octagonal base, resting on a white display surface against a plain, neutral background.](https://blogs.loc.gov/maps/files/2025/06/20210111SM088-scaled-e1749734906254.jpg)  
&gt;Nova ac generalis orbis descriptio. Caspar Vopell, 1543. Photos by Shawn Miller/Library of Congress. Geography and Map Division.
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/11/some-konmari-strategy-for-your.html</link>
      <pubDate>Sat, 11 Jul 2026 18:59:43 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/11/some-konmari-strategy-for-your.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://austinkleon.substack.com/p/weep-to-water-the-trees&#34;&gt;Some Konmari strategy for your social feeds from Austin Kleon&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Good phone hygiene: “Open your most-used social-media app. Ask yourself one question about six of the accounts you follow: &lt;em&gt;Does this expand me or shrink me?&lt;/em&gt; Not: Is it entertaining? Not: Do I agree with it? &lt;em&gt;But: After I engage with this, do I feel more curious, more grounded, more kind—or do I feel smaller, more anxious, more numb?&lt;/em&gt; Unfollow the ones that shrink you. Bookmark the ones that genuinely expand your clarity, kindness, or courage.”&lt;/p&gt;
&lt;/blockquote&gt;
</description>
      <source:markdown>[Some Konmari strategy for your social feeds from Austin Kleon](https://austinkleon.substack.com/p/weep-to-water-the-trees):

&gt; Good phone hygiene: “Open your most-used social-media app. Ask yourself one question about six of the accounts you follow: _Does this expand me or shrink me?_ Not: Is it entertaining? Not: Do I agree with it? _But: After I engage with this, do I feel more curious, more grounded, more kind—or do I feel smaller, more anxious, more numb?_ Unfollow the ones that shrink you. Bookmark the ones that genuinely expand your clarity, kindness, or courage.”
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/11/tyler-pager-and-anatoly-kurmanaev.html</link>
      <pubDate>Sat, 11 Jul 2026 10:14:50 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/11/tyler-pager-and-anatoly-kurmanaev.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.nytimes.com/2026/07/11/us/politics/how-marco-rubio-runs-venezuela.html?unlocked_article_code=1.w1A.Hz4G.qo5loq-Ozw_X&amp;amp;smid=url-share&#34;&gt;Tyler Pager and Anatoly Kurmanaev:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In the six months since U.S. forces blew open Mr. Maduro’s bedroom door and snatched him in the dead of night, Mr. Rubio has become the de facto viceroy of Venezuela, holding sway over a sovereign nation in a way that no American official has since L. Paul Bremer III arrived in Baghdad in 2003 to run U.S.-occupied Iraq.&lt;/p&gt;
&lt;p&gt;Mr. Rubio now effectively controls Venezuela’s finances, the distribution of its natural resources and its government, according to interviews with more than a dozen officials and people close to both governments in Washington and Caracas, who provided details about his involvement in steering the country’s policies. Many spoke on condition of anonymity to describe private interactions and internal discussions.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
      <source:markdown>[Tyler Pager and Anatoly Kurmanaev:](https://www.nytimes.com/2026/07/11/us/politics/how-marco-rubio-runs-venezuela.html?unlocked_article_code=1.w1A.Hz4G.qo5loq-Ozw_X&amp;smid=url-share)

&gt;In the six months since U.S. forces blew open Mr. Maduro’s bedroom door and snatched him in the dead of night, Mr. Rubio has become the de facto viceroy of Venezuela, holding sway over a sovereign nation in a way that no American official has since L. Paul Bremer III arrived in Baghdad in 2003 to run U.S.-occupied Iraq.
&gt;
&gt;Mr. Rubio now effectively controls Venezuela’s finances, the distribution of its natural resources and its government, according to interviews with more than a dozen officials and people close to both governments in Washington and Caracas, who provided details about his involvement in steering the country’s policies. Many spoke on condition of anonymity to describe private interactions and internal discussions.
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/10/hello-there.html</link>
      <pubDate>Fri, 10 Jul 2026 10:42:03 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/10/hello-there.html</guid>
      <description>&lt;p&gt;📷 Hello There.&lt;/p&gt;
 &lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/0b9b716ff5.jpg&#34;&gt;  
 &lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/8b419e18ea.jpg&#34;&gt;
</description>
      <source:markdown>📷 Hello There. 

 &lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/0b9b716ff5.jpg&#34;&gt;  

 &lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/8b419e18ea.jpg&#34;&gt;
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/09/adrian-carrasquillo-in-the-bulwark.html</link>
      <pubDate>Thu, 09 Jul 2026 15:07:36 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/09/adrian-carrasquillo-in-the-bulwark.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.thebulwark.com/p/he-lived-here-for-35-years-put-three-kids-in-college-ice-killed-jim-lorenzo-salgado-araujo&#34;&gt;Adrian Carrasquillo in The Bulwark:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Surreptitious extremism is still extremism, and ICE remains an undertrained, overly aggressive organization. Which is why, in this shooting just hours after Homan’s remarks, we see all too clearly what happens when armed agents swarm blue-collar working parents fearing for their lives.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/ae1374b8-a023-4e83-b26f-1627ef051e88-3000x2000.jpg&#34; alt=&#34;A photo of Lorenzo Salgado Araujo on his birthday in March. (Photo illustration by Sarah Rogers/The Bulwark | Original Photos: Salgado Araujo family, Getty. A smiling man celebrating his 52nd birthday stands behind a white-frosted cake decorated with chocolate drizzle, strawberries, and a gold &amp;ldquo;52&amp;rdquo; candle. He is wearing a light pink polo shirt. The central photograph utilizes a selective color effect with a black-and-white home interior background and is framed by a vibrant, soft-focus border overlay of bright yellow sunflowers and pinkish-red roses.&#34;&gt;&lt;/p&gt;
</description>
      <source:markdown>[Adrian Carrasquillo in The Bulwark:](https://www.thebulwark.com/p/he-lived-here-for-35-years-put-three-kids-in-college-ice-killed-jim-lorenzo-salgado-araujo)

&gt;Surreptitious extremism is still extremism, and ICE remains an undertrained, overly aggressive organization. Which is why, in this shooting just hours after Homan’s remarks, we see all too clearly what happens when armed agents swarm blue-collar working parents fearing for their lives.

![A photo of Lorenzo Salgado Araujo on his birthday in March. (Photo illustration by Sarah Rogers/The Bulwark | Original Photos: Salgado Araujo family, Getty. A smiling man celebrating his 52nd birthday stands behind a white-frosted cake decorated with chocolate drizzle, strawberries, and a gold &#34;52&#34; candle. He is wearing a light pink polo shirt. The central photograph utilizes a selective color effect with a black-and-white home interior background and is framed by a vibrant, soft-focus border overlay of bright yellow sunflowers and pinkish-red roses.](https://nic.babarskis.blog/uploads/2026/ae1374b8-a023-4e83-b26f-1627ef051e88-3000x2000.jpg)
</source:markdown>
    </item>
    
    <item>
      <title>Here&#39;s the Ghost in the Shell TV Series Openers</title>
      <link>https://nic.babarskis.blog/2026/07/08/heres-the-ghost-in-the.html</link>
      <pubDate>Wed, 08 Jul 2026 22:58:19 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/08/heres-the-ghost-in-the.html</guid>
      <description>&lt;p&gt;Okay FINE, here&amp;rsquo;s the new Ghost in the Shell TV show&amp;rsquo;s opener followed by GITS:SAC and 2nd GIG:&lt;/p&gt;

&lt;style&gt;
:root {
   
  --yt-aspect-ratio-16-9: 56.25%;

   
  --yt-bg-black: #000;
  --yt-play-button-bg: rgba(255, 0, 0, 0.8);
  --yt-play-button-bg-hover: rgba(255, 0, 0, 1);
  --yt-play-button-icon: #fff;
  --yt-overlay-bg: rgba(0, 0, 0, 0.85);
  --yt-overlay-text: #fff;
  --yt-focus-outline: #e53935;

   
  --yt-play-button-width: 68px;
  --yt-play-button-height: 48px;
  --yt-play-button-border-radius: 12px;

   
  --yt-focus-outline-width: 3px;
  --yt-focus-outline-offset: 4px;

   
  --yt-transition-duration: 0.2s;
  --yt-transition-timing: ease-in-out;
}

.video-wrapper {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  padding-bottom: var(--yt-aspect-ratio-16-9);
  margin: 0;
  height: 0;
  max-width: 100%;
  overflow: hidden;
  background-color: var(--yt-bg-black);
  cursor: pointer;
  outline: none;
  border: none;
  color: inherit;
  font: inherit;
  text-align: inherit;
  appearance: none;
  -webkit-appearance: none;
}

.video-wrapper[data-is-loaded=&#34;true&#34;] {
  cursor: auto;
}

.video-wrapper:focus-visible {
  outline: var(--yt-focus-outline-width) solid var(--yt-focus-outline);
  outline-offset: var(--yt-focus-outline-offset);
}

.video-thumbnail {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  background-color: var(--yt-bg-black);
  z-index: 1;
  transition: opacity var(--yt-transition-duration) var(--yt-transition-timing);
}

.video-wrapper:hover .video-thumbnail {
  opacity: 0.9;
}

.video-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: var(--yt-overlay-bg);
  color: var(--yt-overlay-text);
  text-align: center;
  font-size: 0.85em;
  padding: 0.5em 1em;
  z-index: 2;
  pointer-events: auto;
}

.video-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--yt-play-button-width);
  height: var(--yt-play-button-height);
  background-color: var(--yt-play-button-bg);
  border-radius: var(--yt-play-button-border-radius);
  z-index: 3;
  pointer-events: none;
  transition: all var(--yt-transition-duration) var(--yt-transition-timing);
}

.video-wrapper:hover .video-play-button {
  background-color: var(--yt-play-button-bg-hover);
  transform: translate(-50%, -50%) scale(1.1);
}

.video-wrapper:active .video-play-button {
  transform: translate(-50%, -50%) scale(1.05);
}

.video-play-button::before {
  content: &#39;&#39;;
  position: absolute;
  left: 26px;
  top: 14px;
  width: 0;
  height: 0;
  border-left: 18px solid var(--yt-play-button-icon);
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  z-index: 4;
}

.video-noscript {
  display: block;
  max-width: 100%;
  background-color: var(--yt-bg-black);
  color: inherit;
  text-align: center;
  padding: 0;
  margin-top: 0.5em;
}

.video-noscript img {
  display: block;
  width: 100%;
  height: auto;
}

.video-noscript a {
  display: inline-block;
  padding: 0.75em 1em;
  color: inherit;
  text-decoration: underline;
}

.yt-text-link {
  display: none;
}
&lt;/style&gt;

&lt;script&gt;
(function(){
  &#39;use strict&#39;;

  
  const CONSTANTS = {
    VIDEO_ID_LENGTH: 11,
    MAX_INPUT_LENGTH: 2048,
    VIDEO_ID_PATTERN: /^[a-zA-Z0-9_-]{11}$/,
    PLAYLIST_PREFIXES: /^(PL|OL|UU|LL|FL)/i,
    ALLOWED_URL_CHARS: /^[a-zA-Z0-9_\-?=&amp;#:/.]+$/,
    TIME_FORMATS: {
      HOURS: 3600,
      MINUTES: 60,
      SECONDS: 1
    },
    YOUTUBE_NOCOOKIE_DOMAIN: &#39;https://www.youtube-nocookie.com&#39;,
    YOUTUBE_IMG_DOMAIN: &#39;https://img.youtube.com&#39;,
    EMBED_PARAMS: &#39;autoplay=1&amp;mute=1&#39;
  };

  

  function validateInput(input, maxLength = CONSTANTS.MAX_INPUT_LENGTH) {
    if (!input || typeof input !== &#39;string&#39;) return &#39;&#39;;

    const trimmed = input.trim();

    if (trimmed.length &gt; maxLength) {
      console.warn(`Input exceeds maximum length of ${maxLength}`);
      return &#39;&#39;;
    }

    
    if (!CONSTANTS.ALLOWED_URL_CHARS.test(trimmed)) {
      console.warn(&#39;Input contains invalid characters&#39;);
      return &#39;&#39;;
    }

    return trimmed;
  }

  

  function parseStartValue(value) {
    if (!value) return 0;

    
    if (/^\d+$/.test(value)) {
      const parsed = parseInt(value, 10);
      return isNaN(parsed) ? 0 : Math.max(0, parsed);
    }

    
    let total = 0;
    let matched = false;
    const regex = /(\d+)(h|m|s)/gi;
    let match;

    while ((match = regex.exec(value)) !== null) {
      matched = true;
      const num = parseInt(match[1], 10);
      if (isNaN(num)) continue;

      const unit = match[2].toLowerCase();
      if (unit === &#39;h&#39;) total += num * CONSTANTS.TIME_FORMATS.HOURS;
      else if (unit === &#39;m&#39;) total += num * CONSTANTS.TIME_FORMATS.MINUTES;
      else if (unit === &#39;s&#39;) total += num * CONSTANTS.TIME_FORMATS.SECONDS;
    }

    return matched ? Math.max(0, total) : 0;
  }

  

  function extractStartTime(queryString) {
    if (!queryString) return 0;

    try {
      const cleanQuery = queryString.startsWith(&#39;?&#39;) || queryString.startsWith(&#39;#&#39;)
        ? queryString.slice(1)
        : queryString;

      const params = new URLSearchParams(cleanQuery);

      
      return parseStartValue(params.get(&#39;start&#39;)) ||
             parseStartValue(params.get(&#39;t&#39;)) ||
             parseStartValue(params.get(&#39;time_continue&#39;)) ||
             0;
    } catch (e) {
      console.warn(&#39;Failed to parse query parameters:&#39;, e);
      return 0;
    }
  }

  

  function parseId(raw) {
    const validated = validateInput(raw);
    if (!validated) {
      return { type: &#39;unknown&#39;, id: &#39;&#39;, start: 0 };
    }

    let startSeconds = 0;
    let normalized = validated;

    
    const queryIndex = normalized.indexOf(&#39;?&#39;);
    if (queryIndex !== -1) {
      startSeconds = extractStartTime(normalized.slice(queryIndex + 1));
      normalized = normalized.slice(0, queryIndex);
    }

    
    const hashIndex = normalized.indexOf(&#39;#&#39;);
    if (hashIndex !== -1) {
      startSeconds = startSeconds || extractStartTime(normalized.slice(hashIndex + 1));
      normalized = normalized.slice(0, hashIndex);
    }

    
    if (CONSTANTS.PLAYLIST_PREFIXES.test(normalized)) {
      return { type: &#39;playlist&#39;, id: normalized, start: startSeconds };
    }

    
    if (CONSTANTS.VIDEO_ID_PATTERN.test(normalized)) {
      return { type: &#39;video&#39;, id: normalized, start: startSeconds };
    }

    
    const listMatch = normalized.match(/list=([^&amp;]+)/);
    if (listMatch &amp;&amp; listMatch[1]) {
      return { type: &#39;playlist&#39;, id: listMatch[1], start: startSeconds };
    }

    console.warn(&#39;Unable to parse video/playlist ID:&#39;, raw);
    return { type: &#39;unknown&#39;, id: &#39;&#39;, start: startSeconds };
  }

  

  function validateThumbnailUrl(thumbUrl) {
    if (!thumbUrl) return &#39;&#39;;

    let cleaned = thumbUrl.trim();

    
    const markdownMatch = cleaned.match(/^\[[^\]]*\]\(([^)]+)\)$/);
    if (markdownMatch) {
      cleaned = markdownMatch[1].trim();
    }

    
    try {
      const url = new URL(cleaned, document.baseURI);

      
      if (url.protocol !== &#39;http:&#39; &amp;&amp; url.protocol !== &#39;https:&#39;) {
        console.warn(&#39;Thumbnail URL must use http or https protocol&#39;);
        return &#39;&#39;;
      }

      return url.href;
    } catch (e) {
      console.warn(&#39;Invalid thumbnail URL:&#39;, e);
      return &#39;&#39;;
    }
  }

  

  function getPlaylistPlaceholder() {
    const svg = `&lt;svg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 1280 720&#39;&gt;` +
                `&lt;rect width=&#39;100%&#39; height=&#39;100%&#39; fill=&#39;#000&#39;/&gt;` +
                `&lt;rect x=&#39;220&#39; y=&#39;260&#39; width=&#39;840&#39; height=&#39;60&#39; fill=&#39;#fff&#39;/&gt;` +
                `&lt;rect x=&#39;220&#39; y=&#39;340&#39; width=&#39;660&#39; height=&#39;60&#39; fill=&#39;#fff&#39;/&gt;` +
                `&lt;/svg&gt;`;
    return &#39;data:image/svg+xml;charset=utf-8,&#39; + encodeURIComponent(svg);
  }

  /**
   * Sets up thumbnail for video wrapper
   * @param {HTMLImageElement} thumbnail - Thumbnail element
   * @param {Object} kind - Parsed video/playlist info
   * @param {string} customThumb - Custom thumbnail URL
   */
  function setupThumbnail(thumbnail, kind, customThumb) {
    if (!thumbnail) return;

    if (customThumb) {
      // Use custom thumbnail
      thumbnail.onerror = null;
      thumbnail.src = customThumb;
    } else if (kind.type === &#39;playlist&#39;) {
      // Use playlist placeholder
      thumbnail.src = getPlaylistPlaceholder();
    } else if (kind.type === &#39;video&#39; &amp;&amp; kind.id) {
      // Use YouTube thumbnail with fallback
      thumbnail.src = `${CONSTANTS.YOUTUBE_IMG_DOMAIN}/vi/${kind.id}/maxresdefault.jpg`;
      thumbnail.onerror = () =&gt; {
        thumbnail.onerror = null;
        thumbnail.src = `${CONSTANTS.YOUTUBE_IMG_DOMAIN}/vi/${kind.id}/0.jpg`;
      };
    }
    // For unknown type, keep the default placeholder
  }

  /**
   * Creates embed URL for video or playlist
   * @param {Object} kind - Parsed video/playlist info
   * @returns {string} Embed URL or empty string if invalid
   */
  function createEmbedUrl(kind) {
    if (kind.type === &#39;playlist&#39; &amp;&amp; kind.id) {
      return `${CONSTANTS.YOUTUBE_NOCOOKIE_DOMAIN}/embed/videoseries?list=${encodeURIComponent(kind.id)}&amp;${CONSTANTS.EMBED_PARAMS}`;
    } else if (kind.type === &#39;video&#39; &amp;&amp; kind.id) {
      let url = `${CONSTANTS.YOUTUBE_NOCOOKIE_DOMAIN}/embed/${encodeURIComponent(kind.id)}?${CONSTANTS.EMBED_PARAMS}`;
      if (kind.start &gt; 0) {
        url += `&amp;start=${Math.floor(kind.start)}`;
      }
      return url;
    }
    return &#39;&#39;;
  }

  /**
   * Creates and loads iframe embed
   * @param {HTMLElement} wrapper - Video wrapper element
   * @param {Object} kind - Parsed video/playlist info
   * @param {string} title - Video title
   */
  function loadEmbed(wrapper, kind, title) {
    if (wrapper.dataset.isLoaded === &#39;true&#39;) return;

    const embedUrl = createEmbedUrl(kind);
    if (!embedUrl) {
      console.error(&#39;Unable to create embed URL - invalid video/playlist ID&#39;);
      // Show error message to user
      wrapper.innerHTML = &#39;&lt;div style=&#34;padding: 2em; text-align: center; color: #fff;&#34;&gt;Unable to load video. Please check the video ID.&lt;/div&gt;&#39;;
      return;
    }

    // Create iframe
    const iframe = document.createElement(&#39;iframe&#39;);
    iframe.setAttribute(&#39;allowfullscreen&#39;, &#39;&#39;);
    iframe.setAttribute(&#39;loading&#39;, &#39;lazy&#39;);
    iframe.setAttribute(&#39;allow&#39;, &#39;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#39;);
    iframe.setAttribute(&#39;title&#39;, title ? `YouTube video player: ${title}` : &#39;YouTube video player&#39;);
    iframe.src = embedUrl;

    
    const replacement = document.createElement(&#39;div&#39;);
    replacement.className = wrapper.className;
    replacement.dataset.listenersAdded = &#39;true&#39;;
    replacement.dataset.isLoaded = &#39;true&#39;;
    replacement.appendChild(iframe);

    wrapper.replaceWith(replacement);
  }

  

  function enhanceEmbeds() {
    const wrappers = document.querySelectorAll(&#39;.video-wrapper&#39;);

    wrappers.forEach(wrapper =&gt; {
      
      if (wrapper.dataset.listenersAdded === &#39;true&#39;) return;
      wrapper.dataset.listenersAdded = &#39;true&#39;;

      
      const rawVideoId = wrapper.dataset.videoId || &#39;&#39;;
      const rawThumbUrl = wrapper.dataset.thumb || &#39;&#39;;
      const videoTitle = wrapper.dataset.videoTitle || &#39;&#39;;

      
      const kind = parseId(rawVideoId);
      const safeThumb = validateThumbnailUrl(rawThumbUrl);

      
      const thumbnail = wrapper.querySelector(&#39;.video-thumbnail&#39;);
      setupThumbnail(thumbnail, kind, safeThumb);

      
      const loadHandler = () =&gt; loadEmbed(wrapper, kind, videoTitle);

      wrapper.addEventListener(&#39;click&#39;, loadHandler);

      const overlay = wrapper.querySelector(&#39;.video-overlay&#39;);
      if (overlay) overlay.addEventListener(&#39;click&#39;, loadHandler);
      if (thumbnail) thumbnail.addEventListener(&#39;click&#39;, loadHandler);

      
      wrapper.addEventListener(&#39;keydown&#39;, (e) =&gt; {
        if (e.key === &#39;Enter&#39; || e.key === &#39; &#39;) {
          e.preventDefault();
          loadHandler();
        }
      });
    });
  }

  
  enhanceEmbeds();
  if (document.readyState === &#39;loading&#39;) {
    document.addEventListener(&#39;DOMContentLoaded&#39;, enhanceEmbeds);
  }
})();
&lt;/script&gt;&lt;p class=&#34;yt-text-link&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=FhzaLI_Npg8&#34;&gt;YouTube Video&lt;/a&gt;
    &lt;/p&gt;&lt;button type=&#34;button&#34;
    class=&#34;video-wrapper&#34;
    aria-label=&#34;Play YouTube video&#34;
    data-video-id=&#34;FhzaLI_Npg8&#34;
    data-thumb=&#34;&#34;
    &gt;&lt;img
      class=&#34;video-thumbnail&#34;
      src=&#34;data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%201280%20720%27%3E%3Crect%20width=%27100%25%25%27%20height=%27100%25%25%27%20fill=%27%23000%27/%3E%3C/svg%3E&#34;
      alt=&#34;YouTube Thumbnail&#34;
      loading=&#34;lazy&#34;
      decoding=&#34;async&#34;&gt;&lt;div class=&#34;video-play-button&#34;&gt;&lt;/div&gt;
  &lt;/button&gt;&lt;noscript&gt;
    &lt;div class=&#34;video-noscript&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/FhzaLI_Npg8/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=FhzaLI_Npg8&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;YouTube Video&lt;/a&gt;
        &lt;/p&gt;&lt;/div&gt;
  &lt;/noscript&gt;
&lt;p class=&#34;yt-text-link&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=QxkMzn4et2U&#34;&gt;YouTube Video&lt;/a&gt;
    &lt;/p&gt;&lt;button type=&#34;button&#34;
    class=&#34;video-wrapper&#34;
    aria-label=&#34;Play YouTube video&#34;
    data-video-id=&#34;QxkMzn4et2U&#34;
    data-thumb=&#34;&#34;
    &gt;&lt;img
      class=&#34;video-thumbnail&#34;
      src=&#34;data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%201280%20720%27%3E%3Crect%20width=%27100%25%25%27%20height=%27100%25%25%27%20fill=%27%23000%27/%3E%3C/svg%3E&#34;
      alt=&#34;YouTube Thumbnail&#34;
      loading=&#34;lazy&#34;
      decoding=&#34;async&#34;&gt;&lt;div class=&#34;video-play-button&#34;&gt;&lt;/div&gt;
  &lt;/button&gt;&lt;noscript&gt;
    &lt;div class=&#34;video-noscript&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/QxkMzn4et2U/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=QxkMzn4et2U&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;YouTube Video&lt;/a&gt;
        &lt;/p&gt;&lt;/div&gt;
  &lt;/noscript&gt;
&lt;p class=&#34;yt-text-link&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=YQIqgxeNtl0&#34;&gt;YouTube Video&lt;/a&gt;
    &lt;/p&gt;&lt;button type=&#34;button&#34;
    class=&#34;video-wrapper&#34;
    aria-label=&#34;Play YouTube video&#34;
    data-video-id=&#34;YQIqgxeNtl0&#34;
    data-thumb=&#34;&#34;
    &gt;&lt;img
      class=&#34;video-thumbnail&#34;
      src=&#34;data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%201280%20720%27%3E%3Crect%20width=%27100%25%25%27%20height=%27100%25%25%27%20fill=%27%23000%27/%3E%3C/svg%3E&#34;
      alt=&#34;YouTube Thumbnail&#34;
      loading=&#34;lazy&#34;
      decoding=&#34;async&#34;&gt;&lt;div class=&#34;video-play-button&#34;&gt;&lt;/div&gt;
  &lt;/button&gt;&lt;noscript&gt;
    &lt;div class=&#34;video-noscript&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/YQIqgxeNtl0/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=YQIqgxeNtl0&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;YouTube Video&lt;/a&gt;
        &lt;/p&gt;&lt;/div&gt;
  &lt;/noscript&gt;
</description>
      <source:markdown>Okay FINE, here&#39;s the new Ghost in the Shell TV show&#39;s opener followed by GITS:SAC and 2nd GIG: 

{{&lt; yt &#34;FhzaLI_Npg8&#34; &gt;}}  

{{&lt; yt &#34;QxkMzn4et2U&#34; &gt;}}  

{{&lt; yt &#34;YQIqgxeNtl0&#34; &gt;}}
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/08/i-dont-want-to-speculate.html</link>
      <pubDate>Wed, 08 Jul 2026 15:56:55 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/08/i-dont-want-to-speculate.html</guid>
      <description>&lt;p&gt;I don&amp;rsquo;t want to speculate too much here based on a movie trailer, but if Denis Villeneuve found a way to play up Chani and Paul as quasi-adversaries I&amp;rsquo;d consider it an improvement to Dune Messiah (which was already one of my faves in Herbert&amp;rsquo;s).&lt;/p&gt;

&lt;style&gt;
:root {
   
  --yt-aspect-ratio-16-9: 56.25%;

   
  --yt-bg-black: #000;
  --yt-play-button-bg: rgba(255, 0, 0, 0.8);
  --yt-play-button-bg-hover: rgba(255, 0, 0, 1);
  --yt-play-button-icon: #fff;
  --yt-overlay-bg: rgba(0, 0, 0, 0.85);
  --yt-overlay-text: #fff;
  --yt-focus-outline: #e53935;

   
  --yt-play-button-width: 68px;
  --yt-play-button-height: 48px;
  --yt-play-button-border-radius: 12px;

   
  --yt-focus-outline-width: 3px;
  --yt-focus-outline-offset: 4px;

   
  --yt-transition-duration: 0.2s;
  --yt-transition-timing: ease-in-out;
}

.video-wrapper {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  padding-bottom: var(--yt-aspect-ratio-16-9);
  margin: 0;
  height: 0;
  max-width: 100%;
  overflow: hidden;
  background-color: var(--yt-bg-black);
  cursor: pointer;
  outline: none;
  border: none;
  color: inherit;
  font: inherit;
  text-align: inherit;
  appearance: none;
  -webkit-appearance: none;
}

.video-wrapper[data-is-loaded=&#34;true&#34;] {
  cursor: auto;
}

.video-wrapper:focus-visible {
  outline: var(--yt-focus-outline-width) solid var(--yt-focus-outline);
  outline-offset: var(--yt-focus-outline-offset);
}

.video-thumbnail {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  background-color: var(--yt-bg-black);
  z-index: 1;
  transition: opacity var(--yt-transition-duration) var(--yt-transition-timing);
}

.video-wrapper:hover .video-thumbnail {
  opacity: 0.9;
}

.video-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: var(--yt-overlay-bg);
  color: var(--yt-overlay-text);
  text-align: center;
  font-size: 0.85em;
  padding: 0.5em 1em;
  z-index: 2;
  pointer-events: auto;
}

.video-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--yt-play-button-width);
  height: var(--yt-play-button-height);
  background-color: var(--yt-play-button-bg);
  border-radius: var(--yt-play-button-border-radius);
  z-index: 3;
  pointer-events: none;
  transition: all var(--yt-transition-duration) var(--yt-transition-timing);
}

.video-wrapper:hover .video-play-button {
  background-color: var(--yt-play-button-bg-hover);
  transform: translate(-50%, -50%) scale(1.1);
}

.video-wrapper:active .video-play-button {
  transform: translate(-50%, -50%) scale(1.05);
}

.video-play-button::before {
  content: &#39;&#39;;
  position: absolute;
  left: 26px;
  top: 14px;
  width: 0;
  height: 0;
  border-left: 18px solid var(--yt-play-button-icon);
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  z-index: 4;
}

.video-noscript {
  display: block;
  max-width: 100%;
  background-color: var(--yt-bg-black);
  color: inherit;
  text-align: center;
  padding: 0;
  margin-top: 0.5em;
}

.video-noscript img {
  display: block;
  width: 100%;
  height: auto;
}

.video-noscript a {
  display: inline-block;
  padding: 0.75em 1em;
  color: inherit;
  text-decoration: underline;
}

.yt-text-link {
  display: none;
}
&lt;/style&gt;

&lt;script&gt;
(function(){
  &#39;use strict&#39;;

  
  const CONSTANTS = {
    VIDEO_ID_LENGTH: 11,
    MAX_INPUT_LENGTH: 2048,
    VIDEO_ID_PATTERN: /^[a-zA-Z0-9_-]{11}$/,
    PLAYLIST_PREFIXES: /^(PL|OL|UU|LL|FL)/i,
    ALLOWED_URL_CHARS: /^[a-zA-Z0-9_\-?=&amp;#:/.]+$/,
    TIME_FORMATS: {
      HOURS: 3600,
      MINUTES: 60,
      SECONDS: 1
    },
    YOUTUBE_NOCOOKIE_DOMAIN: &#39;https://www.youtube-nocookie.com&#39;,
    YOUTUBE_IMG_DOMAIN: &#39;https://img.youtube.com&#39;,
    EMBED_PARAMS: &#39;autoplay=1&amp;mute=1&#39;
  };

  

  function validateInput(input, maxLength = CONSTANTS.MAX_INPUT_LENGTH) {
    if (!input || typeof input !== &#39;string&#39;) return &#39;&#39;;

    const trimmed = input.trim();

    if (trimmed.length &gt; maxLength) {
      console.warn(`Input exceeds maximum length of ${maxLength}`);
      return &#39;&#39;;
    }

    
    if (!CONSTANTS.ALLOWED_URL_CHARS.test(trimmed)) {
      console.warn(&#39;Input contains invalid characters&#39;);
      return &#39;&#39;;
    }

    return trimmed;
  }

  

  function parseStartValue(value) {
    if (!value) return 0;

    
    if (/^\d+$/.test(value)) {
      const parsed = parseInt(value, 10);
      return isNaN(parsed) ? 0 : Math.max(0, parsed);
    }

    
    let total = 0;
    let matched = false;
    const regex = /(\d+)(h|m|s)/gi;
    let match;

    while ((match = regex.exec(value)) !== null) {
      matched = true;
      const num = parseInt(match[1], 10);
      if (isNaN(num)) continue;

      const unit = match[2].toLowerCase();
      if (unit === &#39;h&#39;) total += num * CONSTANTS.TIME_FORMATS.HOURS;
      else if (unit === &#39;m&#39;) total += num * CONSTANTS.TIME_FORMATS.MINUTES;
      else if (unit === &#39;s&#39;) total += num * CONSTANTS.TIME_FORMATS.SECONDS;
    }

    return matched ? Math.max(0, total) : 0;
  }

  

  function extractStartTime(queryString) {
    if (!queryString) return 0;

    try {
      const cleanQuery = queryString.startsWith(&#39;?&#39;) || queryString.startsWith(&#39;#&#39;)
        ? queryString.slice(1)
        : queryString;

      const params = new URLSearchParams(cleanQuery);

      
      return parseStartValue(params.get(&#39;start&#39;)) ||
             parseStartValue(params.get(&#39;t&#39;)) ||
             parseStartValue(params.get(&#39;time_continue&#39;)) ||
             0;
    } catch (e) {
      console.warn(&#39;Failed to parse query parameters:&#39;, e);
      return 0;
    }
  }

  

  function parseId(raw) {
    const validated = validateInput(raw);
    if (!validated) {
      return { type: &#39;unknown&#39;, id: &#39;&#39;, start: 0 };
    }

    let startSeconds = 0;
    let normalized = validated;

    
    const queryIndex = normalized.indexOf(&#39;?&#39;);
    if (queryIndex !== -1) {
      startSeconds = extractStartTime(normalized.slice(queryIndex + 1));
      normalized = normalized.slice(0, queryIndex);
    }

    
    const hashIndex = normalized.indexOf(&#39;#&#39;);
    if (hashIndex !== -1) {
      startSeconds = startSeconds || extractStartTime(normalized.slice(hashIndex + 1));
      normalized = normalized.slice(0, hashIndex);
    }

    
    if (CONSTANTS.PLAYLIST_PREFIXES.test(normalized)) {
      return { type: &#39;playlist&#39;, id: normalized, start: startSeconds };
    }

    
    if (CONSTANTS.VIDEO_ID_PATTERN.test(normalized)) {
      return { type: &#39;video&#39;, id: normalized, start: startSeconds };
    }

    
    const listMatch = normalized.match(/list=([^&amp;]+)/);
    if (listMatch &amp;&amp; listMatch[1]) {
      return { type: &#39;playlist&#39;, id: listMatch[1], start: startSeconds };
    }

    console.warn(&#39;Unable to parse video/playlist ID:&#39;, raw);
    return { type: &#39;unknown&#39;, id: &#39;&#39;, start: startSeconds };
  }

  

  function validateThumbnailUrl(thumbUrl) {
    if (!thumbUrl) return &#39;&#39;;

    let cleaned = thumbUrl.trim();

    
    const markdownMatch = cleaned.match(/^\[[^\]]*\]\(([^)]+)\)$/);
    if (markdownMatch) {
      cleaned = markdownMatch[1].trim();
    }

    
    try {
      const url = new URL(cleaned, document.baseURI);

      
      if (url.protocol !== &#39;http:&#39; &amp;&amp; url.protocol !== &#39;https:&#39;) {
        console.warn(&#39;Thumbnail URL must use http or https protocol&#39;);
        return &#39;&#39;;
      }

      return url.href;
    } catch (e) {
      console.warn(&#39;Invalid thumbnail URL:&#39;, e);
      return &#39;&#39;;
    }
  }

  

  function getPlaylistPlaceholder() {
    const svg = `&lt;svg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 1280 720&#39;&gt;` +
                `&lt;rect width=&#39;100%&#39; height=&#39;100%&#39; fill=&#39;#000&#39;/&gt;` +
                `&lt;rect x=&#39;220&#39; y=&#39;260&#39; width=&#39;840&#39; height=&#39;60&#39; fill=&#39;#fff&#39;/&gt;` +
                `&lt;rect x=&#39;220&#39; y=&#39;340&#39; width=&#39;660&#39; height=&#39;60&#39; fill=&#39;#fff&#39;/&gt;` +
                `&lt;/svg&gt;`;
    return &#39;data:image/svg+xml;charset=utf-8,&#39; + encodeURIComponent(svg);
  }

  /**
   * Sets up thumbnail for video wrapper
   * @param {HTMLImageElement} thumbnail - Thumbnail element
   * @param {Object} kind - Parsed video/playlist info
   * @param {string} customThumb - Custom thumbnail URL
   */
  function setupThumbnail(thumbnail, kind, customThumb) {
    if (!thumbnail) return;

    if (customThumb) {
      // Use custom thumbnail
      thumbnail.onerror = null;
      thumbnail.src = customThumb;
    } else if (kind.type === &#39;playlist&#39;) {
      // Use playlist placeholder
      thumbnail.src = getPlaylistPlaceholder();
    } else if (kind.type === &#39;video&#39; &amp;&amp; kind.id) {
      // Use YouTube thumbnail with fallback
      thumbnail.src = `${CONSTANTS.YOUTUBE_IMG_DOMAIN}/vi/${kind.id}/maxresdefault.jpg`;
      thumbnail.onerror = () =&gt; {
        thumbnail.onerror = null;
        thumbnail.src = `${CONSTANTS.YOUTUBE_IMG_DOMAIN}/vi/${kind.id}/0.jpg`;
      };
    }
    // For unknown type, keep the default placeholder
  }

  /**
   * Creates embed URL for video or playlist
   * @param {Object} kind - Parsed video/playlist info
   * @returns {string} Embed URL or empty string if invalid
   */
  function createEmbedUrl(kind) {
    if (kind.type === &#39;playlist&#39; &amp;&amp; kind.id) {
      return `${CONSTANTS.YOUTUBE_NOCOOKIE_DOMAIN}/embed/videoseries?list=${encodeURIComponent(kind.id)}&amp;${CONSTANTS.EMBED_PARAMS}`;
    } else if (kind.type === &#39;video&#39; &amp;&amp; kind.id) {
      let url = `${CONSTANTS.YOUTUBE_NOCOOKIE_DOMAIN}/embed/${encodeURIComponent(kind.id)}?${CONSTANTS.EMBED_PARAMS}`;
      if (kind.start &gt; 0) {
        url += `&amp;start=${Math.floor(kind.start)}`;
      }
      return url;
    }
    return &#39;&#39;;
  }

  /**
   * Creates and loads iframe embed
   * @param {HTMLElement} wrapper - Video wrapper element
   * @param {Object} kind - Parsed video/playlist info
   * @param {string} title - Video title
   */
  function loadEmbed(wrapper, kind, title) {
    if (wrapper.dataset.isLoaded === &#39;true&#39;) return;

    const embedUrl = createEmbedUrl(kind);
    if (!embedUrl) {
      console.error(&#39;Unable to create embed URL - invalid video/playlist ID&#39;);
      // Show error message to user
      wrapper.innerHTML = &#39;&lt;div style=&#34;padding: 2em; text-align: center; color: #fff;&#34;&gt;Unable to load video. Please check the video ID.&lt;/div&gt;&#39;;
      return;
    }

    // Create iframe
    const iframe = document.createElement(&#39;iframe&#39;);
    iframe.setAttribute(&#39;allowfullscreen&#39;, &#39;&#39;);
    iframe.setAttribute(&#39;loading&#39;, &#39;lazy&#39;);
    iframe.setAttribute(&#39;allow&#39;, &#39;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#39;);
    iframe.setAttribute(&#39;title&#39;, title ? `YouTube video player: ${title}` : &#39;YouTube video player&#39;);
    iframe.src = embedUrl;

    
    const replacement = document.createElement(&#39;div&#39;);
    replacement.className = wrapper.className;
    replacement.dataset.listenersAdded = &#39;true&#39;;
    replacement.dataset.isLoaded = &#39;true&#39;;
    replacement.appendChild(iframe);

    wrapper.replaceWith(replacement);
  }

  

  function enhanceEmbeds() {
    const wrappers = document.querySelectorAll(&#39;.video-wrapper&#39;);

    wrappers.forEach(wrapper =&gt; {
      
      if (wrapper.dataset.listenersAdded === &#39;true&#39;) return;
      wrapper.dataset.listenersAdded = &#39;true&#39;;

      
      const rawVideoId = wrapper.dataset.videoId || &#39;&#39;;
      const rawThumbUrl = wrapper.dataset.thumb || &#39;&#39;;
      const videoTitle = wrapper.dataset.videoTitle || &#39;&#39;;

      
      const kind = parseId(rawVideoId);
      const safeThumb = validateThumbnailUrl(rawThumbUrl);

      
      const thumbnail = wrapper.querySelector(&#39;.video-thumbnail&#39;);
      setupThumbnail(thumbnail, kind, safeThumb);

      
      const loadHandler = () =&gt; loadEmbed(wrapper, kind, videoTitle);

      wrapper.addEventListener(&#39;click&#39;, loadHandler);

      const overlay = wrapper.querySelector(&#39;.video-overlay&#39;);
      if (overlay) overlay.addEventListener(&#39;click&#39;, loadHandler);
      if (thumbnail) thumbnail.addEventListener(&#39;click&#39;, loadHandler);

      
      wrapper.addEventListener(&#39;keydown&#39;, (e) =&gt; {
        if (e.key === &#39;Enter&#39; || e.key === &#39; &#39;) {
          e.preventDefault();
          loadHandler();
        }
      });
    });
  }

  
  enhanceEmbeds();
  if (document.readyState === &#39;loading&#39;) {
    document.addEventListener(&#39;DOMContentLoaded&#39;, enhanceEmbeds);
  }
})();
&lt;/script&gt;&lt;p class=&#34;yt-text-link&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=NdvqHc56lE0&#34;&gt;YouTube Video&lt;/a&gt;
    &lt;/p&gt;&lt;button type=&#34;button&#34;
    class=&#34;video-wrapper&#34;
    aria-label=&#34;Play YouTube video&#34;
    data-video-id=&#34;NdvqHc56lE0&#34;
    data-thumb=&#34;&#34;
    &gt;&lt;img
      class=&#34;video-thumbnail&#34;
      src=&#34;data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%201280%20720%27%3E%3Crect%20width=%27100%25%25%27%20height=%27100%25%25%27%20fill=%27%23000%27/%3E%3C/svg%3E&#34;
      alt=&#34;YouTube Thumbnail&#34;
      loading=&#34;lazy&#34;
      decoding=&#34;async&#34;&gt;&lt;div class=&#34;video-play-button&#34;&gt;&lt;/div&gt;
  &lt;/button&gt;&lt;noscript&gt;
    &lt;div class=&#34;video-noscript&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/NdvqHc56lE0/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=NdvqHc56lE0&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;YouTube Video&lt;/a&gt;
        &lt;/p&gt;&lt;/div&gt;
  &lt;/noscript&gt;
</description>
      <source:markdown>I don&#39;t want to speculate too much here based on a movie trailer, but if Denis Villeneuve found a way to play up Chani and Paul as quasi-adversaries I&#39;d consider it an improvement to Dune Messiah (which was already one of my faves in Herbert&#39;s).  

{{&lt; yt &#34;NdvqHc56lE0&#34; &gt;}}
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/08/test-yt-mbhokywthyi.html</link>
      <pubDate>Wed, 08 Jul 2026 15:51:30 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/08/test-yt-mbhokywthyi.html</guid>
      <description>&lt;p&gt;Test (does &amp;lsquo;youtube no cookie embed&amp;rsquo; plugin also embed yt shorts)&lt;/p&gt;

&lt;style&gt;
:root {
   
  --yt-aspect-ratio-16-9: 56.25%;

   
  --yt-bg-black: #000;
  --yt-play-button-bg: rgba(255, 0, 0, 0.8);
  --yt-play-button-bg-hover: rgba(255, 0, 0, 1);
  --yt-play-button-icon: #fff;
  --yt-overlay-bg: rgba(0, 0, 0, 0.85);
  --yt-overlay-text: #fff;
  --yt-focus-outline: #e53935;

   
  --yt-play-button-width: 68px;
  --yt-play-button-height: 48px;
  --yt-play-button-border-radius: 12px;

   
  --yt-focus-outline-width: 3px;
  --yt-focus-outline-offset: 4px;

   
  --yt-transition-duration: 0.2s;
  --yt-transition-timing: ease-in-out;
}

.video-wrapper {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  padding-bottom: var(--yt-aspect-ratio-16-9);
  margin: 0;
  height: 0;
  max-width: 100%;
  overflow: hidden;
  background-color: var(--yt-bg-black);
  cursor: pointer;
  outline: none;
  border: none;
  color: inherit;
  font: inherit;
  text-align: inherit;
  appearance: none;
  -webkit-appearance: none;
}

.video-wrapper[data-is-loaded=&#34;true&#34;] {
  cursor: auto;
}

.video-wrapper:focus-visible {
  outline: var(--yt-focus-outline-width) solid var(--yt-focus-outline);
  outline-offset: var(--yt-focus-outline-offset);
}

.video-thumbnail {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  background-color: var(--yt-bg-black);
  z-index: 1;
  transition: opacity var(--yt-transition-duration) var(--yt-transition-timing);
}

.video-wrapper:hover .video-thumbnail {
  opacity: 0.9;
}

.video-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: var(--yt-overlay-bg);
  color: var(--yt-overlay-text);
  text-align: center;
  font-size: 0.85em;
  padding: 0.5em 1em;
  z-index: 2;
  pointer-events: auto;
}

.video-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--yt-play-button-width);
  height: var(--yt-play-button-height);
  background-color: var(--yt-play-button-bg);
  border-radius: var(--yt-play-button-border-radius);
  z-index: 3;
  pointer-events: none;
  transition: all var(--yt-transition-duration) var(--yt-transition-timing);
}

.video-wrapper:hover .video-play-button {
  background-color: var(--yt-play-button-bg-hover);
  transform: translate(-50%, -50%) scale(1.1);
}

.video-wrapper:active .video-play-button {
  transform: translate(-50%, -50%) scale(1.05);
}

.video-play-button::before {
  content: &#39;&#39;;
  position: absolute;
  left: 26px;
  top: 14px;
  width: 0;
  height: 0;
  border-left: 18px solid var(--yt-play-button-icon);
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  z-index: 4;
}

.video-noscript {
  display: block;
  max-width: 100%;
  background-color: var(--yt-bg-black);
  color: inherit;
  text-align: center;
  padding: 0;
  margin-top: 0.5em;
}

.video-noscript img {
  display: block;
  width: 100%;
  height: auto;
}

.video-noscript a {
  display: inline-block;
  padding: 0.75em 1em;
  color: inherit;
  text-decoration: underline;
}

.yt-text-link {
  display: none;
}
&lt;/style&gt;

&lt;script&gt;
(function(){
  &#39;use strict&#39;;

  
  const CONSTANTS = {
    VIDEO_ID_LENGTH: 11,
    MAX_INPUT_LENGTH: 2048,
    VIDEO_ID_PATTERN: /^[a-zA-Z0-9_-]{11}$/,
    PLAYLIST_PREFIXES: /^(PL|OL|UU|LL|FL)/i,
    ALLOWED_URL_CHARS: /^[a-zA-Z0-9_\-?=&amp;#:/.]+$/,
    TIME_FORMATS: {
      HOURS: 3600,
      MINUTES: 60,
      SECONDS: 1
    },
    YOUTUBE_NOCOOKIE_DOMAIN: &#39;https://www.youtube-nocookie.com&#39;,
    YOUTUBE_IMG_DOMAIN: &#39;https://img.youtube.com&#39;,
    EMBED_PARAMS: &#39;autoplay=1&amp;mute=1&#39;
  };

  

  function validateInput(input, maxLength = CONSTANTS.MAX_INPUT_LENGTH) {
    if (!input || typeof input !== &#39;string&#39;) return &#39;&#39;;

    const trimmed = input.trim();

    if (trimmed.length &gt; maxLength) {
      console.warn(`Input exceeds maximum length of ${maxLength}`);
      return &#39;&#39;;
    }

    
    if (!CONSTANTS.ALLOWED_URL_CHARS.test(trimmed)) {
      console.warn(&#39;Input contains invalid characters&#39;);
      return &#39;&#39;;
    }

    return trimmed;
  }

  

  function parseStartValue(value) {
    if (!value) return 0;

    
    if (/^\d+$/.test(value)) {
      const parsed = parseInt(value, 10);
      return isNaN(parsed) ? 0 : Math.max(0, parsed);
    }

    
    let total = 0;
    let matched = false;
    const regex = /(\d+)(h|m|s)/gi;
    let match;

    while ((match = regex.exec(value)) !== null) {
      matched = true;
      const num = parseInt(match[1], 10);
      if (isNaN(num)) continue;

      const unit = match[2].toLowerCase();
      if (unit === &#39;h&#39;) total += num * CONSTANTS.TIME_FORMATS.HOURS;
      else if (unit === &#39;m&#39;) total += num * CONSTANTS.TIME_FORMATS.MINUTES;
      else if (unit === &#39;s&#39;) total += num * CONSTANTS.TIME_FORMATS.SECONDS;
    }

    return matched ? Math.max(0, total) : 0;
  }

  

  function extractStartTime(queryString) {
    if (!queryString) return 0;

    try {
      const cleanQuery = queryString.startsWith(&#39;?&#39;) || queryString.startsWith(&#39;#&#39;)
        ? queryString.slice(1)
        : queryString;

      const params = new URLSearchParams(cleanQuery);

      
      return parseStartValue(params.get(&#39;start&#39;)) ||
             parseStartValue(params.get(&#39;t&#39;)) ||
             parseStartValue(params.get(&#39;time_continue&#39;)) ||
             0;
    } catch (e) {
      console.warn(&#39;Failed to parse query parameters:&#39;, e);
      return 0;
    }
  }

  

  function parseId(raw) {
    const validated = validateInput(raw);
    if (!validated) {
      return { type: &#39;unknown&#39;, id: &#39;&#39;, start: 0 };
    }

    let startSeconds = 0;
    let normalized = validated;

    
    const queryIndex = normalized.indexOf(&#39;?&#39;);
    if (queryIndex !== -1) {
      startSeconds = extractStartTime(normalized.slice(queryIndex + 1));
      normalized = normalized.slice(0, queryIndex);
    }

    
    const hashIndex = normalized.indexOf(&#39;#&#39;);
    if (hashIndex !== -1) {
      startSeconds = startSeconds || extractStartTime(normalized.slice(hashIndex + 1));
      normalized = normalized.slice(0, hashIndex);
    }

    
    if (CONSTANTS.PLAYLIST_PREFIXES.test(normalized)) {
      return { type: &#39;playlist&#39;, id: normalized, start: startSeconds };
    }

    
    if (CONSTANTS.VIDEO_ID_PATTERN.test(normalized)) {
      return { type: &#39;video&#39;, id: normalized, start: startSeconds };
    }

    
    const listMatch = normalized.match(/list=([^&amp;]+)/);
    if (listMatch &amp;&amp; listMatch[1]) {
      return { type: &#39;playlist&#39;, id: listMatch[1], start: startSeconds };
    }

    console.warn(&#39;Unable to parse video/playlist ID:&#39;, raw);
    return { type: &#39;unknown&#39;, id: &#39;&#39;, start: startSeconds };
  }

  

  function validateThumbnailUrl(thumbUrl) {
    if (!thumbUrl) return &#39;&#39;;

    let cleaned = thumbUrl.trim();

    
    const markdownMatch = cleaned.match(/^\[[^\]]*\]\(([^)]+)\)$/);
    if (markdownMatch) {
      cleaned = markdownMatch[1].trim();
    }

    
    try {
      const url = new URL(cleaned, document.baseURI);

      
      if (url.protocol !== &#39;http:&#39; &amp;&amp; url.protocol !== &#39;https:&#39;) {
        console.warn(&#39;Thumbnail URL must use http or https protocol&#39;);
        return &#39;&#39;;
      }

      return url.href;
    } catch (e) {
      console.warn(&#39;Invalid thumbnail URL:&#39;, e);
      return &#39;&#39;;
    }
  }

  

  function getPlaylistPlaceholder() {
    const svg = `&lt;svg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 1280 720&#39;&gt;` +
                `&lt;rect width=&#39;100%&#39; height=&#39;100%&#39; fill=&#39;#000&#39;/&gt;` +
                `&lt;rect x=&#39;220&#39; y=&#39;260&#39; width=&#39;840&#39; height=&#39;60&#39; fill=&#39;#fff&#39;/&gt;` +
                `&lt;rect x=&#39;220&#39; y=&#39;340&#39; width=&#39;660&#39; height=&#39;60&#39; fill=&#39;#fff&#39;/&gt;` +
                `&lt;/svg&gt;`;
    return &#39;data:image/svg+xml;charset=utf-8,&#39; + encodeURIComponent(svg);
  }

  /**
   * Sets up thumbnail for video wrapper
   * @param {HTMLImageElement} thumbnail - Thumbnail element
   * @param {Object} kind - Parsed video/playlist info
   * @param {string} customThumb - Custom thumbnail URL
   */
  function setupThumbnail(thumbnail, kind, customThumb) {
    if (!thumbnail) return;

    if (customThumb) {
      // Use custom thumbnail
      thumbnail.onerror = null;
      thumbnail.src = customThumb;
    } else if (kind.type === &#39;playlist&#39;) {
      // Use playlist placeholder
      thumbnail.src = getPlaylistPlaceholder();
    } else if (kind.type === &#39;video&#39; &amp;&amp; kind.id) {
      // Use YouTube thumbnail with fallback
      thumbnail.src = `${CONSTANTS.YOUTUBE_IMG_DOMAIN}/vi/${kind.id}/maxresdefault.jpg`;
      thumbnail.onerror = () =&gt; {
        thumbnail.onerror = null;
        thumbnail.src = `${CONSTANTS.YOUTUBE_IMG_DOMAIN}/vi/${kind.id}/0.jpg`;
      };
    }
    // For unknown type, keep the default placeholder
  }

  /**
   * Creates embed URL for video or playlist
   * @param {Object} kind - Parsed video/playlist info
   * @returns {string} Embed URL or empty string if invalid
   */
  function createEmbedUrl(kind) {
    if (kind.type === &#39;playlist&#39; &amp;&amp; kind.id) {
      return `${CONSTANTS.YOUTUBE_NOCOOKIE_DOMAIN}/embed/videoseries?list=${encodeURIComponent(kind.id)}&amp;${CONSTANTS.EMBED_PARAMS}`;
    } else if (kind.type === &#39;video&#39; &amp;&amp; kind.id) {
      let url = `${CONSTANTS.YOUTUBE_NOCOOKIE_DOMAIN}/embed/${encodeURIComponent(kind.id)}?${CONSTANTS.EMBED_PARAMS}`;
      if (kind.start &gt; 0) {
        url += `&amp;start=${Math.floor(kind.start)}`;
      }
      return url;
    }
    return &#39;&#39;;
  }

  /**
   * Creates and loads iframe embed
   * @param {HTMLElement} wrapper - Video wrapper element
   * @param {Object} kind - Parsed video/playlist info
   * @param {string} title - Video title
   */
  function loadEmbed(wrapper, kind, title) {
    if (wrapper.dataset.isLoaded === &#39;true&#39;) return;

    const embedUrl = createEmbedUrl(kind);
    if (!embedUrl) {
      console.error(&#39;Unable to create embed URL - invalid video/playlist ID&#39;);
      // Show error message to user
      wrapper.innerHTML = &#39;&lt;div style=&#34;padding: 2em; text-align: center; color: #fff;&#34;&gt;Unable to load video. Please check the video ID.&lt;/div&gt;&#39;;
      return;
    }

    // Create iframe
    const iframe = document.createElement(&#39;iframe&#39;);
    iframe.setAttribute(&#39;allowfullscreen&#39;, &#39;&#39;);
    iframe.setAttribute(&#39;loading&#39;, &#39;lazy&#39;);
    iframe.setAttribute(&#39;allow&#39;, &#39;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#39;);
    iframe.setAttribute(&#39;title&#39;, title ? `YouTube video player: ${title}` : &#39;YouTube video player&#39;);
    iframe.src = embedUrl;

    
    const replacement = document.createElement(&#39;div&#39;);
    replacement.className = wrapper.className;
    replacement.dataset.listenersAdded = &#39;true&#39;;
    replacement.dataset.isLoaded = &#39;true&#39;;
    replacement.appendChild(iframe);

    wrapper.replaceWith(replacement);
  }

  

  function enhanceEmbeds() {
    const wrappers = document.querySelectorAll(&#39;.video-wrapper&#39;);

    wrappers.forEach(wrapper =&gt; {
      
      if (wrapper.dataset.listenersAdded === &#39;true&#39;) return;
      wrapper.dataset.listenersAdded = &#39;true&#39;;

      
      const rawVideoId = wrapper.dataset.videoId || &#39;&#39;;
      const rawThumbUrl = wrapper.dataset.thumb || &#39;&#39;;
      const videoTitle = wrapper.dataset.videoTitle || &#39;&#39;;

      
      const kind = parseId(rawVideoId);
      const safeThumb = validateThumbnailUrl(rawThumbUrl);

      
      const thumbnail = wrapper.querySelector(&#39;.video-thumbnail&#39;);
      setupThumbnail(thumbnail, kind, safeThumb);

      
      const loadHandler = () =&gt; loadEmbed(wrapper, kind, videoTitle);

      wrapper.addEventListener(&#39;click&#39;, loadHandler);

      const overlay = wrapper.querySelector(&#39;.video-overlay&#39;);
      if (overlay) overlay.addEventListener(&#39;click&#39;, loadHandler);
      if (thumbnail) thumbnail.addEventListener(&#39;click&#39;, loadHandler);

      
      wrapper.addEventListener(&#39;keydown&#39;, (e) =&gt; {
        if (e.key === &#39;Enter&#39; || e.key === &#39; &#39;) {
          e.preventDefault();
          loadHandler();
        }
      });
    });
  }

  
  enhanceEmbeds();
  if (document.readyState === &#39;loading&#39;) {
    document.addEventListener(&#39;DOMContentLoaded&#39;, enhanceEmbeds);
  }
})();
&lt;/script&gt;&lt;p class=&#34;yt-text-link&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=mbHOkywThYI&#34;&gt;YouTube Video&lt;/a&gt;
    &lt;/p&gt;&lt;button type=&#34;button&#34;
    class=&#34;video-wrapper&#34;
    aria-label=&#34;Play YouTube video&#34;
    data-video-id=&#34;mbHOkywThYI&#34;
    data-thumb=&#34;&#34;
    &gt;&lt;img
      class=&#34;video-thumbnail&#34;
      src=&#34;data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%201280%20720%27%3E%3Crect%20width=%27100%25%25%27%20height=%27100%25%25%27%20fill=%27%23000%27/%3E%3C/svg%3E&#34;
      alt=&#34;YouTube Thumbnail&#34;
      loading=&#34;lazy&#34;
      decoding=&#34;async&#34;&gt;&lt;div class=&#34;video-play-button&#34;&gt;&lt;/div&gt;
  &lt;/button&gt;&lt;noscript&gt;
    &lt;div class=&#34;video-noscript&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/mbHOkywThYI/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=mbHOkywThYI&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;YouTube Video&lt;/a&gt;
        &lt;/p&gt;&lt;/div&gt;
  &lt;/noscript&gt;
</description>
      <source:markdown>Test (does &#39;youtube no cookie embed&#39; plugin also embed yt shorts)

{{&lt; yt &#34;mbHOkywThYI&#34; &gt;}}
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/08/reading-work-by-brooklyn-walker.html</link>
      <pubDate>Wed, 08 Jul 2026 09:59:36 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/08/reading-work-by-brooklyn-walker.html</guid>
      <description>&lt;p&gt;🎓 Reading work by Brooklyn Walker and Paul A. Djupe this morning: &lt;a href=&#34;https://religioninpublic.blog/2026/07/06/i-am-a-christian-nationalist/&#34;&gt;“I am a Christian nationalist”&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Most identity work has focused on identities with long histories – race, ethnicity, religion (in broad strokes, like ‘Christian’). When we study these identities, we are asking about groups that have existed as groups, often for hundreds of years. But with Christian nationalism, we get a unique opportunity to watch a new identity develop. The ideas of Christian nationalism have been around for a long time in American history. In this study, we document that a new label is now being applied to the worldview, and that people are changing how they think about themselves as a result.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/screenshot-2026-07-08-at-9.58.57am.png&#34;&gt;
</description>
      <source:markdown>🎓 Reading work by Brooklyn Walker and Paul A. Djupe this morning: [“I am a Christian nationalist”](https://religioninpublic.blog/2026/07/06/i-am-a-christian-nationalist/):

&gt; Most identity work has focused on identities with long histories – race, ethnicity, religion (in broad strokes, like ‘Christian’). When we study these identities, we are asking about groups that have existed as groups, often for hundreds of years. But with Christian nationalism, we get a unique opportunity to watch a new identity develop. The ideas of Christian nationalism have been around for a long time in American history. In this study, we document that a new label is now being applied to the worldview, and that people are changing how they think about themselves as a result.

&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/screenshot-2026-07-08-at-9.58.57am.png&#34;&gt;
</source:markdown>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/07/i-havent-seen-a-movie.html</link>
      <pubDate>Tue, 07 Jul 2026 21:07:14 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/07/i-havent-seen-a-movie.html</guid>
      <description>&lt;p&gt;I haven&amp;rsquo;t seen a movie in theaters yet this year, but Coyote vs. ACME might get me there.&lt;/p&gt;

&lt;style&gt;
:root {
   
  --yt-aspect-ratio-16-9: 56.25%;

   
  --yt-bg-black: #000;
  --yt-play-button-bg: rgba(255, 0, 0, 0.8);
  --yt-play-button-bg-hover: rgba(255, 0, 0, 1);
  --yt-play-button-icon: #fff;
  --yt-overlay-bg: rgba(0, 0, 0, 0.85);
  --yt-overlay-text: #fff;
  --yt-focus-outline: #e53935;

   
  --yt-play-button-width: 68px;
  --yt-play-button-height: 48px;
  --yt-play-button-border-radius: 12px;

   
  --yt-focus-outline-width: 3px;
  --yt-focus-outline-offset: 4px;

   
  --yt-transition-duration: 0.2s;
  --yt-transition-timing: ease-in-out;
}

.video-wrapper {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  padding-bottom: var(--yt-aspect-ratio-16-9);
  margin: 0;
  height: 0;
  max-width: 100%;
  overflow: hidden;
  background-color: var(--yt-bg-black);
  cursor: pointer;
  outline: none;
  border: none;
  color: inherit;
  font: inherit;
  text-align: inherit;
  appearance: none;
  -webkit-appearance: none;
}

.video-wrapper[data-is-loaded=&#34;true&#34;] {
  cursor: auto;
}

.video-wrapper:focus-visible {
  outline: var(--yt-focus-outline-width) solid var(--yt-focus-outline);
  outline-offset: var(--yt-focus-outline-offset);
}

.video-thumbnail {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  background-color: var(--yt-bg-black);
  z-index: 1;
  transition: opacity var(--yt-transition-duration) var(--yt-transition-timing);
}

.video-wrapper:hover .video-thumbnail {
  opacity: 0.9;
}

.video-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: var(--yt-overlay-bg);
  color: var(--yt-overlay-text);
  text-align: center;
  font-size: 0.85em;
  padding: 0.5em 1em;
  z-index: 2;
  pointer-events: auto;
}

.video-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--yt-play-button-width);
  height: var(--yt-play-button-height);
  background-color: var(--yt-play-button-bg);
  border-radius: var(--yt-play-button-border-radius);
  z-index: 3;
  pointer-events: none;
  transition: all var(--yt-transition-duration) var(--yt-transition-timing);
}

.video-wrapper:hover .video-play-button {
  background-color: var(--yt-play-button-bg-hover);
  transform: translate(-50%, -50%) scale(1.1);
}

.video-wrapper:active .video-play-button {
  transform: translate(-50%, -50%) scale(1.05);
}

.video-play-button::before {
  content: &#39;&#39;;
  position: absolute;
  left: 26px;
  top: 14px;
  width: 0;
  height: 0;
  border-left: 18px solid var(--yt-play-button-icon);
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  z-index: 4;
}

.video-noscript {
  display: block;
  max-width: 100%;
  background-color: var(--yt-bg-black);
  color: inherit;
  text-align: center;
  padding: 0;
  margin-top: 0.5em;
}

.video-noscript img {
  display: block;
  width: 100%;
  height: auto;
}

.video-noscript a {
  display: inline-block;
  padding: 0.75em 1em;
  color: inherit;
  text-decoration: underline;
}

.yt-text-link {
  display: none;
}
&lt;/style&gt;

&lt;script&gt;
(function(){
  &#39;use strict&#39;;

  
  const CONSTANTS = {
    VIDEO_ID_LENGTH: 11,
    MAX_INPUT_LENGTH: 2048,
    VIDEO_ID_PATTERN: /^[a-zA-Z0-9_-]{11}$/,
    PLAYLIST_PREFIXES: /^(PL|OL|UU|LL|FL)/i,
    ALLOWED_URL_CHARS: /^[a-zA-Z0-9_\-?=&amp;#:/.]+$/,
    TIME_FORMATS: {
      HOURS: 3600,
      MINUTES: 60,
      SECONDS: 1
    },
    YOUTUBE_NOCOOKIE_DOMAIN: &#39;https://www.youtube-nocookie.com&#39;,
    YOUTUBE_IMG_DOMAIN: &#39;https://img.youtube.com&#39;,
    EMBED_PARAMS: &#39;autoplay=1&amp;mute=1&#39;
  };

  

  function validateInput(input, maxLength = CONSTANTS.MAX_INPUT_LENGTH) {
    if (!input || typeof input !== &#39;string&#39;) return &#39;&#39;;

    const trimmed = input.trim();

    if (trimmed.length &gt; maxLength) {
      console.warn(`Input exceeds maximum length of ${maxLength}`);
      return &#39;&#39;;
    }

    
    if (!CONSTANTS.ALLOWED_URL_CHARS.test(trimmed)) {
      console.warn(&#39;Input contains invalid characters&#39;);
      return &#39;&#39;;
    }

    return trimmed;
  }

  

  function parseStartValue(value) {
    if (!value) return 0;

    
    if (/^\d+$/.test(value)) {
      const parsed = parseInt(value, 10);
      return isNaN(parsed) ? 0 : Math.max(0, parsed);
    }

    
    let total = 0;
    let matched = false;
    const regex = /(\d+)(h|m|s)/gi;
    let match;

    while ((match = regex.exec(value)) !== null) {
      matched = true;
      const num = parseInt(match[1], 10);
      if (isNaN(num)) continue;

      const unit = match[2].toLowerCase();
      if (unit === &#39;h&#39;) total += num * CONSTANTS.TIME_FORMATS.HOURS;
      else if (unit === &#39;m&#39;) total += num * CONSTANTS.TIME_FORMATS.MINUTES;
      else if (unit === &#39;s&#39;) total += num * CONSTANTS.TIME_FORMATS.SECONDS;
    }

    return matched ? Math.max(0, total) : 0;
  }

  

  function extractStartTime(queryString) {
    if (!queryString) return 0;

    try {
      const cleanQuery = queryString.startsWith(&#39;?&#39;) || queryString.startsWith(&#39;#&#39;)
        ? queryString.slice(1)
        : queryString;

      const params = new URLSearchParams(cleanQuery);

      
      return parseStartValue(params.get(&#39;start&#39;)) ||
             parseStartValue(params.get(&#39;t&#39;)) ||
             parseStartValue(params.get(&#39;time_continue&#39;)) ||
             0;
    } catch (e) {
      console.warn(&#39;Failed to parse query parameters:&#39;, e);
      return 0;
    }
  }

  

  function parseId(raw) {
    const validated = validateInput(raw);
    if (!validated) {
      return { type: &#39;unknown&#39;, id: &#39;&#39;, start: 0 };
    }

    let startSeconds = 0;
    let normalized = validated;

    
    const queryIndex = normalized.indexOf(&#39;?&#39;);
    if (queryIndex !== -1) {
      startSeconds = extractStartTime(normalized.slice(queryIndex + 1));
      normalized = normalized.slice(0, queryIndex);
    }

    
    const hashIndex = normalized.indexOf(&#39;#&#39;);
    if (hashIndex !== -1) {
      startSeconds = startSeconds || extractStartTime(normalized.slice(hashIndex + 1));
      normalized = normalized.slice(0, hashIndex);
    }

    
    if (CONSTANTS.PLAYLIST_PREFIXES.test(normalized)) {
      return { type: &#39;playlist&#39;, id: normalized, start: startSeconds };
    }

    
    if (CONSTANTS.VIDEO_ID_PATTERN.test(normalized)) {
      return { type: &#39;video&#39;, id: normalized, start: startSeconds };
    }

    
    const listMatch = normalized.match(/list=([^&amp;]+)/);
    if (listMatch &amp;&amp; listMatch[1]) {
      return { type: &#39;playlist&#39;, id: listMatch[1], start: startSeconds };
    }

    console.warn(&#39;Unable to parse video/playlist ID:&#39;, raw);
    return { type: &#39;unknown&#39;, id: &#39;&#39;, start: startSeconds };
  }

  

  function validateThumbnailUrl(thumbUrl) {
    if (!thumbUrl) return &#39;&#39;;

    let cleaned = thumbUrl.trim();

    
    const markdownMatch = cleaned.match(/^\[[^\]]*\]\(([^)]+)\)$/);
    if (markdownMatch) {
      cleaned = markdownMatch[1].trim();
    }

    
    try {
      const url = new URL(cleaned, document.baseURI);

      
      if (url.protocol !== &#39;http:&#39; &amp;&amp; url.protocol !== &#39;https:&#39;) {
        console.warn(&#39;Thumbnail URL must use http or https protocol&#39;);
        return &#39;&#39;;
      }

      return url.href;
    } catch (e) {
      console.warn(&#39;Invalid thumbnail URL:&#39;, e);
      return &#39;&#39;;
    }
  }

  

  function getPlaylistPlaceholder() {
    const svg = `&lt;svg xmlns=&#39;http://www.w3.org/2000/svg&#39; viewBox=&#39;0 0 1280 720&#39;&gt;` +
                `&lt;rect width=&#39;100%&#39; height=&#39;100%&#39; fill=&#39;#000&#39;/&gt;` +
                `&lt;rect x=&#39;220&#39; y=&#39;260&#39; width=&#39;840&#39; height=&#39;60&#39; fill=&#39;#fff&#39;/&gt;` +
                `&lt;rect x=&#39;220&#39; y=&#39;340&#39; width=&#39;660&#39; height=&#39;60&#39; fill=&#39;#fff&#39;/&gt;` +
                `&lt;/svg&gt;`;
    return &#39;data:image/svg+xml;charset=utf-8,&#39; + encodeURIComponent(svg);
  }

  /**
   * Sets up thumbnail for video wrapper
   * @param {HTMLImageElement} thumbnail - Thumbnail element
   * @param {Object} kind - Parsed video/playlist info
   * @param {string} customThumb - Custom thumbnail URL
   */
  function setupThumbnail(thumbnail, kind, customThumb) {
    if (!thumbnail) return;

    if (customThumb) {
      // Use custom thumbnail
      thumbnail.onerror = null;
      thumbnail.src = customThumb;
    } else if (kind.type === &#39;playlist&#39;) {
      // Use playlist placeholder
      thumbnail.src = getPlaylistPlaceholder();
    } else if (kind.type === &#39;video&#39; &amp;&amp; kind.id) {
      // Use YouTube thumbnail with fallback
      thumbnail.src = `${CONSTANTS.YOUTUBE_IMG_DOMAIN}/vi/${kind.id}/maxresdefault.jpg`;
      thumbnail.onerror = () =&gt; {
        thumbnail.onerror = null;
        thumbnail.src = `${CONSTANTS.YOUTUBE_IMG_DOMAIN}/vi/${kind.id}/0.jpg`;
      };
    }
    // For unknown type, keep the default placeholder
  }

  /**
   * Creates embed URL for video or playlist
   * @param {Object} kind - Parsed video/playlist info
   * @returns {string} Embed URL or empty string if invalid
   */
  function createEmbedUrl(kind) {
    if (kind.type === &#39;playlist&#39; &amp;&amp; kind.id) {
      return `${CONSTANTS.YOUTUBE_NOCOOKIE_DOMAIN}/embed/videoseries?list=${encodeURIComponent(kind.id)}&amp;${CONSTANTS.EMBED_PARAMS}`;
    } else if (kind.type === &#39;video&#39; &amp;&amp; kind.id) {
      let url = `${CONSTANTS.YOUTUBE_NOCOOKIE_DOMAIN}/embed/${encodeURIComponent(kind.id)}?${CONSTANTS.EMBED_PARAMS}`;
      if (kind.start &gt; 0) {
        url += `&amp;start=${Math.floor(kind.start)}`;
      }
      return url;
    }
    return &#39;&#39;;
  }

  /**
   * Creates and loads iframe embed
   * @param {HTMLElement} wrapper - Video wrapper element
   * @param {Object} kind - Parsed video/playlist info
   * @param {string} title - Video title
   */
  function loadEmbed(wrapper, kind, title) {
    if (wrapper.dataset.isLoaded === &#39;true&#39;) return;

    const embedUrl = createEmbedUrl(kind);
    if (!embedUrl) {
      console.error(&#39;Unable to create embed URL - invalid video/playlist ID&#39;);
      // Show error message to user
      wrapper.innerHTML = &#39;&lt;div style=&#34;padding: 2em; text-align: center; color: #fff;&#34;&gt;Unable to load video. Please check the video ID.&lt;/div&gt;&#39;;
      return;
    }

    // Create iframe
    const iframe = document.createElement(&#39;iframe&#39;);
    iframe.setAttribute(&#39;allowfullscreen&#39;, &#39;&#39;);
    iframe.setAttribute(&#39;loading&#39;, &#39;lazy&#39;);
    iframe.setAttribute(&#39;allow&#39;, &#39;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#39;);
    iframe.setAttribute(&#39;title&#39;, title ? `YouTube video player: ${title}` : &#39;YouTube video player&#39;);
    iframe.src = embedUrl;

    
    const replacement = document.createElement(&#39;div&#39;);
    replacement.className = wrapper.className;
    replacement.dataset.listenersAdded = &#39;true&#39;;
    replacement.dataset.isLoaded = &#39;true&#39;;
    replacement.appendChild(iframe);

    wrapper.replaceWith(replacement);
  }

  

  function enhanceEmbeds() {
    const wrappers = document.querySelectorAll(&#39;.video-wrapper&#39;);

    wrappers.forEach(wrapper =&gt; {
      
      if (wrapper.dataset.listenersAdded === &#39;true&#39;) return;
      wrapper.dataset.listenersAdded = &#39;true&#39;;

      
      const rawVideoId = wrapper.dataset.videoId || &#39;&#39;;
      const rawThumbUrl = wrapper.dataset.thumb || &#39;&#39;;
      const videoTitle = wrapper.dataset.videoTitle || &#39;&#39;;

      
      const kind = parseId(rawVideoId);
      const safeThumb = validateThumbnailUrl(rawThumbUrl);

      
      const thumbnail = wrapper.querySelector(&#39;.video-thumbnail&#39;);
      setupThumbnail(thumbnail, kind, safeThumb);

      
      const loadHandler = () =&gt; loadEmbed(wrapper, kind, videoTitle);

      wrapper.addEventListener(&#39;click&#39;, loadHandler);

      const overlay = wrapper.querySelector(&#39;.video-overlay&#39;);
      if (overlay) overlay.addEventListener(&#39;click&#39;, loadHandler);
      if (thumbnail) thumbnail.addEventListener(&#39;click&#39;, loadHandler);

      
      wrapper.addEventListener(&#39;keydown&#39;, (e) =&gt; {
        if (e.key === &#39;Enter&#39; || e.key === &#39; &#39;) {
          e.preventDefault();
          loadHandler();
        }
      });
    });
  }

  
  enhanceEmbeds();
  if (document.readyState === &#39;loading&#39;) {
    document.addEventListener(&#39;DOMContentLoaded&#39;, enhanceEmbeds);
  }
})();
&lt;/script&gt;&lt;p class=&#34;yt-text-link&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=H-43VeYGiPM&#34;&gt;YouTube Video&lt;/a&gt;
    &lt;/p&gt;&lt;button type=&#34;button&#34;
    class=&#34;video-wrapper&#34;
    aria-label=&#34;Play YouTube video&#34;
    data-video-id=&#34;H-43VeYGiPM&#34;
    data-thumb=&#34;&#34;
    &gt;&lt;img
      class=&#34;video-thumbnail&#34;
      src=&#34;data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%201280%20720%27%3E%3Crect%20width=%27100%25%25%27%20height=%27100%25%25%27%20fill=%27%23000%27/%3E%3C/svg%3E&#34;
      alt=&#34;YouTube Thumbnail&#34;
      loading=&#34;lazy&#34;
      decoding=&#34;async&#34;&gt;&lt;div class=&#34;video-play-button&#34;&gt;&lt;/div&gt;
  &lt;/button&gt;&lt;noscript&gt;
    &lt;div class=&#34;video-noscript&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/H-43VeYGiPM/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=H-43VeYGiPM&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;YouTube Video&lt;/a&gt;
        &lt;/p&gt;&lt;/div&gt;
  &lt;/noscript&gt;
</description>
      <source:markdown>I haven&#39;t seen a movie in theaters yet this year, but Coyote vs. ACME might get me there. 

{{&lt; yt &#34;H-43VeYGiPM&#34; &gt;}}
</source:markdown>
    </item>
    
    <item>
      <title>Governmental Kitchen Cabinets and Collegiate Varsity Squads</title>
      <link>https://nic.babarskis.blog/2026/07/07/governmental-kitchen-cabinets-and-collegiate.html</link>
      <pubDate>Tue, 07 Jul 2026 11:25:26 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/07/governmental-kitchen-cabinets-and-collegiate.html</guid>
      <description>&lt;img src=&#34;https://cdn.micro.blog/books/9780060786656/cover.jpg&#34; align=&#34;left&#34; class=&#34;microblog_book&#34; style=&#34;max-width: 60px; margin-right: 20px; margin-top: 0px; padding-top: 0px;&#34;&gt;
&lt;p&gt;Approx 15-20 years back I recall reading &lt;a href=&#34;https://micro.blog/books/9780060786656&#34;&gt;a biography about Golda Meir&lt;/a&gt; that made frequent reference to her &amp;lsquo;kitchen cabinet&amp;rsquo; where key government officials would gather over cigarettes and cups of coffee to make hard national decisions. Given the &lt;a href=&#34;https://bridgemi.com/talent-education/kevin-guskiewicz-makes-an-about-face-will-remain-msus-president/&#34;&gt;reporting I&amp;rsquo;ve read&lt;/a&gt; on Kevin G&amp;rsquo;s decision to stay at MSU, and the &lt;a href=&#34;https://247sports.com/college/michigan-state/article/michigan-state-university-president-kevin-guskiewicz-clemson-coming-back-details-j-batt-288154583/&#34;&gt;behind the scenes influence of figures in the Athletics department and University Advancement,&lt;/a&gt; I wonder if a similar cabinet here could be called the &amp;lsquo;varsity squad.&amp;rsquo;&lt;/p&gt;
</description>
      <source:markdown>&lt;img src=&#34;https://cdn.micro.blog/books/9780060786656/cover.jpg&#34; align=&#34;left&#34; class=&#34;microblog_book&#34; style=&#34;max-width: 60px; margin-right: 20px; margin-top: 0px; padding-top: 0px;&#34;&gt;

Approx 15-20 years back I recall reading [a biography about Golda Meir](https://micro.blog/books/9780060786656) that made frequent reference to her &#39;kitchen cabinet&#39; where key government officials would gather over cigarettes and cups of coffee to make hard national decisions. Given the [reporting I&#39;ve read](https://bridgemi.com/talent-education/kevin-guskiewicz-makes-an-about-face-will-remain-msus-president/) on Kevin G&#39;s decision to stay at MSU, and the [behind the scenes influence of figures in the Athletics department and University Advancement,](https://247sports.com/college/michigan-state/article/michigan-state-university-president-kevin-guskiewicz-clemson-coming-back-details-j-batt-288154583/) I wonder if a similar cabinet here could be called the &#39;varsity squad.&#39; 
</source:markdown>
    </item>
    
  </channel>
</rss>
