<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://www.joshbeckman.org/feed/blog.xml" rel="self" type="application/atom+xml" /><link href="https://www.joshbeckman.org/" rel="alternate" type="text/html" /><updated>2026-07-10T06:50:37+00:00</updated><id>https://www.joshbeckman.org/feed/blog.xml</id><title type="html">Josh Beckman’s Organization | Blog</title><subtitle>Building in the open</subtitle><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><entry><title type="html">Please by DJ Plead</title><link href="https://www.joshbeckman.org/blog/listening/record-club-dj-plead-please" rel="alternate" type="text/html" title="Please by DJ Plead" /><published>2026-07-09T15:38:45+00:00</published><updated>2026-07-09T15:38:45+00:00</updated><id>https://www.joshbeckman.org/blog/listening/record-club-dj-plead-please</id><content type="html" xml:base="https://www.joshbeckman.org/blog/listening/record-club-dj-plead-please"><![CDATA[<p><img src="https://cdn.rcrd.club/releases/01d4kvyj0g1k76m2.jpg" alt="Please by DJ Plead" /></p>

<p>It was calming to play this while working today, but it’ll melt off my brain like rain on my window pane.</p>

<iframe allow="autoplay *; encrypted-media *; fullscreen *; clipboard-write" frameborder="0" height="450" style="width:100%;overflow:hidden;border-radius:0.8em;border:1px solid var(--c-bg-alt);" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/please/1895379422"></iframe>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="listening" /><category term="music" /><category term="record-club" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://cdn.rcrd.club/releases/01d4kvyj0g1k76m2.jpg" /><media:content medium="image" url="https://cdn.rcrd.club/releases/01d4kvyj0g1k76m2.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">WOR$T GIRL IN AMERICA by Slayyyter</title><link href="https://www.joshbeckman.org/blog/listening/record-club-slayyyter-wor-t-girl-in-america" rel="alternate" type="text/html" title="WOR$T GIRL IN AMERICA by Slayyyter" /><published>2026-07-04T12:55:37+00:00</published><updated>2026-07-04T12:55:37+00:00</updated><id>https://www.joshbeckman.org/blog/listening/record-club-slayyyter-wor-t-girl-in-america</id><content type="html" xml:base="https://www.joshbeckman.org/blog/listening/record-club-slayyyter-wor-t-girl-in-america"><![CDATA[<p><img src="https://cdn.rcrd.club/releases/5wyz8d5mrd7kxve9.jpg" alt="WOR$T GIRL IN AMERICA by Slayyyter" /></p>

<p>I’ve been listening to this album when lifting weights at the gym recently. The <em>Justice</em> bass pushes me so hard I find myself dancing on the bench.</p>
<p>This is the first album of hers that I’ve listened to, but I didn’t expect to see that it’s actually her fourth. It plays to me like a first album: lots of reference sounds (the <em>Justice</em> electro, the <em>Charli XCX</em> lyrics), mixture of genres and tempos. Maybe that just her brand and it’s established and I’m just the one learning it.</p>
<p>I’m excited to see her play at Lollapalooza this year.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="listening" /><category term="music" /><category term="record-club" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://cdn.rcrd.club/releases/5wyz8d5mrd7kxve9.jpg" /><media:content medium="image" url="https://cdn.rcrd.club/releases/5wyz8d5mrd7kxve9.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">TON UP by Gold Panda</title><link href="https://www.joshbeckman.org/blog/listening/record-club-gold-panda-ton-up" rel="alternate" type="text/html" title="TON UP by Gold Panda" /><published>2026-07-03T16:33:56+00:00</published><updated>2026-07-03T16:33:56+00:00</updated><id>https://www.joshbeckman.org/blog/listening/record-club-gold-panda-ton-up</id><content type="html" xml:base="https://www.joshbeckman.org/blog/listening/record-club-gold-panda-ton-up"><![CDATA[<p><img src="https://cdn.rcrd.club/releases/znp5kgev4g3lvx3q.jpg" alt="TON UP by Gold Panda" /></p>

<p>This new work from Gold Panda sounds like he spent the winter with Daphni and came out convinced of the power of the bop and the beat and the bass. I love this to start my summer.</p>
<p>Some of it gets a bit repetitive - he hasn’t fully fleshed out a range of melodies to pull from - but the grooves are there and I love the mid-album piano riff tune that reminds you of Gold Panda’s gentler roots.</p>

<iframe allow="autoplay *; encrypted-media *; fullscreen *; clipboard-write" frameborder="0" height="450" style="width:100%;overflow:hidden;border-radius:0.8em;border:1px solid var(--c-bg-alt);" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/ton-up/1886789573"></iframe>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="listening" /><category term="music" /><category term="record-club" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://cdn.rcrd.club/releases/znp5kgev4g3lvx3q.jpg" /><media:content medium="image" url="https://cdn.rcrd.club/releases/znp5kgev4g3lvx3q.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Enemy of the State</title><link href="https://www.joshbeckman.org/blog/watching/letterboxd-review-1355257571-enemy-of-the-state" rel="alternate" type="text/html" title="Enemy of the State" /><published>2026-06-13T00:00:00+00:00</published><updated>2026-06-13T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/watching/letterboxd-review-1355257571-enemy-of-the-state</id><content type="html" xml:base="https://www.joshbeckman.org/blog/watching/letterboxd-review-1355257571-enemy-of-the-state"><![CDATA[<p><img src="https://a.ltrbxd.com/resized/sm/upload/8m/ov/bw/qg/2B0vLBo6gJbnzke4Enc77GCxKrz-0-600-0-900-crop.jpg?v=eae5e57ce1" /></p>
<p>I kept gasping at how much of this film is a callback to <i>The Conversation</i> - and then Gene Hackman showed up! I swear they used the same cage set for both films. </p>
<p>The first half is very Hitchcock-y, with the audience and the character both nervously untangling a mystery, but different mysteries. </p>
<p>The story really gets into gear when Gene’s character comes in: he puts everyone else to shame with his electricity and emotional connection. And the scale change in stakes is palpable. </p>
<p>Some things that knocked it down a peg for me:</p>
<p>The r climax relied too much on the pronoun game for me to take it seriously. But as Marybeth said to me afterward, you line up the dominos and then you gotta knock them down somehow. </p>
<p>It’s astonishing how much non sequiter lingerie is in this movie (and tinted 90s sunglasses).</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="watching" /><category term="letterboxd" /><summary type="html"><![CDATA[I kept gasping at how much of this film is a callback to The Conversation - and then Gene Hackman showed up! I swear they used the same cage set for both films.  The first half is very Hitchcock-y, with the audience and the character both nervously untangling a mystery, but different mysteries.  The story really gets into gear when Gene’s character comes in: he puts everyone else to shame with his electricity and emotional connection. And the scale change in stakes is palpable.  Some things that knocked it down a peg for me: The r climax relied too much on the pronoun game for me to take it seriously. But as Marybeth said to me afterward, you line up the dominos and then you gotta knock them down somehow.  It’s astonishing how much non sequiter lingerie is in this movie (and tinted 90s sunglasses).]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://a.ltrbxd.com/resized/sm/upload/8m/ov/bw/qg/2B0vLBo6gJbnzke4Enc77GCxKrz-0-600-0-900-crop.jpg?v=eae5e57ce1" /><media:content medium="image" url="https://a.ltrbxd.com/resized/sm/upload/8m/ov/bw/qg/2B0vLBo6gJbnzke4Enc77GCxKrz-0-600-0-900-crop.jpg?v=eae5e57ce1" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Nirvanna the Band the Show the Movie</title><link href="https://www.joshbeckman.org/blog/watching/letterboxd-review-1355223489-nirvanna-the-band-the-show-the-movie" rel="alternate" type="text/html" title="Nirvanna the Band the Show the Movie" /><published>2026-06-12T00:00:00+00:00</published><updated>2026-06-12T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/watching/letterboxd-review-1355223489-nirvanna-the-band-the-show-the-movie</id><content type="html" xml:base="https://www.joshbeckman.org/blog/watching/letterboxd-review-1355223489-nirvanna-the-band-the-show-the-movie"><![CDATA[<p><img src="https://a.ltrbxd.com/resized/film-poster/1/0/4/1/0/1/2/1041012-nirvanna-the-band-the-show-the-movie-0-600-0-900-crop.jpg?v=4d80f82f8a" /></p>
<p>You can make some amazing things with just some random bits of your past, a deft deployment of movie making/writing skills, and a serious dose of gumption. What a ride!</p>
<p>I particularly love that the flashbacks are never what we saw the first time. Just like my own memories. </p>
<p>Also, having been to Toronto over a dozen times now, I loved spotting all the bits and pieces of the city in this. I’ve walked past the Rivoli!</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="watching" /><category term="letterboxd" /><summary type="html"><![CDATA[You can make some amazing things with just some random bits of your past, a deft deployment of movie making/writing skills, and a serious dose of gumption. What a ride! I particularly love that the flashbacks are never what we saw the first time. Just like my own memories.  Also, having been to Toronto over a dozen times now, I loved spotting all the bits and pieces of the city in this. I’ve walked past the Rivoli!]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://a.ltrbxd.com/resized/film-poster/1/0/4/1/0/1/2/1041012-nirvanna-the-band-the-show-the-movie-0-600-0-900-crop.jpg?v=4d80f82f8a" /><media:content medium="image" url="https://a.ltrbxd.com/resized/film-poster/1/0/4/1/0/1/2/1041012-nirvanna-the-band-the-show-the-movie-0-600-0-900-crop.jpg?v=4d80f82f8a" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Cross-posting From Record Club to Jekyll</title><link href="https://www.joshbeckman.org/blog/crossposting-from-record-club-to-jekyll" rel="alternate" type="text/html" title="Cross-posting From Record Club to Jekyll" /><published>2026-06-09T21:30:00+00:00</published><updated>2026-06-09T21:30:00+00:00</updated><id>https://www.joshbeckman.org/blog/crossposting-from-record-club-to-jekyll</id><content type="html" xml:base="https://www.joshbeckman.org/blog/crossposting-from-record-club-to-jekyll"><![CDATA[<p>I review the movies I watch <a href="https://www.joshbeckman.org/blog/crossposting-from-letterboxd-to-jekyll">on Letterboxd</a>. Now I’m doing the same for the albums I listen to, <a href="https://record.club/joshbeckman">on Record Club</a>. I want to <a href="https://www.joshbeckman.org/blog/gotta-publish-where-the-people-are">meet the music-lovers where they are</a> and in writing on Letterboxd I’ve realized that a dedicated platform for a medium encourages me to write and enriches my enjoyment. So, just like with Letterboxd, I’m pulling those reviews back into <a href="https://www.joshbeckman.org/blog/listening/">my listening blog</a> via PESOS.</p>

<p><img src="/assets/images/d40ef17f-0261-4c6d-bc05-bf20f80918c3.png" alt="The Record Club homepage" /></p>

<p>The shape of this is identical to my Letterboxd importer: read a public RSS feed, find reviews that aren’t already on my site, and write them out as Jekyll posts. Bless <a href="https://www.joshbeckman.org/blog/using-open-protocols">the open standard of RSS</a>.</p>

<h2 id="three-differences-from-letterboxd">Three differences from Letterboxd</h2>

<p><strong>The feed mixes activity types.</strong> Record Club’s RSS includes more than reviews. It also logs when I add an album to my queue or my rotation. For now, I only want the actual reviews, so I filter on the phrasing of the item title, which is the only place that distinguishes them:</p>

<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># Record Club mixes review items in with queue/rotation additions in the</span>
<span class="c1"># same feed. Only the "listened to and rated" items carry a review body and</span>
<span class="c1"># a star rating, so we anchor on that phrasing to skip the rest.</span>
<span class="no">REVIEW_TITLE</span> <span class="o">=</span> <span class="sr">/listened to and rated an album: '(.+)' by (.+) - ([★½]+)\z/</span>
</code></pre></div></div>

<p><strong>The rating lives in the title, as stars.</strong> Letterboxd gave me a numeric <code class="language-plaintext highlighter-rouge">memberRating</code> field. Record Club embeds the rating right in the item title, rendered as star glyphs like <code class="language-plaintext highlighter-rouge">★★★½</code>. So I parse the glyphs back into a number:</p>

<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">def</span> <span class="nf">parse_rating</span><span class="p">(</span><span class="n">stars</span><span class="p">)</span>
  <span class="n">stars</span><span class="p">.</span><span class="nf">count</span><span class="p">(</span><span class="s1">'★'</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="n">stars</span><span class="p">.</span><span class="nf">include?</span><span class="p">(</span><span class="s1">'½'</span><span class="p">)</span> <span class="p">?</span> <span class="mf">0.5</span> <span class="p">:</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">end</span>
</code></pre></div></div>

<p><strong>Cloudflare sometimes mangles the feed.</strong> Record Club sits behind Cloudflare, which occasionally serves a challenge to a plain Ruby request and injects a trailing <code class="language-plaintext highlighter-rouge">&lt;script&gt;</code> after the closing <code class="language-plaintext highlighter-rouge">&lt;/rss&gt;</code> tag. That breaks a strict XML parser. A browser-like <code class="language-plaintext highlighter-rouge">User-Agent</code> mostly avoids the challenge, and trimming anything past <code class="language-plaintext highlighter-rouge">&lt;/rss&gt;</code> handles the rest:</p>

<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">req</span><span class="p">[</span><span class="s1">'User-Agent'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...'</span>
<span class="c1"># ...</span>
<span class="c1"># Trim anything past the closing tag; Cloudflare can append injected markup</span>
<span class="c1"># after &lt;/rss&gt; that would otherwise break the strict XML parser.</span>
<span class="n">feed</span> <span class="o">=</span> <span class="n">res</span><span class="p">.</span><span class="nf">body</span><span class="p">[</span><span class="sr">/\A.*&lt;\/rss&gt;/m</span><span class="p">]</span> <span class="o">||</span> <span class="n">res</span><span class="p">.</span><span class="nf">body</span>
</code></pre></div></div>

<h2 id="resolving-a-streaming-link">Resolving a streaming link</h2>

<p>Record Club’s feed doesn’t carry a streaming link, and I wanted one for the “listen on your favorite service” link in the post metadata, and an Apple Music embed in the post body.</p>

<p>The free iTunes Search API resolves an Apple Music album URL from the artist and album name:</p>

<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">uri</span> <span class="o">=</span> <span class="no">URI</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="s1">'https://itunes.apple.com/search'</span><span class="p">)</span>
<span class="n">uri</span><span class="p">.</span><span class="nf">query</span> <span class="o">=</span> <span class="no">URI</span><span class="p">.</span><span class="nf">encode_www_form</span><span class="p">(</span><span class="ss">term: </span><span class="s2">"</span><span class="si">#{</span><span class="n">artist</span><span class="si">}</span><span class="s2"> </span><span class="si">#{</span><span class="n">album</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span> <span class="ss">entity: </span><span class="s1">'album'</span><span class="p">,</span> <span class="ss">limit: </span><span class="mi">5</span><span class="p">)</span>
</code></pre></div></div>

<p>A bad embed is worse than a missing one, so I only accept a result when both the artist and the album name plausibly match what Record Club gave me:</p>

<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">def</span> <span class="nf">plausible_match?</span><span class="p">(</span><span class="n">result</span><span class="p">,</span> <span class="n">artist</span><span class="p">,</span> <span class="n">album</span><span class="p">)</span>
  <span class="n">norm</span> <span class="o">=</span> <span class="o">-&gt;</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="p">{</span> <span class="n">s</span><span class="p">.</span><span class="nf">to_s</span><span class="p">.</span><span class="nf">downcase</span><span class="p">.</span><span class="nf">gsub</span><span class="p">(</span><span class="sr">/[^a-z0-9]/</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span> <span class="p">}</span>
  <span class="n">artist_ok</span> <span class="o">=</span> <span class="n">norm</span><span class="p">.</span><span class="nf">call</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="s1">'artistName'</span><span class="p">]).</span><span class="nf">include?</span><span class="p">(</span><span class="n">norm</span><span class="p">.</span><span class="nf">call</span><span class="p">(</span><span class="n">artist</span><span class="p">))</span> <span class="o">||</span>
              <span class="n">norm</span><span class="p">.</span><span class="nf">call</span><span class="p">(</span><span class="n">artist</span><span class="p">).</span><span class="nf">include?</span><span class="p">(</span><span class="n">norm</span><span class="p">.</span><span class="nf">call</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="s1">'artistName'</span><span class="p">]))</span>
  <span class="n">album_ok</span> <span class="o">=</span> <span class="n">norm</span><span class="p">.</span><span class="nf">call</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="s1">'collectionName'</span><span class="p">]).</span><span class="nf">include?</span><span class="p">(</span><span class="n">norm</span><span class="p">.</span><span class="nf">call</span><span class="p">(</span><span class="n">album</span><span class="p">))</span> <span class="o">||</span>
             <span class="n">norm</span><span class="p">.</span><span class="nf">call</span><span class="p">(</span><span class="n">album</span><span class="p">).</span><span class="nf">include?</span><span class="p">(</span><span class="n">norm</span><span class="p">.</span><span class="nf">call</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="s1">'collectionName'</span><span class="p">]))</span>
  <span class="n">artist_ok</span> <span class="o">&amp;&amp;</span> <span class="n">album_ok</span>
<span class="k">end</span>
</code></pre></div></div>

<p>This guard earned its keep immediately. One of my first imports was the Nine Inch Noize album that Record Club had labeled with the artist as the album name. The top iTunes results were Nine Inch Nails and a TRON soundtrack. The guard declined them all, and I added the correct link by hand. A miss I can fix; a confident wrong answer I might not even notice.</p>

<h2 id="workflow">Workflow</h2>

<p>Like my other importers, this runs as a step in the GitHub Actions workflow I use to syndicate posts into and out of my site. It runs the script, and if there are content changes, it commits and pushes them. Once a review lands here, the existing machinery that syndicates out to <a href="https://www.joshbeckman.org/blog/how-to-crosspost-to-mastodon-with-jekyll">Mastodon</a> and <a href="https://www.joshbeckman.org/blog/crossposting-to-bluesky-from-jekyll">Bluesky</a> just works, per <a href="https://www.joshbeckman.org/blog/rules-for-syndication-on-my-site">my syndication rules</a>.</p>

<p>So now my movies and my music both live here, archived and linkable and discoverable, no matter which platform I happened to write them on first.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="record-club" /><category term="personal-blog" /><category term="jekyll" /><category term="music" /><summary type="html"><![CDATA[Pulling my Record Club album reviews into my site via PESOS, the same way I do with Letterboxd, plus auto-resolving Apple Music links for embeds.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.joshbeckman.org/assets/images/d40ef17f-0261-4c6d-bc05-bf20f80918c3.png" /><media:content medium="image" url="https://www.joshbeckman.org/assets/images/d40ef17f-0261-4c6d-bc05-bf20f80918c3.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Loud Bloom by Olof Dreijer</title><link href="https://www.joshbeckman.org/blog/listening/record-club-olof-dreijer-loud-bloom" rel="alternate" type="text/html" title="Loud Bloom by Olof Dreijer" /><published>2026-06-08T21:15:00+00:00</published><updated>2026-06-08T21:15:00+00:00</updated><id>https://www.joshbeckman.org/blog/listening/record-club-olof-dreijer-loud-bloom</id><content type="html" xml:base="https://www.joshbeckman.org/blog/listening/record-club-olof-dreijer-loud-bloom"><![CDATA[<p><img src="https://cdn.rcrd.club/releases/01d4kvye7pek76m2.jpg" alt="Loud Bloom by Olof Dreijer" /></p>

<p>I started listening to this without any context and thought: this sounds like a little bit of <em>The Knife </em>and a little bit of <em>Floating Points</em>. And lo and behold, it is! At least the first half of my estimation. It sounds like he’s using literally the same synths and sound board.</p>
<p>I really like the first half of the album but the second half fades out for me, until the ending swoop of fun.</p>

<iframe allow="autoplay *; encrypted-media *; fullscreen *; clipboard-write" frameborder="0" height="450" style="width:100%;overflow:hidden;border-radius:0.8em;border:1px solid var(--c-bg-alt);" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/loud-bloom/1875081346"></iframe>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="listening" /><category term="music" /><category term="record-club" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://cdn.rcrd.club/releases/01d4kvye7pek76m2.jpg" /><media:content medium="image" url="https://cdn.rcrd.club/releases/01d4kvye7pek76m2.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Tears of Injustice by Mdou Moctar</title><link href="https://www.joshbeckman.org/blog/listening/record-club-mdou-moctar-tears-of-injustice" rel="alternate" type="text/html" title="Tears of Injustice by Mdou Moctar" /><published>2026-06-08T19:58:17+00:00</published><updated>2026-06-08T19:58:17+00:00</updated><id>https://www.joshbeckman.org/blog/listening/record-club-mdou-moctar-tears-of-injustice</id><content type="html" xml:base="https://www.joshbeckman.org/blog/listening/record-club-mdou-moctar-tears-of-injustice"><![CDATA[<p><img src="https://cdn.rcrd.club/releases/ry7v83z9xv4lx9z0.jpg" alt="Tears of Injustice by Mdou Moctar" /></p>

<p>This isn’t as exciting as the source album, but the melancholy is the point.</p>

<iframe allow="autoplay *; encrypted-media *; fullscreen *; clipboard-write" frameborder="0" height="450" style="width:100%;overflow:hidden;border-radius:0.8em;border:1px solid var(--c-bg-alt);" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/tears-of-injustice/1767824343"></iframe>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="listening" /><category term="music" /><category term="record-club" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://cdn.rcrd.club/releases/ry7v83z9xv4lx9z0.jpg" /><media:content medium="image" url="https://cdn.rcrd.club/releases/ry7v83z9xv4lx9z0.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Inferno by Boards of Canada</title><link href="https://www.joshbeckman.org/blog/listening/record-club-boards-of-canada-inferno" rel="alternate" type="text/html" title="Inferno by Boards of Canada" /><published>2026-06-08T19:12:19+00:00</published><updated>2026-06-08T19:12:19+00:00</updated><id>https://www.joshbeckman.org/blog/listening/record-club-boards-of-canada-inferno</id><content type="html" xml:base="https://www.joshbeckman.org/blog/listening/record-club-boards-of-canada-inferno"><![CDATA[<p><img src="https://cdn.rcrd.club/releases/z59oke95y70lv6wq.jpg" alt="Inferno by Boards of Canada" /></p>

<p>Okay, I can get on board with ambient techno like I’m working inside the office Lumon of <em>Severance</em>.</p>

<iframe allow="autoplay *; encrypted-media *; fullscreen *; clipboard-write" frameborder="0" height="450" style="width:100%;overflow:hidden;border-radius:0.8em;border:1px solid var(--c-bg-alt);" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/inferno/1890015523"></iframe>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="listening" /><category term="music" /><category term="record-club" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://cdn.rcrd.club/releases/z59oke95y70lv6wq.jpg" /><media:content medium="image" url="https://cdn.rcrd.club/releases/z59oke95y70lv6wq.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Nine Inch Noize by Nine Inch Noize</title><link href="https://www.joshbeckman.org/blog/listening/record-club-nine-inch-noize-nine-inch-noize" rel="alternate" type="text/html" title="Nine Inch Noize by Nine Inch Noize" /><published>2026-06-08T03:54:55+00:00</published><updated>2026-06-08T03:54:55+00:00</updated><id>https://www.joshbeckman.org/blog/listening/record-club-nine-inch-noize-nine-inch-noize</id><content type="html" xml:base="https://www.joshbeckman.org/blog/listening/record-club-nine-inch-noize-nine-inch-noize"><![CDATA[<p><img src="https://cdn.rcrd.club/releases/5wyz8dvqnj78xve9.jpg" alt="Nine Inch Noize by Nine Inch Noize" /></p>

<p>Closer and The Warning are absolutely the best songs on the album but the whole thing wrenches itself out of your speakers and greases its way into the dark corners of your mind and it’s so intense and fun.</p>

<iframe allow="autoplay *; encrypted-media *; fullscreen *; clipboard-write" frameborder="0" height="450" style="width:100%;overflow:hidden;border-radius:0.8em;border:1px solid var(--c-bg-alt);" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/nine-inch-noize/1893171321"></iframe>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="listening" /><category term="music" /><category term="record-club" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://cdn.rcrd.club/releases/5wyz8dvqnj78xve9.jpg" /><media:content medium="image" url="https://cdn.rcrd.club/releases/5wyz8dvqnj78xve9.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">My Split-Flap Display Now Shows the Weather</title><link href="https://www.joshbeckman.org/blog/my-split-flap-display-now-shows-the-weather" rel="alternate" type="text/html" title="My Split-Flap Display Now Shows the Weather" /><published>2026-06-05T00:00:00+00:00</published><updated>2026-06-05T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/my-split-flap-display-now-shows-the-weather</id><content type="html" xml:base="https://www.joshbeckman.org/blog/my-split-flap-display-now-shows-the-weather"><![CDATA[<p>The seven-digit split-flap display in my studio used to count the hours since I was born. Now it shows the forecast: <code class="language-plaintext highlighter-rouge">4077069</code>, a 40% chance of rain, a high of 77°F, and a low of 69°F.</p>

<p>I <a href="https://www.joshbeckman.org/blog/life-clock">made it a Life Clock last year</a>, counting up the hours of my life. I still like that idea (I even reprogrammed it to show my daughter’s days of life this spring after she was born). But a number that only ever ticks up, slowly, slowly loses attention. I wanted the display to tell me something I’d actually act on when I glance up from my desk. The weather can be that thing for a while.</p>

<h2 id="packing-a-forecast-into-seven-digits">Packing a forecast into seven digits</h2>

<p>The display shows exactly seven digits and nothing else, so I had to encode a whole forecast into a single number.</p>

<p>I split the seven digits into three fields:</p>

<table>
  <thead>
    <tr>
      <th>Digits</th>
      <th>Meaning</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Rain likelihood, 0–9</td>
    </tr>
    <tr>
      <td>2–4</td>
      <td>High temperature, °F</td>
    </tr>
    <tr>
      <td>5–7</td>
      <td>Low temperature, °F</td>
    </tr>
  </tbody>
</table>

<p>The <strong>rain digit</strong> is just the chance of rain divided by ten and floored, so a 45% chance becomes <code class="language-plaintext highlighter-rouge">4</code> and a 90% chance becomes <code class="language-plaintext highlighter-rouge">9</code>. One digit is plenty for knowing “should I be worried.”</p>

<p>The <strong>temperatures</strong> each get three digits. That’s easy enough for <code class="language-plaintext highlighter-rouge">77</code> (<code class="language-plaintext highlighter-rouge">077</code>) or <code class="language-plaintext highlighter-rouge">105</code>, but Chicago winters mean I needed negatives, and the display has no minus sign. So I borrowed the leading digit. Since no real temperature here reaches 900°F, a <code class="language-plaintext highlighter-rouge">9</code> in the hundreds place means “this is negative”:</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">5°F</code> displays as <code class="language-plaintext highlighter-rouge">005</code></li>
  <li><code class="language-plaintext highlighter-rouge">-5°F</code> displays as <code class="language-plaintext highlighter-rouge">905</code></li>
  <li><code class="language-plaintext highlighter-rouge">-12°F</code> displays as <code class="language-plaintext highlighter-rouge">912</code></li>
</ul>

<p>One thing I like about this layout: every digit does work. The Life Clock left its leading digit parked on zero, since the hours of my life don’t fill seven places yet (likely never would). That digit wouldn’t flip to <code class="language-plaintext highlighter-rouge">1</code> until I crossed about 114 years old.</p>

<h2 id="switching-to-tomorrow-at-sunset">Switching to tomorrow at sunset</h2>

<p>I want to know tomorrow’s forecast when the day is effectively over. That really varies, but sunset is a good rule of thumb for when I start thinking more about the next day.</p>

<p>So the display rolls over at sunset to show tomorrow’s forecast.</p>

<h2 id="the-code">The code</h2>

<p>The display polls a small <a href="https://www.val.town/x/joshbeckman/counterService">Val Town</a> service that returns a single <code class="language-plaintext highlighter-rouge">number</code>. The data comes from <a href="https://open-meteo.com/">Open-Meteo</a>, which is free and needs no API key.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="software-engineering" /><category term="tools" /><category term="weather" /><summary type="html"><![CDATA[The seven-digit split-flap display in my studio used to count the hours since I was born. Now it shows the forecast: 4077069, a 40% chance of rain, a high of 77°F, and a low of 69°F.]]></summary></entry><entry><title type="html">Backrooms</title><link href="https://www.joshbeckman.org/blog/watching/letterboxd-review-1341339786-backrooms-2026" rel="alternate" type="text/html" title="Backrooms" /><published>2026-06-01T00:00:00+00:00</published><updated>2026-06-01T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/watching/letterboxd-review-1341339786-backrooms-2026</id><content type="html" xml:base="https://www.joshbeckman.org/blog/watching/letterboxd-review-1341339786-backrooms-2026"><![CDATA[<p><img src="https://a.ltrbxd.com/resized/film-poster/9/7/6/4/1/9/976419-backrooms-2026-0-600-0-900-crop.jpg?v=f7a99e3fc8" /></p>
<p><em>This review may contain spoilers.</em></p>
<p>This film does a good job of pulling your attention just around the corner....just one more corner...just one more corner....just a little further....then BAM.</p>
<p>Most of the time is spent in that edging squirm, feeling stuck into taking the next step, like glue on your shoes making the floor move your feet.</p>
<p>There were some seriously grand and terrifying moments: the grotesquery around the christmas tree, the gleeful inhumanity around the dinner table. But ultimately I think there were too many confounding tangents (Mary's mom was here why?) to make this as cohesive as I would have liked. As I left, I thought, maybe that's what they wanted me to feel: unfinished, claustrophobic from all the space and searching.</p>
<p>Getting lost in your own psyche is a recipe for getting eaten.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="watching" /><category term="letterboxd" /><summary type="html"><![CDATA[This review may contain spoilers. This film does a good job of pulling your attention just around the corner....just one more corner...just one more corner....just a little further....then BAM. Most of the time is spent in that edging squirm, feeling stuck into taking the next step, like glue on your shoes making the floor move your feet. There were some seriously grand and terrifying moments: the grotesquery around the christmas tree, the gleeful inhumanity around the dinner table. But ultimately I think there were too many confounding tangents (Mary's mom was here why?) to make this as cohesive as I would have liked. As I left, I thought, maybe that's what they wanted me to feel: unfinished, claustrophobic from all the space and searching. Getting lost in your own psyche is a recipe for getting eaten.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://a.ltrbxd.com/resized/film-poster/9/7/6/4/1/9/976419-backrooms-2026-0-600-0-900-crop.jpg?v=f7a99e3fc8" /><media:content medium="image" url="https://a.ltrbxd.com/resized/film-poster/9/7/6/4/1/9/976419-backrooms-2026-0-600-0-900-crop.jpg?v=f7a99e3fc8" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Obsession</title><link href="https://www.joshbeckman.org/blog/watching/letterboxd-review-1340226361-obsession-2025-2" rel="alternate" type="text/html" title="Obsession" /><published>2026-05-31T00:00:00+00:00</published><updated>2026-05-31T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/watching/letterboxd-review-1340226361-obsession-2025-2</id><content type="html" xml:base="https://www.joshbeckman.org/blog/watching/letterboxd-review-1340226361-obsession-2025-2"><![CDATA[<p><img src="https://a.ltrbxd.com/resized/film-poster/1/2/3/4/4/7/2/1234472-obsession-2025-2-0-600-0-900-crop.jpg?v=cff6fc00b6" /></p>
<p>I enjoyed this film so <em>so so so so</em> much. (Big crooked smile.)</p>
<p>It's loud. It twisted the knife in every scene, tensing my body further and further. And the ending! Triple roundhouse to the gut that was :chefs-kiss:.</p>
<p>So much tension with no release: moments of will they? won't they? that stretch to the point of breaking and then don't resolve so you're left wound up for the next moment to crank it even higher.</p>
<p>The backlighting is <em>on point</em> in this one. And the music: both combine to convey the "Nikki" in play at any given moment in terrifying clarity.</p>
<p>Choosing screams over the end credits was a bet that paid off. (Side note: this movie was sooo loud and full of characters screaming mid-sentence that you could be forgiven for being overwhelmed but boy did I love the intensity.)</p>
<p>Inde Navarrette's performance as Nikki is right up there with Mia Goth as Pearl for my all-time scariest monologues and utterly terrifying emotional range.</p>
<p>Cowardice kills.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="watching" /><category term="letterboxd" /><summary type="html"><![CDATA[I enjoyed this film so so so so so much. (Big crooked smile.) It's loud. It twisted the knife in every scene, tensing my body further and further. And the ending! Triple roundhouse to the gut that was :chefs-kiss:. So much tension with no release: moments of will they? won't they? that stretch to the point of breaking and then don't resolve so you're left wound up for the next moment to crank it even higher. The backlighting is on point in this one. And the music: both combine to convey the "Nikki" in play at any given moment in terrifying clarity. Choosing screams over the end credits was a bet that paid off. (Side note: this movie was sooo loud and full of characters screaming mid-sentence that you could be forgiven for being overwhelmed but boy did I love the intensity.) Inde Navarrette's performance as Nikki is right up there with Mia Goth as Pearl for my all-time scariest monologues and utterly terrifying emotional range. Cowardice kills.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://a.ltrbxd.com/resized/film-poster/1/2/3/4/4/7/2/1234472-obsession-2025-2-0-600-0-900-crop.jpg?v=cff6fc00b6" /><media:content medium="image" url="https://a.ltrbxd.com/resized/film-poster/1/2/3/4/4/7/2/1234472-obsession-2025-2-0-600-0-900-crop.jpg?v=cff6fc00b6" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Obsession</title><link href="https://www.joshbeckman.org/blog/watching/letterboxd-review-1340226361-obsession-2025" rel="alternate" type="text/html" title="Obsession" /><published>2026-05-31T00:00:00+00:00</published><updated>2026-05-31T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/watching/letterboxd-review-1340226361-obsession-2025</id><content type="html" xml:base="https://www.joshbeckman.org/blog/watching/letterboxd-review-1340226361-obsession-2025"><![CDATA[<p><img src="https://a.ltrbxd.com/resized/film-poster/1/2/3/4/4/7/2/1234472-obsession-2025-2-0-600-0-900-crop.jpg?v=cff6fc00b6" /></p>
<p>I enjoyed this film so <em>so so so so</em> much. (Big crooked smile.)</p>
<p>It's loud. It twisted the knife in every scene, tensing my body further and further. And the ending! Triple roundhouse to the gut that was :chefs-kiss:.</p>
<p>So much tension with no release: moments of will they? won't they? that stretch to the point of breaking and then don't resolve so you're left wound up for the next moment to crank it even higher.</p>
<p>The backlighting is <em>on point</em> in this one. And the music: both combine to convey the "Nikki" in play at any given moment in terrifying clarity.</p>
<p>Choosing screams over the end credits was a bet that paid off. (Side note: this movie was sooo loud and full of characters screaming mid-sentence that you could be forgiven for being overwhelmed but boy did I love the intensity.)</p>
<p>Inde Navarrette's performance as Nikki is right up there with Mia Goth as Pearl for my all-time scariest monologues and utterly terrifying emotional range.</p>
<p>Cowardice kills.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="watching" /><category term="letterboxd" /><summary type="html"><![CDATA[I enjoyed this film so so so so so much. (Big crooked smile.) It's loud. It twisted the knife in every scene, tensing my body further and further. And the ending! Triple roundhouse to the gut that was :chefs-kiss:. So much tension with no release: moments of will they? won't they? that stretch to the point of breaking and then don't resolve so you're left wound up for the next moment to crank it even higher. The backlighting is on point in this one. And the music: both combine to convey the "Nikki" in play at any given moment in terrifying clarity. Choosing screams over the end credits was a bet that paid off. (Side note: this movie was sooo loud and full of characters screaming mid-sentence that you could be forgiven for being overwhelmed but boy did I love the intensity.) Inde Navarrette's performance as Nikki is right up there with Mia Goth as Pearl for my all-time scariest monologues and utterly terrifying emotional range. Cowardice kills.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://a.ltrbxd.com/resized/film-poster/1/2/3/4/4/7/2/1234472-obsession-2025-2-0-600-0-900-crop.jpg?v=cff6fc00b6" /><media:content medium="image" url="https://a.ltrbxd.com/resized/film-poster/1/2/3/4/4/7/2/1234472-obsession-2025-2-0-600-0-900-crop.jpg?v=cff6fc00b6" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">If I Had Legs I’d Kick You</title><link href="https://www.joshbeckman.org/blog/watching/letterboxd-review-1340188270-if-i-had-legs-id-kick-you" rel="alternate" type="text/html" title="If I Had Legs I’d Kick You" /><published>2026-05-29T00:00:00+00:00</published><updated>2026-05-29T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/watching/letterboxd-review-1340188270-if-i-had-legs-id-kick-you</id><content type="html" xml:base="https://www.joshbeckman.org/blog/watching/letterboxd-review-1340188270-if-i-had-legs-id-kick-you"><![CDATA[<p><img src="https://a.ltrbxd.com/resized/film-poster/1/0/4/6/5/2/2/1046522-if-i-had-legs-id-kick-you-0-600-0-900-crop.jpg?v=831a0c76c9" /></p>
<p>I think Mary Bronstein bet her husband that she could invert almost everything about <em>Uncut Gems</em> and still make the audience feel the same way.</p>
<p>Where that movie follows the male main character as the driving force, careening through the world like a bull in a china shop, this one follows a woman as the world falls through the gaps in her grasp. But you feel exhilarating anguish - and humor in that anguish - all the same.</p>
<p>The visual (non-visual?) choice of never showing the daughter - just hearing her voice off-screen - was ingenious and added subtle horror to every scene. Abstract, guilty weight instead of personhood that keeps you locked in to Linda's subjective experience.</p>
<p>As a new parent myself, I gripped my cushion out of recognition through the new-mom-and-baby scenes. And I still think the most terrifying part of her situation is in the first scene: your child is sick and you can't help.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="watching" /><category term="letterboxd" /><summary type="html"><![CDATA[I think Mary Bronstein bet her husband that she could invert almost everything about Uncut Gems and still make the audience feel the same way. Where that movie follows the male main character as the driving force, careening through the world like a bull in a china shop, this one follows a woman as the world falls through the gaps in her grasp. But you feel exhilarating anguish - and humor in that anguish - all the same. The visual (non-visual?) choice of never showing the daughter - just hearing her voice off-screen - was ingenious and added subtle horror to every scene. Abstract, guilty weight instead of personhood that keeps you locked in to Linda's subjective experience. As a new parent myself, I gripped my cushion out of recognition through the new-mom-and-baby scenes. And I still think the most terrifying part of her situation is in the first scene: your child is sick and you can't help.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://a.ltrbxd.com/resized/film-poster/1/0/4/6/5/2/2/1046522-if-i-had-legs-id-kick-you-0-600-0-900-crop.jpg?v=831a0c76c9" /><media:content medium="image" url="https://a.ltrbxd.com/resized/film-poster/1/0/4/6/5/2/2/1046522-if-i-had-legs-id-kick-you-0-600-0-900-crop.jpg?v=831a0c76c9" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Roast Notes: Bubbe’s Blend by Metropolis and Schneider Deli</title><link href="https://www.joshbeckman.org/blog/roast-notes-bubbes-blend-by-metropolis-and-schneider-deli" rel="alternate" type="text/html" title="Roast Notes: Bubbe’s Blend by Metropolis and Schneider Deli" /><published>2026-05-25T15:46:44+00:00</published><updated>2026-05-25T15:46:44+00:00</updated><id>https://www.joshbeckman.org/blog/roast-notes-bubbes-blend-by-metropolis-and-schneider-deli</id><content type="html" xml:base="https://www.joshbeckman.org/blog/roast-notes-bubbes-blend-by-metropolis-and-schneider-deli"><![CDATA[<p>We were lucky enough to have <a href="https://www.schneiderdeli.com/">Schneider Deli</a> open a new location just down the street from us and they have a custom roast by <a href="https://metropoliscoffee.com/">Metropolis Coffee Company</a> on drip.
As I sipped it at the counter, the place was packed with couples and families. Light streamed in from the east-facing windows and the booths were just as lively as the kitchen.
I bought a bag of the beans to try at home.</p>

<p><img width="3024" height="2268" alt="Bag of Bubbe's Blend medium roast" src="/assets/images/a0e08528-670d-4bd3-975c-ac882a0b11fd.jpeg" /></p>

<table>
  <thead>
    <tr>
      <th>Aspects</th>
      <th> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Roast</td>
      <td>Medium</td>
    </tr>
    <tr>
      <td>Origin</td>
      <td>Blend (unknown)</td>
    </tr>
    <tr>
      <td>Process</td>
      <td>Unknown</td>
    </tr>
    <tr>
      <td>Roast Date</td>
      <td>2026-05-05</td>
    </tr>
  </tbody>
</table>

<p>The beans alone have a pungent smell, like damp moss and bitter leather.
I like it.
During the brew, the grounds smell like burnt caramel and walnut.</p>

<table>
  <thead>
    <tr>
      <th>Brew</th>
      <th> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Grind</td>
      <td>Medium-Fine</td>
    </tr>
    <tr>
      <td>Method</td>
      <td>V60 pour-over</td>
    </tr>
    <tr>
      <td>Ratio</td>
      <td>1:14</td>
    </tr>
    <tr>
      <td>Water Temp</td>
      <td>199°F</td>
    </tr>
  </tbody>
</table>

<p>In the cup, I taste light pecan and chocolate - lighter than the strong aromas would lead you to believe.
After a bit, I taste sweet apple as well.</p>

<p>It’s no single-origin, but it’s a solid blend; good for serving in a thick ceramic mug at the deli counter.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="coffee" /><category term="roast-notes" /><category term="chicago" /><summary type="html"><![CDATA[We were lucky enough to have Schneider Deli open a new location just down the street from us and they have a custom roast by Metropolis Coffee Company on drip. As I sipped it at the counter, the place was packed with couples and families. Light streamed in from the east-facing windows and the booths were just as lively as the kitchen. I bought a bag of the beans to try at home.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.joshbeckman.org/assets/images/a0e08528-670d-4bd3-975c-ac882a0b11fd.jpeg" /><media:content medium="image" url="https://www.joshbeckman.org/assets/images/a0e08528-670d-4bd3-975c-ac882a0b11fd.jpeg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Project Hail Mary</title><link href="https://www.joshbeckman.org/blog/watching/letterboxd-review-1328099416-project-hail-mary" rel="alternate" type="text/html" title="Project Hail Mary" /><published>2026-05-16T00:00:00+00:00</published><updated>2026-05-16T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/watching/letterboxd-review-1328099416-project-hail-mary</id><content type="html" xml:base="https://www.joshbeckman.org/blog/watching/letterboxd-review-1328099416-project-hail-mary"><![CDATA[<p><img src="https://a.ltrbxd.com/resized/film-poster/6/1/1/2/8/8/611288-project-hail-mary-0-600-0-900-crop.jpg?v=ac31b6ec03" /></p>
<p>Yes I’m going to like a space travel story. Yes I’m going to like Ryan Gosling. Yes I’m going to love a faceless monster. </p>
<p><br />Ultimately this one was too saccharine and too unscientifically shallow for me to really regard it as a good film, but I enjoyed my ride on the rocket ship.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="watching" /><category term="letterboxd" /><summary type="html"><![CDATA[Yes I’m going to like a space travel story. Yes I’m going to like Ryan Gosling. Yes I’m going to love a faceless monster.  Ultimately this one was too saccharine and too unscientifically shallow for me to really regard it as a good film, but I enjoyed my ride on the rocket ship.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://a.ltrbxd.com/resized/film-poster/6/1/1/2/8/8/611288-project-hail-mary-0-600-0-900-crop.jpg?v=ac31b6ec03" /><media:content medium="image" url="https://a.ltrbxd.com/resized/film-poster/6/1/1/2/8/8/611288-project-hail-mary-0-600-0-900-crop.jpg?v=ac31b6ec03" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">The Scene Inside and Outside The House</title><link href="https://www.joshbeckman.org/blog/photos/the-scene-inside-and-outside-the-house" rel="alternate" type="text/html" title="The Scene Inside and Outside The House" /><published>2026-05-04T11:34:23+00:00</published><updated>2026-05-04T11:34:23+00:00</updated><id>https://www.joshbeckman.org/blog/photos/the-scene-inside-and-outside-the-house</id><content type="html" xml:base="https://www.joshbeckman.org/blog/photos/the-scene-inside-and-outside-the-house"><![CDATA[<p>It’s May 4th and I’m working from home in the sunshine.</p>

<p><img width="2555" height="3840" alt="Outside" src="/assets/images/fe86dca4-b0f9-4c6c-acc2-a45b8634148e.jpeg" /></p>

<p><img width="3024" height="2013" alt="Inside" src="/assets/images/d7e60570-1f78-4dd6-ba9a-b1f5799a4cc0.jpeg" /></p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="photos" /><summary type="html"><![CDATA[It’s May 4th and I’m working from home in the sunshine.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.joshbeckman.org/assets/images/fe86dca4-b0f9-4c6c-acc2-a45b8634148e.jpeg" /><media:content medium="image" url="https://www.joshbeckman.org/assets/images/fe86dca4-b0f9-4c6c-acc2-a45b8634148e.jpeg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Roast Notes: Sun Catcher by Peet’s</title><link href="https://www.joshbeckman.org/blog/roast-notes-sun-catcher-by-peets" rel="alternate" type="text/html" title="Roast Notes: Sun Catcher by Peet’s" /><published>2026-05-03T00:00:00+00:00</published><updated>2026-05-03T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/roast-notes-sun-catcher-by-peets</id><content type="html" xml:base="https://www.joshbeckman.org/blog/roast-notes-sun-catcher-by-peets"><![CDATA[<p>I bought a bag of <a href="https://www.peets.com/products/suncatcher">Sun Catcher</a> from Peet’s this week when I was picking up a quick cup in a rush before work.</p>

<p><img src="/assets/images/IMG_0900.jpeg" alt="Bag of Sun Catcher light roast from Peet's" /></p>

<table>
  <thead>
    <tr>
      <th>Aspects</th>
      <th> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Roast</td>
      <td>Light</td>
    </tr>
    <tr>
      <td>Origin</td>
      <td>Brazil, Kenya</td>
    </tr>
    <tr>
      <td>Process</td>
      <td>Natural and Washed</td>
    </tr>
    <tr>
      <td>Roast Date</td>
      <td>2026-03-06</td>
    </tr>
  </tbody>
</table>

<p>Opening the bag and once brewed, I get smells of mandarin, fresh leather, and wet tree bark. It’s darkly sour.</p>

<table>
  <thead>
    <tr>
      <th>Brew</th>
      <th> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Grind</td>
      <td>Medium-Fine</td>
    </tr>
    <tr>
      <td>Method</td>
      <td>V60 pour-over</td>
    </tr>
    <tr>
      <td>Ratio</td>
      <td>1:14</td>
    </tr>
    <tr>
      <td>Water Temp</td>
      <td>199°F</td>
    </tr>
  </tbody>
</table>

<p>I taste key lime, salt, and caramel. But not much comes to mind, and it’s not a strong enough flavor to trigger much of a reaction from my palate, either. Meh.
I continue to think that the big players make weak flavors.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="coffee" /><category term="roast-notes" /><summary type="html"><![CDATA[I bought a bag of Sun Catcher from Peet’s this week when I was picking up a quick cup in a rush before work.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.joshbeckman.org/assets/images/IMG_0900.jpeg" /><media:content medium="image" url="https://www.joshbeckman.org/assets/images/IMG_0900.jpeg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">The Fly</title><link href="https://www.joshbeckman.org/blog/watching/letterboxd-review-1302105208-the-fly-1986" rel="alternate" type="text/html" title="The Fly" /><published>2026-05-01T00:00:00+00:00</published><updated>2026-05-01T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/watching/letterboxd-review-1302105208-the-fly-1986</id><content type="html" xml:base="https://www.joshbeckman.org/blog/watching/letterboxd-review-1302105208-the-fly-1986"><![CDATA[<p><img src="https://a.ltrbxd.com/resized/film-poster/4/7/1/7/1/47171-the-fly-0-600-0-900-crop.jpg?v=30802b8573" /></p>
<p>Jeff Goldblum is unbelievably perfect for this role. I was electrified. He glues together an already tight script with his pent-up energy, continuously twisting the knot in my stomach until I realized that the knot was going to remain past the third act. This is man-vs-self in one of its best forms, allowing everyone to see part of themselves in his downfall: the terror of your own body, the deep despair of living with mistakes.</p>
<p>Matt and Brandon and I are trying to eat food related to the movie on our horror nights. The day before, I texted, "Ok so what food do we have to eat for <em>The Fly</em>?" First response: "Doesn't matter as long as you vomit on it first."</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="watching" /><category term="letterboxd" /><summary type="html"><![CDATA[Jeff Goldblum is unbelievably perfect for this role. I was electrified. He glues together an already tight script with his pent-up energy, continuously twisting the knot in my stomach until I realized that the knot was going to remain past the third act. This is man-vs-self in one of its best forms, allowing everyone to see part of themselves in his downfall: the terror of your own body, the deep despair of living with mistakes. Matt and Brandon and I are trying to eat food related to the movie on our horror nights. The day before, I texted, "Ok so what food do we have to eat for The Fly?" First response: "Doesn't matter as long as you vomit on it first."]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://a.ltrbxd.com/resized/film-poster/4/7/1/7/1/47171-the-fly-0-600-0-900-crop.jpg?v=30802b8573" /><media:content medium="image" url="https://a.ltrbxd.com/resized/film-poster/4/7/1/7/1/47171-the-fly-0-600-0-900-crop.jpg?v=30802b8573" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">big Sis and Gelli Haha at Schubas Tavern</title><link href="https://www.joshbeckman.org/blog/attending/big-sis-and-gelli-haha-at-schubas-tavern" rel="alternate" type="text/html" title="big Sis and Gelli Haha at Schubas Tavern" /><published>2026-04-25T22:19:19+00:00</published><updated>2026-04-25T22:19:19+00:00</updated><id>https://www.joshbeckman.org/blog/attending/big-sis-and-gelli-haha-at-schubas-tavern</id><content type="html" xml:base="https://www.joshbeckman.org/blog/attending/big-sis-and-gelli-haha-at-schubas-tavern"><![CDATA[<p>I had been looking forward to seeing Gelli since <a href="https://www.joshbeckman.org/blog/listening/switcheroo-by-gelli-haha">their album last summer</a> and immediately bought tickets when they announced a Chicago show.</p>

<p><img width="3549" height="1996" alt="Big Sis in big shirts" src="/assets/images/75926015-667b-46c8-8a9e-851508bd28b1.jpeg" /></p>

<p>Unfortunately, our babysitter had to cancel last-minute and so we had to leave the concert early, only a couple songs into Gelli’s performance. We got to see all of Big Sis, though, and they were a fun thrashy mash-up of <a href="https://www.joshbeckman.org/blog/attending/confidence-man-at-chicago-pride-fest">Confidence Man</a> and <a href="https://www.joshbeckman.org/blog/attending/100-gecs-at-empty-bottle">100 Gecs</a>.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="attending" /><category term="concerts" /><category term="schubas-tavern-venue" /><summary type="html"><![CDATA[I had been looking forward to seeing Gelli since their album last summer and immediately bought tickets when they announced a Chicago show.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.joshbeckman.org/assets/images/75926015-667b-46c8-8a9e-851508bd28b1.jpeg" /><media:content medium="image" url="https://www.joshbeckman.org/assets/images/75926015-667b-46c8-8a9e-851508bd28b1.jpeg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Roast Notes: Brazil Cerrado from Printer’s Row</title><link href="https://www.joshbeckman.org/blog/roast-notes-brazil-cerrado-from-printers-row" rel="alternate" type="text/html" title="Roast Notes: Brazil Cerrado from Printer’s Row" /><published>2026-04-19T00:00:00+00:00</published><updated>2026-04-19T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/roast-notes-brazil-cerrado-from-printers-row</id><content type="html" xml:base="https://www.joshbeckman.org/blog/roast-notes-brazil-cerrado-from-printers-row"><![CDATA[<p>I picked up Printer’s Row Coffee Co.’s <a href="https://www.printersrowcoffeeco.com/shop/brazil-cerrado-12oz">Brazil Cerrado</a> only a couple days after it was roasted.
We walked over as a family on Saturday morning and the roastery was <em>busy</em> with other families and couples after a run. The table beside us was writing either a TikTok skit or a screenplay, I couldn’t divine which.</p>

<p><img src="/assets/images/L1000405.jpeg" alt="Bag of Brazil Cerrado from Printer's Row Coffee Co." /></p>

<table>
  <thead>
    <tr>
      <th>Aspects</th>
      <th> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Roast</td>
      <td>Medium/Light</td>
    </tr>
    <tr>
      <td>Origin</td>
      <td>Brazil (Cerrado)</td>
    </tr>
    <tr>
      <td>Process</td>
      <td>Fully washed &amp; sun dried</td>
    </tr>
    <tr>
      <td>Roast Date</td>
      <td>2026-04-15</td>
    </tr>
  </tbody>
</table>

<p>In the smell, I find sweet walnut and chocolate, really like a candy coffee.</p>

<table>
  <thead>
    <tr>
      <th>Brew</th>
      <th> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Grind</td>
      <td>Medium-Fine</td>
    </tr>
    <tr>
      <td>Method</td>
      <td>Chemex pour-over</td>
    </tr>
    <tr>
      <td>Ratio</td>
      <td>1:14</td>
    </tr>
    <tr>
      <td>Water Temp</td>
      <td>199°F</td>
    </tr>
  </tbody>
</table>

<p>This smooth brew tastes immediately like baker’s chocolate and mandarin orange. With such a deep flavor, it still tastes crisp, wafting off my tongue.
I really like this one.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="coffee" /><category term="chicago" /><category term="roast-notes" /><summary type="html"><![CDATA[I picked up Printer’s Row Coffee Co.’s Brazil Cerrado only a couple days after it was roasted. We walked over as a family on Saturday morning and the roastery was busy with other families and couples after a run. The table beside us was writing either a TikTok skit or a screenplay, I couldn’t divine which.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.joshbeckman.org/assets/images/L1000405.jpeg" /><media:content medium="image" url="https://www.joshbeckman.org/assets/images/L1000405.jpeg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Automating My Apple Music Library Export</title><link href="https://www.joshbeckman.org/blog/practicing/automating-my-apple-music-library-export" rel="alternate" type="text/html" title="Automating My Apple Music Library Export" /><published>2026-04-16T11:00:00+00:00</published><updated>2026-04-16T11:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/practicing/automating-my-apple-music-library-export</id><content type="html" xml:base="https://www.joshbeckman.org/blog/practicing/automating-my-apple-music-library-export"><![CDATA[<p>Two years ago I wrote <a href="/blog/pulling-fun-insights-out-of-my-apple-music-library">a parser that pulls fun insights out of my Apple Music library</a> and generates my <a href="/music">Music Listening page</a>. The pipeline worked well but it had an annoying manual step: I had to open Music.app, click File &gt; Library &gt; Export Library, navigate to the right directory, and save the XML file before running the script. It was enough friction that I’d forget to do it for months.</p>

<h2 id="the-automation">The automation</h2>

<p>Apple Music doesn’t expose a “library export” command in its AppleScript dictionary, so the only option is GUI scripting through System Events. The script:</p>

<ol>
  <li>Activates Music.app</li>
  <li>Navigates the menu: File &gt; Library &gt; Export Library…</li>
  <li>Uses Cmd+Shift+G in the save dialog to jump to the project directory</li>
  <li>Clicks Save</li>
  <li>Waits for the ~46MB XML file to finish writing (by polling file size until it stabilizes)</li>
  <li>Runs the existing <code class="language-plaintext highlighter-rouge">update_music</code> Ruby script to regenerate the page</li>
  <li>Commits any changes to <code class="language-plaintext highlighter-rouge">blog/</code> and <code class="language-plaintext highlighter-rouge">assets/</code> and pushes to deploy</li>
</ol>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./utilities/export_and_update_music
</code></pre></div></div>

<p>The interesting part was discovering that Music.app opens a standalone <code class="language-plaintext highlighter-rouge">window "Save"</code> rather than the more common <code class="language-plaintext highlighter-rouge">sheet 1 of window 1</code> pattern that most macOS apps use for save dialogs. That small difference was the only real debugging needed.</p>

<h2 id="running-it-on-a-schedule">Running it on a schedule</h2>

<p>Since GUI scripting requires a logged-in session with screen access, a plain cron job won’t work. Instead, I’m using a <code class="language-plaintext highlighter-rouge">launchd</code> agent with <code class="language-plaintext highlighter-rouge">LimitLoadToSessionType: Aqua</code>, which ensures it only fires when I’m actually at my Mac.</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;key&gt;</span>LimitLoadToSessionType<span class="nt">&lt;/key&gt;</span>
<span class="nt">&lt;string&gt;</span>Aqua<span class="nt">&lt;/string&gt;</span>
</code></pre></div></div>

<p>It runs weekly on Sunday mornings. Unlike cron, <code class="language-plaintext highlighter-rouge">launchd</code> with <code class="language-plaintext highlighter-rouge">StartCalendarInterval</code> will fire a missed job on wake, so if my laptop was sleeping during the scheduled time, it catches up as soon as I open the lid.</p>

<p>The other <code class="language-plaintext highlighter-rouge">launchd</code> gotcha: the agent runs with a minimal environment, not your shell profile. I had to set <code class="language-plaintext highlighter-rouge">PATH</code> (to find Homebrew’s Ruby and <code class="language-plaintext highlighter-rouge">bundle</code>) and <code class="language-plaintext highlighter-rouge">LANG</code> (to <code class="language-plaintext highlighter-rouge">en_US.UTF-8</code>, since the plist parser chokes on non-ASCII track metadata without it) in the plist’s <code class="language-plaintext highlighter-rouge">EnvironmentVariables</code>.</p>

<h2 id="requirements">Requirements</h2>

<p>The prerequisite is granting Accessibility permissions (System Settings &gt; Privacy &amp; Security &gt; Accessibility). When running from a terminal, your terminal app needs the permission. When running via <code class="language-plaintext highlighter-rouge">launchd</code>, <code class="language-plaintext highlighter-rouge">/usr/bin/env</code> needs it instead. Since the script’s shebang uses <code class="language-plaintext highlighter-rouge">#!/usr/bin/env bash</code>, <code class="language-plaintext highlighter-rouge">env</code> is the parent process that macOS checks for Accessibility access.</p>

<p>The full script is in <a href="https://github.com/joshbeckman/notes/blob/master/utilities/export_and_update_music">the repo</a>.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="practicing" /><category term="code-snippets" /><category term="music" /><category term="automation" /><summary type="html"><![CDATA[Using macOS GUI scripting to fully automate my music stats pipeline]]></summary></entry><entry><title type="html">PG: Psycho Goreman</title><link href="https://www.joshbeckman.org/blog/watching/letterboxd-review-1276440874-pg-psycho-goreman" rel="alternate" type="text/html" title="PG: Psycho Goreman" /><published>2026-04-10T00:00:00+00:00</published><updated>2026-04-10T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/watching/letterboxd-review-1276440874-pg-psycho-goreman</id><content type="html" xml:base="https://www.joshbeckman.org/blog/watching/letterboxd-review-1276440874-pg-psycho-goreman"><![CDATA[<p><img src="https://a.ltrbxd.com/resized/film-poster/5/9/5/0/6/8/595068-pg-psycho-goreman--0-600-0-900-crop.jpg?v=a658ba21ff" /></p>
<p>This could be described as an elongated and inverted <em>Power Rangers</em> special, where the kids are bad and the parents are toxic and the villains are goofy-gorey and the lessons are the same.<br />It's super fun in a heightened camp sort of way - had me laughing out loud watching it at home - and I appreciate someone stretching the idea as far as it could go.<br />I laughed the most at the throwaway lines ("well, this TV just won't stop bleeding") and background characters (the way Cassius 3000 has an "idle animation", the melted police officer continuously trying to kill himself, etc.) and I think that's where this movie shines: oozing sunny gore into a kid's life. It's sneakily earnest beneath the camp, capping gore-soaked subversion with kids-show morals.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="watching" /><category term="letterboxd" /><summary type="html"><![CDATA[This could be described as an elongated and inverted Power Rangers special, where the kids are bad and the parents are toxic and the villains are goofy-gorey and the lessons are the same.It's super fun in a heightened camp sort of way - had me laughing out loud watching it at home - and I appreciate someone stretching the idea as far as it could go.I laughed the most at the throwaway lines ("well, this TV just won't stop bleeding") and background characters (the way Cassius 3000 has an "idle animation", the melted police officer continuously trying to kill himself, etc.) and I think that's where this movie shines: oozing sunny gore into a kid's life. It's sneakily earnest beneath the camp, capping gore-soaked subversion with kids-show morals.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://a.ltrbxd.com/resized/film-poster/5/9/5/0/6/8/595068-pg-psycho-goreman--0-600-0-900-crop.jpg?v=a658ba21ff" /><media:content medium="image" url="https://a.ltrbxd.com/resized/film-poster/5/9/5/0/6/8/595068-pg-psycho-goreman--0-600-0-900-crop.jpg?v=a658ba21ff" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Cléo from 5 to 7</title><link href="https://www.joshbeckman.org/blog/watching/letterboxd-review-1273854132-cleo-from-5-to-7" rel="alternate" type="text/html" title="Cléo from 5 to 7" /><published>2026-04-08T00:00:00+00:00</published><updated>2026-04-08T00:00:00+00:00</updated><id>https://www.joshbeckman.org/blog/watching/letterboxd-review-1273854132-cleo-from-5-to-7</id><content type="html" xml:base="https://www.joshbeckman.org/blog/watching/letterboxd-review-1273854132-cleo-from-5-to-7"><![CDATA[<p><img src="https://a.ltrbxd.com/resized/film-poster/5/1/6/1/1/51611-cleo-from-5-to-7-0-600-0-900-crop.jpg?v=57e2214b3d" /></p>
<p>So much of the film is perfect alignment or beautiful discord. She descends the staircase on footsteps in perfect rhythm with the score. The framed balance of the final scenes and the chance encounter and the timing of friends arriving shows the world aligning for her, supporting her. She carelessly drags her scarf as she stumbles into unexpected nature. The myriad mirrors in the shop and the jumbled overheard conversations in the cafe and the impulsive merry-go-round bus ride and the grotesque street performers show the world as constantly breaking and folding in upon itself. And Cléo finds her happiness from learning to accept both, woven together as she walks. It reminds me of my best walks.</p>
<p>Good things come to those who go for a walk.</p>
<p>Varda studied photography prior to filmmaking and it shows in the gorgeous framing and visuals throughout the film. The multi-layered mirrors in the shop were mesmerizing. The perfect framing and long shot of the couple leaving the park was decadent. It made me want to pick up a camera and go outside.</p>
<p>It appealed to my voyeuristic soul. I am forever listening in on the floating conversations of the tables around me, and this channeled that pleasure onto screen.</p>]]></content><author><name>Josh Beckman</name><email>josh@joshbeckman.org</email><uri>https://www.joshbeckman.org/about</uri></author><category term="blog" /><category term="watching" /><category term="letterboxd" /><summary type="html"><![CDATA[So much of the film is perfect alignment or beautiful discord. She descends the staircase on footsteps in perfect rhythm with the score. The framed balance of the final scenes and the chance encounter and the timing of friends arriving shows the world aligning for her, supporting her. She carelessly drags her scarf as she stumbles into unexpected nature. The myriad mirrors in the shop and the jumbled overheard conversations in the cafe and the impulsive merry-go-round bus ride and the grotesque street performers show the world as constantly breaking and folding in upon itself. And Cléo finds her happiness from learning to accept both, woven together as she walks. It reminds me of my best walks. Good things come to those who go for a walk. Varda studied photography prior to filmmaking and it shows in the gorgeous framing and visuals throughout the film. The multi-layered mirrors in the shop were mesmerizing. The perfect framing and long shot of the couple leaving the park was decadent. It made me want to pick up a camera and go outside. It appealed to my voyeuristic soul. I am forever listening in on the floating conversations of the tables around me, and this channeled that pleasure onto screen.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://a.ltrbxd.com/resized/film-poster/5/1/6/1/1/51611-cleo-from-5-to-7-0-600-0-900-crop.jpg?v=57e2214b3d" /><media:content medium="image" url="https://a.ltrbxd.com/resized/film-poster/5/1/6/1/1/51611-cleo-from-5-to-7-0-600-0-900-crop.jpg?v=57e2214b3d" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>