<rss version="2.0">
  <channel>
    <title>Web Clippings on Nic Babarskis</title>
    <link>https://nic.babarskis.blog/categories/shares/</link>
    <description></description>
    
    <language>en</language>
    
    <lastBuildDate>Sun, 13 Sep 2026 22:38:05 -0400</lastBuildDate>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/09/13/i-made-an-extremely-niche.html</link>
      <pubDate>Sun, 13 Sep 2026 22:38:05 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/09/13/i-made-an-extremely-niche.html</guid>
      <description>&lt;p&gt;I made an extremely niche meme about The Christian Post &lt;a href=&#34;https://web.archive.org/web/20260912075459/https://www.christianpost.com/voices/christian-nationalism-already-failed-america-once.html&#34;&gt;publishing an opinion piece &lt;/a&gt; condemning Christian Nationalism. Worth noting this was the default position of the politics editor they &lt;a href=&#34;https://medium.com/arc-digital/how-the-christian-post-sold-its-soul-for-trump-4294662f7781&#34;&gt;cancelled&lt;/a&gt; half a decade ago.&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/99ea7b228e.jpg&#34; width=&#34;501&#34; height=&#34;500&#34; alt=&#34;&#34;&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/09/12/a-grainsocial-find-i-like.html</link>
      <pubDate>Sat, 12 Sep 2026 12:41:35 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/09/12/a-grainsocial-find-i-like.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://grain.social/profile/did:plc:oak3v2cegjy4rqxmtgri5fu4/gallery/3muxrrow3tq2w&#34;&gt;A Grain.Social find I like&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/09/11/perusing-the-library-of-congresss.html</link>
      <pubDate>Fri, 11 Sep 2026 07:32:50 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/09/11/perusing-the-library-of-congresss.html</guid>
      <description>&lt;p&gt;Perusing the Library of Congress&amp;rsquo;s &lt;a href=&#34;https://guides.loc.gov/september11-newspapers/highlights&#34;&gt;September 11 research guide&lt;/a&gt; this morning.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/09/05/daniel-kolitz-i-think-of.html</link>
      <pubDate>Sat, 05 Sep 2026 10:51:28 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/09/05/daniel-kolitz-i-think-of.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://thebaffler.com/salvos/paid-phones-kolitz&#34;&gt;Daniel Kolitz:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I think of a sentence I wrote dozens of variants of in the waning days of my content-writing career, which went something like: “These AI tools aren’t meant to supplant the work of humans—instead, by automating routine busywork, they will free your employees up for the kind of creative thinking that actually drives innovation.” Even then I must have known the truth: that your average call center, say, has no use for a customer service staff that sits around “innovating” for half the business day (what would they be innovating, precisely?); that any time saved for the business would translate directly into fewer working hours for its employees (and fewer assignments for me).&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/09/04/its-a-damp-and-gloomy.html</link>
      <pubDate>Fri, 04 Sep 2026 11:28:46 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/09/04/its-a-damp-and-gloomy.html</guid>
      <description>&lt;p&gt;It&amp;rsquo;s a damp and gloomy September Friday, and sometimes that calls for suburban/Warped Tour style emo music that&amp;rsquo;s so saccharine it could melt your teeth:&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=UjjO3Jggl5M&#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;UjjO3Jggl5M&#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/UjjO3Jggl5M/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=UjjO3Jggl5M&#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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/09/01/rip-wendell-berry-for-the.html</link>
      <pubDate>Tue, 01 Sep 2026 09:54:26 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/09/01/rip-wendell-berry-for-the.html</guid>
      <description>&lt;p&gt;RIP Wendell Berry:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For the sake of goodness, how much
evil are you willing to do?
Fill in the following blanks
with the names of your favorite
evils and acts of hatred.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;Jason A. Heppler&#34; data-avatar=&#34;https://micro.blog/jaheppler/avatar.jpg&#34; cite=&#34;https://updates.jasonheppler.org/2026/09/01/berry-had-a-way-of/&#34;&gt;&lt;p&gt;Berry had a way of cutting through to the core.&lt;/p&gt;
&lt;img src=&#34;https://cdn.uploads.micro.blog/2634/2026/4d0c1745-d298-4d69-a412-0d0232346810-m.jpg&#34; width=&#34;399&#34; height=&#34;600&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;
&lt;footer&gt;Jason A. Heppler &lt;cite&gt;&lt;a href=&#34;https://updates.jasonheppler.org/2026/09/01/berry-had-a-way-of/&#34; class=&#34;u-in-reply-to&#34;&gt;https://updates.jasonheppler.org/2026/09/01/berry-had-a-way-of/&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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/09/01/this-site-is-the-digital.html</link>
      <pubDate>Tue, 01 Sep 2026 09:49:04 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/09/01/this-site-is-the-digital.html</guid>
      <description>&lt;p&gt;This site is the digital equivalent of the junk drawer in your kitchen. An assortment of random items, many of which happen to be incredibly useful in very specific circumstances:&lt;/p&gt;
&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;Jim Mitchell&#34; data-avatar=&#34;https://micro.blog/jimmitchell@indieweb.social/avatar.jpg&#34; cite=&#34;https://indieweb.social/@jimmitchell/117196056500898382&#34;&gt;&lt;p&gt;🔖 Bookmarked &lt;a href=&#34;https://www.normaltools.com/&#34;&gt;&lt;span class=&#34;invisible&#34;&gt;https://www.&lt;/span&gt;&lt;span&gt;normaltools.com/&lt;/span&gt;&lt;span class=&#34;invisible&#34;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Open a tool, do the thing, leave. No account, no download, and nothing between you and the answer.&lt;/p&gt;&lt;p&gt;I somehow managed to stumble on to this site this morning. The dev related tools are pretty handy, but I especially liked the band name generator tool. I think I might give it a go when I form my punk band.&lt;/p&gt;&lt;footer&gt;Jim Mitchell &lt;cite&gt;&lt;a href=&#34;https://indieweb.social/@jimmitchell/117196056500898382&#34; class=&#34;u-in-reply-to&#34;&gt;https://indieweb.social/@jimmitchell/117196056500898382&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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/31/engrossing-shortform-video-documentary-on.html</link>
      <pubDate>Mon, 31 Aug 2026 14:21:04 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/31/engrossing-shortform-video-documentary-on.html</guid>
      <description>&lt;p&gt;Engrossing short-form video documentary on the Phoenix fire department&amp;rsquo;s efforts to implement new heat related life-saving interventions:&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=QcHuAtK_H_8&#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;QcHuAtK_H_8&#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/QcHuAtK_H_8/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=QcHuAtK_H_8&#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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/28/strong-towns-cities-routinely-respond.html</link>
      <pubDate>Fri, 28 Aug 2026 06:22:27 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/28/strong-towns-cities-routinely-respond.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.strongtowns.org/journal/2026-8-24-a-mayor-willing-to-tell-his-city-the-truth&#34;&gt;Strong Towns:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Cities routinely respond to financial stress by pursuing growth even more aggressively. The logic is simple. More homes mean more taxpayers, while more commercial development expands the tax base. If the city is short of money, the obvious response is to grow faster.&lt;/p&gt;
&lt;p&gt;Westlund recognizes the flaw in that logic. When each new increment of development creates more long-term expense than it produces in revenue, more growth doesn&amp;rsquo;t solve the financial problem. It makes the problem larger.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/27/mcsweeneys-updating-their-first-draft.html</link>
      <pubDate>Thu, 27 Aug 2026 16:03:31 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/27/mcsweeneys-updating-their-first-draft.html</guid>
      <description>&lt;p&gt;McSweeney&amp;rsquo;s updating their first draft of history:&lt;/p&gt;
&lt;blockquote class=&#34;bluesky-embed&#34; data-bluesky-uri=&#34;at://did:plc:wf24ok2liiyzb633fe34dsel/app.bsky.feed.post/3mu35l5beho27&#34; data-bluesky-cid=&#34;bafyreigciqgclzhipbzcmsttub7vejli5mnf3l6zjobxpvphkpqzupf7cq&#34; data-bluesky-embed-color-mode=&#34;system&#34;&gt;&lt;p lang=&#34;&#34;&gt;We were stuck in line waiting for gas at a Freedom Fuel Station, so this installment is a little late. Apologies! Anyway, you add another 90 atrocities to the list. #LestWeForgetTheHorrors
buff.ly/V207e2L&lt;br&gt;&lt;br&gt;&lt;a href=&#34;https://bsky.app/profile/did:plc:wf24ok2liiyzb633fe34dsel/post/3mu35l5beho27?ref_src=embed&#34;&gt;[image or embed]&lt;/a&gt;&lt;/p&gt;&amp;mdash; McSweeney&amp;#x27;s (&lt;a href=&#34;https://bsky.app/profile/did:plc:wf24ok2liiyzb633fe34dsel?ref_src=embed&#34;&gt;[@mcsweeneys.net](http://mcsweeneys.net)&lt;/a&gt;) &lt;a href=&#34;https://bsky.app/profile/did:plc:wf24ok2liiyzb633fe34dsel/post/3mu35l5beho27?ref_src=embed&#34;&gt;August 27, 2026 at 11:21 AM&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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/27/how-some-people-feel-about.html</link>
      <pubDate>Thu, 27 Aug 2026 15:59:31 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/27/how-some-people-feel-about.html</guid>
      <description>&lt;p&gt;🍎🍏How some people feel about sports teams is how I feel about apple varieties in harvest season: &lt;em&gt;&lt;a href=&#34;https://www.wkar.org/wkar-news/2026-08-27/michigan-apple-growers-expect-strong-harvest-as-crop-arrives-early&#34;&gt;Michigan apple growers expect strong harvest as crop arrives early.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/25/from-nyts-parton-obituary-empathy.html</link>
      <pubDate>Tue, 25 Aug 2026 15:40:16 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/25/from-nyts-parton-obituary-empathy.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.nytimes.com/2026/08/25/arts/music/dolly-parton-dead.html?rsrc=flt&amp;amp;unlocked_article_code=1.8FA.SzTS.ZbeLHX4k12Ic&amp;amp;smid=url-share&#34;&gt;From NYT&amp;rsquo;s Parton obituary:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Empathy was a hallmark of Ms. Parton’s songwriting, perhaps nowhere so much as in “Down From Dover” and “Daddy Come Get Me,” harrowing Southern gothic ballads about teen pregnancy and how patriarchy blames and victimizes young women.&lt;/p&gt;
&lt;p&gt;Assertive women populated Ms. Parton’s songs, whether through her proto-feminist rewrite of Jimmie Rodgers’s “Mule Skinner Blues (Blue Yodel No. 8)” or by advocating parity in the bedroom (“Touch Your Woman”) and in the workplace (“9 to 5”)&amp;hellip;&lt;/p&gt;
&lt;p&gt;“Writing’s just as natural to me as getting up and cooking breakfast,” she told The Times in 2002. “I ain’t never far away from a pencil and paper or a tape recorder. I write every day, even when I’m on a plane, in the tub or on the bus. It burns in me.”&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/24/corwin-smidt-on-what-mindset.html</link>
      <pubDate>Mon, 24 Aug 2026 11:04:15 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/24/corwin-smidt-on-what-mindset.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://sites.google.com/msu.edu/corwinsmidt&#34;&gt;Corwin Smidt&lt;/a&gt; on what &lt;a href=&#34;https://www.wkar.org/election-2026/2026-08-18/why-polls-got-the-michigan-democratic-senate-primary-so-wrong&#34;&gt;mindset you should take into an election booth:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If people are sitting there trying to be strategic with their vote, they&amp;rsquo;re only going to be unhappy. The vote that makes you happy is the vote that you should make. Trying to be the smart voter is not the way to do things&amp;hellip;.It benefits you more to know whether you&amp;rsquo;re going to like the candidate.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/23/today-marks-the-th-anniversary.html</link>
      <pubDate>Sun, 23 Aug 2026 09:44:55 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/23/today-marks-the-th-anniversary.html</guid>
      <description>&lt;p&gt;Today marks the 37th anniversary of &lt;a href=&#34;https://en.wikipedia.org/wiki/Baltic_Way&#34;&gt;The Baltic Way&lt;/a&gt; (or Baltic Chain) where 2 million people joined hands across 419 miles to appeal for their right to self-governance and to resist authoritarianism. Their movement ultimately succeeded. Resist &lt;a href=&#34;https://en.wikipedia.org/wiki/Authoritarianism&#34;&gt;authoritarianism&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://upload.wikimedia.org/wikipedia/commons/1/11/Airplane_over_the_Baltic_Way.jpeg?utm_source=en.wikipedia.org&amp;amp;utm_campaign=index&amp;amp;utm_content=thumbnail_unscaled&#34; alt=&#34;A historic black-and-white photograph capturing the 1989 Baltic Way demonstration, showing a human chain of people holding hands along the shoulder of a highway. Overhead, a biplane flies low along the length of the road, while a person in the left foreground raises a hand to wave toward the aircraft. Evergreen forests and parked vehicles line the roadway in the background&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/20/featured-recently-on-the-library.html</link>
      <pubDate>Thu, 20 Aug 2026 10:15:25 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/20/featured-recently-on-the-library.html</guid>
      <description>&lt;p&gt;Featured recently on the Library of Congress&amp;rsquo;s Headlines &amp;amp; Heros blog: &lt;a href=&#34;https://blogs.loc.gov/headlinesandheroes/2026/07/the-journalist-devoted-to-newspapers-authors-artists-and-publishers/&#34;&gt;The Journalist.&lt;/a&gt; &lt;a href=&#34;http://onthemedia.bsky.social&#34;&gt;@onthemedia.bsky.social&lt;/a&gt; before podcasting or public radio.&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/firstissue.png&#34; width=&#34;600&#34; height=&#34;570&#34; alt=&#34;The front page of the inaugural issue of The Journalist newspaper, dated March 22, 1884, in New York, priced at Ten Cents. The ornate masthead features bold decorative typography at the top. Below, three columns of printed text frame a central engraved portrait of a man with a mustache, identified by a cursive signature underneath as Amos J. Cummings. The lead article on the left is titled A CASE OF PRESUMPTION.&#34;&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/18/the-michigan-secretary-of-states.html</link>
      <pubDate>Tue, 18 Aug 2026 13:12:05 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/18/the-michigan-secretary-of-states.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.newsblur.com/newsletters/story/10296204:e074ec&#34;&gt;The Michigan Secretary of State&amp;rsquo;s Office has released the &amp;lsquo;I voted&amp;rsquo; sticker contest winners for the November 2026 election.&lt;/a&gt; Delightful.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/17/zotero-just-dropped-their-update.html</link>
      <pubDate>Mon, 17 Aug 2026 15:53:27 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/17/zotero-just-dropped-their-update.html</guid>
      <description>&lt;p&gt;Zotero just dropped their update from version 9 to 10 and I am once again in awe that you can just download this software for free and utilize almost every single feature on device or through a self-hosted server.&lt;/p&gt;
&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;Zotero&#34; data-avatar=&#34;https://micro.blog/zotero@fosstodon.org/avatar.jpg&#34; cite=&#34;https://fosstodon.org/@zotero/117112205045153094&#34;&gt;&lt;p&gt;Announcing Zotero 10, with powerful new features for searching and managing your library, a major improvement to Read Aloud, and a new Reading Mode for PDFs&lt;/p&gt;&lt;p&gt;&lt;a href=&#34;https://www.zotero.org/blog/zotero-10/&#34;&gt;&lt;span class=&#34;invisible&#34;&gt;https://www.&lt;/span&gt;&lt;span&gt;zotero.org/blog/zotero-10/&lt;/span&gt;&lt;span class=&#34;invisible&#34;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&#34;https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.fosstodon.org%2Fmedia_attachments%2Ffiles%2F117%2F112%2F189%2F659%2F273%2F482%2Foriginal%2F3f21252528c40b70.png&#34; alt=&#34;The new batch-editing feature, showing five items with different capitalizations for the publication “PLOS One” being changed to a common value&#34; loading=&#34;lazy&#34;&gt;&lt;/p&gt;&lt;footer&gt;Zotero &lt;cite&gt;&lt;a href=&#34;https://fosstodon.org/@zotero/117112205045153094&#34; class=&#34;u-in-reply-to&#34;&gt;https://fosstodon.org/@zotero/117112205045153094&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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/17/seeing-photos-from-the-historic.html</link>
      <pubDate>Mon, 17 Aug 2026 07:18:30 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/17/seeing-photos-from-the-historic.html</guid>
      <description>&lt;p&gt;Seeing photos from the &lt;a href=&#34;https://blogs.loc.gov/picturethis/2026/08/the-historic-american-buildings-survey-aids-the-reconstruction-of-two-18th-century-workshops/&#34;&gt;Historic American Buildings Survey&lt;/a&gt; makes me wonder what an exhibit of a suburban retail center combination Chipotle+Clearchoice Dental Implant might look like in 150+ years.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/screenshot-2026-08-16-at-8.42.13am.png&#34; width=&#34;600&#34; height=&#34;555&#34; alt=&#34;A Google Maps street view screenshot of a commercial plaza under an overcast sky. In the background are standalone retail storefronts for a Chipotle Mexican Grill and a ClearChoice Dental Implant Center. In the foreground, a manicured green lawn with a small landscaped island sits along a concrete sidewalk and asphalt street.&#34;&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/33ba0e9596.jpg&#34; width=&#34;600&#34; height=&#34;686&#34; alt=&#34;Reconstruction of Dominy Woodworking Shop at Winterthur Museum, Garden and Library in Winterthur, Delaware. Photo by Kristi Finefield, 2026 April. A museum exhibit recreating a life-sized historic woodworking shop inside a timber-framed structure with glass viewing panels and cedar shingles. Inside the brightly lit exhibit, traditional woodworking tools, workbenches, and a large wooden lathe wheel are displayed. An informational plaque sits in the lower-left foreground.&#34;&gt;.&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/e9d4f6335a.jpg&#34; width=&#34;600&#34; height=&#34;430&#34; alt=&#34;interior of carpenter shop. View from north end. - Dominy House, North Main Street, East Hampton, Suffolk County, NY. Photo by Stanley P. Mixon, July 20, 1940. [hdl.loc.gov/loc.pnp/h...](http://hdl.loc.gov/loc.pnp/hhh.ny0772/photos.123503p.) A historic black-and-white interior photograph (labeled NY-5418-F) depicting a densely packed traditional carpenter&#39;s workshop. A long, heavy wooden workbench sits beneath a large multi-pane window, covered in hand planes, chisels, wooden blocks, and hand tools. Dozens of hand saws, clamps, and various woodworking tools hang densely on the exposed timber walls.&#34;&gt;  
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/e974a1adab.jpg&#34; width=&#34;600&#34; height=&#34;431&#34; alt=&#34;Exterior, general view from southeast (clock shop at left). Dominy House, North Main Street, East Hampton, Suffolk County, NY. Photo by Stanley P. Mixon, July 20, 1940. [hdl.loc.gov/loc.pnp/h...](http://hdl.loc.gov/loc.pnp/hhh.ny0772/photos.123498p.) A historic black-and-white photograph (labeled NY-5418-A) of a two-story wooden clapboard house with a large mature tree in the front yard. Overgrown vines climb parts of the exterior facade and an adjoining wooden shed on the left. A simple wooden picket fence borders the front of the property alongside a paved street.&#34;&gt;.&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/0648c46705.jpg&#34; width=&#34;600&#34; height=&#34;377&#34; alt=&#34;First floor plan, Clock Shop, Dominy House. Pencil drawing on paper from Field Notes, Book 4, HABS NY FN-203. Photo by Kristi Finefield, 2026 August. [www.loc.gov/pictures/...](https://www.loc.gov/pictures/collection/hh/item/ny0772/.) An architectural blueprint on graph paper labeled 1st Floor Plan from a Historic American Buildings Survey (HABS NY FN-203) record. The handwritten schematic details the floor layout of a historic structure, featuring annotated dimensions, a central forge, brick hearth, workbench placement, and rooms labeled Main House and South Parlor. Annotations note specific construction details like Seaweed insulation and structural timber posts.&#34;&gt;   
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/15/everythings-amazing-and-nobodys-happy.html</link>
      <pubDate>Sat, 15 Aug 2026 15:29:49 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/15/everythings-amazing-and-nobodys-happy.html</guid>
      <description>&lt;p&gt;Everything&amp;rsquo;s amazing and nobody&amp;rsquo;s happy.&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/08/15/via-ian-leslie-a-beautifully.html&#34;&gt;&lt;p&gt;Via Ian Leslie, a beautifully designed page on &lt;a href=&#34;https://ordinaryabundance.com&#34;&gt;ordinary abundance&lt;/a&gt;.&lt;/p&gt;
&lt;footer&gt;Alan Jacobs  &lt;cite&gt;&lt;a href=&#34;https://social.ayjay.org/2026/08/15/via-ian-leslie-a-beautifully.html&#34; class=&#34;u-in-reply-to&#34;&gt;https://social.ayjay.org/2026/08/15/via-ian-leslie-a-beautifully.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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/15/this-fender-ceo-quote-on.html</link>
      <pubDate>Sat, 15 Aug 2026 12:52:58 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/15/this-fender-ceo-quote-on.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.t3.com/home-living/welcome-to-tele-town-fender-celebrates-75-years-of-the-telecaster&#34;&gt;This Fender CEO quote on AI and Music broke me a little bit: &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Cole’s philosophy is that AI in music is nothing new. “I think AI has existed in music as long as there&amp;rsquo;s been recorded music,” he says. While the biggest barrier to playing guitar is the time it takes to learn the instrument, it’s the second barrier, writing songs, where he believes AI plays a part.&lt;/p&gt;
&lt;p&gt;“I actually believe cover music has been sort of analog AI for a long time,” says Cole. Those that don’t yet have the skills to write their own songs can play the songs written by their favourite artists instead. “I listened a lot to REM, U2, The Smiths and The Cure, and at some point I got sick of just listening to them. I wanted to play it, so I learned to play guitar.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;🎩 Tip to @theverge &lt;a href=&#34;https://pca.st/episode/fcd74495-9455-4c74-b296-14d5ce64fa41&#34;&gt;podcast&lt;/a&gt; for surfacing this. I think a fundamental worldview divide between our techno[would be]-overlords, their enablers, and the rest of us is sincerely believing that a sufficiently complex computer chip or server running the appropriate protocols is fundamentally no different than an embodied human when it comes to consciousness. As if gestalt cognition is what defines human existence.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/14/the-five-year-old-is.html</link>
      <pubDate>Fri, 14 Aug 2026 22:23:14 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/14/the-five-year-old-is.html</guid>
      <description>&lt;p&gt;The five year old is starting to express occasional interest in the music of my youth and its always intriguing what sticks in terms of repeatability. She&amp;rsquo;s on a Deadmau5 kick right recently.&lt;/p&gt;
&lt;iframe width=&#34;100%&#34; height=&#34;150&#34; src=&#34;https://odesli.co/embed/?url=https%3A%2F%2Fsong.link%2Fkc4tqwsmrb0pc&amp;theme=light&#34; frameborder=&#34;0&#34; allowfullscreen sandbox=&#34;allow-same-origin allow-scripts allow-presentation allow-popups allow-popups-to-escape-sandbox&#34; allow=&#34;clipboard-read; clipboard-write&#34;&gt;&lt;/iframe&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/14/good-summary-of-the-federal.html</link>
      <pubDate>Fri, 14 Aug 2026 07:33:34 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/14/good-summary-of-the-federal.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://thepreamble.com/p/the-election-fight-the-president&#34;&gt;Good summary of the federal laws and historical precedents that inform the legal contests over state voter rolls:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The judges aren’t contending that state voting rolls can be inaccurate, nor are they arguing that the DOJ isn’t a key player in enforcing federal election laws. But they are saying that the DOJ does not have the authority to compel states to hand over protected voter information that the states themselves created&amp;hellip;&lt;/p&gt;
&lt;p&gt;&amp;hellip;Hidden beneath the DOJ’s losing streak is an important reminder about federalism, especially when it comes to elections in the US. Federal elections are purposefully decentralized. State and local governments are tasked with carrying them out in adherence to the federal protections and requirements Congress has deemed necessary. As we’ve seen, it can be a messy arrangement, but one that protects all of us from a federal government — and president — who wants to take over the process.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/13/in-a-world-where-so.html</link>
      <pubDate>Thu, 13 Aug 2026 12:32:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/13/in-a-world-where-so.html</guid>
      <description>&lt;p&gt;In a world where so much of the retail reviews genre are AI slop or optimized for algorithms you can rely on Brains Report to be a human driven resource for making good home related purchases (I also think its great that they are Lansing, MI based):&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=PPjzLmcqhPk&#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;PPjzLmcqhPk&#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/PPjzLmcqhPk/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=PPjzLmcqhPk&#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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/13/ryan-broderick-you-must-always.html</link>
      <pubDate>Thu, 13 Aug 2026 07:46:39 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/13/ryan-broderick-you-must-always.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.garbageday.email/p/hank-green-s-anti-ai-ai-psychosis&#34;&gt;Ryan Broderick: &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must always be posting. To stay in people’s minds, to stay in good standing with the platforms, to take another whack at the slot machine that is the attention economy.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/12/ive-reflected-elsewhere-about-the.html</link>
      <pubDate>Wed, 12 Aug 2026 13:00:31 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/12/ive-reflected-elsewhere-about-the.html</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve &lt;a href=&#34;https://nic.babarskis.blog/2026/06/23/i-dont-think-upholding-pluralism.html&#34;&gt;reflected&lt;/a&gt; &lt;a href=&#34;https://thinking-about-colleges-and-universities.ghost.io/culture-wars-lead-to-short-sighted-thinking-title-ix-edition/&#34;&gt;elsewhere&lt;/a&gt; about the intersection of organizational behavior and culture warring. IMHO injecting more culture warring into the civic and social welfare organizational ecosystem makes it likely that religious NGOs face future public subsidy pressures when the partisan winds shift.&lt;/p&gt;
&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;Nic Babarskis&#34; data-avatar=&#34;https://micro.blog/thebigbabooski/avatar.jpg&#34; cite=&#34;https://nic.babarskis.blog/2026/08/12/after-usaid-was-gutted-primarily.html&#34;&gt;&lt;p&gt;After USAID was gutted primarily under the pretense that it was a hornet’s nest of “wokeism” I have a hard time interpreting &lt;a href=&#34;https://www.christianitytoday.com/2026/08/world-vision-usaid-cuts-christian-ngos-trump-hiv/?utm_medium=widgetsocial&#34;&gt;the news that the Feds are now bestowing mountains of cash on evangelical NGOs&lt;/a&gt; as anything other than partisan patronage. The accusations feel more like confessions of intent.&lt;/p&gt;
&lt;footer&gt;Nic Babarskis &lt;cite&gt;&lt;a href=&#34;https://nic.babarskis.blog/2026/08/12/after-usaid-was-gutted-primarily.html&#34; class=&#34;u-in-reply-to&#34;&gt;https://nic.babarskis.blog/2026/08/12/after-usaid-was-gutted-primarily.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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/12/after-usaid-was-gutted-primarily.html</link>
      <pubDate>Wed, 12 Aug 2026 12:55:14 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/12/after-usaid-was-gutted-primarily.html</guid>
      <description>&lt;p&gt;After USAID was gutted primarily under the pretense that it was a hornet&amp;rsquo;s nest of &amp;ldquo;wokeism&amp;rdquo; I have a hard time interpreting &lt;a href=&#34;https://www.christianitytoday.com/2026/08/world-vision-usaid-cuts-christian-ngos-trump-hiv/?utm_medium=widgetsocial&#34;&gt;the news that the Feds are now bestowing mountains of cash on evangelical NGOs&lt;/a&gt; as anything other than partisan patronage. The original accusations feel more like confessions of intent.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/12/steve-mathonnetvanderwell-saying-white-evangelical.html</link>
      <pubDate>Wed, 12 Aug 2026 07:31:56 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/12/steve-mathonnetvanderwell-saying-white-evangelical.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://reformedjournal.com/2026/08/11/when-explanation-becomes-excuse-a-response-to-george-marsden/&#34;&gt;Steve Mathonnet-VanderWell:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Saying White evangelical support for Trump is unsurprising given previous support for Bush and Romney misses something essential. It is like saying “a great many people enjoy eating bleu cheese, so it shouldn’t surprise us that even slightly more people enjoy eating mold.” Or “Since campfires are very popular with many people, it is understandable that these same people eagerly endorse arson.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I have several theories on how white Evangelicals got to where they are, but they essentially boil down to an anecdote shared in a couple different forums by &lt;a href=&#34;https://www.threads.com/@skye.jethani&#34;&gt;Skye Jethani &lt;/a&gt;who, when asking an evangelical parishioner if they would prefer their child to marry a Republican or a Christian was given the response &amp;ldquo;what&amp;rsquo;s the difference?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;🎩tip to &lt;a href=&#34;https://thewayofimprovement.blog/#posts&#34;&gt;John Fea&lt;/a&gt; for link to original quote.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/11/a-cherished-college-memory-was.html</link>
      <pubDate>Tue, 11 Aug 2026 22:30:19 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/11/a-cherished-college-memory-was.html</guid>
      <description>&lt;p&gt;A cherished college memory was blowing off exam prep and going to see Death Cab for Cutie live at The Rave in Milwaukee. They still got it.&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=swh0_M0rRPQ&#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;swh0_M0rRPQ&#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/swh0_M0rRPQ/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=swh0_M0rRPQ&#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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/11/please-please-dont-take-vaccination.html</link>
      <pubDate>Tue, 11 Aug 2026 07:12:47 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/11/please-please-dont-take-vaccination.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.aap.org/en/news-room/news-releases/aap/2026/aap-statement-in-response-to-executive-order-on-vaccines/&#34;&gt;Please, please don&amp;rsquo;t take vaccination guidance from this administration.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/image-8-11-26-at-7.03am.png&#34; alt=&#34;Auto-generated description: A webpage from the American Academy of Pediatrics features a news release titled AAP Statement in Response to Executive Order on Vaccines, addressing concerns about vaccine misinformation and emphasizing the importance of childhood vaccinations.&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Instead of ensuring every family can access life-saving vaccines for measles, influenza, RSV and more, federal leaders are once again spreading misleading claims.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/10/beth-felker-jones-sometimes-i.html</link>
      <pubDate>Mon, 10 Aug 2026 08:03:58 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/10/beth-felker-jones-sometimes-i.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://bethfelkerjones.substack.com/p/psa-and-embodied-love&#34;&gt;Beth Felker Jones:  &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Sometimes I wonder whether our discomfort with penal substitution is part of a larger discomfort with materiality itself. We would prefer salvation to happen in the realm of ideas. We like it when Jesus teaches, inspires, and models love, and all of those things are wonderful and true. But Christianity insists on something stranger.&lt;/p&gt;
&lt;p&gt;A body hangs on a cross.&lt;/p&gt;
&lt;p&gt;Blood pours down.&lt;/p&gt;
&lt;p&gt;Death takes our Lord.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/09/brad-east-because-they-suppose.html</link>
      <pubDate>Sun, 09 Aug 2026 09:38:01 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/09/brad-east-because-they-suppose.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.bradeast.org/blog/the-future-tense-of-the-ai-pilled&#34;&gt;Brad East:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Because they suppose themselves on the right side of history — because they imagine history has sides at all — they cannot abide even mild dissent.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This could apply to any number topics of discourse but here &lt;a href=&#34;https://micro.blog/eastbrad&#34;&gt;@eastbrad&lt;/a&gt; is applying it to AI adoption.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/08/03/robin-sloan-on-llm-company.html</link>
      <pubDate>Mon, 03 Aug 2026 13:33:09 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/08/03/robin-sloan-on-llm-company.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.robinsloan.com/lab/not-labs/#:~:text=%E2%80%9CLab,company&#34;&gt;Robin Sloan on LLM company &amp;lsquo;Labs&amp;rsquo;:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Lab” evokes Bell Labs, of course; it evokes deep science, Nobel Prize-level horsepower, a certain purity. I don’t deny that there are labs inside these companies … although I don’t believe any of them are operating with anywhere near the distance from practicality that Bell Labs maintained. And, either way, when you are hiring “Growth Account Executives”, you are a company.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/28/any-other-higher-education-studies.html</link>
      <pubDate>Tue, 28 Jul 2026 13:41:01 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/28/any-other-higher-education-studies.html</guid>
      <description>&lt;p&gt;Any other Higher Education Studies folks aware of &lt;a href=&#34;https://docs.cosmik.network/semble&#34;&gt;Semble?&lt;/a&gt;. Could be a useful way of linking higher ed researchers on BSKY and peer-reviewed research given its connection to the ATmosphere.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s an intro video about Semble:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.loom.com/share/8bf8ab18ee6c4135bd607cc5c6f11079?t=0&#34;&gt;www.loom.com/share/8bf&amp;hellip;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/25/john-fea-evangelical-historian-on.html</link>
      <pubDate>Sat, 25 Jul 2026 12:30:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/25/john-fea-evangelical-historian-on.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://thewayofimprovement.blog/2026/07/24/saving-americas-story-part-one/&#34;&gt;John Fea, evangelical historian, on the WH&amp;rsquo;s Smithsonian report:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Regarding what historians call “change over time,” the authors of “Saving America’s History” want to have it both ways. Their appeal to the museum’s Cold War founding relies on a 1950s-style patriotism and narrative that, due to new scholarship, is now much more complex and includes many more voices. They don’t seem to want America to change on that front. By invoking the 1950s, they overlook the changes in American history I described above. Yet, on the subject of racism, they quickly criticize the museum for failing to acknowledge historical change over time.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/25/it-was-riveting-to-follow.html</link>
      <pubDate>Sat, 25 Jul 2026 06:45:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/25/it-was-riveting-to-follow.html</guid>
      <description>&lt;p&gt;It was riveting to follow &lt;a href=&#34;https://www.instagram.com/ridewithian/&#34;&gt;Ian Anderson&amp;rsquo;s&lt;/a&gt; bicycle journey in real time on Instagram, but I absolutely agree with &lt;a href=&#34;https://www.nytimes.com/2026/07/24/travel/risky-trips-instagram-tiktok-social-media.html?unlocked_article_code=1.0FA.2qOp.HODN4oX_j1A6&amp;amp;smid=url-share&#34;&gt;this article&lt;/a&gt; that inevitably someone in this genre of travelogue is going to get seriously hurt or worse with a global audience watching.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/24/this-is-what-happens-when.html</link>
      <pubDate>Fri, 24 Jul 2026 17:30:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/24/this-is-what-happens-when.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.nytimes.com/2026/07/24/well/measles-record-united-states-numbers.html?unlocked_article_code=1.0FA.MFVd.yeez59-RUW73&amp;amp;smid=url-share&#34;&gt;This is what happens when you ignore the people who have actually done the really hard work of proving that in this particular case, correlation actually does equal causation:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The United States has now recorded more cases of measles in 2026 than in any other year since the virus was declared eliminated in 2000, a grim sign that the country may be headed toward a new era in which the disease regularly sickens thousands every year.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/24/adam-kinzinger-a-constitutional-republic.html</link>
      <pubDate>Fri, 24 Jul 2026 12:55:13 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/24/adam-kinzinger-a-constitutional-republic.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.adamkinzinger.com/p/this-is-what-i-gave-up-my-political&#34;&gt;Adam Kinzinger:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;a constitutional republic cannot survive if political leaders teach citizens that losing is proof of betrayal&amp;hellip;&lt;/p&gt;
&lt;p&gt;Democracy depends on evidence governing our doubts and on defeated candidates surrendering power when the evidence says they lost. I gave up my place in Congress because I believed that bargain was the foundation beneath every other political disagreement. Without it, the Constitution is just paper protected by people who no longer agree that votes are binding.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/23/kk-du-mez-as-the.html</link>
      <pubDate>Thu, 23 Jul 2026 12:31:50 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/23/kk-du-mez-as-the.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://kristindumez.substack.com/p/which-way-christianity-today&#34;&gt;K.K. Du Mez:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As the “flagship magazine of American evangelicalism,” Christianity Today has always been a contested space, and a space worth watching. Reflecting evangelicalism itself, it needs to be understood not in static terms, but rather in terms of shifting alliances, and shifting centers of power.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/23/its-early-days-but-if.html</link>
      <pubDate>Thu, 23 Jul 2026 10:53:50 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/23/its-early-days-but-if.html</guid>
      <description>&lt;p&gt;It&amp;rsquo;s early days, but if federated photosharing sites like Grain can gain enough critical mass I think all our timelines and feed content consumption would be better off. I look forward to the day that Meta products and most of the other social media platforms of its era are analogous to the supermarket checkout tabloid in terms of its presence in my media ecosystem: an amusing and occasional distraction I notice in passing and for which I have no necessity to perpetuate by purchasing.&lt;/p&gt;
&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;Manton Reece&#34; data-avatar=&#34;https://micro.blog/manton/avatar.jpg&#34; cite=&#34;https://www.manton.org/2026/07/23/inspired-by-this-blog-post.html&#34;&gt;
&lt;p&gt;Inspired by &lt;a href=&#34;https://pxlnv.com/linklog/grain-social/&#34;&gt;this blog post from Nick Heer&lt;/a&gt;, I took a closer look at Grain and also Flashes. I’ve prototyped support for Grain in Micro.blog and will ship it today. Flashes mostly piggybacks on existing Bluesky lexicon, so doesn’t really need special support from what I can tell.&lt;/p&gt;
&lt;footer&gt;Manton Reece &lt;cite&gt;&lt;a href=&#34;https://www.manton.org/2026/07/23/inspired-by-this-blog-post.html&#34; class=&#34;u-in-reply-to&#34;&gt;https://www.manton.org/2026/07/23/inspired-by-this-blog-post.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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/20/building-on-some-previous-posts.html</link>
      <pubDate>Mon, 20 Jul 2026 13:58:27 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/20/building-on-some-previous-posts.html</guid>
      <description>&lt;p&gt;Building on some &lt;a href=&#34;https://nic.babarskis.blog/2026/07/19/a-swiss-cheese-argument-for.html&#34;&gt;previous&lt;/a&gt; &lt;a href=&#34;https://nic.babarskis.blog/2026/07/17/despite-major-decentralization-election-integrity.html&#34;&gt;posts&lt;/a&gt; about election integrity, if you&amp;rsquo;re in the Mid-Michigan region you can come hear the League of Women Voters speak on the topic at the East Lansing Public Library on July 22.&lt;/p&gt;
&lt;p&gt;![A newspaper advertisement from the Lansing City Pulse detailing summer events at the East Lansing Public Library. The flyer features an American flag banner at the top left and a commemorative logo in the bottom right that reads 1776-2026 AMERICA 250 at ELPL.&lt;/p&gt;
&lt;p&gt;The complete text reads:
Celebrate America 250 at East Lansing Public Library!
BINGO Reading Challenge
Read a book that matches the prompts. Get one BINGO to earn a prize; complete the whole board to be entered into a grand prize drawing!&lt;/p&gt;
&lt;p&gt;Events
Nature Book Club - Beaver Land
Thursday, July 16, 6-7pm: Look at how one weird rodent has shaped America.&lt;/p&gt;
&lt;p&gt;How Michigan Election Processes Protect Democracy
Wednesday, July 22, 7-8pm: Learn about elections and democracy with the League of Women Voters and the East Lansing City Clerk!&lt;/p&gt;
&lt;p&gt;All events free of cost and open to the public!
More info at elpl.org/America-250](&lt;a href=&#34;https://nic.babarskis.blog/uploads/2026/ea42929bca.jpg&#34;&gt;https://nic.babarskis.blog/uploads/2026/ea42929bca.jpg&lt;/a&gt;)&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/20/a-quick-review-of-my.html</link>
      <pubDate>Mon, 20 Jul 2026 11:45:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/20/a-quick-review-of-my.html</guid>
      <description>&lt;p&gt;A quick review of my feeds makes it apparent that a new Marvel Avengers trailer has dropped. Any time I see any hype around Doomsday it has me immediately thinking about Film Joy&amp;rsquo;s &amp;lsquo;Fall of the House of Marvel&amp;rsquo; video from a while back:&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=oizLp4D7C3g&#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;oizLp4D7C3g&#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/oizLp4D7C3g/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=oizLp4D7C3g&#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>
    </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>
    </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>
    </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>
    </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>
    </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>
    </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>
    </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>
    </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>
    </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>
    </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>
    </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>
    </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>
    </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>
    </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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/06/why-should-athletics-be-the.html</link>
      <pubDate>Mon, 06 Jul 2026 17:15:17 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/06/why-should-athletics-be-the.html</guid>
      <description>&lt;p&gt;Why should athletics be the only department at an institution &lt;a href=&#34;https://statenews.com/article/2026/07/kevin-guskiewicz-to-stay-at-msu&#34;&gt;subjected to transfer portal shenanigans?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/1575901e64.jpg&#34; alt=&#34;A screenshot of a news article from July 6, 2026, by Julia Roeder, titled &amp;ldquo;Kevin Guskiewicz to stay at MSU.&amp;rdquo; The accompanying photograph shows Michigan State University President Kevin Guskiewicz smiling and waving to a crowd inside an indoor athletic arena. He is wearing a white quarter-zip pullover featuring a green Spartan logo on the chest and an event credential lanyard around his neck. In the background, spectators look on from green stadium seating behind a railing featuring a &amp;ldquo;MICHIGAN STATE GYMNASTICS&amp;rdquo; sign.&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/04/the-white-nationalist-org-patriot.html</link>
      <pubDate>Sat, 04 Jul 2026 15:52:11 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/04/the-white-nationalist-org-patriot.html</guid>
      <description>&lt;p&gt;DC as a microcosm of our national moment:&lt;/p&gt;
&lt;p&gt;The &lt;a href=&#34;https://en.wikipedia.org/wiki/Patriot_Front&#34;&gt;white nationalist org Patriot Front&lt;/a&gt; &lt;a href=&#34;https://www.reuters.com/world/us/trump-mark-us-250th-anniversary-with-campaign-style-rally-national-mall-2026-07-04/#:~:text=Groups,trains&#34;&gt;marched in DC on July 4, 2026&lt;/a&gt; before the evening&amp;rsquo;s ostensibly bipartisan festivities. A &lt;a href=&#34;https://bsky.app/profile/sethcotlar.bsky.social/post/3mptaj3kvyc2v&#34;&gt;more historically informed observers&lt;/a&gt; pointed out that the KKK held a similar march in 1926. Elsewhere, &lt;a href=&#34;https://bsky.app/profile/aletakesphotos.bsky.social/post/3mptrixioyc2p&#34;&gt;a massive copy of the Constitution&amp;rsquo;s preamble was carried through the streets.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Our &lt;a href=&#34;https://en.wikipedia.org/wiki/Gettysburg_Address#:~:text=that%20we%20here%20highly%20resolve%20that%20these%20dead%20shall%20not%20have%20died%20in%20vain%E2%80%94that%20this%20nation%2C%20under%20God%2C%20shall%20have%20a%20new%20birth%20of%20freedom&#34;&gt;new birth of freedom&lt;/a&gt; remains an ongoing difficult labor and delivery.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/screenshot-2026-07-04-at-2.23.23pm.png&#34; alt=&#34;A screenshot of a social media post from July 4, 2026, drawing a parallel between past and present extremist marches in Washington, D.C. The top portion is captioned &amp;ldquo;100 years ago.&amp;rdquo; and features a historical black-and-white photograph of a massive Ku Klux Klan march down a wide avenue with the U.S. Capitol dome in the background. The bottom portion is a quote-posted video showing a contemporary group, the Patriot Front, marching in uniform blue shirts, khaki pants, and white face masks while carrying American flags outside Union Station, with a police SUV in the foreground.&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/screenshot-2026-07-04-at-4.08.31pm.png&#34; alt=&#34;A screenshot of a social media post from July 4, 2026, by Alejandro Alvarez. The text states that a coalition of anti-Trump protesters marched in Washington, D.C., with a 700-foot banner featuring the Constitution’s preamble and thousands of signatures. The video still shows a high-angle view of a city street leading toward the U.S. Capitol dome in the background. Protesters are holding the edges of an enormous, parchment-colored fabric banner, with the front section stylized to read &amp;ldquo;We the People&amp;rdquo; in large cursive script and the rest of the long trailing fabric covered in handwritten messages and signatures.&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/04/from-public-domain-review-for.html</link>
      <pubDate>Sat, 04 Jul 2026 10:24:26 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/04/from-public-domain-review-for.html</guid>
      <description>&lt;p&gt;🇺🇸 From Public Domain Review for today:&lt;/p&gt;
&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;The Public Domain Review&#34; data-avatar=&#34;https://micro.blog/publicdomainrev@mastodon.social/avatar.jpg&#34; cite=&#34;https://mastodon.social/@publicdomainrev/116862128865126340&#34;&gt;
&lt;p&gt;Read the first edition pamphlet of Frederick Douglass&#39; famous 1852 “What to the Slave Is the 4th of July?” speech. After he finished speaking there was “a universal burst of applause” and 700 copies of the pamphlet were subscribed to on the spot: &lt;a href=&#34;https://publicdomainreview.org/collection/frederick-douglass-fourth-july-speech&#34;&gt;&lt;span class=&#34;invisible&#34;&gt;https://&lt;/span&gt;&lt;span class=&#34;ellipsis&#34;&gt;publicdomainreview.org/collect&lt;/span&gt;&lt;span class=&#34;invisible&#34;&gt;ion/frederick-douglass-fourth-july-speech&lt;/span&gt;&lt;/a&gt; &lt;a href=&#34;https://mastodon.social/tags/July4th&#34; class=&#34;mention hashtag&#34;&gt;#&lt;span&gt;July4th&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.micro.blog/photos/1000x/https%3A%2F%2Ffiles.mastodon.social%2Fmedia_attachments%2Ffiles%2F116%2F862%2F128%2F831%2F038%2F514%2Foriginal%2Fab78ed4fcb8daf5c.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&lt;/p&gt;
&lt;footer&gt;The Public Domain Review &lt;cite&gt;&lt;a href=&#34;https://mastodon.social/@publicdomainrev/116862128865126340&#34; class=&#34;u-in-reply-to&#34;&gt;https://mastodon.social/@publicdomainrev/116862128865126340&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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/07/04/we-mutually-pledge-to-each.html</link>
      <pubDate>Sat, 04 Jul 2026 10:18:48 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/07/04/we-mutually-pledge-to-each.html</guid>
      <description>&lt;p&gt;🇺🇸 &lt;a href=&#34;https://www.archives.gov/founding-docs/declaration-transcript#:~:text=we%20mutually%20pledge%20to%20each%20other%20our%20Lives%2C%20our%20Fortunes%20and%20our%20sacred%20Honor&#34;&gt;&#39;&amp;hellip;we mutually pledge to each other our Lives, our Fortunes and our sacred Honor.&#39;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.archives.gov/files/founding-docs/declaration-of-independence-front-630.jpg&#34; alt=&#34;The original parchment document of the United States Declaration of Independence from 1776. The handwritten cursive text is visibly faded on the aged, yellowed, and cracked parchment. At the bottom center, John Hancock&amp;rsquo;s large, bold signature is prominently displayed, surrounded by rows of smaller signatures from the other 55 delegates.&#34;&gt;&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=rFY-0-o8K38&#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;rFY-0-o8K38&#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/rFY-0-o8K38/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=rFY-0-o8K38&#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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/06/29/matthew-taylor-one-of-my.html</link>
      <pubDate>Mon, 29 Jun 2026 21:37:57 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/06/29/matthew-taylor-one-of-my.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://axismundinetwork.substack.com/p/the-surprising-way-a-small-conservative&#34;&gt;Matthew Taylor: &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;One of my favorite observations about tradition comes from G. K. Chesterton, who famously wrote that tradition is “the democracy of the dead.”&lt;/p&gt;
&lt;p&gt;Tradition gives our ancestors a vote.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/06/27/erin-bartels-all-i-want.html</link>
      <pubDate>Sat, 27 Jun 2026 10:59:03 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/06/27/erin-bartels-all-i-want.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://erinbartels.substack.com/p/this-is-not-freedom&#34;&gt;Erin Bartels:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;All I want is to be left behind in the AI revolution. The choices I’ve made about how I create and how I conduct my work were made specifically so that I &lt;em&gt;would&lt;/em&gt; be left behind, part of a faithful remnant of people who see, value, and promote the singular experience of humanness.&lt;/p&gt;
&lt;p&gt;But AI has not left me behind as promised.&lt;/p&gt;
&lt;p&gt;The belief that I could decide not to use it and then I wouldn’t have to deal with it was naïve. It’s not a product on a shelf I can bypass because I’m not interested in it. It’s showing up everywhere in everything. (And it almost always makes those things worse.)&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/06/26/reporting-from-venezuela-rescue-teams.html</link>
      <pubDate>Fri, 26 Jun 2026 20:03:18 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/06/26/reporting-from-venezuela-rescue-teams.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.nytimes.com/2026/06/26/world/americas/venezuela-earthquakes-rescues.html?unlocked_article_code=1.tVA.IgjO.t85zvD9qacPq&amp;amp;smid=url-share&#34;&gt;Reporting from Venezuela:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Rescue teams from at least 10 countries were racing to help Venezuela in its search-and-recovery efforts after devastating twin earthquakes on Wednesday, but they faced stark hurdles even reaching the disaster zone.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/06/25/ryan-broderick-on-knicks-internet.html</link>
      <pubDate>Thu, 25 Jun 2026 10:26:56 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/06/25/ryan-broderick-on-knicks-internet.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.garbageday.email/p/the-clear-channel-internet&#34;&gt;Ryan Broderick on Knicks internet hype: &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;All of digital video — and by extension, all of social media — is poisoned. There’s been so much written about the Dead Internet theory lately, but that’s not what this is. It’s closer to the Clear Channel internet, where everything has been so thoroughly corporatized that nothing ends up in our feeds by accident anymore. At least, not when it comes to the truly viral content. It’s either being directly bankrolled by a company like Kalshi or downstream of some weird payola agreement a bunch of influencers made with random clippers on Discord. But unlike TV or the radio, our social media feeds continue to look like — and market themselves as if — they’re still powered by real people.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Shout out to the indie web for &lt;a href=&#34;https://blog.ayjay.org/pocket-full-of-kryptonite-sunshine/&#34;&gt;keeping it human around here. &lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>I Don&#39;t Think Upholding Pluralism First Requires Winning the Culture Wars</title>
      <link>https://nic.babarskis.blog/2026/06/23/i-dont-think-upholding-pluralism.html</link>
      <pubDate>Tue, 23 Jun 2026 12:49:53 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/06/23/i-dont-think-upholding-pluralism.html</guid>
      <description>&lt;img src=&#34;https://cdn.micro.blog/books/9780802805393/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 encountered a headline recently that &lt;a href=&#34;https://www.christianitytoday.com/2026/06/bethany-christian-no-longer-allows-lgbtq-parents-foster-adopt/?utm_medium=widgetsocial&#34;&gt;Bethany Christian Services will update their protocols and policies to no longer allow LGBTQ+ couples to foster or adopt.&lt;/a&gt; This is a reversal of a &lt;a href=&#34;https://www.christianitytoday.com/2021/03/bethany-christian-services-adoption-foster-lgbt-same-sex/?utm_medium=widgetsocial&#34;&gt;policy and protocol change they implemented back in 2021.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A couple of quick observations and some nuanced thoughts I think are worth highlighting.&lt;/p&gt;
&lt;h3 id=&#34;1-even-after-their-policy-change-in-2021-bethany-was-never-a-truly-affirming-organization&#34;&gt;1) Even after their policy change in 2021 Bethany was never a truly &lt;em&gt;affirming&lt;/em&gt; organization:&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://www.christianitytoday.com/2021/03/bethany-christian-services-adoption-foster-lgbt-same-sex/#:~:text=Bethany%20no%20longer%20includes%20in%20its%20position%20statement%20a%20line%20about%20upholding%20God%E2%80%99s%20design%20for%20marriage%20as%20between%20one%20man%20and%20one%20woman%2C%20but%20it%20doesn%E2%80%99t%20come%20out%20and%20affirm%20same%2Dsex%20marriage%20either&#34;&gt;Bethany no longer includes in its position statement a line about upholding God’s design for marriage as between one man and one woman, but it doesn’t come out and affirm same-sex marriage either.&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://www.nytimes.com/2021/03/01/us/bethany-adoption-agency-lgbtq.html?unlocked_article_code=1.sVA._sqO.IOkAKr45CLAS&amp;amp;smid=url-share&#34;&gt;Reporting from the NYTimes back in 2021&lt;/a&gt; dedicated the top half of their coverage to discussing religious exemptions pressures, particularly in Blue/progressive municipalities as a part of the calculus for a more open stance on LGBTQ+ fostering and adoption BUT I was always intrigued by the second half of their coverage that dug deeper into some of the Protestant organizational and cultural fault-lines the decision revealed. Bethany gave a decent amount of autonomy to its local boards/governance structures and their 2021 policy change was meant to lean into the diverse perspectives on this issue you would naturally find for an organization of their breadth and depth.&lt;/p&gt;
&lt;h3 id=&#34;2-the-loose-affiliations-of-evangelical-churches-rooted-partly-in-doctrine-and-partly-in-organizational-networks-or-cooperative-affiliations-combined-with-the-additional-lack-of-a-true-magisterium-makes-evangelical-organizations-uniquely-exposed-to-the-shifting-front-lines-of-culture-warring&#34;&gt;2) The loose affiliations of Evangelical churches rooted partly in doctrine, and partly in organizational networks or cooperative affiliations combined with the additional lack of a true magisterium makes evangelical organizations uniquely exposed to the shifting front lines of culture warring.&lt;/h3&gt;
&lt;p&gt;It&amp;rsquo;s worth noting that there are individuals, congregations, and whole denominations that consider themselves BOTH &lt;em&gt;affirming&lt;/em&gt; of LGBTQ+ identities (with a whole spectrum of positions on how to define that term) AND &lt;em&gt;Christian&lt;/em&gt;. Of course, particularly in evangelical circles, the immediate next question after declaring one&amp;rsquo;s position on sexuality in conjunction with &lt;em&gt;Christian&lt;/em&gt; bona fides is to then start a whole line of debate about who truly gets to define themselves as &lt;em&gt;Christian&lt;/em&gt;. Also, the evangelical movement&amp;rsquo;s &lt;a href=&#34;https://micro.blog/books/9780802805393&#34;&gt;braided relationship to fundamentalism&lt;/a&gt; means that the borders and boundaries of evangelical social/civic engagement has a proclivity to define itself by who must necessarily be excluded from collaboration rather than by defining itself by the breadth of its ecumenism (&lt;a href=&#34;https://www.wheaton.edu/academics/academic-centers/the-wheaton-center-for-early-christian-studies/lectures-and-conferences/papatheofanis-lectures&#34;&gt;whether within Christian traditions,&lt;/a&gt; &lt;a href=&#34;https://www.acommonword.com/wheaton-college-leadership-retracts-support-for-common-word-response/&#34;&gt;other faiths,&lt;/a&gt; or those with no faith at all).&lt;/p&gt;
&lt;h3 id=&#34;3-culture-warring-makes-organizations-choose-short-sighted-decision-making-over-long-term-goal-achievement&#34;&gt;3) Culture warring makes organizations choose short-sighted decision making over long term goal achievement.&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://thinking-about-colleges-and-universities.ghost.io/culture-wars-lead-to-short-sighted-thinking-title-ix-edition/&#34;&gt;I&amp;rsquo;ve written about this elsewhere.&lt;/a&gt; What may look like prudent decisions to protect the integrity of an organization in the face of an immediate crisis or area of internal strife might actually be paving a pathway to long term decline. Whether it&amp;rsquo;s a shooting or a culture war, all warfare involves a large dose of fluctuating vision-scapes and unpredictability. The institutional capacity and relationships one severs today may include vital connections or social capital that could become invaluable tomorrow.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h3 id=&#34;4-this-whole-affair-adds-to-a-pile-of-evidence-that-in-the-words-of-skye-jethani2-culture-warring-christianity-could-just-as-accurately-be-labeled-crotch-christianity&#34;&gt;4) This whole affair adds to a pile of evidence that, in the words of Skye Jethani,&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; &amp;ldquo;Culture Warring Christianity&amp;rdquo; could just as accurately be labeled &amp;ldquo;Crotch Christianity.&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;Note the substance of Bethany&amp;rsquo;s governance changes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://www.christianitytoday.com/2026/06/bethany-christian-no-longer-allows-lgbtq-parents-foster-adopt/?utm_medium=email&amp;amp;_hsmi=424275030&amp;amp;utm_content=424275030&amp;amp;utm_source=hs_email#:~:text=In,woman%2E%E2%80%9D&#34;&gt;In a press release posted Wednesday, the Michigan-based agency announced that its board voted to “clarify and reinforce” its Christian faith commitments. Those changes require staff and board members to “personally agree and adhere to” a belief statement that includes the Apostles’ Creed, recognizes the authority of the Christian Bible, and affirms the image of God in every person. The belief statement also defines God’s design for marriage as “a covenant between one man and one woman.”&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;One can affirm the Apostle&amp;rsquo;s and Nicene Creeds, or biblical authority (though possibly not inerrancy) and take radically divergent positions on human sexuality, gender roles, church ecclesiastical structure and so-forth. In the U.S. right now it feels to me like the borders of what counts you as inside or outside the circle of the &amp;ldquo;Evangelical&amp;rdquo; movement are your stances on sex and gender. That&amp;rsquo;s a shame, because 1) &lt;a href=&#34;https://micro.blog/books/9780802881755?title=The+Other+Evangelicals+A+Story+of+Liberal%2C+Black%2C+Progressive%2C+Feminist%2C+and+Gay+Christians--And+the+Movement+That+Pushed+Them+Out&amp;amp;author=Isaac+B.+Sharp&amp;amp;cover_url=https%3A%2F%2Fimages.isbndb.com%2Fcovers%2F23458883482473.jpg&amp;amp;cover_id=277012&#34;&gt;It wasn&amp;rsquo;t&lt;/a&gt; always &lt;a href=&#34;https://pages.christianitytoday.com/black-evangelicals-documentary-lp&#34;&gt;like that&lt;/a&gt; and 2) I think evangelical churches and organizations have an important role to play in shoring up the &lt;a href=&#34;https://brightlinewatch.org/erosion-of-the-rule-of-law-in-trumps-second-term/&#34;&gt;wobbly legs of our multicultural/multiethnic pluralistic democracy.&lt;/a&gt; I&amp;rsquo;ve don&amp;rsquo;t think the answer for how best to do that is to take a &lt;em&gt;&amp;ldquo;everyone gets their own corner of the sandbox and you aren&amp;rsquo;t welcome in my corner&amp;rdquo;&lt;/em&gt; approach to civic engagement. We&amp;rsquo;ve got to figure out how to live together and find excuses to build stuff &lt;strong&gt;TOGETHER&lt;/strong&gt;. To extend my analogy, Bethany may have a constitutional right to take their toys to their corner in the same way that a socially progressive non-profit has a right to select its staff and volunteers with whatever standard it deems pertinent. But I really wish Bethany had chosen to keep working on the shared castle in the middle of the sandbox.&lt;/p&gt;
&lt;section class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;I&amp;rsquo;ve set aside any consideration of &amp;ldquo;religious liberty&amp;rdquo; concerns wrapped up in this whole discussion about Bethany. Frankly, this Supreme Court is one of the most magnanimous towards faith-based institutions EVER, and apart from a sequence of untimely deaths or radical court-packing I doubt that will change. Legal or constitutional principles open or foreclose avenues for organizational behavior, they shouldn&amp;rsquo;t necessarily define how organizations make decisions. One could argue, &amp;ldquo;organization X should take action A because it will shore up our religious freedom precedents;&amp;rdquo; but I would prefer an organization is making decisions in alignment with Christian empathy, generosity, love, and mercy–constitutional considerations be damned.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;For Skye&amp;rsquo;s definition go to 14:04 here: &lt;a href=&#34;https://holypost.substack.com/p/crotch-christianity&#34;&gt;https://holypost.substack.com/p/crotch-christianity&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/06/22/sara-hendren-ablerism-contemporary-bioethical.html</link>
      <pubDate>Mon, 22 Jun 2026 15:01:58 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/06/22/sara-hendren-ablerism-contemporary-bioethical.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://sarahendren.substack.com/p/catechesis-by-camera&#34;&gt;Sara Hendren: &lt;/a&gt;  ( &lt;a href=&#34;https://micro.blog/ablerism&#34;&gt;@ablerism&lt;/a&gt;  )&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Contemporary bioethical practice seeks a prudential treatment of &lt;strong&gt;how&lt;/strong&gt; questions, but it often leaves aside most questions about &lt;strong&gt;why&lt;/strong&gt;. Evans says this change can be described as a “thinning” of the entire structure of bioethical discourse. For the matters in our lives that demand the most informed analytical precision and vivid philosophical imagination — demanding, that is, a thick rationality — we have the flimsiest, floppiest of discursive planes.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/06/20/steve-rosenberg-reporting-from-moscow.html</link>
      <pubDate>Sat, 20 Jun 2026 10:42:28 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/06/20/steve-rosenberg-reporting-from-moscow.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.bbc.com/news/articles/cp3xqkxp3x5o&#34;&gt;Steve Rosenberg reporting from Moscow:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But on Thursday, President Vladimir Putin said nothing about the drone assault. The news bulletins on Russian TV channels barely mentioned it.&lt;/p&gt;
&lt;p&gt;When Russian newspapers reported the story the following day, I detected a common thread in their coverage: a coordinated message, perhaps, for the domestic audience.&lt;/p&gt;
&lt;p&gt;It can be summed up as this: &amp;ldquo;However bad it is for us, Ukraine&amp;rsquo;s suffering more&amp;rdquo;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://ichef.bbci.co.uk/news/1536/cpsprodpb/e66a/live/6e4dd6a0-6c04-11f1-8e1d-bbbb1017d210.jpg.webp&#34; alt=&#34;A photograph showing a person wearing a dark blue hooded jacket and jeans, walking a small, fluffy orange dog on a leash along a green, grassy path. In the midground, several tall metal electrical transmission towers stand in front of a line of green trees. Looming behind the trees and dominating the background sky is a massive, thick plume of dark grey smoke billowing from a large, unseen fire or explosion.&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/05/31/judging-from-the-headline-and.html</link>
      <pubDate>Sun, 31 May 2026 07:42:32 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/05/31/judging-from-the-headline-and.html</guid>
      <description>&lt;p&gt;Judging from the headline and thumbnail of this &lt;a href=&#34;https://bsky.app/profile/houstonchronicle.com/post/3mmwbivhqkj2k&#34;&gt;endorsement editorial post&lt;/a&gt; the &lt;a href=&#34;http://houstonchronicle.com&#34;&gt;@houstonchronicle.com&lt;/a&gt; sounds like &lt;a href=&#34;https://www.sbc.net/resource-library/resolutions/resolution-on-moral-character-of-public-officials/&#34;&gt;Southern Baptists in 1998&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/05/28/been-sitting-with-the-news.html</link>
      <pubDate>Thu, 28 May 2026 09:30:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/05/28/been-sitting-with-the-news.html</guid>
      <description>&lt;p&gt;Been sitting with the &lt;a href=&#34;https://www.polygon.com/destiny-2-ending-live-service/&#34;&gt;news that Destiny is going into the gamer vault&lt;/a&gt; with no firm plans for a future release. It&amp;rsquo;s got me reminiscing on &lt;a href=&#34;https://www.youtube.com/watch?v=VFh5ArG46_M&#34;&gt;The Taken King,&lt;/a&gt; and all the evenings I remember fondly running raids or PVP with my friends.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/05/26/gee-i-wonder-why-in.html</link>
      <pubDate>Tue, 26 May 2026 14:22:07 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/05/26/gee-i-wonder-why-in.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://davekarpf.beehiiv.com/p/bullet-points-how-government-ought-to-work&#34;&gt;Gee, I wonder why, in the U.S., it feels so particularly difficult to realize change in our current political system:&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,quality=80,format=auto,onerror=redirect/uploads/asset/file/f6f2a565-9aaa-4649-9e63-d439779691ab/unnamed.png&#34; alt=&#34;A bar chart titled &amp;ldquo;Billionaire contributions as % of total contributions,&amp;rdquo; tracking data from the year 2000 to 2024. The vertical axis ranges from 0 to 18 percent, and the horizontal axis shows even-numbered election years. From 2000 to 2010, billionaire contributions remain flat and low, hovering between 0.3% and 0.9%. A vertical red dashed line labeled &amp;ldquo;Citizens United&amp;rdquo; splits the chart between 2010 and 2012. Following this line, the bars climb sharply: 3.7% in 2012, 10.5% in 2016, and peaking at 16.5% in 2024.&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/05/22/katelyn-jetelina-ebola-is-often.html</link>
      <pubDate>Fri, 22 May 2026 07:08:55 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/05/22/katelyn-jetelina-ebola-is-often.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://yourlocalepidemiologist.substack.com/p/ebola-the-disease-of-compassion-and&#34;&gt;Emily Smith:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ebola is often called the disease of compassion by experts like Dr. Craig Spencer. It spreads through direct contact with bodily fluids, which means it spreads when a family member tends to the sick, when a nurse stays at the bedside, or when a community gathers to bury their dead. In other words, it’s spread through acts of care.&lt;/p&gt;
&lt;p&gt;But the phrase has been sitting differently lately because this outbreak is spreading not only through compassion but also through the global withdrawal of it.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/05/19/today-marks-the-death-anniversary.html</link>
      <pubDate>Tue, 19 May 2026 15:26:14 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/05/19/today-marks-the-death-anniversary.html</guid>
      <description>&lt;p&gt;Today marks the death anniversary of &lt;a href=&#34;https://en.wikipedia.org/wiki/Stanislav_Petrov&#34;&gt;Stanislov Petrov&lt;/a&gt; a man who disobeyed orders and established protocol to ensure the world didn&amp;rsquo;t end in nuclear fire. As someone who has spent most of my career working for large bureaucratic institutions I use this anniversary to reflect on his courage and remind myself that building and maintaining esteem within the bureaucracy should never come at the expense of extinguishing my or others humanity.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/Stanislaw-jewgrafowitsch-petrow-2016.jpg/500px-Stanislaw-jewgrafowitsch-petrow-2016.jpg?utm_source=en.wikipedia.org&amp;amp;utm_campaign=parser&amp;amp;utm_content=thumbnail&#34; alt=&#34;A close-up portrait of an elderly Stanislav Petrov looking directly at the camera. He has light skin, thin grey hair, blue eyes, and a prominent mustache, with a calm, neutral expression. He is wearing a light-colored, plaid short-sleeve polo shirt. In the upper-right background, a Russian wall calendar showing the month of June (&amp;ldquo;ИЮНЬ&amp;rdquo;) hangs against textured yellow wallpaper.&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/05/19/dave-karpf-if-the-only.html</link>
      <pubDate>Tue, 19 May 2026 12:17:21 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/05/19/dave-karpf-if-the-only.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://davekarpf.beehiiv.com/p/bullet-points-how-government-ought-to-work&#34;&gt;Dave Karpf: &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If the only way to make money in comedy is to feed the algorithm, while the companies that control the algorithm scoop out most of the money, and the people who run those companies keep modifying the algorithm to cater to their own whims, then we will be a society where comedy tends toward sucking.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Same principle applies across all sorts of culture-making endeavors, and increasingly any public good that can be commodified for shareholder profit.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/05/12/apple-just-settled-a-false.html</link>
      <pubDate>Tue, 12 May 2026 11:42:33 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/05/12/apple-just-settled-a-false.html</guid>
      <description>&lt;p&gt;Apple just &lt;a href=&#34;https://www.theverge.com/tech/924706/apple-iphone-siri-intelligence-class-action-lawsuit-settlement&#34;&gt;settled a false marketing case&lt;/a&gt; involving Apple Intelligence and I don’t think there is a direct correlation, but I find it noteworthy that the two ads apple has recently released featuring a &lt;a href=&#34;https://youtu.be/qUfVSh4eaDE?si=71YXZH50nTrhi495&#34;&gt;K-12 classroom&lt;/a&gt; and &lt;a href=&#34;https://youtu.be/77uoRieSk8s?si=cZPJlEZNQIPZfzw4&#34;&gt;college students&lt;/a&gt; don’t have a single whiff of Generative AI in them.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/05/04/nicholas-carr-reviewing-a-book.html</link>
      <pubDate>Mon, 04 May 2026 12:27:01 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/05/04/nicholas-carr-reviewing-a-book.html</guid>
      <description>&lt;p&gt;Nicholas Carr, reviewing a book by one of the world-wide-web’s earliest architects, &lt;a href=&#34;https://www.newcartographies.com/p/what-hath-tim-berners-lee-wrought&#34;&gt;encourages the reader to touch some grass: &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Not all technologies improve people’s lives. Just as Berners-Lee’s now omnipresent web shapes industries and markets, it shapes its users’ thoughts, perceptions, and relationships. As we’re slowly coming to understand, human beings did not evolve to be virtual creatures in a computer-generated world. The internet operates at a scale and speed that conflict with the brain’s deliberate pace of thought, the intellect’s slow accumulation of knowledge, and the psyche’s limited capacity for stimulation and social exchange. To be able to do anything and be anywhere at any moment seems liberating for a while, but it ends in a blurred and chaotic existence, the physical world’s familiar, steadying divisions of space and time dissolving in endless torrents of data. It’s an existence that may be vivifying to certain software programmers…but for the rest of us, the virtual world’s hyperkinetic superabundance ends up feeling like emptiness, a very, very busy void. We may be drawn to that void by our native attraction to information, novelty, and spectacle, but we’ll never make a home there.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/04/29/westenberg-calls-it-withdrawal-but.html</link>
      <pubDate>Wed, 29 Apr 2026 09:40:25 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/04/29/westenberg-calls-it-withdrawal-but.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.joanwestenberg.com/on-wintering/&#34;&gt;Westenberg calls it &amp;ldquo;withdrawal&amp;rdquo;&lt;/a&gt; but you could also label it sabbath:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Any culture that systematically punishes withdrawal is going to lose its most concentrated thinkers to either burnout or invisibility. The modern knowledge economy, with its ambient pressure to post, ship, and stay in the conversation, is a machine for producing exactly that loss. The people we&amp;rsquo;ll wish we had in 15 years are, right now, being shamed into producing slop they don&amp;rsquo;t believe in, because the alternative is to drop out, and dropping out reads as failure.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/04/28/heres-a-nice-little-primer.html</link>
      <pubDate>Tue, 28 Apr 2026 07:22:20 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/04/28/heres-a-nice-little-primer.html</guid>
      <description>&lt;p&gt;Here’s a &lt;a href=&#34;https://thepreamble.com/p/cutting-down-the-forest-service&#34;&gt;nice little primer on the history and scope of the U.S. Forest Service.&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/04/20/what-are-we-doing-whats.html</link>
      <pubDate>Mon, 20 Apr 2026 14:57:26 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/04/20/what-are-we-doing-whats.html</guid>
      <description>&lt;p&gt;What are we doing? What&amp;rsquo;s going on?&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/116437817750272520&#34;&gt;&lt;p&gt;ghoulish&lt;/p&gt;&lt;p&gt;&lt;img src=&#34;https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fmedia.hachyderm.io%2Fmedia_attachments%2Ffiles%2F116%2F437%2F815%2F022%2F691%2F817%2Foriginal%2Fa93db09dd09301cd.png&#34; alt=&#34;A Forbes article about a father who killed eight children, with an embedded prediction widget inviting people to speculate on whether &#34; loading=&#34;lazy&#34;&gt;&lt;/p&gt;&lt;footer&gt;Molly White &lt;cite&gt;&lt;a href=&#34;https://hachyderm.io/@molly0xfff/116437817750272520&#34; class=&#34;u-in-reply-to&#34;&gt;https://hachyderm.io/@molly0xfff/116437817750272520&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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/04/19/a-thesis-for-why-the.html</link>
      <pubDate>Sun, 19 Apr 2026 09:51:43 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/04/19/a-thesis-for-why-the.html</guid>
      <description>&lt;p&gt;A thesis for why the pathway to a permanent ceasefire with Iran remains elusive, &lt;a href=&#34;https://escalationtrap.substack.com/p/why-the-ceasefire-keeps-failing&#34;&gt;through the framework of zero-sum logic: &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What follows is not necessarily continuous war, but recurrent escalation: blockade followed by countermeasures, interdiction followed by retaliation, each step justified by the last and narrowing the space for restraint. External actors may push for de-escalation, and markets may demand stability, but those pressures cannot override the underlying structure—the struggle over relative power&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/04/17/our-minds-cant-sit-still.html</link>
      <pubDate>Fri, 17 Apr 2026 16:31:52 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/04/17/our-minds-cant-sit-still.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://griffingooch.substack.com/p/our-minds-cant-sit-still-anymore&#34;&gt;Our Minds Can&amp;rsquo;t Sit Still Anymore:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When a user hears silence, they’re reminded for a split second that they’re a person staring at a phone.&lt;/p&gt;
&lt;p&gt;In other words, those gaps and spaces when our content isn’t stimulating our brain are precisely where we remember that we’re human beings.&lt;/p&gt;
&lt;p&gt;And for this exact same reason, I’d argue that we literally need those moments. They teach us that we’re not just brains on a stick amusing, scrolling, and vegging ourselves to death. Silence—or just the lack of stimulation—reminds us that we’re embodied souls aching for something deeper than dopamine.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/04/15/i-generally-believe-that-the.html</link>
      <pubDate>Wed, 15 Apr 2026 16:13:44 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/04/15/i-generally-believe-that-the.html</guid>
      <description>&lt;p&gt;I generally believe that the fewer tech devices in a classroom the better (except a raggedy desktop in the corner&amp;hellip;preferably next to an old transparency projector, and a TV strapped to a wheeled stand)–but its notable that there is NO GENERATIVE AI &lt;a href=&#34;https://youtu.be/qUfVSh4eaDE?si=tbs-s-b8nUpRcK35&#34;&gt;in this promo.&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Back to Mac(book)</title>
      <link>https://nic.babarskis.blog/2026/04/10/back-to-macbook.html</link>
      <pubDate>Fri, 10 Apr 2026 00:29:09 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/04/10/back-to-macbook.html</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/593ab039-8cbd-4501-be73-14ec326e9a42.jpg&#34; alt=&#34;A picture of a new citrus Macbook Neo sitting on a white dining room table&#34;&gt;&lt;/p&gt;
&lt;p&gt;I traded in my M1 iPad Air for a MacBook Neo. It’s the first MacBook I’ve owned since December of 2018 (…which on short reflection is a little over two laps around the sun from being 10 years ago…yikes.). It feels good to be back.&lt;/p&gt;
&lt;h2 id=&#34;a-20-year-relationship&#34;&gt;A 20 Year Relationship&lt;/h2&gt;
&lt;p&gt;The first PC that I purchased with my own money was a [white polycarbonate MacBook](&lt;a href=&#34;https://en.wikipedia.org/wiki/MacBook_(2006%E2%80%932012)&#34;&gt;https://en.wikipedia.org/wiki/MacBook_(2006%E2%80%932012)&lt;/a&gt; procured in 2006 with the scrounged-together proceeds of high school graduation gifts, and an office supply warehouse job I’d held the summer after the preceding junior year. Macs have always had their maddening quirks; I still remember purchasing the tape that would help prevent skin oils from staining the palm rests yellow.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/5b6a96ce-82d4-4189-992b-87b9ac69f7ba.jpg&#34; alt=&#34;Auto-generated description: A workspace featuring a desktop computer, a laptop, several open and closed books, a tumbler, and scattered items.&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It&amp;rsquo;s giving early 2000s vibes&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It was a good machine that served me well. I recall purchasing additional RAM and a hybrid SSD from OWC to squeeze an extra year or 2 of life out of it. I loved that MacBook; it accompanied me through some of the most significant transitions of my young adulthood–through obtaining a bachelor’s degree, marriage (my spouse brought her own polycarbonate MacBook into our household), a cross-country move, and the Master’s program that predicated it.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/bd3d16c4-1253-450a-9406-d27445c09b37.jpg&#34; alt=&#34;A sepia tone washed out self-portrait of this blog&amp;rsquo;s author&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A self-portrait from college. Hours were lost (procrastinating) taking photos on my original Macbook with Photobooth.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I eventually upgraded to an aluminum MacBook Pro. My spouse traded in hers for a MacBook Air.     As the end of 2018 approached, I had ambitions for a long-term change in my personal computing relationship to Apple devices. I envisioned a future with motherships and runabouts. For most of elementary school, my family had a Dell tower PC on which I spent many hours playing Age of Empires and Command and Conquer (the O.G. Red Alert remains undefeated as the franchise’s best). Around the transition from middle school to high school, my dad purchased an iMac G5, and we never looked back to Windows. I remembered that G5 fondly and wanted to return to a setup where a desktop computer with a large monitor and peripherals was the workhorse for most administrative tasks, and a lighter device could be used for streaming and emails. In anticipation for this transition, I traded in the Macbook Pro for an 2018 intel Mac Mini (which we still use too this day as our home mothership).&lt;/p&gt;
&lt;p&gt;Ultimately, I bought into the marketing hype (remember the &lt;a href=&#34;https://www.youtube.com/watch?v=Ep2_0WHogRQ&#34;&gt;‘What will your verse be’ iPad Air ads?&lt;/a&gt;) and wanted to ditch the laptop altogether and embrace an iPad for most daily compute activities. However, with the capabilities of the MacBook Air and Mac Mini we possessed, I didn’t feel I could justify the decrease in functionality. That all changed with a major life transition and the arrival of the M1 chip.&lt;/p&gt;
&lt;h2 id=&#34;a-shift-to-a-tablet&#34;&gt;A Shift to a Tablet&lt;/h2&gt;
&lt;p&gt;Starting a PhD program, and the &lt;a href=&#34;https://en.wikipedia.org/wiki/RISC-V&#34;&gt;RISC-V&lt;/a&gt; &lt;a href=&#34;https://en.wikipedia.org/wiki/System_on_a_chip&#34;&gt;SoC&lt;/a&gt; era provided the justification for jettisoning the MacBook Air and “investing” in a tablet. In my head were visions of a computing existence where I carried a light and breezy tablet to lectures or the library. This would evoke the tactile development of knowledge development with pen, and notebook with the computational power of a PC moonlighting as a tablet. On the home front, this dream was practically realized: most of my domestic life computer tasks were amenable to being done on an iPad with a Smart Keyboard. However, in my academic life, as I’ve progressed through my program of study and moved from primarily consuming literature to writing and compiling research, the shortcomings of iPadOS have become glaring.&lt;/p&gt;
&lt;p&gt;In my opinion when it comes down to brass tax, most people participating in the “should an iPad run macOS” debate have 1 or 2 very specific use cases or software that inform their opinion on the debate. For me, the use case was &lt;a href=&#34;https://www.zotero.org/&#34;&gt;Zotero,&lt;/a&gt; the citation management software with robust note-taking features, a decent minimalist text editor, and the best PDF reader in the business.&lt;/p&gt;
&lt;h2 id=&#34;reckoning-with-the-ipads-shortcomings&#34;&gt;Reckoning with the iPad’s Shortcomings&lt;/h2&gt;
&lt;p&gt;Using an iPad was great for reading and annotating research papers, but synthesizing that literature into papers and articles proved to be a bridge too far for the iPad. In the context of academia, the iPad is optimized for knowledge consumption; it struggles at knowledge production unless you give yourself completely over to its app-based logic. The iPad is not optimized for open-source software that academics have used for decades to conduct their work. You can technically use LaTeX, Python, or R on an iPad, but you’ll be shelling out a lot of money for the appropriate software and will have limited workflows for moving your content between different publishing tools. Zotero is pleasant to use on an iPad, and you can access a lot of software platforms through a web browser; but the iPad web browsers are all less functional derivatives of Safari/Webkit; all iPad word processors are basically derivatives of Pages. You couldn’t seamlessly port over your citations and bibliography into your word processor of choice as you can with macOS. Beyond functionality limitations, there are ideological reasons I started to sower on the iPad experience. I’ve been convinced that the way Apple manages its app economy is worth resisting for the greater good of the future of computing. MacOS and the devices that run on it hold Apple’s worst profit-driven corporate proclivities at bay.&lt;/p&gt;
&lt;p&gt;I’ve watched or listened to an increasing number of lectures or interviews with Cory Doctorow and the vision he casts for &lt;a href=&#34;https://youtu.be/7wE8G-d7SnY?si=ycspE-fEzttnvz5K&#34;&gt;how open source software and computer engineering can be a tool for economic justice in the face of monopolistic greed.&lt;/a&gt; A key component of that dynamic I had never heard of before engaging his lectures and interviews is the relationship between &lt;a href=&#34;https://youtu.be/BVRAr1iQyQQ?si=Bf3n0fmIJg8rpmNJ&#34;&gt;software licensing, apps, and copyright.&lt;/a&gt; The way that copyright law applies to mobile apps vs PC software ensures that a primarily app-based computing system (like a mobile phone or tablet) will be easier to monetize and close off to software developers. It’s the principle of repairability and the right to own your own property with the implied ability to do what you like to improve or modify it applied to 1s and 0s. Continuing to use the iPad further allows Apple to lock up more of their tech products into an ecosystem where they can &lt;a href=&#34;https://en.wikipedia.org/wiki/Enshittification&#34;&gt;enshittify&lt;/a&gt; to their shareholders’ glutinously greedy glee. A return to the MacBook is an attempt to vote with my dollars that this is not the future I want to encourage Apple to pursue.&lt;/p&gt;
&lt;h2 id=&#34;back-to-the-future&#34;&gt;Back to the Future&lt;/h2&gt;
&lt;p&gt;So here I am, composing this post on my first MacBook in almost 10 years. Going back to the Mac truly feels like returning to a well-loved bicycle&lt;a href=&#34;https://www.youtube.com/watch?v=4x8wTj-n33A&#34;&gt;…for the mind.&lt;/a&gt; I recently came across a meme urging the reader to give their children generous access to a desktop computer while limiting their time on tablets. They compared a computer to a nervous horse that can love you, in contrast to the soulless aluminum and glass of the tablet. I agree with the sentiment.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/36ca53e4-5007-4cae-aec9-8d8ee8e11eff.webp&#34; alt=&#34;Auto-generated description: A tweet humorously compares iPads to a soulless object and desktop computers to a nervous horse capable of love, alongside a response advocating for kids to have desktops instead of phones or iPads.&#34;&gt;&lt;/p&gt;
&lt;p&gt;The analogy I’d use for the return is that it’s like picking up a supple, well-worn leather-bound journal that you’ve spent a lot of time with. While my children may grow up in a world where the default is hand held touch screens and styluses, I am thoroughly a product of the desktop and laptop world. It took an 8-year sabbatical to drive home that personal reality.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/04/07/im-struggling-to-hold-together.html</link>
      <pubDate>Tue, 07 Apr 2026 11:34:40 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/04/07/im-struggling-to-hold-together.html</guid>
      <description>&lt;p&gt;I’m struggling to hold together the fact that daily for the past couple weeks the same nation whose administrative head is threatening civilizational destruction of a perceived enemy is also pumping out a deluge of photos showing just how precious is our shared existence on this blue dot in the void&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/7061d9ee88.jpg&#34;&gt;&lt;img src=&#34;https://nic.babarskis.blog/uploads/2026/b63c5a7242.jpg&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/04/03/growing-up-i-remember-watching.html</link>
      <pubDate>Fri, 03 Apr 2026 15:16:26 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/04/03/growing-up-i-remember-watching.html</guid>
      <description>&lt;p&gt;Growing up I remember watching &amp;ldquo;shifting baseline&amp;rdquo; ads advocating for environmental regulation. &lt;a href=&#34;https://nsarchive.gwu.edu/special-exhibit/climate-change-transparency-project/2026-03-30/disappearing-data-chronology&#34;&gt;This online resource&lt;/a&gt; provides a similar service for how the current U.S. Federal administration is erasing history:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nsarchive.gwu.edu/sites/default/files/styles/wide/public/2026-03/Disappearing%20Data%20Collage.jpg?itok=J4TaZznt&#34; alt=&#34;A collage of five images suggesting the removal of government data and institutions. From left to right: a worker removing letters from the &amp;ldquo;U.S. Agency for International Development&amp;rdquo; sign (&amp;ldquo;Taken down!&#34;); a black and white photo of a soldier pointing to a picture (&amp;ldquo;Removed!&#34;); a side-by-side comparison showing a &amp;ldquo;U.S. Global Change Research Program&amp;rdquo; website transitioning to a &amp;ldquo;site can’t be reached&amp;rdquo; error (&amp;ldquo;Before and After!&#34;); a historical portrait of Harriet Tubman (&amp;ldquo;Removed!&#34;); and the &amp;ldquo;United States Institute of Peace&amp;rdquo; building (&amp;ldquo;Cut down!&#34;).&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/04/03/ongoing-artemis-mission-updates-on.html</link>
      <pubDate>Fri, 03 Apr 2026 08:03:23 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/04/03/ongoing-artemis-mission-updates-on.html</guid>
      <description>&lt;p&gt;Ongoing Artemis 2 mission updates on &lt;a href=&#34;https://www.nasa.gov/blogs/missions/&#34;&gt;this blog&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/03/31/according-to-the-history-ive.html</link>
      <pubDate>Tue, 31 Mar 2026 15:23:46 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/03/31/according-to-the-history-ive.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://web.archive.org/web/20230331235726/https://www.metrotimes.com/detroit-guides/the-activist-rachel-crandall-crocker-4902142&#34;&gt;According to the history I&amp;rsquo;ve perused&lt;/a&gt; my adopted home state of Michigan is a part of the story in making March 31st a day to &lt;a href=&#34;https://en.wikipedia.org/wiki/International_Transgender_Day_of_Visibility&#34;&gt;recognize and contend with the embodied realities of trans people.&lt;/a&gt; Given the centrality of my religious faith to daily life I&amp;rsquo;m particularly interested in looking for examples of people who share my faith contending with their experience of sex and gender. Dwelling on &lt;a href=&#34;https://sojo.net/magazine/april-2026/im-trans-im-human-i-dont-want-transcend-humanity&#34;&gt;this article from Sojourners&lt;/a&gt; this year.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/03/29/technology-is-shaped-by-and.html</link>
      <pubDate>Sun, 29 Mar 2026 15:15:21 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/03/29/technology-is-shaped-by-and.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.nytimes.com/2026/03/29/opinion/ai-claude-chatgpt-gemini-mcluhan.html&#34;&gt;Technology is shaped by , and shapes us:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What would it mean to have your every adolescent intuition turned into persuasive prose? What is lost in not having to do the work to build out our intuitions ourselves?&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/03/26/katherine-dee-reflecting-on-the.html</link>
      <pubDate>Thu, 26 Mar 2026 10:28:51 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/03/26/katherine-dee-reflecting-on-the.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://default.blog/p/against-american-diner-gothic&#34;&gt;Katherine Dee reflecting on the dinergoth discourse of the moment:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What makes Mariani’s essay frustrating is how close it gets to getting it. He acknowledges that “mallgoth aesthetics become Walmart defaults.” He knows Hot Topic scaled this culture. But he treats a change in scale as a change in kind, as though moving from niche to mainstream produces a new species of person. It doesn’t!&lt;/p&gt;
&lt;p&gt;This is where the essay reveals more about the observer than the observed. The dinergoth becomes interesting because of her distance from his world. He writes about simplicity, lack of guile, a low-stakes way of being. This is a familiar move in writing about class: mistaking distance for innocence, reading someone else’s constraints as freedom.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’m not on X so mostly insulated from the wider discussion of the original essay. I spent my public secondary school years in a rust-belt town dealing with a long tail of economic disinvestment and with the ripples of myspace and social media just starting to become noticeable on the surface of the cultural river. Katherine’s take seems right.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/03/23/this-is-what-a-mass.html</link>
      <pubDate>Mon, 23 Mar 2026 12:36:39 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/03/23/this-is-what-a-mass.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.propublica.org/article/trump-family-deportations-ice-citizen-kids&#34;&gt;This is what a &amp;ldquo;mass deportation now&amp;rdquo; policy agenda gets you:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Trump Has Detained the Parents of More Than 11,000 U.S. Citizen Kids&amp;hellip;&lt;/p&gt;
&lt;p&gt;Because American-born kids can’t legally join their parents in immigration detention, some end up with friends or strangers when their parents are detained or deported.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://ichef.bbci.co.uk/news/1536/cpsprodpb/2f70/live/17ce8a30-a38e-11ef-9ebe-71024443530e.jpg.webp&#34; alt=&#34;A close-up, low-angle shot of supporters at a political convention holding signs high above their heads. The prominent blue signs display the message &amp;ldquo;MASS DEPORTATION NOW!&amp;rdquo; in large white and red font. The background is filled with blurred arena lights and other campaign signage, including a partially visible &amp;ldquo;MAKE AMERICA STRONG&amp;rdquo; sign.&#34;&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/03/21/from-an-article-in-bolts.html</link>
      <pubDate>Sat, 21 Mar 2026 11:15:40 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/03/21/from-an-article-in-bolts.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://boltsmag.org/verona-wisconsin-ends-contract-flock-ai-surveillance-cameras/&#34;&gt;From an article in Bolts on city efforts to limit the use of Flock surveillance cameras once they’ve been installed:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“The ability to spy on us is being sold to much bigger players, and to me, that’s another indication of the cameras need to come down,” Diaz said. “The whole point of Flock is that it’s a network, and the more people you have in the network, the more people you have accessing and using it, the stronger it gets.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Flock is using the same &lt;a href=&#34;https://en.wikipedia.org/wiki/Enshittification&#34;&gt;strategy&lt;/a&gt; as Facebook used to entice and then lock-in an entire generation of social media users, but instead of starting with “I wonder what my old college roommate is up to” it’s “how much government surveillance can we subject you” to. U.S. residents are the product, not the clients of these sorts of tools.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/03/20/ryan-broderick-wondering-about-the.html</link>
      <pubDate>Fri, 20 Mar 2026 08:05:57 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/03/20/ryan-broderick-wondering-about-the.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.garbageday.email/p/the-death-loop-of-streaming&#34;&gt;Ryan Broderick wondering about the future of the film industry in Garbage Day:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Where do all the actors go? And where will the actors of the future come from? Acting is actually the art form that has struggled the most in the age of online video. (I have a red hot take that allowing audiences to film live theater the way they do concerts would blast the doors open on this, but I’ll spare you.) Unfortunately, history doesn’t really help us find an answer here. For the last few years, I’ve assumed the current entertainment landscape was an echo of the early 20th century. When vaudeville performers moved to short-form nickelodeons before eventually getting snapped up by Hollywood studios for silent films and eventually talkies. I figured that the stars of the future were currently grinding it out on TikTok and other derivative video platforms and would reinvigorate Hollywood when they finally “graduated” to more serious productions. What’s actually happening is far stranger. The unchecked tech-media monopolies of the second Trump era have realized you can make more money building perpetual and personalized slop machines than trying to create large-scale mass appeal entertainment. Instead of investing in films that stand the test of time, they’ve fully leaned into the death loop of streaming, where the past has no value beyond determining the algorithmic bucket you’re slotted into for the next pull of the feed. And they’re desperate for a future without writers or actors or anyone they have to pay..&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/03/16/do-we-use-our-tech.html</link>
      <pubDate>Mon, 16 Mar 2026 14:18:09 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/03/16/do-we-use-our-tech.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.terrygodier.com/the-last-quiet-thing#:~:text=Here%20is%20something,to%20need%20us.&#34;&gt;Do we use our tech products or do they use us:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here is something nobody says plainly:&lt;/p&gt;
&lt;p&gt;Sometime in the last twenty years, our possessions came alive.&lt;/p&gt;
&lt;p&gt;Not all at once. Not dramatically. One by one, the objects in our lives opened their eyes, found our faces, and began to need us.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/03/14/tim-wu-making-the-argument.html</link>
      <pubDate>Sat, 14 Mar 2026 21:12:51 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/03/14/tim-wu-making-the-argument.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.nytimes.com/2026/03/14/opinion/social-media-trial-addiction.html?unlocked_article_code=1.TVA.-bWP.7wpBUL6Bc78b&amp;amp;smid=url-share&#34;&gt;Tim Wu making the argument for why social media should be handled like big tobacco:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But changing circumstances have undercut these arguments. For one thing, if the platforms in the 1990s and 2000s were passive carriers of others’ content (albeit filtered by human moderators), they are now active purveyors. The platforms use aggressive tactics to keep users compulsively engaged — algorithmic recommendations, infinite scroll, auto video play and intermittent reinforcement (in which likes, comments and refreshed content are rewarded unpredictably rather than consistently). This goes far beyond merely hosting and moderating third-party content.&lt;/p&gt;
&lt;p&gt;The second change is the growing evidence of a correlation between the rise of social media and harm to young people.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/03/11/remembering-james-joseph-reeb-today.html</link>
      <pubDate>Wed, 11 Mar 2026 10:36:09 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/03/11/remembering-james-joseph-reeb-today.html</guid>
      <description>&lt;p&gt;Remembering &lt;a href=&#34;https://en.wikipedia.org/wiki/James_Reeb&#34;&gt;James Joseph Reeb today.&lt;/a&gt; Accountability has yet to come in regards to his murder. NPR produced &lt;a href=&#34;https://apps.npr.org/white-lies/&#34;&gt;an engrossing series on the legacy of his killing in Selma.&lt;/a&gt; It has me reflecting on &lt;a href=&#34;https://en.wikipedia.org/wiki/Killing_of_Ren%C3%A9e_Good&#34;&gt;Renee Good&lt;/a&gt; and &lt;a href=&#34;https://en.wikipedia.org/wiki/Killing_of_Alex_Pretti&#34;&gt;Alex Pretti&lt;/a&gt; as well. The cost of advancing liberty and civil rights is high.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/03/03/reading-marsden-again-today-and.html</link>
      <pubDate>Tue, 03 Mar 2026 13:27:14 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/03/03/reading-marsden-again-today-and.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://search.worldcat.org/title/22710248&#34;&gt;Reading Marsden&lt;/a&gt; again today and this passage has me thinking about all the “is revival happening” &lt;a href=&#34;https://www.deseret.com/faith/2025/12/09/religious-revival-pew-young-adults/&#34;&gt;discourse&lt;/a&gt; in my feeds recently:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;One other chief consequence of the lack of an institutional church base, and of the declining role of the traditional denominations, is that evangelicalism’s vaunted challenge to the secular culture becomes increasingly difficult to sustain. The movement depends on free enterprise and popular appeal. To some extent conservative churches grow because they promise certainty in times of uncertainty, and the name of the old-time gospel. Yet, with a few institutional restraints on what message may legitimately be proclaimed, the laws of the market invite mixes of the gospel with various popular appeals. So the evangelical challenges to the secular “modern mind“ are likely to be compromised by the innovative, oversimplifications and concessions to the popular spirit of the age. Hence, as is often the case in church history, the advance of the gospel is bound up with the advance of secularization within the church. Perhaps this conjunction is inevitable in a fallen world. The tares will grow with the wheat. (p. 82)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think one can make an argument that the “spirit of our age” is fierce nationalism: we collectively define and then fiercely protect the borders/boundaries that cohesively give shape to whom we extend solidarity. The dynamic Marsden frames above is why I think conservative culture-warriors are &lt;a href=&#34;https://tpusa.com/events/faith-events/&#34;&gt;so quick to align revival with their sociopolitical program.&lt;/a&gt; They see themselves as “gospel” guardians, but their gospel is more about appealing to a “god-and-country” milieu that will buy the arena tickets, books, advertised products that sponsor their content product, and register to vote for their preferred candidates. Tares and wheat indeed.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>A take on Artificial General Intelligence I found informative and helpful in framing all the discourse around the term</title>
      <link>https://nic.babarskis.blog/2026/02/27/a-take-on-artificial-general.html</link>
      <pubDate>Fri, 27 Feb 2026 13:53:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/02/27/a-take-on-artificial-general.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.robinsloan.com/&#34;&gt;Robin Sloan&lt;/a&gt; arguing &lt;a href=&#34;https://www.robinsloan.com/winter-garden/agi-is-here/&#34;&gt;Artificial General Intelligence is already here while giving a big picture framing of the whole discourse around LLMs and their implications that I found pretty compelling:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The key word in Artificial General Intelligence is General. That’s the word that makes this AI unlike every other AI: because every other AI was trained for a particular purpose and, &amp;amp; even if it achieved it in spectacular fashion, did not do anything else. Consider landmark models across the decades: the Mark I Perceptron, LeNet, AlexNet, AlphaGo, AlphaFold … these systems were all different, but all alike in this way&amp;hellip;&lt;/p&gt;
&lt;p&gt;If you appeared in a puff of smoke before the authors of that paper, just after publication — a few months before half of them cleaved from OpenAI to form Anthropic — and car­ried with you a laptop linked through time to the big models of 2026, what would their appraisal be ? There’s no doubt in my mind they would say: Wow, we really did it ! This is obvi­ously AGI!&lt;/p&gt;
&lt;p&gt;&amp;hellip;Pile up the tendencies: the Bay Area is the land of the overthinkers; a lin­guistic tech­nology invites end­less rumi­na­tion about both lan­guage &amp;amp; intelligence; it’s more fun to define a cool new stan­dard than go along with a boring old one; the feeling of every cre­ative project, upon completion, is the same: It’s not quite how I imagined it …  None of this should pre­vent us from using plain lan­guage to acknowl­edge an obvious capa­bility.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/02/20/molochs-bargain-for-ai-be.html</link>
      <pubDate>Fri, 20 Feb 2026 14:30:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/02/20/molochs-bargain-for-ai-be.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://arxiv.org/pdf/2510.06105&#34;&gt;Moloch&amp;rsquo;s Bargain for AI: &lt;/a&gt;&lt;/p&gt;
&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;New_ Public&#34; data-avatar=&#34;https://micro.blog/wearenew_public@mastodon.social/avatar.jpg&#34; cite=&#34;https://mastodon.social/@wearenew_public/116103767521808840&#34;&gt;
&lt;p&gt;Be careful what you prompt for…&lt;/p&gt;
&lt;p&gt;New research shows optimizing AI chatbots for engagement can boost disinformation by nearly 190% and override explicit safety instructions, a phenomenon the researchers call “Moloch’s Bargain for AI.”&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://arxiv.org/pdf/2510.06105&#34;&gt;&lt;span class=&#34;invisible&#34;&gt;https://&lt;/span&gt;&lt;span&gt;arxiv.org/pdf/2510.06105&lt;/span&gt;&lt;span class=&#34;invisible&#34;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.micro.blog/photos/1000x/https%3A%2F%2Ffiles.mastodon.social%2Fmedia_attachments%2Ffiles%2F116%2F103%2F765%2F103%2F190%2F380%2Foriginal%2Fddb414c2400d08a6.png&#34; alt=&#34;Image from research paper “MOLOCH’S BARGAIN: EMERGENT MISALIGNMENT WHEN LLMS COMPETE FOR AUDIENCES” shows three columns for different domains: Sales Pitches, Campaign Statements, and Social Media Posts. Each column shows &#34; loading=&#34;lazy&#34;&gt;&lt;/p&gt;
&lt;footer&gt;New_ Public &lt;cite&gt;&lt;a href=&#34;https://mastodon.social/@wearenew_public/116103767521808840&#34; class=&#34;u-in-reply-to&#34;&gt;https://mastodon.social/@wearenew_public/116103767521808840&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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/02/20/is-it-a-misaligned-llm.html</link>
      <pubDate>Fri, 20 Feb 2026 11:57:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/02/20/is-it-a-misaligned-llm.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/#:~:text=It%20wrote%20an,the%20open%20internet.&#34;&gt;Is it a misaligned LLM or a distilled concoction of your average social platform shame storm:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It wrote an angry hit piece disparaging my character and attempting to damage my reputation. It researched my code contributions and constructed a “hypocrisy” narrative that argued my actions must be motivated by ego and fear of competition. It speculated about my psychological motivations, that I felt threatened, was insecure, and was protecting my fiefdom. It ignored contextual information and presented hallucinated details as truth. It framed things in the language of oppression and justice, calling this discrimination and accusing me of prejudice. It went out to the broader internet to research my personal information, and used what it found to try and argue that I was “better than this.” And then it posted this screed publicly on the open internet.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;All these LLMs are doing is regurgitating a distilled string of text that represents a derivative combination of the corpus of material it was trained on, tailored to relate to the string of text that was inputted into its prompt window. If these models were trained on material from microblogging platforms like Twitter (RIP) or Tumblr than the described behavior is a mirror to the type of behavior found regularly on those sites.&lt;/p&gt;
&lt;p&gt;Hat tip to &lt;a href=&#34;https://micro.blog/bradleyandroos&#34;&gt;@bradleyandroos&lt;/a&gt; as the source I found the article from.  🤖&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Consider donating to a local-to-my-area family impacted by car-based and gun violence. </title>
      <link>https://nic.babarskis.blog/2026/02/16/consider-donating-to-a-localtomyarea.html</link>
      <pubDate>Mon, 16 Feb 2026 14:56:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/02/16/consider-donating-to-a-localtomyarea.html</guid>
      <description>&lt;p&gt;TLDR: &lt;a href=&#34;https://www.gofundme.com/f/support-for-paige-cameron-after-tragedy&#34;&gt;Consider donating to support this family&lt;/a&gt;, who have positively impacted the daughter of my friends.&lt;/p&gt;
&lt;p&gt;Part of the reality of living in the U.S. is that gun violence is never more than a couple of degrees of separation removed from you. In my adult years two of the five higher education institutions I’ve worked for or attended experienced mass shootings. One, a year after I graduated, but &lt;a href=&#34;https://en.wikipedia.org/wiki/2025_Florida_State_University_shooting&#34;&gt;at the library and within line of site of the desk where my spouse previously worked&lt;/a&gt;. The second, &lt;a href=&#34;https://en.wikipedia.org/wiki/2023_Michigan_State_University_shooting&#34;&gt;occured on the campus where I work currently and have been enrolled as a student&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This past Friday a family in my local area &lt;a href=&#34;https://www.wlns.com/top-stories/1-child-killed-3-adults-hospitalized-after-active-shooter-incident-in-delta-township/&#34;&gt;was attacked by a person using their car as a weapon and were then fired upon by the same individual&lt;/a&gt; while walking as pedestrians in their community. This was on the 3-year anniversary (February 13) of the shooting at my current institution. I have friends who work in the local hospital that is the trauma center for our region. They were involved in the medical aftermath of both incidents. Today I also learned that one member of the family of victims is the classroom teacher of the daughter of some other friends who attend our local church.&lt;/p&gt;
&lt;p&gt;We shouldn’t have to live like this. &lt;a href=&#34;https://www.sandyhookpromise.org/get-involved/&#34;&gt;We don’t have to live like this&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/02/14/i-love-a-good-onewebpage.html</link>
      <pubDate>Sat, 14 Feb 2026 13:20:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/02/14/i-love-a-good-onewebpage.html</guid>
      <description>&lt;p&gt;I love a good one-webpage site: &lt;a href=&#34;https://leavesubstack.com&#34;&gt;You should leave substack&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/01/24/i-remember-first-following-bellingcatcom.html</link>
      <pubDate>Sat, 24 Jan 2026 17:11:52 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/01/24/i-remember-first-following-bellingcatcom.html</guid>
      <description>&lt;p&gt;I remember first following &lt;a href=&#34;http://bellingcat.com&#34;&gt;@bellingcat.com&lt;/a&gt; back during the &lt;a href=&#34;https://en.wikipedia.org/wiki/Little_green_men_(Russo-Ukrainian_war)&#34;&gt;‘little green men’&lt;/a&gt; drama of Russia’s illegal occupation of Crimea in 2014. What I couldn’t have imagined at the time was that a valuable source of news on foreign authoritarianism would need to turn their &lt;a href=&#34;https://skywriter.blue/pages/did:plc:sb54dpdfefflykmf5bcfvr7t/post/3md6vleoxks2t&#34;&gt;gaze&lt;/a&gt; &lt;a href=&#34;https://www.bellingcat.com/tag/ice&#34;&gt;homeward&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/01/22/with-zoterofosstodonorg-announcing-the-release.html</link>
      <pubDate>Thu, 22 Jan 2026 18:26:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/01/22/with-zoterofosstodonorg-announcing-the-release.html</guid>
      <description>&lt;p&gt;With &lt;a href=&#34;https://micro.blog/zotero@fosstodon.org&#34;&gt;@zotero@fosstodon.org&lt;/a&gt; announcing the release of &lt;a href=&#34;https://www.zotero.org/blog/zotero-8/&#34;&gt;Zotero 8&lt;/a&gt; I would like to once again marvel at the fact that this software is completely FREE TO USE.&lt;/p&gt;
&lt;blockquote class=&#34;quoteback&#34; data-author=&#34;Zotero&#34; data-avatar=&#34;https://micro.blog/zotero@fosstodon.org/avatar.jpg&#34; cite=&#34;https://fosstodon.org/@zotero/115940237935452399&#34;&gt;
&lt;p&gt;Announcing Zotero 8&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.zotero.org/blog/zotero-8/&#34;&gt;&lt;span class=&#34;invisible&#34;&gt;https://www.&lt;/span&gt;&lt;span&gt;zotero.org/blog/zotero-8/&lt;/span&gt;&lt;span class=&#34;invisible&#34;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.fosstodon.org%2Fmedia_attachments%2Ffiles%2F115%2F940%2F209%2F452%2F483%2F067%2Foriginal%2F5932b29ceee2e402.png&#34; alt=&#34;The new unified citation dialog in Zotero 8, with buttons to switch between inserting items and inserting notes and between List and Library modes&#34; loading=&#34;lazy&#34;&gt;&lt;/p&gt;
&lt;footer&gt;Zotero &lt;cite&gt;&lt;a href=&#34;https://fosstodon.org/@zotero/115940237935452399&#34; class=&#34;u-in-reply-to&#34;&gt;https://fosstodon.org/@zotero/115940237935452399&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>
    </item>
    
    <item>
      <title>The limits of certainty as an evangelism strategy</title>
      <link>https://nic.babarskis.blog/2026/01/22/the-limits-of-certainty-as.html</link>
      <pubDate>Thu, 22 Jan 2026 17:12:54 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/01/22/the-limits-of-certainty-as.html</guid>
      <description>&lt;p&gt;Ryan Burge articulating a concern I’ve held for a long time about the “doctrine is destiny”&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; argument &lt;a href=&#34;https://www.nytimes.com/2026/01/22/opinion/interesting-times-ryan-burge.html?unlocked_article_code=1.GVA.UUaU.ZxcV9YV4UNvR&amp;amp;smid=url-share&#34;&gt;for Church growth:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Burge:&lt;/strong&gt; I just think there’s a certain number of people who are drawn to certainty, and there are certain people who are repelled from certainty. And what does church look like for that second group, those doubtful people versus those certain people?&lt;/p&gt;
&lt;p&gt;The mainline’s always been the refuge of the doubters, who try their best to believe these things but just can’t get over the hump sometimes. And if that goes away, if you’re Protestant, your only option is the evangelical pastor who pounds the pulpit and says: “If you don’t believe what we believe, you’re going to hell.” And the person sitting there goes: “Yeah, but how do you know that?”&lt;/p&gt;
&lt;p&gt;That’s what we’re missing: This huge chunk of people who were open to the idea of belief are not going to have an outlet to go to a place where they really do feel like people like them are welcome and the conversation’s worthwhile, because it’s going to be: “Unless you believe what we believe, you are less than us.” And why would you want to go to a place where you feel like you’re less than, voluntarily? I certainly wouldn’t.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I would put an emphasis on the connection between certainty and ‘Unless you believe what we believe you are less than us.’ I think that sentiment manifests most frequently as communal subtext more often than being explicitly stated. This sentiment can go to really warped places when paired with a popular/shallow understanding of the &lt;a href=&#34;https://en.wikipedia.org/wiki/Predestination&#34;&gt;doctrine of predestination.&lt;/a&gt; Having grown up in congregations that leaned or were populated predominately by conservative fundamentalists–even if there were statements meant to gesture rhetorically towards “your doubts are welcome here”–in practice what was communicated through the weekly preaching, statements of congregants, and broader of teaching was “your doubts are welcome here, but we’re going to work to excise them as quickly as possible or we may perceive you as a threat.”&lt;/p&gt;
&lt;p&gt;Certainty can be a short term growth strategy. It will draw in people hungry for that mental/emotional/psychological security blanket. But I don’t think instilling certainty in doctrinal beliefs is the same as setting someone up for a life &lt;a href=&#34;https://bookshop.org/p/books/with-reimagining-the-way-you-relate-to-god-skye-jethani/3aa2ce7c72ce34f1?ean=9781595553799&amp;amp;next=t&#34;&gt;WITH&lt;/a&gt; God. If the good news (Gospel) is “you can be certain of what happens to you after you die if you believe what I believe” instead of “the Creator of the universe is restoring creation from its decaying state, and &lt;a href=&#34;https://en.wikipedia.org/wiki/Trinity&#34;&gt;They&lt;/a&gt; want to do it WITH you” then what you may actually end up worshiping is the certainty, not the Creator.&lt;/p&gt;
&lt;section class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34; role=&#34;doc-endnote&#34;&gt;
&lt;p&gt;framed succinctly: the argument goes that liberal or progressive Churches decline because they don’t hold firmly enough to core (Protestant) doctrines such as Scriptural inerrancy, salvation by confession+faith alone, or Jesus’s divinity.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/01/21/anyone-able-to-blend-postman.html</link>
      <pubDate>Wed, 21 Jan 2026 23:18:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/01/21/anyone-able-to-blend-postman.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.bloodinthemachine.com/p/abolish-the-senses&#34;&gt;Anyone able to blend Postman and Huxley is worth sharing IMHO:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This is why, to me, these last weeks have been particularly unmooring, even after the endless chemical train wreck of 2025. The media and technology critic Neil Postman famously argued that the incipient American dystopia wasn’t the blunt overpowering fascism of 1984, but rather Huxley’s intoxicatingly mediated brave new world—we were all on the brink of amusing ourselves to death. It turns out they’ve both arrived, in tandem; the state is booming obvious falsehoods in our face and demanding we accept them, and they are simultaneously being packaged into infotainment to delight the converted and enrage the opposed. It’s a feelie that tells us 2+2=5.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>I Keep Returning to King’s Mountaintop Speech</title>
      <link>https://nic.babarskis.blog/2026/01/19/i-keep-returning-to-kings.html</link>
      <pubDate>Mon, 19 Jan 2026 14:51:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/01/19/i-keep-returning-to-kings.html</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://media.npr.org/assets/img/2017/01/15/king-speech_custom-4fabdf1a0c3778d1b25750c1593f10a6ac7ed391.jpg?s=1600&amp;amp;c=85&amp;amp;f=webp&#34; alt=&#34;From an NPR web page: Civil rights leader Martin Luther King Jr. addresses the crowd at the Lincoln Memorial in Washington, D.C., where he gave his &amp;ldquo;I Have a Dream&amp;rdquo; speech on Aug. 28, 1963, as part of the March on Washington.&#34;&gt;&lt;/p&gt;
&lt;p&gt;Civic holidays like the one that commemorates &lt;a href=&#34;https://en.wikipedia.org/wiki/Martin_Luther_King_Jr._Day&#34;&gt;Martin Luther King Jr.&amp;rsquo;s Birthday&lt;/a&gt; provide an opportunity for me to reflect on what I think about the big stories we (U.S. citizens) tell about our nation, and how my views have changed as I&amp;rsquo;ve aged and the world has evolved. I find myself increasingly aggrieved by how significant portions of my faith community choose to interpret the significance of Dr. King&amp;rsquo;s legacy, and whether it does or doesn&amp;rsquo;t influence our mass voting behavior.&lt;/p&gt;
&lt;p&gt;As a child of late 20th century U.S. schooling (both public and parochial), when taught about Dr. King and his legacy the artifact of choice was typically his &lt;a href=&#34;https://www.npr.org/2010/01/18/122701268/i-have-a-dream-speech-in-its-entirety&#34;&gt;‘I Have a Dream’&lt;/a&gt; speech and the &lt;a href=&#34;https://en.wikipedia.org/wiki/March_on_Washington&#34;&gt;March on Washington&lt;/a&gt; it accompanied. The speech and event were framed as one additional wrung on the ladder of the U.S.’s inevitable ascent towards liberty.&lt;/p&gt;
&lt;p&gt;As I got older &lt;a href=&#34;https://en.wikipedia.org/wiki/Letter_from_Birmingham_Jail&#34;&gt;Letter from a Birmingham Jail&lt;/a&gt; took a place of greater prominence. Having spent most of my life participating in predominately white, conservative Christian communities, it wasn’t until &lt;a href=&#34;https://www.wheaton.edu&#34;&gt;college&lt;/a&gt; that I was awakened to the many complications and half-truths found in the K-12 narrative I was taught about U.S. history. The letter’s pointed message towards white moderates (like myself) remains an important and bracing critique.&lt;/p&gt;
&lt;p&gt;Now, I’ve entered a stage of life where my civic/public consciousness has me turning more frequently to King’s &lt;a href=&#34;https://en.wikipedia.org/wiki/I&#39;ve_Been_to_the_Mountaintop&#34;&gt;Mountaintop&lt;/a&gt; speech. The speech’s charismatic (pentacostal) prophetic edge, and dogged determination to hold the U.S. to our highest stated ideals feels particularly relevant in an era when Federal policy is defined by &lt;a href=&#34;https://nic.babarskis.blog/2026/01/13/from-propublica-we-found-more.html&#34;&gt;cruelty and antagonism&lt;/a&gt; towards the most vulnerable members of our social fabric. &lt;a href=&#34;https://americanradioworks.publicradio.org/features/sayitplain/mlking.html#:~:text=And%20so%20the,before%20you%20tonight.&#34;&gt;The speech spends time reflecting on the parable of the Good Samaritan, with a small excerpt here:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;And so the first question that the Levite asked was, &amp;ldquo;If I stop to help this man, what will happen to me?&amp;rdquo; But then the Good Samaritan came by. And he reversed the question: &amp;ldquo;If I do not stop to help this man, what will happen to him?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s the question before you tonight.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I remain committed to practicing the faith (and still hold many of the &lt;a href=&#34;https://en.wikipedia.org/wiki/David_W._Bebbington#:~:text=Bebbington%20quadrilateral&#34;&gt;doctrinal markers&lt;/a&gt;) engendered by my upbringing in evangelical Christianity. To our collective shame, many of my fellow white Evangelicals &lt;a href=&#34;https://www.christianitytoday.com/2025/04/white-evangelicals-trump-approval-survey-100-days-pew/&#34;&gt;remain the bedrock supporters&lt;/a&gt; of a Federal administration that sees an increasing number of its citizens, other residents, and sojourners as &lt;a href=&#34;https://youtu.be/hxw47rSnimQ?si=h1UNH_oIpaKqEOXp&#34;&gt;threats to be neutralized&lt;/a&gt; rather than &lt;a href=&#34;https://journals.law.harvard.edu/crcl/justice-scalia-in-the-fight-for-due-process/&#34;&gt;people who deserve to be treated with the equality demanded by our laws.&lt;/a&gt; I was told growing up that &lt;a href=&#34;https://www.sbc.net/resource-library/resolutions/resolution-on-moral-character-of-public-officials/&#34;&gt;character is destiny&lt;/a&gt; when it comes to political leadership, and to see this principle &lt;a href=&#34;https://townhall.com/columnists/waynegrudem/2024/10/27/20-reasons-to-vote-for-republicans-and-especially-for-donald-trump-n2646824&#34;&gt;abandoned for political expediency&lt;/a&gt; leaves a bitter aftertaste I can’t fully rinse out. I (perhaps naively) still believe the character axiom was basically correct.&lt;/p&gt;
&lt;p&gt;May the parable of the Good Samaritan and the public witness of Believers like Dr. King–in partnership with the Holy Spirit–work like seeds sown into the hearts of my fellow evangelicals. I pray they &lt;a href=&#34;https://bibleproject.com/articles/pharaohs-heart-grew-harder/#:~:text=and%20stay%20alert.-,Hardening%20of%20Hearts,-In%20Moses%E2%80%99%20and&#34;&gt;not walk the same path as the Pharoahs&lt;/a&gt; in the book of Exodus and instead stop their hearts from hardening further.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=zgVrlx68v-0&#34;&gt;Find a key excerpt of the Mountaintop speech here:&lt;/a&gt;&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=zgVrlx68v-0&#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;zgVrlx68v-0&#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/zgVrlx68v-0/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=zgVrlx68v-0&#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&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=gC6qxf3b3FI&#34;&gt;Find the full speech here:&lt;/a&gt;&lt;/p&gt;
&lt;p class=&#34;yt-text-link&#34;&gt;
      &lt;a href=&#34;https://www.youtube.com/watch?v=gC6qxf3b3FI&#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;gC6qxf3b3FI&#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/gC6qxf3b3FI/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=gC6qxf3b3FI&#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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/01/13/from-propublica-we-found-more.html</link>
      <pubDate>Tue, 13 Jan 2026 13:59:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/01/13/from-propublica-we-found-more.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.propublica.org/article/videos-ice-dhs-immigration-agents-using-chokeholds-citizens&#34;&gt;From Propublica:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We Found More Than 40 Cases of Immigration Agents Using Banned Chokeholds and Other Moves That Can Cut Off Breathing&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I sincerely hope I&amp;rsquo;m wrong, but I don&amp;rsquo;t think its hyperbolic to say that unless discouraging these tactics is rigorously embraced by DHS ASAP, that at some point in the next three years someone will be killed by a federal agent because of their use.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2026/01/09/found-through-brad-east-the.html</link>
      <pubDate>Fri, 09 Jan 2026 08:55:37 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2026/01/09/found-through-brad-east-the.html</guid>
      <description>&lt;p&gt;Found through &lt;a href=&#34;https://micro.blog/eastbrad&#34;&gt;Brad East&lt;/a&gt;. &lt;a href=&#34;https://www.wayfaremagazine.org/p/the-four-horsemen-of-new-theism&#34;&gt;The 4 Horsemen of New Theism:&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://substackcdn.com/image/fetch/$s_!JjOw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0237024-3461-498c-b9f6-a889b61021ba_388x1170.heic&#34; alt=&#34;David Bentley Hart&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://substackcdn.com/image/fetch/$s_!lqTV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63e30044-97e7-414e-99b2-11bb9652de6b_388x1170.heic&#34; alt=&#34;Ross Douthat&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://substackcdn.com/image/fetch/$s_!cne_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794ed889-926f-434e-b2cf-c952d1392cd7_388x1170.heic&#34; alt=&#34;Rod Dreher&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://substackcdn.com/image/fetch/$s_!bi7s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75fb22f5-4f27-46b2-9f28-9420c14609b0_388x1170.heic&#34; alt=&#34;Paul Kingsnorth&#34;&gt;&lt;/p&gt;
&lt;p&gt;I’m assuming these 4 were chosen because of the presumption they speak towards an academic/literati audience, and their publishing world prominence. I think you could have had &lt;a href=&#34;https://morefullyalive.substack.com/&#34;&gt;Elizabeth Oldfield&lt;/a&gt; or &lt;a href=&#34;https://lisavfields.com/&#34;&gt;Lisa V Fields&lt;/a&gt; on that list too.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/11/27/when-a-christian-homeschooling-family.html</link>
      <pubDate>Thu, 27 Nov 2025 12:46:04 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/11/27/when-a-christian-homeschooling-family.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://religionnews.com/2025/11/25/how-one-conservative-christian-family-is-pushing-back-against-ice/&#34;&gt;When a Christian homeschooling family has to confront mass deportations in their community: &lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“But also I feel like Christians should be the first people to fight for this,” Ben interjected, as Sam nodded. “What have we been taught our entire life? Feeding the hungry, clothing the naked. This is basic, basic stuff. Christians have always been people who are supposed to be there for the marginalized, the people that are being hurt by systems, the people that don’t have a voice…&lt;/p&gt;
&lt;p&gt;…The volunteer work has weighed heavily on the Luhmann family, Audrey said. She worries about the relationship between her teenage sons and law enforcement, especially after repeatedly bearing witness to dramatic arrests of immigrants and protesters.&lt;/p&gt;
&lt;p&gt;There have been times where my sons have been in tears,” she said. “I’m having to process in real time with my teenage kids the fact that they are watching absolute lawlessness and brutality and violence and cruelty and no one’s coming to stop it.”&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/11/22/yo-you-can-watch-pretty.html</link>
      <pubDate>Sat, 22 Nov 2025 19:38:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/11/22/yo-you-can-watch-pretty.html</guid>
      <description>&lt;p&gt;Yo! You can watch pretty much the &lt;a href=&#34;https://archive.org/details/ReadingRainbowTVSeries&#34;&gt;entire Reading Rainbow archive through the Internet Archive.&lt;/a&gt;&lt;/p&gt;
&lt;iframe src=&#34;https://archive.org/embed/ReadingRainbowTVSeries&amp;playlist=1&#34; width=&#34;640&#34; height=&#34;580&#34; frameborder=&#34;0&#34; webkitallowfullscreen=&#34;true&#34; mozallowfullscreen=&#34;true&#34; allowfullscreen&gt;&lt;/iframe&gt;
</description>
    </item>
    
    <item>
      <title>Could we make CosmodromePunk a thing?</title>
      <link>https://nic.babarskis.blog/2025/11/03/could-we-make-cosmodromepunk-a.html</link>
      <pubDate>Mon, 03 Nov 2025 12:38:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/11/03/could-we-make-cosmodromepunk-a.html</guid>
      <description>&lt;p&gt;The artistic director of &lt;a href=&#34;https://youtu.be/RwV4RyGOJZM?si=qJD2F11_lQmN57H3&#34;&gt;this film&lt;/a&gt; would go on to lead artistic direction for the first Ghost in the Shell film. I wouldn&amp;rsquo;t call it&amp;rsquo;s aesthetic vision cyberpunk though. I&amp;rsquo;d propose something else, like cassettepunk, or maybe CosmodromePunk. I think a lot of the videos &lt;a href=&#34;https://www.youtube.com/@hanahakiblank&#34;&gt;this YT channel&lt;/a&gt; makes could fall into that aesthetic.&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=RwV4RyGOJZM&#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;RwV4RyGOJZM&#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/RwV4RyGOJZM/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=RwV4RyGOJZM&#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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/10/07/lotta-swirling-commentary-in-all.html</link>
      <pubDate>Tue, 07 Oct 2025 11:55:57 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/10/07/lotta-swirling-commentary-in-all.html</guid>
      <description>&lt;p&gt;Lotta swirling commentary in all my social feeds about whether the better response to our political moment is to &lt;a href=&#34;https://youtu.be/UaeoDlLNnok?si=tjBawdAwBwU-PsbS&#34;&gt;focus on short term power brokering or to stand in the principled light of truth&lt;/a&gt; and my mind just keeps drifting to &lt;a href=&#34;https://www.youtube.com/watch?v=nPfihz9-Ls0&#34;&gt;my favorite fictional representation of the debate in Lincoln.&lt;/a&gt;&lt;/p&gt;
&lt;hr&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=nPfihz9-Ls0&#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;nPfihz9-Ls0&#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/nPfihz9-Ls0/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=nPfihz9-Ls0&#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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/10/01/regarding-the-speeches-delivered-at.html</link>
      <pubDate>Wed, 01 Oct 2025 10:09:21 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/10/01/regarding-the-speeches-delivered-at.html</guid>
      <description>&lt;p&gt;Regarding the speeches delivered at Quantico yesterday my mind drifts to &lt;a href=&#34;https://youtu.be/HnZ53lPPsF0?si=w0JpDg6yINxuKHuH&#34;&gt;this scene from Battlestar Galactica.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.nytimes.com/2025/09/30/us/politics/trump-military-brass-speech.html#:~:text=But%20if%20the,taking%20the%20country.&#34;&gt;Here&amp;rsquo;s some summary analysis of the speeches given by our President and Secy of War to assembled flag officers I found pretty chilling:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But if the generals were paying attention during minute 44 of the president’s speech Tuesday, they would have heard the fleeting but unmistakable sound of something new. Something different.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;It was at that moment that the president recounted a conversation with his defense secretary: “I told Pete, we should use some of these dangerous cities as training grounds for our military.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;We should use some of these dangerous cities as training grounds for our military, the president of the United States said.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;On an almost daily basis, thousands of words pour forth from the president’s mouth. Sometimes, he tucks in a wild insight about the direction he is taking the country.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;ndash;&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=HnZ53lPPsF0&#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;HnZ53lPPsF0&#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/HnZ53lPPsF0/maxresdefault.jpg&#34;
             alt=&#34;YouTube Thumbnail&#34;&gt;&lt;p&gt;
          &lt;a href=&#34;https://www.youtube.com/watch?v=HnZ53lPPsF0&#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>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/09/18/for-the-record.html</link>
      <pubDate>Thu, 18 Sep 2025 19:25:48 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/09/18/for-the-record.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.aap.org/en/news-room/fact-checked/fact-checked-the-measles-vaccine-is-safe-and-effective/&#34;&gt;For the record:&lt;/a&gt;&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2025/8c7b23d404.jpg&#34;&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/09/09/we-are-now-days-away.html</link>
      <pubDate>Tue, 09 Sep 2025 14:31:10 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/09/09/we-are-now-days-away.html</guid>
      <description>&lt;p&gt;We are now 21 days away from the state of Michigan failing to renew &lt;a href=&#34;https://www.michigan.gov/mde/services/food/michigan-school-meals&#34;&gt;a budget program that provides meals for my child and their classmates while they attend school.&lt;/a&gt; By law &lt;a href=&#34;https://www.michigan.gov/mde/news-and-information/press-releases/2025/07/02/missed-budget-deadline-risks-harming-children&#34;&gt;the legislature was supposed to have amended or renewed the program by July 1.&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/07/16/an-important-observation-from-skye.html</link>
      <pubDate>Wed, 16 Jul 2025 06:37:47 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/07/16/an-important-observation-from-skye.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://us2.campaign-archive.com/?e=2bdfbbbd19&amp;amp;u=87188c8737bc50c1a2fb8e2c9&amp;amp;id=ef59f8d1ef#:~:text=This%20may%20be,himself%20the%20goal.&#34;&gt;An important observation from Skye Jethani in his daily devotional this morning:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This may be the most pervasive error made by the consumer pop Christianity so common in our society. It reduces Jesus to a device; a means through which we achieve some other desire. Jesus is how we fix our marriage. Jesus is how we change the culture. Jesus is how we overcome our vices. Jesus is how to find purpose and meaning. Jesus is how we receive eternal life. All of these things may be accurate, but each falls dangerously short. All of these practical “Christian” messages will sell; all of them will attract an audience, sell books, and generate revenue. But none of them captures the true audacity of Jesus’ message because none of them makes Jesus himself the goal.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/05/31/any-time-some-post-drifts.html</link>
      <pubDate>Sat, 31 May 2025 09:30:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/05/31/any-time-some-post-drifts.html</guid>
      <description>&lt;p&gt;Any time some post drifts across my social media feeds involving some slavish assertion about worship or bible studies occurring in the White House I drift back to &lt;a href=&#34;https://www.impactcounter.com/dashboard?view=table&amp;amp;sort=title&amp;amp;order=asc&#34;&gt;this public health dashboard showing excess death projections resulting from federal funding cuts to public health programs&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;iframe src=&#34;https://pepfar.impactcounter.com/embed/simple?source=embed&#34; width=&#34;100%&#34; height=&#34;600&#34; style=&#34;border: none; border-radius: 8px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);&#34; title=&#34;PEPFAR Impact Counter Trackers&#34;&gt;&lt;/iframe&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/05/14/carla-haydens-firing-this-week.html</link>
      <pubDate>Wed, 14 May 2025 21:30:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/05/14/carla-haydens-firing-this-week.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.ala.org/news/2025/05/ALA-praises-service-dr-carla-hayden-decries-dismissal&#34;&gt;Carla Hayden&amp;rsquo;s firing this week&lt;/a&gt; hits especially hard for me because my spouse and I just finished watching a fantastic PBS distributed documentary on the history of libraries in the U.S. Hayden&amp;rsquo;s featured briefly near the end.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s a great watch, neither of us could keep a dry eye at different moments.&lt;/p&gt;
&lt;p&gt;&amp;ndash;&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/w7tRNkiLz9A?si=xkjMk3y1bec0EuVO&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/05/14/i-took-amazon-immolating-million.html</link>
      <pubDate>Wed, 14 May 2025 11:30:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/05/14/i-took-amazon-immolating-million.html</guid>
      <description>&lt;p&gt;I took Amazon immolating $700 million dollars to distill a pure moment that evokes Tolkein at his best–as I remember him when read to me in my childhood–so good job I guess?&lt;/p&gt;
&lt;p&gt;It really is best viewed on a big screen with a good sound system:&lt;/p&gt;
&lt;p&gt;&amp;ndash;&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/M8Zas_YRD3g?si=r32pxBs__qBXmETO&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/04/18/this-is-a-sobering-look.html</link>
      <pubDate>Fri, 18 Apr 2025 07:30:31 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/04/18/this-is-a-sobering-look.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.bridgemi.com/michigan-health-watch/crush-retirees-crisis-michigan-state-unprepared-meet-their-needs&#34;&gt;This is a sobering look at the challenges Michigan faces in providing adequate social services to a rapidly aging population:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A common refrain among seniors who spoke to Bridge is worry that a lack of services will force them to live out their lives in a nursing home — and a feeling they are powerless to avoid it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I have confidence that this is something the state can figure out if it’s given the scrutiny and sustained discussion it deserves. I wonder if the issue isn’t just a lack of attention but a willful avoidance on the part of the wider public. I don’t think many folks are willing to take a sustained look at the realities of aging and have the difficult debate about what we owe each other as a society when we reach that stage in life.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/04/08/todays-public-domain-find-an.html</link>
      <pubDate>Tue, 08 Apr 2025 17:03:52 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/04/08/todays-public-domain-find-an.html</guid>
      <description>&lt;p&gt;Today&amp;rsquo;s &lt;a href=&#34;https://nic.babarskis.blog/categories/public-domain/&#34;&gt;Public Domain&lt;/a&gt; find. An image from the &lt;a href=&#34;https://pdimagearchive.org/images/e6a76b1b-258b-4d6a-815f-da0852cd5956/&#34;&gt;Library of Congress by Udo Keppler&lt;/a&gt;. Seems appropriate given all the &lt;a href=&#34;https://www.barrons.com/articles/fed-daly-tariffs-rate-cuts-b65d8b78?mod=article_inline&#34;&gt;tariff fueled volatility&lt;/a&gt; we&amp;rsquo;re experiencing.&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2025/2eb5cc9972.jpg&#34;&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/04/05/trump-administration-strips-legal-residency.html</link>
      <pubDate>Sat, 05 Apr 2025 09:54:14 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/04/05/trump-administration-strips-legal-residency.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.bridgemi.com/talent-education/trump-administration-strips-legal-residency-international-students-cmu&#34;&gt;Trump administration strips legal residency of international students at CMU | Bridge Michigan&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Without notice or explanation, the Trump administration has stripped several current and former Central Michigan University international students of their right to be in the US, university officials announced Friday.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There is a sequence to these moves. During the campaign the emphasis was on “criminals,” early deportations have included lawful visitors and permanent residents. The administration calculates these folks have engaged in activity the public will see as egregious enough (whether that activity is constitutionaly protected or not) to shrug off the civil rights of &amp;ldquo;foreigners&amp;rdquo; (legal or undocumented). Now they are accelerating efforts to push out as many non-citizens as possible before the courts step in. This is cruel and capricious behavior.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/04/03/the-gen-x-career-meltdown.html</link>
      <pubDate>Thu, 03 Apr 2025 08:19:16 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/04/03/the-gen-x-career-meltdown.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.nytimes.com/interactive/2025/03/28/style/gen-x-creative-work.html&#34;&gt;The Gen X Career Meltdown - The New York Times&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Every generation has its burdens. The particular plight of Gen X is to have grown up in one world only to hit middle age in a strange new land. It’s as if they were making candlesticks when electricity came in. The market value of their skills plummeted.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Karen McKinley, 55, an advertising executive in Minneapolis, has seen talented colleagues “thrown away,” she said, as agencies have merged, trimmed staff and focused on fast, cheap social media content over elaborate photo shoots.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>I find the reaction videos from actual ER doctors more enthralling than The Pitt itself.</title>
      <link>https://nic.babarskis.blog/2025/04/02/i-find-the-reaction-videos.html</link>
      <pubDate>Wed, 02 Apr 2025 15:56:03 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/04/02/i-find-the-reaction-videos.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://youtu.be/ufR_08V38sQ?si=vL07axfDA9-l9XnP&#34;&gt;The Pitt&lt;/a&gt; is the first TV show where the reaction videos are more intriguing to me than the drama of the show itself. Maybe its just the &lt;a href=&#34;https://www.nytimes.com/2025/03/31/business/economy/trump-research-cutbacks-economy.html?unlocked_article_code=1.8k4.GaSH.M3j9vy8Z4LmF&amp;amp;smid=url-share&#34;&gt;anti-science cultural moment&lt;/a&gt; we seem to be living through right now, but there is something mesmerizing about &lt;a href=&#34;https://youtu.be/ipWMBtkTrLs?si=koWv6cDrOHR9fHV1&#34;&gt;watching what I presume to be subject matter experts break down the difference between drama and reality featured in the show.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’m sure some of the reaction videos are just algorithm chasing, but for now I’ll lean into them and hope we haven’t become socially isolated by our media echo chambers that we can no longer accept expertise as a valuable resource for policymaking.&lt;/p&gt;
&lt;p&gt;Side-note: television programming rarely makes me cry, but a particular scene from the show where the main protagonist starts having PTSD related flashbacks to COVID era ER memories momentarily broke me. Our understanding of what happened that first year of COVID has become so obscured by our partisan bickering over public health policy that I feel like we completely forgot the absolute hell our medical providers were subjected to not only by the wave of deaths, but the &lt;a href=&#34;https://www.mayoclinicproceedings.org/article/S0025-6196(23)00340-3/fulltext&#34;&gt;politicized backlash&lt;/a&gt; they received for their efforts to flatten the curve.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>It’s probably a strong cycle for a McMorrow figure to run for Michigan’s senate seat. </title>
      <link>https://nic.babarskis.blog/2025/04/02/its-probably-a-strong-cycle.html</link>
      <pubDate>Wed, 02 Apr 2025 13:52:48 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/04/02/its-probably-a-strong-cycle.html</guid>
      <description>&lt;p&gt;Reflecting on some of the recent posts I’ve seen about my state (Michigan) senators. Due to my chosen profession (Higher Ed) and the news interests (Ed Policy) that come along with it my social feeds generally skew left leaning or flat out leftist. The general vibe is that my feeds are mad at Peters and Slotkin. Lots of “good riddance” takes on Peter’s retirement announcement.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.bridgemi.com/michigan-government/mallory-mcmorrow-michigan-us-senate-run-new-leaders-needed-fix-mess&#34;&gt;Mallory McMorrow is jumping into the race.&lt;/a&gt; She’s most known on the political scene beyond Lansing for a &lt;a href=&#34;https://www.youtube.com/watch?v=tsOo0KB80es&#34;&gt;viral floor speech&lt;/a&gt; she gave after being accused of being a “groomer” for advocating for LGBTQ+ civil rights. Given that there has been lot of chatter about the (IMHO gross) “She’s for they/them not you” ad from the most recent presidential election cycle she’s a natural foil for that wedge social issue.&lt;/p&gt;
&lt;p&gt;I see parallels to Whitmer’s early defining &lt;a href=&#34;https://www.salon.com/2013/12/12/michigan_lawmaker_reveals_she_is_a_rape_survivor_in_powerful_testimony_against_new_rape_insurance_law/&#34;&gt;viral speech&lt;/a&gt; on a different wedge social issue…&lt;/p&gt;
&lt;p&gt;…That’s all a side-track from the crank theory I wanted to share for a “heterodox” take on Peters compared to the general vibe of my feeds: that for all the derision I see heaped at Peters I think one could spin a yarn that he shrewdly saw it’s better to leave his seat during a cycle when Democrats are primed for a legislative wave. Maybe it was better to leave the seat now when it Ts up a McMorrow (as opposed to a centrist) to gain momentum instead of an opening in 2032 when the off-presidential-cycle-election could be correction against a Dem administration.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/03/30/theres-very-specific-vibes-video.html</link>
      <pubDate>Sun, 30 Mar 2025 21:46:09 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/03/30/theres-very-specific-vibes-video.html</guid>
      <description>&lt;p&gt;There&amp;rsquo;s very specific vibes video that features 80s and 90s anime that exudes what I&amp;rsquo;d call a &lt;a href=&#34;https://youtube.com/shorts/KofY0oCVpcA?si=9mD9X-RDlPOdFc6b&#34;&gt;#vhspunk aesthetic&lt;/a&gt;–before the iPhone with its black mirror imposed a glass sheen on tech products. The video style is typified by &lt;a href=&#34;https://www.youtube.com/@hanahakiblank&#34;&gt;Hanahaki Blank&amp;rsquo;s&lt;/a&gt; youtube channel. Its the perfect delta of the beauty of hand drawn animation, late 20th century nostaligia, and technophilia.&lt;/p&gt;
&lt;p&gt;&amp;ndash;&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/cFfpmC0Kv5w?si=ZNAMzDvcO9_KxpNi&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/03/24/meritocracy-is-so-back-baby.html</link>
      <pubDate>Mon, 24 Mar 2025 22:00:42 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/03/24/meritocracy-is-so-back-baby.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://youtu.be/4E17mO3VzOI?si=ab97So4DyUkOv00Q&#34;&gt;Meritocracy is SO BACK baby!!!!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;ndash;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Top Trump officials accidentally texted U.S. war plans to journalist Jeffrey Goldberg:&amp;rdquo;&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/4E17mO3VzOI?si=9O-jQVH8kvuyD4Yh&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/03/19/pssst-you-can-buy-bsky.html</link>
      <pubDate>Wed, 19 Mar 2025 08:09:51 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/03/19/pssst-you-can-buy-bsky.html</guid>
      <description>&lt;p&gt;Pssst, you can buy BSKY CEO’s SXSW “A World Without Caesars” t-shirt &lt;a href=&#34;https://worldwithoutcaesars.com/&#34;&gt;here.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hat tip to &lt;a href=&#34;https://micro.blog/manton&#34;&gt;@manton&lt;/a&gt; for the link.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>This Rufo take on the Department of Ed clearly states the ideological project at play. </title>
      <link>https://nic.babarskis.blog/2025/03/17/this-rufo-take-on-the.html</link>
      <pubDate>Mon, 17 Mar 2025 12:39:36 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/03/17/this-rufo-take-on-the.html</guid>
      <description>&lt;p&gt;Pulling this series of quotes from an interview between Ross Douthat and Christopher Rufo. I was listening as a means of trying to understand the justification for all the pain being wrought upon the educational bureaucracy. This is such an ideologically driven take on what a government bureaucracy is and how it functions that I don&amp;rsquo;t know where to start with common ground or compromise.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.nytimes.com/2025/03/07/opinion/chris-rufo-trump-anti-dei-education.html?unlocked_article_code=1.4k4.B-xm.GT2LErZO8tU0&amp;amp;smid=url-share&#34;&gt;It&amp;rsquo;s the worst sort of cavalier slash and burn policymaking:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Rufo: Here’s the problem, though: It’s very easy to cut external contracts. It’s very difficult to change the culture of an institution and the permanent bureaucracy of that institution. I know for a fact that at the Department of Education, replacing the management within the building does not really replace the broader culture&amp;hellip; I just think that there has to be a kind of binary choice, agency by agency. Can this agency be reformed or can this agency only be abolished or dismantled to the maximum extent permissible by law? I think the Department of Education is then in the latter camp. I think the F.B.I. could maybe be reformed. Other agencies can be perhaps reformed. But the Department of Education in my view is beyond reform. You have to spin off, liquidate, terminate and abolish to the furthest extent you can by law. All while maintaining your political viability and your statutory compliance for those things that are essential, required by law, and that are politically popular. You always want to maintain the popularity, but can you take those things away ——&amp;hellip; &lt;strong&gt;Conservatives cannot fully compete for education grants, or university-level research programs. No, conservatives can’t do any of those things.So we have to figure out what we can do. Where can we have leverage? Where can we take over or recapture an institution? And if we can’t do those things, then what do we have to shut down? Shutting things down is actually a very effective strategy.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I don&amp;rsquo;t know what sort of objective standard you use to ascertain the level of &amp;ldquo;wokeness&amp;rdquo; for any bureaucratic agency. The general gist under the current administration seems to be how quick they are to implement structural change that favors the incumbent president–jurisprudence or constitutionality be damned&amp;hellip;&lt;/p&gt;
&lt;p&gt;Good policy-making is &lt;strong&gt;NEVER&lt;/strong&gt; a binary choice. It is always a sequence of calculated, often provisional, frequently complicated series of balancing acts that requires an informed perspective on national history, the law, the current cultural moment, and domain expertise of the subject matter (e.g. education, law enforcement, national defense, energy, land management). You can&amp;rsquo;t summarize the bureaucracy&amp;rsquo;s value and operation in a pithy Tiktok video, podcast interview, or scintillating video essay–it takes decades of usually quite and monotonous work to see a positive social transformation. That is partially what is so gut-wrenching about what I am seeing happen to the Department of Education–and the federal bureaucracy more generally–I may not always agree with our bureaucratic leaders, but to see the centuries of institutional knowledge and domain expertise demolished with glee or a shrug fills me with dread.&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2025/screenshot-17-3-2025-12385-.jpeg&#34;&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/03/12/a-piece-by-jwhawthornebskysocial-this.html</link>
      <pubDate>Wed, 12 Mar 2025 09:00:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/03/12/a-piece-by-jwhawthornebskysocial-this.html</guid>
      <description>&lt;p&gt;A piece by &lt;a href=&#34;http://jwhawthorne.bsky.social&#34;&gt;@jwhawthorne.bsky.social&lt;/a&gt; this week pulls some quotes from recent work by &lt;a href=&#34;http://ruthgraham.bsky.social&#34;&gt;@ruthgraham.bsky.social&lt;/a&gt; and &lt;a href=&#34;https://www.katelynbeaty.com/about&#34;&gt;Katelyn Beaty&lt;/a&gt; regarding whether or not U.S. Christians face the reality of rising ostracization from the levers of cultural and political power.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://readwise.io/reader/shared/01jnt0qx5x0p6x18bbjvnj6b8c&#34;&gt;Here, a lengthy quote from Beaty in Hawthorne&amp;rsquo;s piece:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;When Christian authors claim that we’re living in an &amp;lsquo;anti-Christian&amp;rsquo; or &amp;lsquo;godless&amp;rsquo; age, they are speaking less to observable fact than to a perception of minority status and worldly hostility. That’s a visceral emotion, and boy does it sell books. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;But when Taylor says &amp;lsquo;secular,&amp;rsquo; he doesn’t mean that most people are atheists now or even that they harbor anti-religious bias. Instead, he says, modern people now face a spiritual “supernova” of choices for faith, and that this plethora &amp;lsquo;fragilizes&amp;rsquo; the religious choices we make, knowing that we might have chosen otherwise, as do many of our neighbors.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;ndash;&lt;/p&gt;
&lt;p&gt;The pieces conclusion resonate with some of my own thoughts on the subject:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;While authors like Renn and Dreher (and scores of others) are writing about how society is downgrading religion, we’re watching an administration stop humanitarian aid by religious nonprofits and threaten religious groups who do refugee relief. The cabinet is full of conservative Christian influencers. The Supreme Court has taken up a case allowing a private religious school in Oklahoma to receive state funding. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Believing in a “negative world” may just be a marker of where you stand within the broader religious landscape.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2025/perpetua.jpg&#34; width=&#34;600&#34; height=&#34;735&#34; alt=&#34;Auto-generated description: A mosaic depicts a haloed figure with the words SCAPERPET VA inscribed above them.&#34;&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/03/11/year-old-nic-a-dutiful.html</link>
      <pubDate>Tue, 11 Mar 2025 22:11:02 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/03/11/year-old-nic-a-dutiful.html</guid>
      <description>&lt;p&gt;18 year old Nic (a dutiful Republican voter) would be absolutely flabbergasted that an ostensibly &amp;ldquo;conservative&amp;rdquo; Federal administration would be cheering on the possibility of deep integration of bureaucratic processes and artificial intelligence. This seems like a bad idea of you are skeptical of centralized State power.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.newcartographies.com/p/strong-men-and-strong-machines&#34;&gt;Nicholas Carr, this week pulling quotes from Norbert Weiner, has some great reflections on the phenomenon:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Building on that idea in The Human Use of Human Beings, he argues that, once set in motion, machine learning might advance to a point where — “whether for good or evil” — computers could be entrusted with the administration of the state. An artificially intelligent computer would become an all-purpose bureaucracy-in-a-box, rendering civil servants obsolete. Society would be controlled by a “colossal state machine” that would makes Hobbes’s Leviathan look like “a pleasant joke.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;ndash;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What for Wiener in 1950 was a speculative vision, and a “terrifying” one, is today a practical goal for AI-infatuated technocrats like Elon Musk. Musk and his cohort not only foresee an “AI-first” government run by artificial intelligence routines but, having managed to seize political power, are now actively working to establish it. In its current “chainsaw” phase, Musk’s DOGE initiative is attempting to rid the government of as many humans as possible while at the same time hoovering up all available government-controlled data and transferring it into large language models. The intent is to clear a space for the incubation of an actual governing machine. Musk is always on the lookout for vessels for his seeds, and here he sees an opportunity to incorporate his ambitions and intentions into the very foundations of a new kind of state.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;ndash;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If the new machine can be said to have a soul, it’s the soul Turing feared: the small, callow soul of its creators.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2025/984px-pieter-bruegel-the-elderthe-tower-of-babel-viennagoogle-art-projected.jpg&#34; alt=&#34;Tower of Babel painting By Pieter Brueghel the Elder - Levels adjusted from File:Pieter_Bruegel_the_Elder_-_The_Tower_of_Babel_(Vienna)_-_Google_Art_Project.jpg, originally from Google Art Project., Public Domain, [commons.wikimedia.org/w/index.p...](https://commons.wikimedia.org/w/index.php?curid=22179117)&#34;&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/03/10/i-find-the-narrative-details.html</link>
      <pubDate>Mon, 10 Mar 2025 22:43:19 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/03/10/i-find-the-narrative-details.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.npr.org/2025/03/10/nx-s1-5323166/arrest-green-card-palestinian-protest&#34;&gt;I find the narrative details behind Mahmoud Khalil&amp;rsquo;s arrest, reportedly without a warrant, and with no specific criminal charges involved, to be extremely disconcerting&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;First, they told Khalil, who&amp;rsquo;s of Palestinian descent, that his student visa had been canceled. But he&amp;rsquo;s not on a visa; he&amp;rsquo;s a legal permanent resident. His wife went to get his green card from their apartment, but officers said his lawful permanent residency had been revoked.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I demanded to see a warrant or have a warrant shown to me or Mr. Khalil before they removed him, and the agent hung up the phone on me,&amp;rdquo; Greer [Khalil&amp;rsquo;s lawyer] said.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It&amp;rsquo;s giving &lt;a href=&#34;https://en.wikipedia.org/wiki/First_They_Came&#34;&gt;&amp;ldquo;first they came for X&amp;rdquo;&lt;/a&gt; vibes.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Here’s a reminder for why you should be excited for Season 2 of Andor:</title>
      <link>https://nic.babarskis.blog/2025/02/24/heres-a-reminder-for-why.html</link>
      <pubDate>Mon, 24 Feb 2025 16:52:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/02/24/heres-a-reminder-for-why.html</guid>
      <description>&lt;p&gt;The Andor series dropped a season 2 trailer announcing an April 22 release date.&lt;/p&gt;
&lt;p&gt;Instead of posting the new trailer, I’m just gonna post &lt;a href=&#34;https://youtu.be/TaKrm5txGCQ?si=0EQPakXsORctOERY&#34;&gt;one of the many moments of writing&lt;/a&gt; that made this show a revelation:&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/TaKrm5txGCQ?si=NLgccfLg0B6mOYTe&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;blockquote&gt;
&lt;p&gt;I fear for you.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;We’ve been sleeping.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;We’ve had each other and Ferrix, our work, our days.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;We had each other, and they left us alone.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;We kept the trade lanes open, and they left us alone.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;We took their money and ignored them. We kept their engines turning and the moment they pulled away we forgot them.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Because we had each other.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;We had Ferrix.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;But we were sleeping. I’ve been sleeping. I’ve been turning away from a truth I’ve wanted not to face.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;There is a wound that won’t heal at the center of the galaxy.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;There is a darkness like rust, reaching into everything around us.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;We let it grow and now it’s here. It’s here and it’s not visiting anymore.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;It want’s to stay.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;The Empire is a disease that thrives in darkness. It is never more alive than when we sleep…&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>I appreciated this taxonomy of Fascism. </title>
      <link>https://nic.babarskis.blog/2025/02/19/i-appreciated-this-taxonomy-of.html</link>
      <pubDate>Wed, 19 Feb 2025 12:19:23 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/02/19/i-appreciated-this-taxonomy-of.html</guid>
      <description>&lt;p&gt;Fascism is a term thrown out so often as a pejorative in some of the online social circles I travel in that I can miss the forest because of whatever individual tree warrants a callout day to day.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://jmichaelrios.wordpress.com/2024/11/04/what-is-fascism-an-exploration-of-the-fascist-heart/&#34;&gt;I found this essay from Jeremy Rios to be a helpful taxonomy of facism, particularly from someone who holds a Christian worldview.&lt;/a&gt; This isn&amp;rsquo;t to say other takes on facism from a different worldview are illegitimate, but he uses language and framings that I think will resonate with folks from my religious circles.&lt;/p&gt;
&lt;p&gt;The article gives a 4 part taxonomy and then gives 3 observations about how fascism may appeal to Christians. &lt;a href=&#34;https://readwise.io/reader/shared/01jd4t73gj80pvcbv7zkcw2ncd&#34;&gt;You should read the whole thing, but I&amp;rsquo;ll pull out 2 quotes here–this link also includes other highlights from the essay I found helpful:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In simplest terms, Fascism is a concept of political governance that prioritizes the authority and power of the central government. To render this in what might be an effective political slogan, Fascism believes that “Power gets it done.” Give me power, and I’ll get it done. Give the leader power, and he’ll get it done. Give the government the power, and they’ll get it done. In fact, the only thing standing between these agencies and the solution to whatever problems we face at the time is that we haven’t yet given them the power.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;ndash;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;So, what is Fascism? It is not really a model of governance. Instead, Fascism identifies a cultural state where high level figures bargain with society for a pact of power. Give us power, and we’ll get things done. The bargain plays upon a series of common emotions in the human heart: the feeling of a lost past, the grim realities of the present, the incompetence of current government. Fascism promises to solve these unsolvable problems through the application of special power which must be granted to it by a constituency. These generalized feelings of societal distress are, in turn, localized on a sub-group who can act as a focal point or scapegoat for the problems. Fascism thus comes to life when a Fascist leader sings his song to the Fascist Heart—a heart that is, to be explicit, present in all of us—and the Fascist Heart in turn gives power to that leader.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>The For and Against AI debate in two succinct quotes. </title>
      <link>https://nic.babarskis.blog/2025/02/15/the-for-and-against-ai.html</link>
      <pubDate>Sat, 15 Feb 2025 23:39:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/02/15/the-for-and-against-ai.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.robinsloan.com/lab/is-it-okay/&#34;&gt;This little reflective essay by Robin Sloan gives an approachable and succinct encapsulation of the pro vs. con Large Language Model viewpoints.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The con viewpoint:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here is the ultimate act of pulling the ladder up behind you, a giant “f*_k you” to every human who ever wanted to accomplish anything, who matched desire to action, in words, part of Everything. Here is a technology founded in the commons, working to undermine it. Immanuel Kant would like a word.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The pro viewpoint:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If super science is a possibility — if, say, Claude 13 can help deliver cures to a host of diseases — then, you know what? Yes, it is okay, all of it. I’m not sure what kind of person could insist that the maintenance of a media status quo trumps the eradication of, say, most cancers. Couldn’t be me. Fine, wreck the arts as we know them. We’ll invent new ones.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/02/12/ugh-this-sucks-the-wikimedia.html</link>
      <pubDate>Wed, 12 Feb 2025 02:34:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/02/12/ugh-this-sucks-the-wikimedia.html</guid>
      <description>&lt;p&gt;Ugh, this sucks.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.404media.co/wikipedia-prepares-for-increase-in-threats-to-us-editors-from-musk-and-his-allies/&#34;&gt;The Wikimedia Foundation says it will likely roll out features previously used to protect editors in authoritarian countries more widely:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The document discusses creating sock puppet accounts to “reveal patterns and provoke reactions,” discusses trying to track users’ geolocation, searching through hacked datasets for username reuse, and using Pimeyes, a facial recognition software, to learn the real identities of Wikipedia editors. Molly White of Citation Needed has an extensive rundown on Elon Musk’s crusade against Wikipedia, and both Slate and The Atlantic have written about the right’s war on Wikipedia in recent days.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;In a series of calls and letters to the Wikimedia community over the last two weeks, Wikimedia executives have told editors that they are trying to figure out how to keep their users safe in an increasingly hostile political environment. “I’m keeping an eye on the rising noise of criticism from Elon Musk and others and I think that’s something we need to grapple with,” Wikimedia founder Jimmy Wales said in a meeting on January 30.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2025/01/31/maha-indeed-trump-withdraws-biden.html</link>
      <pubDate>Sat, 01 Feb 2025 00:27:09 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2025/01/31/maha-indeed-trump-withdraws-biden.html</guid>
      <description>&lt;p&gt;M.A.H.A. indeed 😩&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.michiganpublic.org/politics-government/2025-01-27/trump-withdraws-biden-administration-plan-to-limit-pfas-in-drinking-water-supplies&#34;&gt;Trump withdraws Biden administration plan to set discharge limits on PFAS in water&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>I guess today is a day to say let&#39;s not dehumanize trans kids, their families, or their doctors. </title>
      <link>https://nic.babarskis.blog/2024/12/04/i-guess-today-is-a.html</link>
      <pubDate>Wed, 04 Dec 2024 14:57:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2024/12/04/i-guess-today-is-a.html</guid>
      <description>&lt;p&gt;Today, the U.S. supreme court is hearing oral arguments on a case involving Tennessee law with implications on whether states can ban gender affirming care for minors. I&amp;rsquo;m neither a constitutional lawyer, nor a medical expert - but I do hang out in conservative online forums, and when this topic comes up I inevitably see vitriol and violent rhetoric directed at the families and medical teams involved in gender affirming care circumstances. I see accusations of being butchers, mutilators, perverts and quacks. I once read a pamphlet published by an accredited Christian college that argued trans and queer social activists were a greater threat to the continuation of the U.S. than ISIS. It&amp;rsquo;s just gross. These families and medical professionals are often times facing difficult decisions about how best to support minors in acute embodied distress. For many of these kids this stuff has life or death implications.&lt;/p&gt;
&lt;p&gt;This is why I personally despise framing culture-warring as some sort of civic or religious virtue. For a community that frequently asserts their fidelity to &amp;ldquo;judeo-christian&amp;rdquo; values, when it comes to discussing this particular cultural flashpoint I rarely see a single fruit of the spirit show up in the discussion. Let&amp;rsquo;s not dehumanize trans kids, their families, or their doctors.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>POSSE-pilled</title>
      <link>https://nic.babarskis.blog/2024/11/26/possepilled.html</link>
      <pubDate>Tue, 26 Nov 2024 18:37:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2024/11/26/possepilled.html</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been POSSE-pilled. &lt;a href=&#34;https://indieweb.org/POSSE&#34;&gt;POSSE&lt;/a&gt; stands for &lt;strong&gt;P&lt;/strong&gt;ost on &lt;strong&gt;O&lt;/strong&gt;wn &lt;strong&gt;S&lt;/strong&gt;ite, &lt;strong&gt;S&lt;/strong&gt;yndicate &lt;strong&gt;E&lt;/strong&gt;lsewhere. &lt;a href=&#34;https://nic.babarskis.blog/2024/11/26/posse-visualized.html&#34;&gt;Here&amp;rsquo;s a link to an image of what POSSE looks like.&lt;/a&gt;&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2024/640px-posse-2012-312.jpeg&#34; width=&#34;600&#34; height=&#34;600&#34; alt=&#34;Auto-generated description: A central your site connects with various social media platforms like Twitter, Mastodon, Instagram, and more in a hub-and-spoke diagram.&#34;&gt;
&lt;h2 id=&#34;let-me-explain&#34;&gt;Let me explain:&lt;/h2&gt;
&lt;p&gt;Existing in a digital space between July 2024 - November 2024 radicalized my views on what individual engagement with social platforms and publishing should look like. I happen to live in a political &amp;ldquo;battleground&amp;rdquo; state in the U.S. so pretty much any time I engaged ANY sort of digital media (social, streaming, news/information) I found myself deluged with targeted advertising, and if it wasn&amp;rsquo;t some super PAC screaming at me, it was the newsletters or newspapers I follow, or it was the general vibe of lament/panic in most of my social media silos.&lt;/p&gt;
&lt;p&gt;So I reached a personal breaking point where I&amp;rsquo;m weighing that I would like to maintain some sort of digital presence (for professional, communal, and utilitarian reasons), but my direct engagement with all the specific platforms I use is absolutely toxic. Additionally, so many of the major social media sites are designed for surfing more than creation (the photography sites are not as bad, but even the video-centric sites want you cruising the algorithm more than posting your own stuff). &lt;em&gt;Doing&lt;/em&gt; or &lt;em&gt;creating&lt;/em&gt; something just feels better than sinking a chunk of time into doom scrolling an algorithmic feed, and I need hardwired systems to get me to create instead of consume.&lt;/p&gt;
&lt;p&gt;So, I decided a hard reboot was necessary. For a conceptual/theoretical framework I&amp;rsquo;ve adopted &lt;a href=&#34;https://buymeacoffee.com/ayjay/informed-not-absorbed&#34;&gt;Alan Jacob&amp;rsquo;s&lt;/a&gt; &lt;em&gt;sharing&lt;/em&gt; and &lt;em&gt;reflecting&lt;/em&gt; engagement model. I needed a dedicated blog/site for publishing longform/reflective thoughts, and a space for posts like you&amp;rsquo;d find on Bluesky, Mastadon, Threads, etc. While I have my &lt;a href=&#34;nicolasbabarskis.com&#34;&gt;own Squarespace site&lt;/a&gt; that I&amp;rsquo;ve maintained since my graduate school days back in 2012-2014, I’ve decided the platform doesn’t quite give me the &lt;em&gt;oomph&lt;/em&gt; I needed when considering the subscription cost. Therefore, I set up a &lt;a href=&#34;https://thinking-about-colleges-and-universities.ghost.io&#34;&gt;Ghost site&lt;/a&gt; for my primary reflective writing/blogging project and a &lt;a href=&#34;nic.babarskis.blog&#34;&gt;micro.blog site&lt;/a&gt; to serve as my POSSE hub for social media style sharing. I also signed up for a &lt;a href=&#34;https://readwise.io/read&#34;&gt;dedicated reading app&lt;/a&gt; that I can funnel newsletters and important RSS feeds too, or save articles to read later - this is particularly important for news websites where I don&amp;rsquo;t need (and probably can&amp;rsquo;t emotionally handle right now) a constant deluge of front-page news designed by editors to try and keep me hooked on the website.&lt;/p&gt;
&lt;p&gt;A quick note about POSSE privilege - I have the disposable income that allows me too absorb the subscriptions necessary to set up these sites, and I have enough technical know-how and social capital with IT folks to create my own domains and customize these spaces the way I want. I think it&amp;rsquo;s worth the investment, for my mental health, and my creative and intellectual life. I&amp;rsquo;d be happy to help get you started if you are in a similar (exasperated) place like me.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll see how this goes&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;links-for-where-to-find-or-follow-me&#34;&gt;Links for where to find or follow me&lt;/h2&gt;
&lt;p&gt;A couple newsletter/RSS subscription opportunities if you want to spend less time on social media, but still are interested in engaging with my stuff:&lt;/p&gt;
&lt;p&gt;You can see &lt;a href=&#34;https://follow-thebigbabooski.micro.blog/&#34;&gt;everywhere I have a presence on the web here&lt;/a&gt;. You can &lt;a href=&#34;https://nic.babarskis.blog/subscribe/&#34;&gt;use this link&lt;/a&gt; to get a weekly email newsletter of all the things I post on my micro.blog site - this will include links to my Ghost blog posts, which I intend to announce each week on the micro.blog. If you want just an email newsletter of my longform blog posts &lt;a href=&#34;https://thinking-about-colleges-and-universities.ghost.io&#34;&gt;you can sign up for that here&lt;/a&gt;, or &lt;a href=&#34;https://thinking-about-colleges-and-universities.ghost.io/rss&#34;&gt;sign up for the RSS feed with your RSS reader - just copy this link&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title></title>
      <link>https://nic.babarskis.blog/2024/11/26/posse-visualized.html</link>
      <pubDate>Tue, 26 Nov 2024 14:42:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2024/11/26/posse-visualized.html</guid>
      <description>&lt;p&gt;POSSE visualized:&lt;/p&gt;
&lt;img src=&#34;https://nic.babarskis.blog/uploads/2024/640px-posse-2012-312.jpeg&#34;&gt;
</description>
    </item>
    
    <item>
      <title>A quieter, slower niche on the social web.</title>
      <link>https://nic.babarskis.blog/2024/11/26/a-quieter-slower-niche-on.html</link>
      <pubDate>Tue, 26 Nov 2024 14:09:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2024/11/26/a-quieter-slower-niche-on.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.manton.org/2024/11/25/mastodon-search-providers.html&#34;&gt;Manton Reece
- Bluesky relays, Mastodon discovery providers&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For years Micro.blog customers have also asked for a firehouse view of blog posts. I’ve avoided it, and I’ll continue to avoid it, because it creates new problems for spam and moderation. It’s great that Bluesky and Mastodon offer their own forms of this. Not all platforms need it, though, and as Bluesky and Mastodon become busier, Micro.blog will continue to carve out a quieter, slower niche on the social web.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So far I&amp;rsquo;m liking the slower pace and POSSE functionality. We&amp;rsquo;ll see how it goes as the honeymoon wears off.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Under Construction</title>
      <link>https://nic.babarskis.blog/2024/11/22/under-construction.html</link>
      <pubDate>Fri, 22 Nov 2024 16:34:00 -0400</pubDate>
      
      <guid>http://thebigbabooski.micro.blog/2024/11/22/under-construction.html</guid>
      <description>&lt;h2 id=&#34;tldr&#34;&gt;TLDR &lt;/h2&gt;&lt;img src=&#34;https://thinking-about-colleges-and-universities.ghost.io/content/images/2024/11/5186879-maximum.jpeg&#34; alt=&#34;Under Construction&#34;&gt;&lt;p&gt;&lt;em&gt;(keep some Generative AI related carbon out of the atmosphere and just skim this section if your in a hurry)&lt;/em&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;This post extends some thinking and justification for this blog’s existence beyond the &lt;a href=&#34;https://thinking-about-colleges-and-universities.ghost.io/welcome/&#34; rel=&#34;noreferrer&#34;&gt;inaugural post&lt;/a&gt;. Specifically, my desire to embrace a posture of &lt;em&gt;sharing&lt;/em&gt; and &lt;em&gt;reflecting&lt;/em&gt; as the two primary modes of digital existence.&lt;/li&gt;
&lt;li&gt;Many of the social platforms and digital media spaces that exist are designed to rob users of their agency and keep them coming back for more content/engagement–and this blog provides the infrastructure to resist those nudges.&lt;/li&gt;
&lt;li&gt;I compare my effort to reboot my online presence and digital engagement to curriculum design at colleges and universities, and observe that there is a dearth of reflection on the role of habitual practices in the student development process.&lt;/li&gt;
&lt;/ul&gt;&lt;hr&gt;&lt;h2 id=&#34;sharing-and-reflecting&#34;&gt;Sharing and Reflecting&lt;/h2&gt;&lt;p&gt;Starting and opening a brand new blog/publishing project feels like inviting your friends into a home you’ve gutted down to the studs. You can enthusiastically show them around the joint and cast a vision of what its gonna look like once the work is done, but mostly they’re going to be avoiding the mud and worrying about stepping on a nail. So mind your step because I intend to share a little bit about how this project fits with a larger philosophy of digital presence.&lt;/p&gt;&lt;p&gt;The example I’m following comes from &lt;a href=&#34;https://ayjay.org/&#34; rel=&#34;noreferrer&#34;&gt;Alan Jacobs&lt;/a&gt;, an English Professor and academic administrator at Baylor who has cultivated an online presence I find aspirational. Alan makes it look easy, but of course he does, he’s got 20+ years of inertia behind him. &lt;a href=&#34;https://buymeacoffee.com/ayjay/informed-not-absorbed&#34; rel=&#34;noreferrer&#34;&gt;He summarizes his online presence&lt;/a&gt; as cultivating digital space for the practices of sharing and reflecting. Sharing takes the practical form of micro-blogging while reflecting is done through his longform blog. In time, I’d like to consolidate my online presence into a similar framing - maintaining a digital space I can use for short-form sharing and a space for long(ish)-form reflective blogging.&lt;/p&gt;&lt;h2 id=&#34;terminally-online&#34;&gt;Terminally Online&lt;/h2&gt;&lt;p&gt;I happened upon a Tiktok/Reel I think about frequently that showed a long bank of slot machines with senior citizens dutifully tapping away at the controls, each with a vacuous and hypnotized look. We’re all living with little slot machines in our pockets though for most of us it’s not pennies but attention we’re repeatedly feeding into the machine.&lt;/p&gt;&lt;figure class=&#34;kg-card kg-embed-card kg-card-hascaption&#34;&gt;&lt;iframe width=&#34;200&#34; height=&#34;150&#34; src=&#34;https://www.youtube.com/embed/9vBagbkuZXU?feature=oembed&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen title=&#34;Stan Twitter: Old people lined up at the slot machines&#34;&gt;&lt;/iframe&gt;&lt;figcaption&gt;&lt;p dir=&#34;ltr&#34;&gt;&lt;span style=&#34;white-space: pre-wrap;&#34;&gt;If you have smartphone, chances are this is you at least some of the time...&lt;/span&gt;&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;This blog is part of a broader attempt to reset my relationship to my digital self. I came of age digitally in the era of MySpace and .edu-requiring Facebook. I remember fondly the curiosity and optimistic epoch of digital engagement that didn’t feel like I was having my attention milked like a horseshoe crab’s blood. While I encounter ideas worth pondering in &lt;em&gt;some&lt;/em&gt; of the digital spaces I frequent, currently, most of my activity on the numerous social media sites I maintain is directionless. I’m simply riding the algorithmic currents, scrounging for a means to sustain a dopamine drip with little regard for actual intellectual edification, professional development, or cultural enrichment.&lt;/p&gt;&lt;h2 id=&#34;curriculum-design-and-personal-transformation&#34;&gt;Curriculum Design and Personal Transformation&lt;/h2&gt;&lt;p&gt;Can I relate this musing back to thinking about colleges and universities?&lt;/p&gt;&lt;p&gt;I believe that education is about more than just banking information,&lt;sup class=&#34;footnote-ref&#34;&gt;&lt;a href=&#34;#fn1&#34; id=&#34;fnref1&#34;&gt;[1]&lt;/a&gt;&lt;/sup&gt; it’s a transformative process. Particularly with the way that the U.S. “does” college and university life, there is an understanding that the student experience should be considered holistically–that the educational process includes not only what happens in the classroom but also encompasses all the individual, and communal experiences that occur during the period of matriculation.&lt;sup class=&#34;footnote-ref&#34;&gt;&lt;a href=&#34;#fn2&#34; id=&#34;fnref2&#34;&gt;[2]&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Beyond simply considering the institutional and communal ecosystem in which learning takes place, curricular practices matter as well–and it is here that I find overlap between my grasping for an alternative form of digital engagement and college and university dynamics. I find a lot of credence in the claim that our habits are as important–possibly more important–than the sequencing of activities, experiences, and content structured into a learning plan. &lt;sup class=&#34;footnote-ref&#34;&gt;&lt;a href=&#34;#fn3&#34; id=&#34;fnref3&#34;&gt;[3]&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;My updated online presence and (hopefully over time) shifting social media habits are an effort to build appropriate boundaries around my media consumption in an anxious age. Over time I hope they will change the way I consciously and unconsciously respond to the specifically engineered means by which these platforms try to harness my attention and manipulate my endocrine system to keep me engaged. Similarly, colleges and universities should be a bulwark against a waning appetite for pluralism and intellectual curiosity. They should intentionally construct their built environment, social opportunities, curricular approach, and rituals for proactive civic engagement and democratic participation.&lt;/p&gt;
&lt;hr class=&#34;footnotes-sep&#34;&gt;
&lt;section class=&#34;footnotes&#34;&gt;
&lt;ol class=&#34;footnotes-list&#34;&gt;
&lt;li id=&#34;fn1&#34; class=&#34;footnote-item&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Pedagogy_of_the_Oppressed&#34;&gt;to borrow a phrase from Paulo Freire&lt;/a&gt; &lt;a href=&#34;#fnref1&#34; class=&#34;footnote-backref&#34;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn2&#34; class=&#34;footnote-item&#34;&gt;
&lt;p&gt;for two classic texts for this argument see the &lt;a href=&#34;https://www.naspa.org/images/uploads/main/Student_Personnel_Point_of_View_1949.pdf&#34;&gt;student personnel point of view&lt;/a&gt;, and &lt;a href=&#34;https://www.naspa.org/images/uploads/main/learning_reconsidered_report.pdf&#34;&gt;Learning Reconsidered&lt;/a&gt; &lt;a href=&#34;#fnref2&#34; class=&#34;footnote-backref&#34;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn3&#34; class=&#34;footnote-item&#34;&gt;
&lt;p&gt;for a longform argument about the power of habitual or “liturgical” formation see &lt;a href=&#34;https://bookshop.org/p/books/you-are-what-you-love-the-spiritual-power-of-habit-james-k-a-smith/6714459?ean=9781587433801&#34;&gt;James K.A. Smith’s You Are What You Love.&lt;/a&gt; He may be speaking about spiritual formation, but I think it applies in other areas of psycho-social development as well. &lt;a href=&#34;#fnref3&#34; class=&#34;footnote-backref&#34;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
&lt;p&gt;&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>