<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="https://v7.robweychert.com/feed.xml" rel="self" type="application/rss+xml" />
	


<title>Rob Weychert</title>
<description>Art &amp; Design</description>
<link>https://v7.robweychert.com/</link>
<language>en-us</language>
<lastBuildDate>Mon, 06 Jul 2026 09:46:54 -0400</lastBuildDate>
<pubDate>Sun, 05 Jul 2026 23:59:00 -0400</pubDate>

<item>
	<title>The Secret Agent</title>
	<author>Rob Weychert</author>
	<link>https://v7.robweychert.com/blog/2026/07/the-secret-agent/</link>
	<guid>https://v7.robweychert.com/blog/2026/07/the-secret-agent/</guid>
	<pubDate>Sun, 05 Jul 2026 23:59:00 -0400</pubDate>
	<description><![CDATA[
		<p><em>Kleber Mendonça Filho, 2025, ★★★</em></p>
		
	<figure><img src="https://v7.robweychert.com/assets/img/UC9AcI50Pf-300.jpeg" width="300" height="450" alt="The Secret Agent film poster">
	</figure>

		<p>Filho is really good at setting a scene and immersing you in a time and place, and just as I was with the titular town in <cite>Bacurau</cite>, I was fascinated by <cite>The Secret Agent</cite>’s recreation of Recife during Brazil’s military dictatorship in the late 1970s. There are so many details and characters, and I didn’t mind that many of them are superfluous to the plot. I also didn’t mind that the plot really takes its time—80 minutes in, we still only have an inkling of what’s going on. That first half’s self-assured assembly put a spell on me, but it was broken in the back half, when a variety of frivolous tangents are given priority, the central conflict’s murderous animosity is only vaguely justified, and its most consequential moment is shunted off to an afterthought of an epilogue.</p>

		<hr>
		<ul>
			<li>Tagged: <a href="https://v7.robweychert.com/blog/2026/07/">July 2026</a>, <a href="https://v7.robweychert.com/blog/collection/film-diary/">film diary</a>, <a href="https://v7.robweychert.com/blog/topic/film-and-television/">film and television</a>, <a href="https://v7.robweychert.com/blog/topic/review/">review</a>, <a href="https://v7.robweychert.com/blog/creator/kleber-mendonca-filho/">Kleber Mendonça Filho</a></li>
			<li><a href="mailto:rob@robweychert.com?subject=Re: The Secret Agent">Reply via email</a></li>
		</ul>
	
<hr>
<small>
	<p><strong>Shop discount for RSS subscribers!</strong> I make art and zines and art zines. Use the discount code <code>RSS</code> for 20% off your first order at my <a href="https://shop.robweychert.com/">online shop</a> or come say hi at an <a href="https://v7.robweychert.com/events/">event</a> and get the discount in person. (Next up: <a href="https://www.blankspacecommunitycenter.com/event-details/bucks-county-zine-fest">2026 Bucks County Zine Fest</a> in Morrisville, PA, on August 22, 2026)</p>
</small>

	]]></description>
</item>

<item>
	<title>Sirāt</title>
	<author>Rob Weychert</author>
	<link>https://v7.robweychert.com/blog/2026/07/sirat/</link>
	<guid>https://v7.robweychert.com/blog/2026/07/sirat/</guid>
	<pubDate>Sun, 05 Jul 2026 23:58:00 -0400</pubDate>
	<description><![CDATA[
		<p><em>Oliver Laxe, 2025, ★★★★½</em></p>
		
	<figure><img src="https://v7.robweychert.com/assets/img/6FWTd9wAcV-300.jpeg" width="300" height="450" alt="Sirāt film poster">
	</figure>

		<p>what emotional malfunction makes me so relish being brutalized in this way</p>

		<hr>
		<ul>
			<li>Tagged: <a href="https://v7.robweychert.com/blog/2026/07/">July 2026</a>, <a href="https://v7.robweychert.com/blog/collection/film-diary/">film diary</a>, <a href="https://v7.robweychert.com/blog/topic/film-and-television/">film and television</a>, <a href="https://v7.robweychert.com/blog/topic/review/">review</a>, <a href="https://v7.robweychert.com/blog/creator/oliver-laxe/">Oliver Laxe</a></li>
			<li><a href="mailto:rob@robweychert.com?subject=Re: Sirāt">Reply via email</a></li>
		</ul>
	
<hr>
<small>
	<p><strong>Shop discount for RSS subscribers!</strong> I make art and zines and art zines. Use the discount code <code>RSS</code> for 20% off your first order at my <a href="https://shop.robweychert.com/">online shop</a> or come say hi at an <a href="https://v7.robweychert.com/events/">event</a> and get the discount in person. (Next up: <a href="https://www.blankspacecommunitycenter.com/event-details/bucks-county-zine-fest">2026 Bucks County Zine Fest</a> in Morrisville, PA, on August 22, 2026)</p>
</small>

	]]></description>
</item>

<item>
	<title>“Foreigner! Foreigner! This is America! You’re not American! Get the…</title>
	<author>Rob Weychert</author>
	<link>https://v7.robweychert.com/blog/2026/07/independence-day/</link>
	<guid>https://v7.robweychert.com/blog/2026/07/independence-day/</guid>
	<pubDate>Sat, 04 Jul 2026 10:07:00 -0400</pubDate>
	<description><![CDATA[
		<p><em>“Foreigner! Foreigner! This is America! You’re not American! Get the fuck out!”</em> I woke up on the 250th anniversary of my nation’s independence to the sound of some poor soul on the street having a manic episode, and its substance, such as it was, was thematically indistinguishable from that of any stump speech given by our current, duly-elected president.</p>

		<hr>
		<ul>
			<li>Tagged: <a href="https://v7.robweychert.com/blog/2026/07/">July 2026</a>, <a href="https://v7.robweychert.com/blog/topic/politics/">politics</a></li>
			<li><a href="mailto:rob@robweychert.com?subject=Re: “Foreigner! Foreigner! This is America! You’re not American! Get the…">Reply via email</a></li>
		</ul>
	
<hr>
<small>
	<p><strong>Shop discount for RSS subscribers!</strong> I make art and zines and art zines. Use the discount code <code>RSS</code> for 20% off your first order at my <a href="https://shop.robweychert.com/">online shop</a> or come say hi at an <a href="https://v7.robweychert.com/events/">event</a> and get the discount in person. (Next up: <a href="https://www.blankspacecommunitycenter.com/event-details/bucks-county-zine-fest">2026 Bucks County Zine Fest</a> in Morrisville, PA, on August 22, 2026)</p>
</small>

	]]></description>
</item>

<item>
	<title>Starship Troopers</title>
	<author>Rob Weychert</author>
	<link>https://v7.robweychert.com/blog/2026/07/starship-troopers/</link>
	<guid>https://v7.robweychert.com/blog/2026/07/starship-troopers/</guid>
	<pubDate>Fri, 03 Jul 2026 23:59:00 -0400</pubDate>
	<description><![CDATA[
		<p><em>Paul Verhoeven, 1997, ★★★½</em></p>
		
	<figure><img src="https://v7.robweychert.com/assets/img/lLE4BsXWjk-300.jpeg" width="300" height="450" alt="Starship Troopers film poster">
	</figure>

		<p>With the exception of <cite>Hollow Man</cite>, Paul Verhoeven’s studio sci-fi extravaganzas are all slathered in sociopolitical satire, and this one is arguably the most overt, with Verhoeven, recalling his childhood in the Nazi-occupied Netherlands, saying in an interview:</p>
<blockquote>
<p>If I tell the world that a right-wing, fascist way of doing things doesn’t work, no one will listen to me. So I’m going to make a perfect fascist world: everyone is beautiful, everything is shiny, everything has big guns and fancy ships, but it’s only good for killing fucking bugs.</p>
</blockquote>
<p><cite>Starship Troopers’</cite> fascists sure do kill a lot of huge alien bugs—and vice versa—and there are more than a few not-so-subtle hints that the militarized autocratic utopia they’re fighting for is not such a great place. But the film has always felt lopsided to me, its focus on action spectacle diluting its satire. If the runtime of maybe 20–25 percent of the frenetic, hyper-violent battle scenes had been instead devoted to additional ideological world-building, I think that might have been a better balance.</p>
<p>That aside, this is the first time I’ve seen this movie in a long time, and I was impressed by how well most of the digital effects hold up.</p>

		<hr>
		<ul>
			<li>Tagged: <a href="https://v7.robweychert.com/blog/2026/07/">July 2026</a>, <a href="https://v7.robweychert.com/blog/collection/film-diary/">film diary</a>, <a href="https://v7.robweychert.com/blog/topic/film-and-television/">film and television</a>, <a href="https://v7.robweychert.com/blog/topic/review/">review</a>, <a href="https://v7.robweychert.com/blog/creator/paul-verhoeven/">Paul Verhoeven</a></li>
			<li><a href="mailto:rob@robweychert.com?subject=Re: Starship Troopers">Reply via email</a></li>
		</ul>
	
<hr>
<small>
	<p><strong>Shop discount for RSS subscribers!</strong> I make art and zines and art zines. Use the discount code <code>RSS</code> for 20% off your first order at my <a href="https://shop.robweychert.com/">online shop</a> or come say hi at an <a href="https://v7.robweychert.com/events/">event</a> and get the discount in person. (Next up: <a href="https://www.blankspacecommunitycenter.com/event-details/bucks-county-zine-fest">2026 Bucks County Zine Fest</a> in Morrisville, PA, on August 22, 2026)</p>
</small>

	]]></description>
</item>

<item>
	<title>Jack</title>
	<author>Rob Weychert</author>
	<link>https://v7.robweychert.com/blog/2026/07/jack/</link>
	<guid>https://v7.robweychert.com/blog/2026/07/jack/</guid>
	<pubDate>Thu, 02 Jul 2026 17:41:00 -0400</pubDate>
	<description><![CDATA[
		<p>It bothers me that I can’t remember exactly when and where I met Jack. I’m usually pretty good about that. It was probably 2007-ish, probably at SXSW or An Event Apart. I was going to a lot of conferences back then, meeting all kinds of web people from all over the place, and Jack was a web person, though we didn’t talk about the web all that much once we found other things we had in common. We were a pair of affably cynical Gen Xers and lapsed Catholics who loved a lot of the same music and both lost our dads too soon.</p>
<p>And now we’ve lost Jack too soon. Fifty-fucking-one years old. Glioblastoma.</p>
<p>Jack was loudly in attendance both times I competed at the US Air Guitar National Finals in Chicago, and we’d hang out most other times I was in town, too. Same when he was in NYC. Every time, we’d try to make arrangements to go to concerts together, usually without success. My attempts to visit Jack after he entered hospice in late May were likewise unsuccessful, and it’ll be a while before I can forgive myself for that. But we texted a bit, just like we sometimes texted each other from concerts.</p>
<p>I looked for him in the crowd while watching the livestream of Low’s set at Pitchfork in 2022. “My earplugs are getting a workout,” he said. That was Mimi’s second-last performance before she succumbed to her own cancer <a href="https://v7.robweychert.com/blog/2022/11/mimi-parker/">a few months later</a>. Jack added the show to his <a href="https://www.setlist.fm/user/blastcap">concert history</a> on Setlist.fm. Can I tell you what a treasure that is? He was the only other person I’ve known who shared my unreasonable degree of Low fanaticism, and being able to retrace his steps with the band and compare them to my own is so special to me. Cult fandoms, religious resentments, paternal regrets—the similar paths we walked were ones of great significance to both of us.</p>
<p>Geography never gave us the chance to be as close friends as we might have been, and there’s still so much about Jack I don’t know, but I think we nevertheless shared an uncommon understanding, and I’m grateful for that. I don’t subscribe to any of the usual conceptions of an afterlife, but if there is one, I hope Jack’s hanging with Mimi and his dad, and giving the Holy Trinity many, many notes.</p>
<p>Rest well, Jack.</p>

		<hr>
		<ul>
			<li>Tagged: <a href="https://v7.robweychert.com/blog/2026/07/">July 2026</a>, <a href="https://v7.robweychert.com/blog/topic/design/">design</a>, <a href="https://v7.robweychert.com/blog/topic/music/">music</a>, <a href="https://v7.robweychert.com/blog/topic/personal/">personal</a>, <a href="https://v7.robweychert.com/blog/creator/low/">Low</a></li>
			<li><a href="mailto:rob@robweychert.com?subject=Re: Jack">Reply via email</a></li>
		</ul>
	
<hr>
<small>
	<p><strong>Shop discount for RSS subscribers!</strong> I make art and zines and art zines. Use the discount code <code>RSS</code> for 20% off your first order at my <a href="https://shop.robweychert.com/">online shop</a> or come say hi at an <a href="https://v7.robweychert.com/events/">event</a> and get the discount in person. (Next up: <a href="https://www.blankspacecommunitycenter.com/event-details/bucks-county-zine-fest">2026 Bucks County Zine Fest</a> in Morrisville, PA, on August 22, 2026)</p>
</small>

	]]></description>
</item>

<item>
	<title>V7: Say hello to my listening diary</title>
	<author>Rob Weychert</author>
	<link>https://v7.robweychert.com/blog/2026/07/v7-listening-diary/</link>
	<guid>https://v7.robweychert.com/blog/2026/07/v7-listening-diary/</guid>
	<pubDate>Wed, 01 Jul 2026 17:43:00 -0400</pubDate>
	<description><![CDATA[
		<p><em>Monthly reports of my most-played music, going back to 2005</em></p>
		<p>After finally completing the gargantuan task of manually adding <a href="https://v7.robweychert.com/blog/2026/06/v7-backfilling-metadata/">metadata</a> to thousands of my old tweets so they could be more integrated with the rest of my site, I wanted to keep the momentum going. So I turned to the last large personal data source that was still missing from my site: <a href="https://www.last.fm/">Last.fm</a>, a service for tracking and sharing the music you listen to. As of a few days ago, I’ve been a Last.fm user for 21 years, and it’s rare for me to go even a day or two without interfacing with it in some way, making it perhaps my most-used internet thing of all time, even if most of that usage happens in the background.</p>
<p>In late 2005, Last.fm merged with Audioscrobbler, which was the service I originally joined, and so sending listening data to Last.fm is called “scrobbling.” To date I’ve scrobbled over 150,000 tracks from over 8,000 artists. Given my propensity for using my site to document my <a href="https://v7.robweychert.com/blog/collection/music-library/">music purchases</a> and <a href="https://v7.robweychert.com/blog/collection/concert-diary/">concert-going</a>, I was naturally eager to give my listening data a home here as well. But the breadth and depth of that data were intimidating. It’s fun to explore <a href="https://www.last.fm/user/robweychert">my Last.fm profile</a> as a sprawling database, but what shape would that information take on my blog, where all my various online activity is oriented within a timeline? Making each track an individual post would be ridiculous, and even posts collecting a day’s or week’s listens would make a lot of clutter. Ultimately I decided that breaking it all up into monthly posts was sufficiently granular: When looking at one of my blog’s <a href="https://v7.robweychert.com/blog/#browse-by-date">month archives</a>, knowing what I was listening to at the time might add some interesting context to whatever else I was up to then.</p>
<p>But the volume of data was still an issue. Did the hundreds of tracks I listened to each month all need to be accounted for? Did the three minutes I once spent with an <a href="https://www.last.fm/user/robweychert/library/music/The+Osmonds">Osmonds song</a> really warrant an Osmonds <a href="https://v7.robweychert.com/blog/creator/">creator</a> tag? Nope! Collating each month’s top 10 artists and top 10 albums seemed like a reasonable compromise, and for added context, I’d list the month’s total number of artists, albums, tracks, and plays. When I got wistful about the ton of data I’d be leaving on the cutting room floor, I reminded myself that the data isn’t comprehensive anyway, as I’ve listened to plenty of music over the last 21 years that for one reason or another never got scrobbled. And anyway, I’d still have the data and I could always do something more with it down the road when Last.fm inevitably goes the way of the dodo.</p>
<p>With all that decided, I started building some new site infrastructure to accommodate the incoming data, including overdue improvements to my bar-chart styles. When I started, I still wasn’t sure how I would even get all the data, as Last.fm doesn’t let you just download it, and I still don’t really know how to query an API. But less than a day after mentioning the project to my buddy Jon, who <a href="https://v7.robweychert.com/blog/2024/07/v7-great-data-migration/">previously</a> helped me with my Letterboxd data, I had a huge JSON file with everything I needed, plus one more addition to the pile of reasons I like Jon very much. As with past data excursions, I spent some time cleaning it up and hacking with Node.js to get everything neatly formatted into Markdown files, and less than a week after I started the project, my <a href="https://v7.robweychert.com/blog/collection/listening-diary/">listening diary</a> was born.</p>
<p>I’m glad to have it. Some entries are documents of how I self-soothed during a <a href="https://v7.robweychert.com/blog/2020/04/listening-april-2020/">challenging time</a>. Many make space for artists I <a href="https://v7.robweychert.com/blog/creator/tubeway-army/">kept</a> <a href="https://v7.robweychert.com/blog/creator/arca/">coming</a> <a href="https://v7.robweychert.com/blog/creator/john-maus/">back</a> to who didn’t previously have a presence on the site, often because I streamed their music without writing about them or buying any of their records or seeing them live. Hopefully going back through the listening diary will help me start to rectify that. The diary also gives further emphasis to some artists who were already <a href="https://v7.robweychert.com/blog/creator/the-misfits/">established</a> <a href="https://v7.robweychert.com/blog/creator/tortoise/">favorites</a>, sometimes in sad moments when they <a href="https://v7.robweychert.com/blog/2014/03/listening-march-2014/">passed</a> <a href="https://v7.robweychert.com/blog/2022/11/listening-november-2022/">away</a>. And I’m sure over time it’ll prove itself valuable in other ways. If you <a href="https://v7.robweychert.com/blog/collection/listening-diary/">click around</a> and find anything interesting, please <a href="mailto:rob@robweychert.com?subject=Listening%20diary">let me know</a>!</p>

		<hr>
		<ul>
			<li>This post is part of a <a href="https://v7.robweychert.com/blog/2026/07/v7-listening-diary/#series">series</a></li>
			<li>Tagged: <a href="https://v7.robweychert.com/blog/2026/07/">July 2026</a>, <a href="https://v7.robweychert.com/blog/topic/design/">design</a>, <a href="https://v7.robweychert.com/blog/topic/music/">music</a>, <a href="https://v7.robweychert.com/blog/topic/projects/">projects</a></li>
			<li><a href="mailto:rob@robweychert.com?subject=Re: V7: Say hello to my listening diary">Reply via email</a></li>
		</ul>
	
<hr>
<small>
	<p><strong>Shop discount for RSS subscribers!</strong> I make art and zines and art zines. Use the discount code <code>RSS</code> for 20% off your first order at my <a href="https://shop.robweychert.com/">online shop</a> or come say hi at an <a href="https://v7.robweychert.com/events/">event</a> and get the discount in person. (Next up: <a href="https://www.blankspacecommunitycenter.com/event-details/bucks-county-zine-fest">2026 Bucks County Zine Fest</a> in Morrisville, PA, on August 22, 2026)</p>
</small>

	]]></description>
</item>

<item>
	<title>Listening: June 2026</title>
	<author>Rob Weychert</author>
	<link>https://v7.robweychert.com/blog/2026/06/listening-june-2026/</link>
	<guid>https://v7.robweychert.com/blog/2026/06/listening-june-2026/</guid>
	<pubDate>Tue, 30 Jun 2026 23:59:59 -0400</pubDate>
	<description><![CDATA[
		<p><em>My most-played music for the month</em></p>
		
		<div>
	<div>
		<h2>Top artists</h2>
		
<div>
	<figure>
		<table role="table">
			<thead role="rowgroup">
				<tr role="row">
					<th role="columnheader">Artist</th>
					<th role="columnheader">Plays</th>
				</tr>
			</thead>
			<tbody role="rowgroup">
				<tr role="row">
					<td role="cell"><span><a href="https://v7.robweychert.com/blog/creator/sweepers/">Sweepers</a></span></td>
					<td role="cell"><span>72</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span><a href="https://v7.robweychert.com/blog/creator/the-magnetic-fields/">The Magnetic Fields</a></span></td>
					<td role="cell"><span>70</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span><a href="https://v7.robweychert.com/blog/creator/yhwh-nailgun/">YHWH Nailgun</a></span></td>
					<td role="cell"><span>40</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span><a href="https://v7.robweychert.com/blog/creator/horse-lords/">Horse Lords</a></span></td>
					<td role="cell"><span>34</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span><a href="https://v7.robweychert.com/blog/creator/mastodon/">Mastodon</a></span></td>
					<td role="cell"><span>32</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span><a href="https://v7.robweychert.com/blog/creator/upsammy/">Upsammy</a> and <a href="https://v7.robweychert.com/blog/creator/valentina-magaletti/">Valentina Magaletti</a></span></td>
					<td role="cell"><span>28</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span><a href="https://v7.robweychert.com/blog/creator/widemouth/">Widemouth</a></span></td>
					<td role="cell"><span>26</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span><a href="https://v7.robweychert.com/blog/creator/hoavi/">Hoavi</a></span></td>
					<td role="cell"><span>22</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span><a href="https://v7.robweychert.com/blog/creator/microwaves/">Microwaves</a></span></td>
					<td role="cell"><span>20</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span><a href="https://v7.robweychert.com/blog/creator/intensified-chaos/">Intensified Chaos</a></span></td>
					<td role="cell"><span>15</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span><a href="https://v7.robweychert.com/blog/creator/pest-control/">Pest Control</a></span></td>
					<td role="cell"><span>15</span></td>
				</tr>
			</tbody>
		</table>
	</figure>
</div>

	</div>
	<div>
		<h2>Top albums</h2>
		
<div>
	<figure>
		<table role="table">
			<thead role="rowgroup">
				<tr role="row">
					<th role="columnheader">Album</th>
					<th role="columnheader">Plays</th>
				</tr>
			</thead>
			<tbody role="rowgroup">
				<tr role="row">
					<td role="cell"><span>Sweepers<br><span><a href="https://v7.robweychert.com/blog/creator/sweepers/">Sweepers</a></span></span></td>
					<td role="cell"><span>72</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span>69 Love Songs<br><span><a href="https://v7.robweychert.com/blog/creator/the-magnetic-fields/">The Magnetic Fields</a></span></span></td>
					<td role="cell"><span>70</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span>Magazine<br><span><a href="https://v7.robweychert.com/blog/creator/yhwh-nailgun/">YHWH Nailgun</a></span></span></td>
					<td role="cell"><span>40</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span>Demand to Be Taken to Heaven Alive!<br><span><a href="https://v7.robweychert.com/blog/creator/horse-lords/">Horse Lords</a></span></span></td>
					<td role="cell"><span>34</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span>Seismo<br><span><a href="https://v7.robweychert.com/blog/creator/upsammy/">Upsammy</a> and <a href="https://v7.robweychert.com/blog/creator/valentina-magaletti/">Valentina Magaletti</a></span></span></td>
					<td role="cell"><span>28</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span>No Gasoline<br><span><a href="https://v7.robweychert.com/blog/creator/widemouth/">Widemouth</a></span></span></td>
					<td role="cell"><span>26</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span>Architectonics<br><span><a href="https://v7.robweychert.com/blog/creator/hoavi/">Hoavi</a></span></span></td>
					<td role="cell"><span>22</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span>Temporal Shifter<br><span><a href="https://v7.robweychert.com/blog/creator/microwaves/">Microwaves</a></span></span></td>
					<td role="cell"><span>20</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span>That’s Not Freedom<br><span><a href="https://v7.robweychert.com/blog/creator/intensified-chaos/">Intensified Chaos</a></span></span></td>
					<td role="cell"><span>15</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span>The Hunter<br><span><a href="https://v7.robweychert.com/blog/creator/mastodon/">Mastodon</a></span></span></td>
					<td role="cell"><span>13</span></td>
				</tr>
				<tr role="row">
					<td role="cell"><span>Good<br><span><a href="https://v7.robweychert.com/blog/creator/morphine/">Morphine</a></span></span></td>
					<td role="cell"><span>13</span></td>
				</tr>
			</tbody>
		</table>
	</figure>
</div>

	</div>
	<div>
		<h2>Overall stats</h2>
		
<div>
	<figure>
		<table>
			<thead>
				<tr>
					<th>Category</th>
					<th>Total</th>
				</tr>
			</thead>
			<tbody>
				<tr>
					<td>Artists</td>
					<td>53</td>
				</tr>
				<tr>
					<td>Albums</td>
					<td>59</td>
				</tr>
				<tr>
					<td>Tracks</td>
					<td>425</td>
				</tr>
				<tr>
					<td>Plays</td>
					<td>589</td>
				</tr>
			</tbody>
		</table>
	</figure>
</div>

	</div>

</div> <!-- end .listening -->

		<hr>
		<ul>
			<li>Tagged: <a href="https://v7.robweychert.com/blog/2026/06/">June 2026</a>, <a href="https://v7.robweychert.com/blog/collection/listening-diary/">listening diary</a>, <a href="https://v7.robweychert.com/blog/topic/music/">music</a>, <a href="https://v7.robweychert.com/blog/creator/sweepers/">Sweepers</a>, <a href="https://v7.robweychert.com/blog/creator/the-magnetic-fields/">The Magnetic Fields</a>, <a href="https://v7.robweychert.com/blog/creator/yhwh-nailgun/">YHWH Nailgun</a>, <a href="https://v7.robweychert.com/blog/creator/horse-lords/">Horse Lords</a>, <a href="https://v7.robweychert.com/blog/creator/mastodon/">Mastodon</a>, <a href="https://v7.robweychert.com/blog/creator/upsammy/">Upsammy</a>, <a href="https://v7.robweychert.com/blog/creator/valentina-magaletti/">Valentina Magaletti</a>, <a href="https://v7.robweychert.com/blog/creator/widemouth/">Widemouth</a>, <a href="https://v7.robweychert.com/blog/creator/hoavi/">Hoavi</a>, <a href="https://v7.robweychert.com/blog/creator/microwaves/">Microwaves</a>, <a href="https://v7.robweychert.com/blog/creator/intensified-chaos/">Intensified Chaos</a>, <a href="https://v7.robweychert.com/blog/creator/pest-control/">Pest Control</a>, <a href="https://v7.robweychert.com/blog/creator/morphine/">Morphine</a></li>
			<li><a href="mailto:rob@robweychert.com?subject=Re: Listening: June 2026">Reply via email</a></li>
		</ul>
	
<hr>
<small>
	<p><strong>Shop discount for RSS subscribers!</strong> I make art and zines and art zines. Use the discount code <code>RSS</code> for 20% off your first order at my <a href="https://shop.robweychert.com/">online shop</a> or come say hi at an <a href="https://v7.robweychert.com/events/">event</a> and get the discount in person. (Next up: <a href="https://www.blankspacecommunitycenter.com/event-details/bucks-county-zine-fest">2026 Bucks County Zine Fest</a> in Morrisville, PA, on August 22, 2026)</p>
</small>

	]]></description>
</item>

<item>
	<title>Tortoise at Upper Merion Township Building Park</title>
	<author>Rob Weychert</author>
	<link>https://v7.robweychert.com/blog/2026/06/tortoise/</link>
	<guid>https://v7.robweychert.com/blog/2026/06/tortoise/</guid>
	<pubDate>Fri, 26 Jun 2026 23:59:00 -0400</pubDate>
	<description><![CDATA[
		<p><em>with Evan Chapman</em></p>
		
	<figure>
		<video src="https://v7.robweychert.com/assets/video/2026-06-26-tortoise.mp4" preload="none" width="300" height="168.75" poster="https://v7.robweychert.com/assets/img/2026-06-26-tortoise-poster.jpg" controls="" loop=""></video>
		<figcaption>Tortoise</figcaption>
	</figure>

		<p>My first Tortoise show since I <em>very</em> belatedly <a href="https://www.hearingthings.co/the-guitar-bass-hybrid-that-gives-tortoise-its-lonesome-sound/">learned</a> that Doug McCombs’s distinctive secret weapon is the unassumingly mighty <a href="https://en.wikipedia.org/wiki/Fender_Bass_VI">Fender Bass VI</a>.</p>

		<hr>
		<ul>
			<li>Tagged: <a href="https://v7.robweychert.com/blog/2026/06/">June 2026</a>, <a href="https://v7.robweychert.com/blog/collection/concert-diary/">concert diary</a>, <a href="https://v7.robweychert.com/blog/topic/event/">event</a>, <a href="https://v7.robweychert.com/blog/topic/music/">music</a>, <a href="https://v7.robweychert.com/blog/creator/tortoise/">Tortoise</a>, <a href="https://v7.robweychert.com/blog/creator/evan-chapman/">Evan Chapman</a>, <a href="https://v7.robweychert.com/blog/venue/upper-merion-township-building-park/">Upper Merion Township Building Park</a>, <a href="https://v7.robweychert.com/blog/city/king-of-prussia/">King of Prussia</a>, <a href="https://v7.robweychert.com/blog/state/pa/">PA</a></li>
			<li><a href="mailto:rob@robweychert.com?subject=Re: Tortoise at Upper Merion Township Building Park">Reply via email</a></li>
		</ul>
	
<hr>
<small>
	<p><strong>Shop discount for RSS subscribers!</strong> I make art and zines and art zines. Use the discount code <code>RSS</code> for 20% off your first order at my <a href="https://shop.robweychert.com/">online shop</a> or come say hi at an <a href="https://v7.robweychert.com/events/">event</a> and get the discount in person. (Next up: <a href="https://www.blankspacecommunitycenter.com/event-details/bucks-county-zine-fest">2026 Bucks County Zine Fest</a> in Morrisville, PA, on August 22, 2026)</p>
</small>

	]]></description>
</item>

<item>
	<title>Customizing ordered list styles</title>
	<author>Rob Weychert</author>
	<link>https://v7.robweychert.com/blog/2026/06/customizing-ordered-list-styles/</link>
	<guid>https://v7.robweychert.com/blog/2026/06/customizing-ordered-list-styles/</guid>
	<pubDate>Wed, 24 Jun 2026 15:46:00 -0400</pubDate>
	<description><![CDATA[
		<p><em>A simple and reliable way to use CSS counters</em></p>
		<div>
	<aside>
		<p>Have you ever discovered a tiny piece of code hiding in plain site that made your life a little bit easier? This post is about one of those.</p>
	</aside>
</div>
<p>One web browser default I’m seldom satisfied with is the appearance of list markers. Their style can be customized with CSS using <code>li::marker</code>, but the options there are limited. The best way I’ve found to fully customize them is to remove default list styles and use a <code>li::before</code> pseudo-element as a list marker:</p>
<pre tabindex="0"><code><span>ol,
ul</span> <span>{</span>
  <span>list-style</span><span>:</span> none<span>;</span>
<span>}</span>

<span>li::before</span> <span>{</span>
  <span>content</span><span>:</span> <span>"•"</span><span>;</span>
<span>}</span></code></pre>
<p>I’ve used a plain old bullet in this example, but <code>content</code>’s value can be whatever you want, and you can also use <code>position</code>, <code>background</code>, and other properties to customize the list marker to your heart’s content.</p>
<p>This works great for unordered lists (<code>ul</code>), whose markers are all typically uniform. But for <em>ordered</em> lists (<code>ol</code>), whose alphanumeric markers are variable and context-specific, something more is needed. Enter CSS counters, which are essentially numeric variables CSS keeps track of and increments and decrements as needed. You can use CSS counters in lots of ways with pretty much any HTML element, but I’ve only ever used them with ordered lists, beginning by instantiating a counter using <code>counter-reset</code> and giving the counter a custom name, like <code>list-position</code>:</p>
<pre tabindex="0"><code><span>ol</span> <span>{</span>
  <span>counter-reset</span><span>:</span> list-position<span>;</span>
<span>}</span></code></pre>
<p>Next, I’ll tell <code>list-position</code>, whose default value is <code>0</code>, to increment with each list item and make the list item’s <code>::before</code> <code>content</code> whatever the current <code>list-position</code> value is:</p>
<pre tabindex="0"><code><span>ol li::before</span> <span>{</span>
  <span>counter-increment</span><span>:</span> list-position<span>;</span>
  <span>content</span><span>:</span> <span>counter</span><span>(</span>list-position<span>)</span><span>;</span>
<span>}</span></code></pre>
<p>For the first item in the list, <code>list-position</code>’s value will be <code>1</code>; for the second item, the value will be <code>2</code>; and so on.</p>
<p>This approach does the trick for most ordered lists, allowing you to add styles to <code>li::before</code> to customize the list markers however you want. Great! But note that <em>most lists</em> is not the same as <em>all lists</em>, and this particular implementation of CSS counters isn’t bulletproof. Say your <code>ol</code> has a <code>reversed</code> attribute and is meant to count <a href="https://v7.robweychert.com/blog/2017/05/twitter-868225303637889024/">down</a> rather than up. Or it has a <code>start="2"</code> and is meant to count <a href="https://v7.robweychert.com/blog/2018/11/twitter-1060946850725928962/">up from 2</a> rather than from 1. The above CSS doesn’t account for those cases and will still just count up from 1. CSS counters have additional capabilities that can address these issues, but it means writing even more CSS to make a hacky recreation of a thing HTML already does by default. <em>There has to be a better way!</em></p>
<p>Well, it turns out there is! I just today learned I can forego <code>counter-reset</code> and <code>counter-increment</code> entirely, and in place of the <code>content</code> reference to the counter I had named <code>list-position</code>, I can just use an existing CSS keyword, <code>list-item</code>, which the counter will increment or decrement automatically according to the needs of the list. Boom.</p>
<pre tabindex="0"><code><span>ol li::before</span> <span>{</span>
  <span>content</span><span>:</span> <span>counter</span><span>(</span>list-item<span>)</span><span>;</span>
<span>}</span></code></pre>
<p>I still wish <code>::marker</code> could handle all my ordered list styling needs, but as compromises go, CSS counters aren’t bad, and simplifying them further with the discovery of <code>list-item</code> has brightened my day. Here’s my new list-styling boilerplate:</p>
<pre tabindex="0"><code><span>ol,
ul</span> <span>{</span>
  <span>list-style</span><span>:</span> none<span>;</span>
<span>}</span>

<span>ul li::before</span> <span>{</span>
  <span>content</span><span>:</span> <span>"•"</span><span>;</span>
<span>}</span>

<span>/* Top-level ordered lists get standard
decimal markers, starting with "1" */</span>

<span>ol li::before</span> <span>{</span>
  <span>content</span><span>:</span> <span>counter</span><span>(</span>list-item<span>,</span> decimal<span>)</span><span>;</span>
<span>}</span>

<span>/* Nested ordered lists get lowercase
alphabetical markers, starting with "a" */</span>

<span>ol ol,
ul ol</span> <span>{</span>
  <span>&amp; li::before</span> <span>{</span>
    <span>content</span><span>:</span> <span>counter</span><span>(</span>list-item<span>,</span> lower-alpha<span>)</span><span>;</span>
  <span>}</span>
<span>}</span>

<span>/* Further nested ordered lists get lowercase
Roman numeral markers, starting with "i" */</span>

<span>ol ol ol,
ol ul ol,
ul ol ol,
ul ul ol</span>  <span>{</span>
  <span>&amp; li::before</span> <span>{</span>
    <span>content</span><span>:</span> <span>counter</span><span>(</span>list-item<span>,</span> lower-roman<span>)</span><span>;</span>
  <span>}</span>
<span>}</span></code></pre>
<h2>Further reading</h2>
<ul>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Counter_styles/Using_counters">Using CSS counters</a></li>
<li><a href="https://piccalil.li/blog/an-in-depth-guide-to-customising-lists-with-css/">An in-depth guide to customizing lists with CSS</a></li>
</ul>

		<hr>
		<ul>
			<li>Tagged: <a href="https://v7.robweychert.com/blog/2026/06/">June 2026</a>, <a href="https://v7.robweychert.com/blog/topic/design/">design</a>, <a href="https://v7.robweychert.com/blog/topic/code/">code</a></li>
			<li><a href="mailto:rob@robweychert.com?subject=Re: Customizing ordered list styles">Reply via email</a></li>
		</ul>
	
<hr>
<small>
	<p><strong>Shop discount for RSS subscribers!</strong> I make art and zines and art zines. Use the discount code <code>RSS</code> for 20% off your first order at my <a href="https://shop.robweychert.com/">online shop</a> or come say hi at an <a href="https://v7.robweychert.com/events/">event</a> and get the discount in person. (Next up: <a href="https://www.blankspacecommunitycenter.com/event-details/bucks-county-zine-fest">2026 Bucks County Zine Fest</a> in Morrisville, PA, on August 22, 2026)</p>
</small>

	]]></description>
</item>

<item>
	<title>V7: Backfilling metadata</title>
	<author>Rob Weychert</author>
	<link>https://v7.robweychert.com/blog/2026/06/v7-backfilling-metadata/</link>
	<guid>https://v7.robweychert.com/blog/2026/06/v7-backfilling-metadata/</guid>
	<pubDate>Mon, 22 Jun 2026 22:10:00 -0400</pubDate>
	<description><![CDATA[
		<p><em>Six thousand tweets. Ten months. One taxonomy.</em></p>
		<div>
	<figure><img src="https://v7.robweychert.com/assets/img/z6MoyQ13QY-300.png" width="300" height="168" alt="A pair of knuckles with tattoos spelling METADATA">
	</figure>
</div>
<p>Last week? Not my favorite week. My dog injured her leg while playing with other dogs in the park. My basement needed some emergency masonry work. My acid reflux graduated from intermittent warning shots to full-on assault. But somehow, in the midst of all this, I managed to finish up a project I’ve been chipping away at for countless hours over the past 10 months: manually adding metadata to the nearly 6,000 old tweets I’ve republished on my site.</p>
<p>The tweets have been on the site since my redesign launched last September, but any metadata beyond what was provided by Twitter’s data export wasn’t originally part of the republishing plan, since adding it was obviously going to be an enormous hassle. After the launch, however, it really bugged me that my blog’s numbers didn’t tell the whole story. For each <a href="https://v7.robweychert.com/blog/#browse-by-topic">topic</a>, <a href="https://v7.robweychert.com/blog/creator/">creator</a>, and <a href="https://v7.robweychert.com/blog/location/">location</a> listed, there was an untold number of relevant posts left uncounted.</p>
<p>So I started counting them. One tweet at a time, looking for anything taggable within my existing taxonomy. Any of my limited set of topics relevant to the tweet, tagged. If I tweeted about a place, the location was tagged. If I quoted or otherwise mentioned a song or movie, the musician or filmmaker was tagged. If I linked to an article, the author was tagged. (It’s worth noting that of those links, the New York Times deserves credit for being the only mainstream site to almost completely avoid link rot, and for most of the rest of the author names, the Internet Archive was reliably miraculous.) I also took the opportunity to stitch together many <a href="https://v7.robweychert.com/blog/2007/10/twitter-368290222/#series">series</a> of tweets that would have already been threaded if they hadn’t predated Twitter’s threading capabilities.</p>
<p>For me, this much fuller accounting of the site’s contents validates this laborious cataloging endeavor, especially for the 1,100 creators who were previously untagged. Seeing the updated <a href="https://v7.robweychert.com/blog/#browse-by-topic">topics</a> numbers all together provides a decent hierarchy of my public preoccupations, and apparently I spent enough time tweeting about my <a href="https://v7.robweychert.com/blog/topic/dream-journal/">dreams</a> to allow pretty much anyone to cobble together a workable psychological profile. Perhaps most importantly of all, <a href="https://v7.robweychert.com/blog/creator/dick-clair/">Dick Clair</a> and <a href="https://v7.robweychert.com/blog/creator/jenna-mcmahon/">Jenna McMahon</a>, the creators of the 1980s sitcom <cite>The Facts of Life</cite>, have finally received their flowers.</p>

		<hr>
		<ul>
			<li>This post is part of a <a href="https://v7.robweychert.com/blog/2026/06/v7-backfilling-metadata/#series">series</a></li>
			<li>Tagged: <a href="https://v7.robweychert.com/blog/2026/06/">June 2026</a>, <a href="https://v7.robweychert.com/blog/topic/design/">design</a>, <a href="https://v7.robweychert.com/blog/topic/projects/">projects</a></li>
			<li><a href="mailto:rob@robweychert.com?subject=Re: V7: Backfilling metadata">Reply via email</a></li>
		</ul>
	
<hr>
<small>
	<p><strong>Shop discount for RSS subscribers!</strong> I make art and zines and art zines. Use the discount code <code>RSS</code> for 20% off your first order at my <a href="https://shop.robweychert.com/">online shop</a> or come say hi at an <a href="https://v7.robweychert.com/events/">event</a> and get the discount in person. (Next up: <a href="https://www.blankspacecommunitycenter.com/event-details/bucks-county-zine-fest">2026 Bucks County Zine Fest</a> in Morrisville, PA, on August 22, 2026)</p>
</small>

	]]></description>
</item>


</channel>
</rss>