<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>R-in-Production on TanHo.ca</title><link>https://tanho.ca/tags/r-in-production/</link><description>Recent content in R-in-Production on TanHo.ca</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright> © 2026 Tan Ho. Unless otherwise specified, content is licensed with [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).</copyright><lastBuildDate>Fri, 02 Oct 2026 14:22:39 -0400</lastBuildDate><atom:link href="https://tanho.ca/tags/r-in-production/index.xml" rel="self" type="application/rss+xml"/><item><title>Data Science Hangout</title><link>https://tanho.ca/posts/talks/2025-10_dshangout/</link><pubDate>Thu, 23 Oct 2025 00:00:00 +0000</pubDate><guid>https://tanho.ca/posts/talks/2025-10_dshangout/</guid><description>&#10;&lt;h2 class="relative group"&gt;Recording&#10; &lt;div id="recording" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#recording" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/Eqlh3iE1BiU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://tanho.ca/posts/talks/2025-10_dshangout/featured.png"/></item><item><title>DSLC Slack: Debugging Netlify Deploys</title><link>https://tanho.ca/posts/2024-12-19_deploy-debugging/</link><pubDate>Thu, 19 Dec 2024 00:00:00 +0000</pubDate><guid>https://tanho.ca/posts/2024-12-19_deploy-debugging/</guid><description>&lt;div class="flex px-4 py-3 rounded-md bg-primary-100 dark:bg-primary-900"&gt;&#10; &lt;span class="text-primary-400 ltr:pr-3 rtl:pl-3 flex items-center"&gt;&#10; &lt;span class="relative block icon"&gt;&#10; &lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 32C114.6 32 .0272 125.1 .0272 240c0 49.63 21.35 94.98 56.97 130.7c-12.5 50.37-54.27 95.27-54.77 95.77c-2.25 2.25-2.875 5.734-1.5 8.734C1.979 478.2 4.75 480 8 480c66.25 0 115.1-31.76 140.6-51.39C181.2 440.9 217.6 448 256 448c141.4 0 255.1-93.13 255.1-208S397.4 32 256 32z"&gt;&lt;/path&gt;&lt;/svg&gt;&#10; &lt;/span&gt;&#10; &lt;/span&gt;&#10; &lt;span class="dark:text-neutral-300"&gt;I greatly enjoy the DSLC Slack Community (&lt;a href="https://dslc.io/join" target="_blank"&gt;&#10; dslc.io/join&lt;/a&gt;),&#10;and spend a fair bit of time answering questions! This post is part of a &lt;a href="https://tanho.ca/tags/dslc-slack"&gt;&#10; series&lt;/a&gt;&#10;where I curate some interesting questions and/or answers that I’ve come across there.&lt;/span&gt;&#10;&lt;/div&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;Question&#10; &lt;div id="question" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#question" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Hi all! I&amp;rsquo;m having a hard time understanding why netlify checks on a Pull Request&#10;with only a empty line added in the commit are failing for a blogdown website.&#10;I created &lt;a href="https://github.com/MetaDocencia/SitioWeb/pull/226" target="_blank" rel="noreferrer"&gt;this PR&lt;/a&gt; as a&#10;small example, but basically any kind of PR is failing nevermind its content,&#10;and the site is published-rendered without problem if we commit directly to main.&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;m super puzzled by this, does anyone have any tips on how can I debug it? Thanks &amp;#x1f64f;&lt;/p&gt;&#10;&lt;p&gt;- MC Nanton&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="relative group"&gt;Answer&#10; &lt;div id="answer" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#answer" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Let&amp;rsquo;s look through some of your Netlify deploy logs. I found these from your GitHub&#10;repo automated checks:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://app.netlify.com/sites/metadocencia/deploys/6758b3ee5881ee0009315995" target="_blank" rel="noreferrer"&gt;failing deploy logs for your PR&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://app.netlify.com/sites/metadocencia/deploys/67587beefabc760008a03d0b" target="_blank" rel="noreferrer"&gt;successful deploy logs for your main branch&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/MetaDocencia/SitioWeb" target="_blank" rel="noreferrer"&gt;repo link&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10; &#10;&#10;&#10;&#10;&lt;div&#10; &#10; class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"&#10; &#10; &gt;&#10; &lt;span&#10; &#10; class="text-primary-400 pe-3 flex items-center"&#10; &#10; &gt;&#10; &lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/&gt;&lt;/svg&gt;&#10;&lt;/span&gt;&#10; &lt;/span&gt;&#10;&#10; &lt;span&#10; &#10; class="dark:text-neutral-300"&#10; &#10; &gt;editor&amp;rsquo;s note: archived the deploy logs in question to&#10;&lt;a href="https://gist.github.com/tanho63/09ccc1edec99c4b95227cc18b8dc7957" target="_blank" rel="noreferrer"&gt;this gist&lt;/a&gt;&#10;just in case the deploy logs are deleted at some point&lt;/span&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;It seems like your&#10;&lt;a href="https://app.netlify.com/sites/metadocencia/deploys/6758b3ee5881ee0009315995#L100" target="_blank" rel="noreferrer"&gt;PR deploy logs&lt;/a&gt;&#10;show this warning immediately before failing:&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WARN 2024/12/10 21:35:19 Module &amp;#34;hugo-academic&amp;#34; is not compatible with this Hugo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;version; run &amp;#34;hugo mod graph&amp;#34; for more information.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;and this definitely doesn&amp;rsquo;t show up on your main deploy logs. Let&amp;rsquo;s try to figure out&#10;where your hugo versions are specified. Here&amp;rsquo;s a relevant section of the deploy logs:&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4:35:19 PM: ❯ Current directory&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4:35:19 PM: /opt/build/repo&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4:35:19 PM: ​&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4:35:19 PM: ❯ Config file&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4:35:19 PM: /opt/build/repo/netlify.toml&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4:35:19 PM: ​&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4:35:19 PM: ❯ Context&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4:35:19 PM: deploy-preview&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;The logs say that the file responsible for specifying hugo version is netlify.toml,&#10;so let&amp;rsquo;s have a look at what that looks like on GitHub&#10;&lt;a href="https://github.com/MetaDocencia/SitioWeb/blob/74e10134f18b5e08a99059d1cb927a14be3afb60/netlify.toml" target="_blank" rel="noreferrer"&gt;right now&lt;/a&gt;:&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;production&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;HUGO_VERSION&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0.64.0&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;Notice that it specifies &lt;code&gt;context.production&lt;/code&gt; here, and that the context for the&#10;failing logs is &lt;code&gt;deploy-preview&lt;/code&gt;. If we go back into the failing logs, we can confirm&#10;that the hugo-version specified here isn&amp;rsquo;t working properly:&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4:35:12 PM: Installing Hugo 0.57.2&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;So a solution that should work is to update the netlify.toml to specify the&#10;HUGO_VERSION for the deploy-preview context:&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;production&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;HUGO_VERSION&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0.64.0&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;deploy-preview&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;HUGO_VERSION&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0.64.0&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;and this should do the trick. You might need to push it to main instead of to a PR&#10;branch though, Netlify usually uses the config from the main repo branch.&lt;/p&gt;&#10;&lt;p&gt;(Update: this solution worked!)&lt;/p&gt;&#10;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://tanho.ca/posts/2024-12-19_deploy-debugging/featured.jpg"/></item><item><title>Adventures In Scaling Shiny: Lessons Learned Building DynastyProcess</title><link>https://tanho.ca/posts/talks/2024-10_shinyprod2024_scaling/</link><pubDate>Thu, 10 Oct 2024 00:00:00 +0000</pubDate><guid>https://tanho.ca/posts/talks/2024-10_shinyprod2024_scaling/</guid><description>&#10;&lt;h2 class="relative group"&gt;Recording&#10; &lt;div id="recording" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#recording" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/zb3umo3Ka2g?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;Materials&#10; &lt;div id="materials" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#materials" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Repo: &lt;a href="https://github.com/tanho63/talk_shinyprod2024_scaling" target="_blank" rel="noreferrer"&gt;https://github.com/tanho63/talk_shinyprod2024_scaling&lt;/a&gt;&lt;/p&gt;&#10;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://tanho.ca/posts/talks/2024-10_shinyprod2024_scaling/featured.png"/></item><item><title>Effective Logging Strategies</title><link>https://tanho.ca/posts/talks/2023-10_shinyprod2023_logging/</link><pubDate>Fri, 13 Oct 2023 00:00:00 +0000</pubDate><guid>https://tanho.ca/posts/talks/2023-10_shinyprod2023_logging/</guid><description>&#10;&lt;h2 class="relative group"&gt;Recording&#10; &lt;div id="recording" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#recording" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/wbUXrK_YWfI?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;Materials&#10; &lt;div id="materials" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#materials" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Repo: &lt;a href="https://github.com/tanho63/talk_shinyprod2023_logging" target="_blank" rel="noreferrer"&gt;https://github.com/tanho63/talk_shinyprod2023_logging&lt;/a&gt;&lt;/p&gt;&#10;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://tanho.ca/posts/talks/2023-10_shinyprod2023_logging/featured.jpg"/></item><item><title>Debugging Shiny Apps</title><link>https://tanho.ca/posts/talks/2023-03_shinyconf2023_debugging/</link><pubDate>Fri, 17 Mar 2023 00:00:00 +0000</pubDate><guid>https://tanho.ca/posts/talks/2023-03_shinyconf2023_debugging/</guid><description>&#10;&lt;h2 class="relative group"&gt;Recording&#10; &lt;div id="recording" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#recording" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/x764Y1qz_iQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;Materials&#10; &lt;div id="materials" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#materials" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/tanho63/talk_shinyconf2023_debugging" target="_blank" rel="noreferrer"&gt;https://github.com/tanho63/talk_shinyconf2023_debugging&lt;/a&gt;&lt;/p&gt;&#10;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://tanho.ca/posts/talks/2023-03_shinyconf2023_debugging/featured.png"/></item><item><title>Using GitHub To Make Your Work Live Forever</title><link>https://tanho.ca/talks/rsconf2022-github/</link><pubDate>Wed, 27 Jul 2022 00:00:00 +0000</pubDate><guid>https://tanho.ca/talks/rsconf2022-github/</guid><description>&#10;&lt;h2 class="relative group"&gt;Recording&#10; &lt;div id="recording" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#recording" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/wzcz4xNGeTI?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://tanho.ca/talks/rsconf2022-github/featured.jpg"/></item><item><title>Setting Up Your Own Shiny Server</title><link>https://tanho.ca/posts/talks/2021-10_tantorials_shiny-server/</link><pubDate>Mon, 11 Oct 2021 00:00:00 +0000</pubDate><guid>https://tanho.ca/posts/talks/2021-10_tantorials_shiny-server/</guid><description>&#10;&lt;h2 class="relative group"&gt;Recording&#10; &lt;div id="recording" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#recording" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/JL4T0qfqY7k?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://tanho.ca/posts/talks/2021-10_tantorials_shiny-server/featured.jpg"/></item></channel></rss>