commit eaeef4a0eddff47f354464427971b46f081dc747 equwal <13551856+equwal@users.noreply.github.com> 2026-09-26 12:53:36 -0700 Add a podcast feed with the episodes from YouTube build.sh writes podcast.xml from the new file podcast.tsv. It also puts the episode list on the new page polyglot-podcast.html. The YouTube descriptions of the episodes link to equwal.com/polyglot-podcast.html, which redirects to that page. Before this change, that page gave 404. The audio of episodes 5-18 was lost. Their YouTube videos have the same recordings, so the audio comes from YouTube as AAC (.m4a), with no new encode. Apple Podcasts and Spotify do not accept Opus. The three new episodes are the talking-head videos of @muhlanguages. Episodes 1-4 are not on YouTube, so they stay missing. The audio stays out of git. A protect rule in the rsync deploy keeps the server copy when a working tree has no audio. feed_date now keeps the time of day. A post has only a date, so the blog feed does not change.
.gitignore | 6 + MISSING-ASSETS.md | 16 +- build.sh | 91 ++++++++++- pages/polyglot-podcast.md | 16 ++ podcast.tsv | 17 +++ ...-about-polyglot-language-learning-LISTEN-NOW.md | 30 ++-- ...bout-polyglot-language-learning-LISTEN-NOW.html | 35 ++--- site/index.html | 1 + site/podcast.xml | 170 +++++++++++++++++++++ site/polyglot-podcast.html | 75 +++++++++ ...bout-polyglot-language-learning-LISTEN-NOW.html | 30 ++-- site/static/podcast.png | Bin 0 -> 63696 bytes static/podcast.png | Bin 0 -> 63696 bytes 13 files changed, 423 insertions(+), 64 deletions(-)
diff --git a/.gitignore b/.gitignore index 53991d8..6293587 100755 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,12 @@ /static/book/ /site/static/book/ +# Podcast audio. It is too large for git. build.sh deploys it from the +# working tree, and its rsync rule keeps the server copy. podcast.tsv gives +# the YouTube video of each episode, so a lost file can be downloaded again. +/static/language-podcast/ +/site/static/language-podcast/ + # Build output and local settings of the accounts service. /accounts/accounts /accounts/accounts.exe diff --git a/MISSING-ASSETS.md b/MISSING-ASSETS.md index ebd2f65..35f9c1c 100755 --- a/MISSING-ASSETS.md +++ b/MISSING-ASSETS.md @@ -23,7 +23,7 @@ No copy of these survives online. Re-create each as `pages/<name>.md`. - intervjuoj-de-aejk.html - noveloj-de-la-ondo.html -## Attachments referenced by the posts and pages (123) +## Attachments referenced by the posts and pages (109) - 25-noveloj/25-noveloj.epub — used by 25-noveloj.html - 25-noveloj/25-noveloj.mobi — used by 25-noveloj.html @@ -106,23 +106,9 @@ No copy of these survives online. Re-create each as `pages/<name>.md`. - static/kanji-radicals.apkg — used by Learn-Kanji-in-a-Fortnight.html - static/kern-punkto-walnut.png — used by esperantaj-audoj.html - static/language-podcast/1 ALATT Path And C1 Polyglot To C2.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/10-what-is-a-good-language-learning-method.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/11-you-need-to-know-how-they-learn-japanese.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/12-why-do-we-learn-languages.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/13-so-you-want-to-learn-latin.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/14-learn-how-to-learn-how-to-learn-languages.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html - static/language-podcast/2 LR is Mandatory For Literate Polyglots.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html - static/language-podcast/3 Six Part Learner Model.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html - static/language-podcast/4 There Are Higher Levels To Aquisition.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/5-so-you-want-to-learn-some-languages-what-do-you-do.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/6-need-to-listen-to-conversations-to-speak.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/7-listening-reading.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/8-how-to-get-and-consume-media-climbing-a-mountain.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/9-learn-five-languages-from-zero.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/Audacity Shadowing Without Shadowing.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/BUYNOW.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/How to Use the Internet Library Only.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html -- static/language-podcast/Quixotic Self-Awareness.opus — used by New-podcast-about-polyglot-language-learning-LISTEN-NOW.html - static/norda-naturo/norda-naturo.epub — used by norda-naturo.html - static/norda-naturo/norda-naturo.mobi — used by norda-naturo.html - static/norda-naturo/norda-naturo.txt — used by norda-naturo.html diff --git a/build.sh b/build.sh index 00187f1..6f6ebdf 100755 --- a/build.sh +++ b/build.sh @@ -191,9 +191,10 @@ awk -v postfile="$WORK/post-items.html" -v pagefile="$WORK/page-items.html" ' # RFC 822, as RSS requires. The C locale matters: without it the day and # month names come out in the system language. `date -d` is GNU; where it is -# missing the item simply goes out without a pubDate. +# missing the item simply goes out without a pubDate. A post has only a +# date, so its time is midnight; a podcast episode has an exact time. feed_date() { - LC_ALL=C date -u -d "$1" '+%a, %d %b %Y 00:00:00 +0000' 2>/dev/null + LC_ALL=C date -u -d "$1" '+%a, %d %b %Y %H:%M:%S +0000' 2>/dev/null } # A feed reader shows the HTML away from the site, so links relative to it @@ -237,6 +238,84 @@ absolute() { printf '</channel>\n</rss>\n' } > "$SITE_DIR/rss.xml" +# ── podcast ────────────────────────────────────────────────── +# podcast.tsv lists the podcast episodes, newest first, one on each line: +# date <TAB> file <TAB> bytes <TAB> seconds <TAB> youtube <TAB> title +# date is the UTC time of the upload in ISO 8601. file is the name of the +# audio in static/language-podcast/. The audio stays out of git (see +# .gitignore), so its size and length, which the feed must give, are kept +# here. youtube is the ID of the same episode on YouTube, or "-" if none. +# Every field needs a value, because read merges empty tab-separated fields. +PODCAST_PAGE="polyglot-podcast.html" +AUDIO_DIR="static/language-podcast" + +youtube_url() { + printf 'https://www.youtube.com/watch?v=%s' "$1" +} + +{ + printf '<?xml version="1.0" encoding="UTF-8"?>\n' + printf '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"' + printf ' xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"' + printf ' xmlns:podcast="https://podcastindex.org/namespace/1.0">\n<channel>\n' + printf ' <title>Polyglot Podcast</title>\n' + printf ' <link>%s/%s</link>\n' "$SITE_URL" "$PODCAST_PAGE" + printf ' <description>Spenser Truex talks about how to learn languages, and about AI.</description>\n' + printf ' <language>en-us</language>\n' + printf ' <atom:link href="%s/podcast.xml" rel="self" type="application/rss+xml" />\n' "$SITE_URL" + printf ' <itunes:author>Spenser Truex</itunes:author>\n' + printf ' <itunes:image href="%s/static/podcast.png" />\n' "$SITE_URL" + printf ' <itunes:category text="Education">\n' + printf ' <itunes:category text="Language Learning" />\n' + printf ' </itunes:category>\n' + printf ' <itunes:explicit>false</itunes:explicit>\n' + printf ' <podcast:funding url="https://ko-fi.com/truex">Support the podcast</podcast:funding>\n' + while IFS="$TAB" read -r date file bytes seconds youtube title; do + [ -z "$date" ] && continue + case $file in + *.m4a) type=audio/x-m4a ;; + *.mp3) type=audio/mpeg ;; + *) echo "podcast.tsv: no MIME type for $file" >&2; exit 1 ;; + esac + url="$SITE_URL/$AUDIO_DIR/$file" + printf ' <item>\n' + printf ' <title>%s</title>\n' "$(printf '%s' "$title" | esc)" + printf ' <enclosure url="%s" length="%s" type="%s" />\n' "$url" "$bytes" "$type" + printf ' <guid isPermaLink="false">%s</guid>\n' "$url" + pub=$(feed_date "$date") && [ -n "$pub" ] && + printf ' <pubDate>%s</pubDate>\n' "$pub" + printf ' <itunes:duration>%s</itunes:duration>\n' "$seconds" + if [ "$youtube" != - ]; then + printf ' <link>%s</link>\n' "$(youtube_url "$youtube")" + printf ' <description>Video: %s</description>\n' "$(youtube_url "$youtube")" + fi + printf ' </item>\n' + done < podcast.tsv + printf '</channel>\n</rss>\n' +} > "$SITE_DIR/podcast.xml" + +# The podcast page lists the same episodes. The list goes in place of the +# comment <!-- EPISODE_LIST --> in pages/polyglot-podcast.md. +while IFS="$TAB" read -r date file bytes seconds youtube title; do + [ -z "$date" ] && continue + printf '<li><a href="%s/%s">%s</a>' "$AUDIO_DIR" "$file" \ + "$(printf '%s' "$title" | esc)" + [ "$youtube" = - ] || + printf ' (<a href="%s">video</a>)' "$(youtube_url "$youtube")" + printf '</li>\n' +done < podcast.tsv > "$WORK/episode-items.html" +awk -v listfile="$WORK/episode-items.html" ' + /<!-- EPISODE_LIST -->/ { + print "<ul>" + while ((getline line < listfile) > 0) print line + close(listfile) + print "</ul>" + next + } + { print } +' "$SITE_DIR/$PODCAST_PAGE" > "$WORK/podcast-page.html" +cp "$WORK/podcast-page.html" "$SITE_DIR/$PODCAST_PAGE" + # ── post data for the accounts service ────────────────────── # accounts/ reads these files to send email about new posts and to make # the private feed of each user. index.tsv has one line for each post, @@ -251,7 +330,7 @@ while IFS="$TAB" read -r order date slug title; do done < "$WORK/sorted.tsv" > "$SITE_DIR/postdata/index.tsv" echo "Built $(ls "$SITE_DIR"/*.html | wc -l | tr -d ' ') pages → $SITE_DIR/" -echo " posts: $(wc -l < "$WORK/posts.tsv" | tr -d ' ') pages: $(wc -l < "$WORK/pages.tsv" | tr -d ' ') feed: $(grep -c '<item>' "$SITE_DIR/rss.xml") items" +echo " posts: $(wc -l < "$WORK/posts.tsv" | tr -d ' ') pages: $(wc -l < "$WORK/pages.tsv" | tr -d ' ') feed: $(grep -c '<item>' "$SITE_DIR/rss.xml") items podcast: $(grep -c '<item>' "$SITE_DIR/podcast.xml") episodes" # ── deploy ─────────────────────────────────────────────────── # git/ and git.html share this web root but are published by deploy-git.sh, @@ -259,9 +338,13 @@ echo " posts: $(wc -l < "$WORK/posts.tsv" | tr -d ' ') pages: $(wc -l < "$WOR # rsync never deletes an excluded path on the receiving side. # static/book/ holds book files that stay out of the repo (see .gitignore). # They exist only on the server, so the same rule protects them. +# static/language-podcast/ holds the podcast audio, which also stays out of +# the repo. The P (protect) rule stops --delete from removing the server +# copy when the working tree has no audio, but the audio that the working +# tree has still uploads. if [ "$DEPLOY" = yes ]; then rsync -avzP --delete --exclude=/git/ --exclude=/git.html \ - --exclude=/static/book/ \ + --exclude=/static/book/ --filter='P /static/language-podcast/***' \ "$SITE_DIR/" "$DEPLOY_HOST:$DEPLOY_PATH" ssh "$DEPLOY_HOST" "chmod -R a+rX $DEPLOY_PATH" fi diff --git a/pages/polyglot-podcast.md b/pages/polyglot-podcast.md new file mode 100644 index 0000000..3494856 --- /dev/null +++ b/pages/polyglot-podcast.md @@ -0,0 +1,16 @@ +--- +title: Polyglot Podcast +links: +- '[New podcast about polyglot language learning (LISTEN NOW!)](New-podcast-about-polyglot-language-learning-LISTEN-NOW.html)' +- '[YouTube](youtube.html)' +- '[Donate](donate.html)' +--- + +How to learn languages, and some AI. + +Subscribe in a podcast app with the RSS feed: +<https://recentlywritten.com/podcast.xml> + +Support the podcast on [ko-fi](https://ko-fi.com/truex). + +<!-- EPISODE_LIST --> diff --git a/podcast.tsv b/podcast.tsv new file mode 100644 index 0000000..d21cd2d --- /dev/null +++ b/podcast.tsv @@ -0,0 +1,17 @@ +2026-08-10T00:11:38Z stop-ai-with-this-one-weird-trick.m4a 9597391 593 T34-trDek-4 We're all going to die by AI unless this one thing happens: stop AI with this one weird trick +2026-08-09T20:23:39Z test-your-vibe-code.m4a 8016382 496 CsJuUGQEBrU Secret way to test your FREAKING VIBE CODE or it will never work ever +2026-08-08T12:50:23Z our-ai-is-totally-fine.m4a 29439885 1820 B0rAEuhcjGQ Our "AI" is totally fine according to Bostrom's Superintelligence, 2014 +2025-08-13T04:00:16Z buy-now.m4a 2368880 146 76ktbgBj4zU BUY NOW (book announcement) +2025-08-11T04:01:10Z quixotic-self-awareness.m4a 2851798 176 vzz8c7KJVpc Quixotic Self-Awareness +2025-08-11T04:00:24Z how-to-use-the-internet-library-only.m4a 5629562 348 UMQLpgeylbg How to Use the Internet Library Only +2025-08-10T07:01:00Z audacity-shadowing-without-shadowing.m4a 3354271 207 pfViqMW0pVY Audacity Shadowing Without Shadowing +2025-08-09T08:00:06Z 14-learn-how-to-learn-how-to-learn-languages.m4a 19577187 1210 tC1Snqa1eVo Learn how to learn how to learn languages +2025-08-08T04:54:02Z 13-so-you-want-to-learn-latin.m4a 10041166 621 kXEtMn0NU-w So you want to learn Latin +2025-08-08T04:00:09Z 12-why-do-we-learn-languages.m4a 7337416 454 2xWWsZ1667Q Why do we learn languages (for the middle path) +2025-08-08T03:59:48Z 11-you-need-to-know-how-they-learn-japanese.m4a 3898023 241 5xthTMBcjZI YOU need to know how they learn Japanese +2025-08-08T03:11:17Z 10-what-is-a-good-language-learning-method.m4a 12724687 787 sSVpwxwtkH8 What is a good language learning method +2025-08-08T02:51:30Z 9-learn-five-languages-from-zero.m4a 15157261 937 Twyfq_ETzZ0 Learn five languages from zero +2025-08-08T02:21:41Z 8-how-to-get-and-consume-media-climbing-a-mountain.m4a 6495865 402 FeGQw-z8Kg0 How to get and consume media climbing a mountain +2025-08-08T01:47:11Z 7-listening-reading.m4a 7453807 461 KhUxlT_ThxQ Listening reading (L/R) +2025-08-08T01:01:46Z 6-need-to-listen-to-conversations-to-speak.m4a 3324956 206 _lSYnoMqPQk Need to listen to conversations to speak +2025-08-08T00:21:00Z 5-so-you-want-to-learn-some-languages-what-do-you-do.m4a 5946500 368 6SwJj6-gWtI So you want to learn some languages, what do you do? diff --git a/posts/New-podcast-about-polyglot-language-learning-LISTEN-NOW.md b/posts/New-podcast-about-polyglot-language-learning-LISTEN-NOW.md index d9ad385..638cefa 100755 --- a/posts/New-podcast-about-polyglot-language-learning-LISTEN-NOW.md +++ b/posts/New-podcast-about-polyglot-language-learning-LISTEN-NOW.md @@ -15,23 +15,25 @@ links: - '[How to Learn a Language According to The Internet](How-to-Learn-a-Language-According-to-The-Internet.html)' --- +Update: the podcast now has a page and an RSS feed: [Polyglot Podcast](polyglot-podcast.html). + Right now it isn't syndicated anywhere, but you can download them directly from these links: - [1 ALATT path and C1 polyglot to C2](static/language-podcast/1%20ALATT%20Path%20And%20C1%20Polyglot%20To%20C2.opus) - [2 LR is mandatory for literate polyglots](static/language-podcast/2%20LR%20is%20Mandatory%20For%20Literate%20Polyglots.opus) - [3 Six part learner model](static/language-podcast/3%20Six%20Part%20Learner%20Model.opus) - [4 There are higher levels to aquisition](static/language-podcast/4%20There%20Are%20Higher%20Levels%20To%20Aquisition.opus) -- [5 So you want to learn some languages, what do you do?](static/language-podcast/5-so-you-want-to-learn-some-languages-what-do-you-do.opus) -- [6 Need to listen to conversations to speak](static/language-podcast/6-need-to-listen-to-conversations-to-speak.opus) -- [7 Listening reading (L/R)](static/language-podcast/7-listening-reading.opus) -- [8 How to get and consume media climbing a mountain](static/language-podcast/8-how-to-get-and-consume-media-climbing-a-mountain.opus) -- [9 Learn five languages from zero](static/language-podcast/9-learn-five-languages-from-zero.opus) -- [10 What is a good language learning method](static/language-podcast/10-what-is-a-good-language-learning-method.opus) -- [11 YOU need to know how they learn Japanese](static/language-podcast/11-you-need-to-know-how-they-learn-japanese.opus) -- [12 Why do we learn languages (for the middle path)](static/language-podcast/12-why-do-we-learn-languages.opus) -- [13 So you want to learn Latin](static/language-podcast/13-so-you-want-to-learn-latin.opus) -- [14 Learn how to learn how to learn languages](static/language-podcast/14-learn-how-to-learn-how-to-learn-languages.opus) -- [15 Audacity Shadowing Without Shadowing](static/language-podcast/Audacity%20Shadowing%20Without%20Shadowing.opus) -- [16 BUY NOW (book announcement)](static/language-podcast/BUYNOW.opus) -- [17 How to Use the Internet Library Only](static/language-podcast/How%20to%20Use%20the%20Internet%20Library%20Only.opus) -- [18 Quixotic Self-Awareness](static/language-podcast/Quixotic%20Self-Awareness.opus) +- [5 So you want to learn some languages, what do you do?](static/language-podcast/5-so-you-want-to-learn-some-languages-what-do-you-do.m4a) +- [6 Need to listen to conversations to speak](static/language-podcast/6-need-to-listen-to-conversations-to-speak.m4a) +- [7 Listening reading (L/R)](static/language-podcast/7-listening-reading.m4a) +- [8 How to get and consume media climbing a mountain](static/language-podcast/8-how-to-get-and-consume-media-climbing-a-mountain.m4a) +- [9 Learn five languages from zero](static/language-podcast/9-learn-five-languages-from-zero.m4a) +- [10 What is a good language learning method](static/language-podcast/10-what-is-a-good-language-learning-method.m4a) +- [11 YOU need to know how they learn Japanese](static/language-podcast/11-you-need-to-know-how-they-learn-japanese.m4a) +- [12 Why do we learn languages (for the middle path)](static/language-podcast/12-why-do-we-learn-languages.m4a) +- [13 So you want to learn Latin](static/language-podcast/13-so-you-want-to-learn-latin.m4a) +- [14 Learn how to learn how to learn languages](static/language-podcast/14-learn-how-to-learn-how-to-learn-languages.m4a) +- [15 Audacity Shadowing Without Shadowing](static/language-podcast/audacity-shadowing-without-shadowing.m4a) +- [16 BUY NOW (book announcement)](static/language-podcast/buy-now.m4a) +- [17 How to Use the Internet Library Only](static/language-podcast/how-to-use-the-internet-library-only.m4a) +- [18 Quixotic Self-Awareness](static/language-podcast/quixotic-self-awareness.m4a) diff --git a/site/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html b/site/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html index 9202576..dac96b5 100755 --- a/site/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html +++ b/site/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html @@ -37,6 +37,8 @@ learning (LISTEN NOW!)" /> <h1 class="post-title">New podcast about polyglot language learning (LISTEN NOW!)</h1> + <p>Update: the podcast now has a page and an RSS feed: <a + href="polyglot-podcast.html">Polyglot Podcast</a>.</p> <p>Right now it isn’t syndicated anywhere, but you can download them directly from these links:</p> <ul> @@ -53,44 +55,43 @@ learning (LISTEN NOW!)" /> href="static/language-podcast/4%20There%20Are%20Higher%20Levels%20To%20Aquisition.opus">4 There are higher levels to aquisition</a></li> <li><a - href="static/language-podcast/5-so-you-want-to-learn-some-languages-what-do-you-do.opus">5 + href="static/language-podcast/5-so-you-want-to-learn-some-languages-what-do-you-do.m4a">5 So you want to learn some languages, what do you do?</a></li> <li><a - href="static/language-podcast/6-need-to-listen-to-conversations-to-speak.opus">6 + href="static/language-podcast/6-need-to-listen-to-conversations-to-speak.m4a">6 Need to listen to conversations to speak</a></li> - <li><a href="static/language-podcast/7-listening-reading.opus">7 + <li><a href="static/language-podcast/7-listening-reading.m4a">7 Listening reading (L/R)</a></li> <li><a - href="static/language-podcast/8-how-to-get-and-consume-media-climbing-a-mountain.opus">8 + href="static/language-podcast/8-how-to-get-and-consume-media-climbing-a-mountain.m4a">8 How to get and consume media climbing a mountain</a></li> <li><a - href="static/language-podcast/9-learn-five-languages-from-zero.opus">9 + href="static/language-podcast/9-learn-five-languages-from-zero.m4a">9 Learn five languages from zero</a></li> <li><a - href="static/language-podcast/10-what-is-a-good-language-learning-method.opus">10 + href="static/language-podcast/10-what-is-a-good-language-learning-method.m4a">10 What is a good language learning method</a></li> <li><a - href="static/language-podcast/11-you-need-to-know-how-they-learn-japanese.opus">11 + href="static/language-podcast/11-you-need-to-know-how-they-learn-japanese.m4a">11 YOU need to know how they learn Japanese</a></li> <li><a - href="static/language-podcast/12-why-do-we-learn-languages.opus">12 - Why do we learn languages (for the middle path)</a></li> + href="static/language-podcast/12-why-do-we-learn-languages.m4a">12 Why + do we learn languages (for the middle path)</a></li> <li><a - href="static/language-podcast/13-so-you-want-to-learn-latin.opus">13 - So you want to learn Latin</a></li> + href="static/language-podcast/13-so-you-want-to-learn-latin.m4a">13 So + you want to learn Latin</a></li> <li><a - href="static/language-podcast/14-learn-how-to-learn-how-to-learn-languages.opus">14 + href="static/language-podcast/14-learn-how-to-learn-how-to-learn-languages.m4a">14 Learn how to learn how to learn languages</a></li> <li><a - href="static/language-podcast/Audacity%20Shadowing%20Without%20Shadowing.opus">15 + href="static/language-podcast/audacity-shadowing-without-shadowing.m4a">15 Audacity Shadowing Without Shadowing</a></li> - <li><a href="static/language-podcast/BUYNOW.opus">16 BUY NOW (book + <li><a href="static/language-podcast/buy-now.m4a">16 BUY NOW (book announcement)</a></li> <li><a - href="static/language-podcast/How%20to%20Use%20the%20Internet%20Library%20Only.opus">17 + href="static/language-podcast/how-to-use-the-internet-library-only.m4a">17 How to Use the Internet Library Only</a></li> - <li><a - href="static/language-podcast/Quixotic%20Self-Awareness.opus">18 + <li><a href="static/language-podcast/quixotic-self-awareness.m4a">18 Quixotic Self-Awareness</a></li> </ul> diff --git a/site/index.html b/site/index.html index 0a4e8cc..e59ff6b 100644 --- a/site/index.html +++ b/site/index.html @@ -129,6 +129,7 @@ <li><a href="meti-limon.html">meti limon</a></li> <li><a href="newport-reference-manual.html">Newport Reference Manual</a></li> <li><a href="norda-naturo.html">norda naturo</a></li> +<li><a href="polyglot-podcast.html">Polyglot Podcast</a></li> <li><a href="projects.html">Projects</a></li> <li><a href="release.html">release</a></li> <li><a href="rut.html">rut</a></li> diff --git a/site/podcast.xml b/site/podcast.xml new file mode 100644 index 0000000..c0c10de --- /dev/null +++ b/site/podcast.xml @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8"?> +<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:podcast="https://podcastindex.org/namespace/1.0"> +<channel> + <title>Polyglot Podcast</title> + <link>https://recentlywritten.com/polyglot-podcast.html</link> + <description>Spenser Truex talks about how to learn languages, and about AI.</description> + <language>en-us</language> + <atom:link href="https://recentlywritten.com/podcast.xml" rel="self" type="application/rss+xml" /> + <itunes:author>Spenser Truex</itunes:author> + <itunes:image href="https://recentlywritten.com/static/podcast.png" /> + <itunes:category text="Education"> + <itunes:category text="Language Learning" /> + </itunes:category> + <itunes:explicit>false</itunes:explicit> + <podcast:funding url="https://ko-fi.com/truex">Support the podcast</podcast:funding> + <item> + <title>We're all going to die by AI unless this one thing happens: stop AI with this one weird trick</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/stop-ai-with-this-one-weird-trick.m4a" length="9597391" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/stop-ai-with-this-one-weird-trick.m4a</guid> + <pubDate>Mon, 10 Aug 2026 00:11:38 +0000</pubDate> + <itunes:duration>593</itunes:duration> + <link>https://www.youtube.com/watch?v=T34-trDek-4</link> + <description>Video: https://www.youtube.com/watch?v=T34-trDek-4</description> + </item> + <item> + <title>Secret way to test your FREAKING VIBE CODE or it will never work ever</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/test-your-vibe-code.m4a" length="8016382" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/test-your-vibe-code.m4a</guid> + <pubDate>Sun, 09 Aug 2026 20:23:39 +0000</pubDate> + <itunes:duration>496</itunes:duration> + <link>https://www.youtube.com/watch?v=CsJuUGQEBrU</link> + <description>Video: https://www.youtube.com/watch?v=CsJuUGQEBrU</description> + </item> + <item> + <title>Our "AI" is totally fine according to Bostrom's Superintelligence, 2014</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/our-ai-is-totally-fine.m4a" length="29439885" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/our-ai-is-totally-fine.m4a</guid> + <pubDate>Sat, 08 Aug 2026 12:50:23 +0000</pubDate> + <itunes:duration>1820</itunes:duration> + <link>https://www.youtube.com/watch?v=B0rAEuhcjGQ</link> + <description>Video: https://www.youtube.com/watch?v=B0rAEuhcjGQ</description> + </item> + <item> + <title>BUY NOW (book announcement)</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/buy-now.m4a" length="2368880" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/buy-now.m4a</guid> + <pubDate>Wed, 13 Aug 2025 04:00:16 +0000</pubDate> + <itunes:duration>146</itunes:duration> + <link>https://www.youtube.com/watch?v=76ktbgBj4zU</link> + <description>Video: https://www.youtube.com/watch?v=76ktbgBj4zU</description> + </item> + <item> + <title>Quixotic Self-Awareness</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/quixotic-self-awareness.m4a" length="2851798" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/quixotic-self-awareness.m4a</guid> + <pubDate>Mon, 11 Aug 2025 04:01:10 +0000</pubDate> + <itunes:duration>176</itunes:duration> + <link>https://www.youtube.com/watch?v=vzz8c7KJVpc</link> + <description>Video: https://www.youtube.com/watch?v=vzz8c7KJVpc</description> + </item> + <item> + <title>How to Use the Internet Library Only</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/how-to-use-the-internet-library-only.m4a" length="5629562" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/how-to-use-the-internet-library-only.m4a</guid> + <pubDate>Mon, 11 Aug 2025 04:00:24 +0000</pubDate> + <itunes:duration>348</itunes:duration> + <link>https://www.youtube.com/watch?v=UMQLpgeylbg</link> + <description>Video: https://www.youtube.com/watch?v=UMQLpgeylbg</description> + </item> + <item> + <title>Audacity Shadowing Without Shadowing</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/audacity-shadowing-without-shadowing.m4a" length="3354271" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/audacity-shadowing-without-shadowing.m4a</guid> + <pubDate>Sun, 10 Aug 2025 07:01:00 +0000</pubDate> + <itunes:duration>207</itunes:duration> + <link>https://www.youtube.com/watch?v=pfViqMW0pVY</link> + <description>Video: https://www.youtube.com/watch?v=pfViqMW0pVY</description> + </item> + <item> + <title>Learn how to learn how to learn languages</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/14-learn-how-to-learn-how-to-learn-languages.m4a" length="19577187" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/14-learn-how-to-learn-how-to-learn-languages.m4a</guid> + <pubDate>Sat, 09 Aug 2025 08:00:06 +0000</pubDate> + <itunes:duration>1210</itunes:duration> + <link>https://www.youtube.com/watch?v=tC1Snqa1eVo</link> + <description>Video: https://www.youtube.com/watch?v=tC1Snqa1eVo</description> + </item> + <item> + <title>So you want to learn Latin</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/13-so-you-want-to-learn-latin.m4a" length="10041166" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/13-so-you-want-to-learn-latin.m4a</guid> + <pubDate>Fri, 08 Aug 2025 04:54:02 +0000</pubDate> + <itunes:duration>621</itunes:duration> + <link>https://www.youtube.com/watch?v=kXEtMn0NU-w</link> + <description>Video: https://www.youtube.com/watch?v=kXEtMn0NU-w</description> + </item> + <item> + <title>Why do we learn languages (for the middle path)</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/12-why-do-we-learn-languages.m4a" length="7337416" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/12-why-do-we-learn-languages.m4a</guid> + <pubDate>Fri, 08 Aug 2025 04:00:09 +0000</pubDate> + <itunes:duration>454</itunes:duration> + <link>https://www.youtube.com/watch?v=2xWWsZ1667Q</link> + <description>Video: https://www.youtube.com/watch?v=2xWWsZ1667Q</description> + </item> + <item> + <title>YOU need to know how they learn Japanese</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/11-you-need-to-know-how-they-learn-japanese.m4a" length="3898023" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/11-you-need-to-know-how-they-learn-japanese.m4a</guid> + <pubDate>Fri, 08 Aug 2025 03:59:48 +0000</pubDate> + <itunes:duration>241</itunes:duration> + <link>https://www.youtube.com/watch?v=5xthTMBcjZI</link> + <description>Video: https://www.youtube.com/watch?v=5xthTMBcjZI</description> + </item> + <item> + <title>What is a good language learning method</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/10-what-is-a-good-language-learning-method.m4a" length="12724687" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/10-what-is-a-good-language-learning-method.m4a</guid> + <pubDate>Fri, 08 Aug 2025 03:11:17 +0000</pubDate> + <itunes:duration>787</itunes:duration> + <link>https://www.youtube.com/watch?v=sSVpwxwtkH8</link> + <description>Video: https://www.youtube.com/watch?v=sSVpwxwtkH8</description> + </item> + <item> + <title>Learn five languages from zero</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/9-learn-five-languages-from-zero.m4a" length="15157261" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/9-learn-five-languages-from-zero.m4a</guid> + <pubDate>Fri, 08 Aug 2025 02:51:30 +0000</pubDate> + <itunes:duration>937</itunes:duration> + <link>https://www.youtube.com/watch?v=Twyfq_ETzZ0</link> + <description>Video: https://www.youtube.com/watch?v=Twyfq_ETzZ0</description> + </item> + <item> + <title>How to get and consume media climbing a mountain</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/8-how-to-get-and-consume-media-climbing-a-mountain.m4a" length="6495865" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/8-how-to-get-and-consume-media-climbing-a-mountain.m4a</guid> + <pubDate>Fri, 08 Aug 2025 02:21:41 +0000</pubDate> + <itunes:duration>402</itunes:duration> + <link>https://www.youtube.com/watch?v=FeGQw-z8Kg0</link> + <description>Video: https://www.youtube.com/watch?v=FeGQw-z8Kg0</description> + </item> + <item> + <title>Listening reading (L/R)</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/7-listening-reading.m4a" length="7453807" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/7-listening-reading.m4a</guid> + <pubDate>Fri, 08 Aug 2025 01:47:11 +0000</pubDate> + <itunes:duration>461</itunes:duration> + <link>https://www.youtube.com/watch?v=KhUxlT_ThxQ</link> + <description>Video: https://www.youtube.com/watch?v=KhUxlT_ThxQ</description> + </item> + <item> + <title>Need to listen to conversations to speak</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/6-need-to-listen-to-conversations-to-speak.m4a" length="3324956" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/6-need-to-listen-to-conversations-to-speak.m4a</guid> + <pubDate>Fri, 08 Aug 2025 01:01:46 +0000</pubDate> + <itunes:duration>206</itunes:duration> + <link>https://www.youtube.com/watch?v=_lSYnoMqPQk</link> + <description>Video: https://www.youtube.com/watch?v=_lSYnoMqPQk</description> + </item> + <item> + <title>So you want to learn some languages, what do you do?</title> + <enclosure url="https://recentlywritten.com/static/language-podcast/5-so-you-want-to-learn-some-languages-what-do-you-do.m4a" length="5946500" type="audio/x-m4a" /> + <guid isPermaLink="false">https://recentlywritten.com/static/language-podcast/5-so-you-want-to-learn-some-languages-what-do-you-do.m4a</guid> + <pubDate>Fri, 08 Aug 2025 00:21:00 +0000</pubDate> + <itunes:duration>368</itunes:duration> + <link>https://www.youtube.com/watch?v=6SwJj6-gWtI</link> + <description>Video: https://www.youtube.com/watch?v=6SwJj6-gWtI</description> + </item> +</channel> +</rss> diff --git a/site/polyglot-podcast.html b/site/polyglot-podcast.html new file mode 100644 index 0000000..d6dd387 --- /dev/null +++ b/site/polyglot-podcast.html @@ -0,0 +1,75 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <title>Polyglot Podcast — Recently Written</title> + <meta property="og:type" content="article" /> + <meta property="og:site_name" content="Recently Written" /> + <meta property="og:title" content="Polyglot Podcast" /> + <meta property="og:url" content="https://recentlywritten.com/polyglot-podcast.html" /> + <meta property="og:image" content="https://recentlywritten.com/static/og.png" /> + <meta name="twitter:card" content="summary_large_image" /> + <link rel="stylesheet" href="style.css" /> + <link rel="alternate" type="application/rss+xml" title="Recently Written" href="rss.xml" /> +</head> +<body> +<div id="container"> + + <div id="top"> + <a class="site-title" href="index.html">Recently Written</a> + <nav> + <a href="index.html">Home</a> + <a href="about.html">about</a> + <a href="lair.html">code</a> + <a href="git/index.html">git</a> + <a href="links.html">links</a> + <a href="youtube.html">youtube</a> + <a href="esperanto.html">esperanto</a> + <a href="call.html">contact</a> + <a href="rss.xml">rss</a> + <a href="account/">subscribe</a> + </nav> + </div> + + <h1 class="post-title">Polyglot Podcast</h1> + + <p>How to learn languages, and some AI.</p> + <p>Subscribe in a podcast app with the RSS feed: <a + href="https://recentlywritten.com/podcast.xml" + class="uri">https://recentlywritten.com/podcast.xml</a></p> + <p>Support the podcast on <a + href="https://ko-fi.com/truex">ko-fi</a>.</p> +<ul> +<li><a href="static/language-podcast/stop-ai-with-this-one-weird-trick.m4a">We're all going to die by AI unless this one thing happens: stop AI with this one weird trick</a> (<a href="https://www.youtube.com/watch?v=T34-trDek-4">video</a>)</li> +<li><a href="static/language-podcast/test-your-vibe-code.m4a">Secret way to test your FREAKING VIBE CODE or it will never work ever</a> (<a href="https://www.youtube.com/watch?v=CsJuUGQEBrU">video</a>)</li> +<li><a href="static/language-podcast/our-ai-is-totally-fine.m4a">Our "AI" is totally fine according to Bostrom's Superintelligence, 2014</a> (<a href="https://www.youtube.com/watch?v=B0rAEuhcjGQ">video</a>)</li> +<li><a href="static/language-podcast/buy-now.m4a">BUY NOW (book announcement)</a> (<a href="https://www.youtube.com/watch?v=76ktbgBj4zU">video</a>)</li> +<li><a href="static/language-podcast/quixotic-self-awareness.m4a">Quixotic Self-Awareness</a> (<a href="https://www.youtube.com/watch?v=vzz8c7KJVpc">video</a>)</li> +<li><a href="static/language-podcast/how-to-use-the-internet-library-only.m4a">How to Use the Internet Library Only</a> (<a href="https://www.youtube.com/watch?v=UMQLpgeylbg">video</a>)</li> +<li><a href="static/language-podcast/audacity-shadowing-without-shadowing.m4a">Audacity Shadowing Without Shadowing</a> (<a href="https://www.youtube.com/watch?v=pfViqMW0pVY">video</a>)</li> +<li><a href="static/language-podcast/14-learn-how-to-learn-how-to-learn-languages.m4a">Learn how to learn how to learn languages</a> (<a href="https://www.youtube.com/watch?v=tC1Snqa1eVo">video</a>)</li> +<li><a href="static/language-podcast/13-so-you-want-to-learn-latin.m4a">So you want to learn Latin</a> (<a href="https://www.youtube.com/watch?v=kXEtMn0NU-w">video</a>)</li> +<li><a href="static/language-podcast/12-why-do-we-learn-languages.m4a">Why do we learn languages (for the middle path)</a> (<a href="https://www.youtube.com/watch?v=2xWWsZ1667Q">video</a>)</li> +<li><a href="static/language-podcast/11-you-need-to-know-how-they-learn-japanese.m4a">YOU need to know how they learn Japanese</a> (<a href="https://www.youtube.com/watch?v=5xthTMBcjZI">video</a>)</li> +<li><a href="static/language-podcast/10-what-is-a-good-language-learning-method.m4a">What is a good language learning method</a> (<a href="https://www.youtube.com/watch?v=sSVpwxwtkH8">video</a>)</li> +<li><a href="static/language-podcast/9-learn-five-languages-from-zero.m4a">Learn five languages from zero</a> (<a href="https://www.youtube.com/watch?v=Twyfq_ETzZ0">video</a>)</li> +<li><a href="static/language-podcast/8-how-to-get-and-consume-media-climbing-a-mountain.m4a">How to get and consume media climbing a mountain</a> (<a href="https://www.youtube.com/watch?v=FeGQw-z8Kg0">video</a>)</li> +<li><a href="static/language-podcast/7-listening-reading.m4a">Listening reading (L/R)</a> (<a href="https://www.youtube.com/watch?v=KhUxlT_ThxQ">video</a>)</li> +<li><a href="static/language-podcast/6-need-to-listen-to-conversations-to-speak.m4a">Need to listen to conversations to speak</a> (<a href="https://www.youtube.com/watch?v=_lSYnoMqPQk">video</a>)</li> +<li><a href="static/language-podcast/5-so-you-want-to-learn-some-languages-what-do-you-do.m4a">So you want to learn some languages, what do you do?</a> (<a href="https://www.youtube.com/watch?v=6SwJj6-gWtI">video</a>)</li> +</ul> + + <p class="links"><a +href="New-podcast-about-polyglot-language-learning-LISTEN-NOW.html">New +podcast about polyglot language learning (LISTEN NOW!)</a> · <a +href="youtube.html">YouTube</a> · <a href="donate.html">Donate</a></p> + + <div id="footer"> + <a href="index.html">← Home</a> · + <a href="https://github.com/equwal">Github</a> + </div> + +</div> +</body> +</html> diff --git a/site/postdata/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html b/site/postdata/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html index fe0241c..0234ff8 100644 --- a/site/postdata/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html +++ b/site/postdata/New-podcast-about-polyglot-language-learning-LISTEN-NOW.html @@ -1,3 +1,5 @@ +<p>Update: the podcast now has a page and an RSS feed: <a +href="https://recentlywritten.com/polyglot-podcast.html">Polyglot Podcast</a>.</p> <p>Right now it isn’t syndicated anywhere, but you can download them directly from these links:</p> <ul> @@ -14,42 +16,42 @@ Six part learner model</a></li> href="https://recentlywritten.com/static/language-podcast/4%20There%20Are%20Higher%20Levels%20To%20Aquisition.opus">4 There are higher levels to aquisition</a></li> <li><a -href="https://recentlywritten.com/static/language-podcast/5-so-you-want-to-learn-some-languages-what-do-you-do.opus">5 +href="https://recentlywritten.com/static/language-podcast/5-so-you-want-to-learn-some-languages-what-do-you-do.m4a">5 So you want to learn some languages, what do you do?</a></li> <li><a -href="https://recentlywritten.com/static/language-podcast/6-need-to-listen-to-conversations-to-speak.opus">6 +href="https://recentlywritten.com/static/language-podcast/6-need-to-listen-to-conversations-to-speak.m4a">6 Need to listen to conversations to speak</a></li> -<li><a href="https://recentlywritten.com/static/language-podcast/7-listening-reading.opus">7 +<li><a href="https://recentlywritten.com/static/language-podcast/7-listening-reading.m4a">7 Listening reading (L/R)</a></li> <li><a -href="https://recentlywritten.com/static/language-podcast/8-how-to-get-and-consume-media-climbing-a-mountain.opus">8 +href="https://recentlywritten.com/static/language-podcast/8-how-to-get-and-consume-media-climbing-a-mountain.m4a">8 How to get and consume media climbing a mountain</a></li> <li><a -href="https://recentlywritten.com/static/language-podcast/9-learn-five-languages-from-zero.opus">9 +href="https://recentlywritten.com/static/language-podcast/9-learn-five-languages-from-zero.m4a">9 Learn five languages from zero</a></li> <li><a -href="https://recentlywritten.com/static/language-podcast/10-what-is-a-good-language-learning-method.opus">10 +href="https://recentlywritten.com/static/language-podcast/10-what-is-a-good-language-learning-method.m4a">10 What is a good language learning method</a></li> <li><a -href="https://recentlywritten.com/static/language-podcast/11-you-need-to-know-how-they-learn-japanese.opus">11 +href="https://recentlywritten.com/static/language-podcast/11-you-need-to-know-how-they-learn-japanese.m4a">11 YOU need to know how they learn Japanese</a></li> <li><a -href="https://recentlywritten.com/static/language-podcast/12-why-do-we-learn-languages.opus">12 Why +href="https://recentlywritten.com/static/language-podcast/12-why-do-we-learn-languages.m4a">12 Why do we learn languages (for the middle path)</a></li> <li><a -href="https://recentlywritten.com/static/language-podcast/13-so-you-want-to-learn-latin.opus">13 So +href="https://recentlywritten.com/static/language-podcast/13-so-you-want-to-learn-latin.m4a">13 So you want to learn Latin</a></li> <li><a -href="https://recentlywritten.com/static/language-podcast/14-learn-how-to-learn-how-to-learn-languages.opus">14 +href="https://recentlywritten.com/static/language-podcast/14-learn-how-to-learn-how-to-learn-languages.m4a">14 Learn how to learn how to learn languages</a></li> <li><a -href="https://recentlywritten.com/static/language-podcast/Audacity%20Shadowing%20Without%20Shadowing.opus">15 +href="https://recentlywritten.com/static/language-podcast/audacity-shadowing-without-shadowing.m4a">15 Audacity Shadowing Without Shadowing</a></li> -<li><a href="https://recentlywritten.com/static/language-podcast/BUYNOW.opus">16 BUY NOW (book +<li><a href="https://recentlywritten.com/static/language-podcast/buy-now.m4a">16 BUY NOW (book announcement)</a></li> <li><a -href="https://recentlywritten.com/static/language-podcast/How%20to%20Use%20the%20Internet%20Library%20Only.opus">17 +href="https://recentlywritten.com/static/language-podcast/how-to-use-the-internet-library-only.m4a">17 How to Use the Internet Library Only</a></li> -<li><a href="https://recentlywritten.com/static/language-podcast/Quixotic%20Self-Awareness.opus">18 +<li><a href="https://recentlywritten.com/static/language-podcast/quixotic-self-awareness.m4a">18 Quixotic Self-Awareness</a></li> </ul> diff --git a/site/static/podcast.png b/site/static/podcast.png new file mode 100644 index 0000000..6d34967 Binary files /dev/null and b/site/static/podcast.png differ diff --git a/static/podcast.png b/static/podcast.png new file mode 100644 index 0000000..6d34967 Binary files /dev/null and b/static/podcast.png differ