<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Matt Miller</title>
		<link>https://thisismattmiller.com/</link>
		<description>Recent content on Matt Miller</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Mon, 03 Aug 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://thisismattmiller.com/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Jeopardy! Video Games of the 80s and 90s</title>
				<link>https://thisismattmiller.com/post/jeopardy/</link>
				<pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/jeopardy/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;&#x9;&#x9;&#x9;line-height: 1.75em;&#xA;  &#x9;}&#xA;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#xA;    .doodle-mono-right-header {&#xA;    &#x9;-webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%),&#xA;    &#x9;                     linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%);&#xA;    &#x9;-webkit-mask-composite: source-in;&#xA;    &#x9;mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%),&#xA;    &#x9;            linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%);&#xA;    &#x9;mask-composite: intersect;&#xA;    }&#xA;&#xA;&#x9;table.jeopardy-table{&#xA;&#x9;&#x9;width: 100%;&#xA;&#x9;&#x9;border-collapse: collapse;&#xA;&#x9;&#x9;margin-bottom: 3em;&#xA;&#x9;&#x9;font-size: 1em;&#xA;&#x9;}&#xA;&#x9;table.jeopardy-table th{&#xA;&#x9;&#x9;text-align: left;&#xA;&#x9;&#x9;border-bottom: 2px solid black;&#xA;&#x9;&#x9;padding: 0.5em;&#xA;&#x9;}&#xA;&#x9;table.jeopardy-table td{&#xA;&#x9;&#x9;padding: 0.5em;&#xA;&#x9;&#x9;border-bottom: 1px solid #dbdbdb;&#xA;&#x9;&#x9;vertical-align: top;&#xA;&#x9;}&#xA;&#x9;table.jeopardy-table tr:nth-child(even){&#xA;&#x9;&#x9;background-color: whitesmoke;&#xA;&#x9;}&#xA;&#x9;table.jeopardy-table tr{&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;table.jeopardy-table tr:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#x9;}&#xA;&#x9;.table-scroll{&#xA;&#x9;&#x9;overflow-x: auto;&#xA;&#x9;&#x9;margin-bottom: 3em;&#xA;&#x9;}&#xA;&#x9;.table-scroll table.jeopardy-table{&#xA;&#x9;&#x9;margin-bottom: 0;&#xA;&#x9;}&#xA;&#xA;&#x9;.iframe-container {&#xA;&#x9;&#x9;position: relative;&#xA;&#x9;&#x9;width: 100%;&#xA;&#x9;&#x9;height: 950px;&#xA;&#x9;&#x9;overflow: hidden;&#xA;&#x9;&#x9;border-top: dashed 2px black;&#xA;&#x9;&#x9;border-bottom: dashed 2px black;&#xA;&#x9;&#x9;margin-bottom: 3em;&#xA;&#x9;}&#xA;&#x9;#vizOverlay{&#xA;&#x9;&#x9;position: absolute;&#xA;&#x9;&#x9;top: 0;&#xA;&#x9;&#x9;left: 0;&#xA;&#x9;&#x9;right: 0;&#xA;&#x9;&#x9;bottom: 0;&#xA;&#x9;&#x9;cursor: pointer;&#xA;&#x9;&#x9;display: flex;&#xA;&#x9;&#x9;align-items: flex-end;&#xA;&#x9;&#x9;justify-content: center;&#xA;&#x9;&#x9;background-color: transparent;&#xA;&#x9;}&#xA;&#x9;#vizOverlay span{&#xA;&#x9;&#x9;background-color: rgba(0,0,0,0.75);&#xA;&#x9;&#x9;color: white;&#xA;&#x9;&#x9;padding: 8px 16px;&#xA;&#x9;&#x9;border-radius: 4px;&#xA;&#x9;&#x9;margin-bottom: 2em;&#xA;&#x9;&#x9;font-size: 0.9em;&#xA;&#x9;}&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34; style=&#34;margin-bottom:3em&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Jeopardy! Video Games of the 80s and 90s&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Analysis of 24K questions extracted&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Aug 3 2026&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:center;&#34;&gt;&#xA;&#x9;    &#x9;&lt;img style=&#34;width: 45%;&#34; class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/tribect.gif&#34; title=&#34;Jeopardy! video games&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;  &lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#xA;        &lt;p&gt;I have been looking at trivia game stuff recently and also been thinking about ROM emulation files, for old console gaming systems like Nintendo, as a data corpus. And it made me remember seeing these Jeopardy games around growing up and thinking how awful they must be. But now that I&amp;rsquo;m old I kind of think they are neat, or at least conceptually. There ended up being quite a lot of games released over the ~10 years that cartridge systems were hugely popular. And I wondered what kind of questions were on these things? The market is of course mostly for children but the Jeopardy brand is pretty serious trivia. So I gathered them up and extracted the questions and did some analysis.&#xA;        &lt;/p&gt;</description>
			</item>
			<item>
				<title>Email Visualization</title>
				<link>https://thisismattmiller.com/post/email-visualization/</link>
				<pubDate>Mon, 24 Nov 2025 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/email-visualization/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;  &#x9;summary{&#xA;&#x9;    display: list-item !important;&#xA;&#x9;    counter-increment: list-item 0;&#xA;&#x9;    list-style: inside disclosure-closed;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;&#x9;&#x9;&#x9;line-height: 1.75em;&#xA;&#xA;  &#x9;}&#xA;&#xA;&#xA;&#x9;#app-subject-components ul {&#xA;&#x9;  columns: 3;&#xA;&#x9;  -webkit-columns: 3;&#xA;&#x9;  -moz-columns: 3;&#xA;&#x9;}&#xA;&#x9;#app-subject-complex ul {&#xA;&#x9;  columns: 2;&#xA;&#x9;  -webkit-columns: 2;&#xA;&#x9;  -moz-columns: 2;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;    .doodle-mono-right-header {&#xA;    &#x9;-webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%),&#xA;    &#x9;                     linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%);&#xA;    &#x9;-webkit-mask-composite: source-in;&#xA;    &#x9;mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%),&#xA;    &#x9;            linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%);&#xA;    &#x9;mask-composite: intersect;&#xA;    }&#xA;&#xA;    .state-subjects{&#xA;    &#x9;margin-bottom: 3em;&#xA;    }&#xA;&#xA;&#xA;&#x9;tr{&#xA;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;tr:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#x9;li{&#xA;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;li:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;.lcsh-list{&#xA;&#x9;column-count: 4; font-size: 0.9em;&#xA;&#x9;margin-bottom: 3em;&#xA;}&#xA;.lcsh-list li{&#xA;&#x9;margin-bottom: 0.1em;&#xA;}&#xA;li{&#xA;&#x9;margin-bottom: 1em;&#xA;&#x9;font-size: 1em;&#xA;&#xA;}&#xA;ol, ul{&#xA;&#x9;padding-left: 2em;&#xA;&#x9;font-size: 1.1em;&#xA;}&#xA;&#xA;.iframe-container {&#xA;&#x9;position: relative;&#xA;&#x9;width: 100%;&#xA;&#x9;height: 950px;&#xA;&#x9;overflow: hidden;&#xA;&#x9;border-top: dashed 2px black;&#xA;&#x9;border-bottom: dashed 2px black;&#xA;&#x9;margin-bottom: 3em;&#xA;&#xA;}&#xA;&#xA;@media only screen and (max-width: 1120px) {&#xA;&#x9;iframe[width=&#34;1120&#34;] {&#xA;&#x9;&#x9;width: 100%;&#xA;&#x9;&#x9;height: auto;&#xA;&#x9;&#x9;aspect-ratio: 16 / 9;&#xA;&#x9;}&#xA;}&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34; style=&#34;margin-bottom:3em&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Email Visualization&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Visualizing 14,000 Released Epstein Emails&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Nov 24 2025&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:center;&#34;&gt;&#xA;&#x9;    &#x9;&lt;img style=&#34;width: 45%;&#34; class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/email-viz-logo.jpg&#34; title=&#34;Email visualization&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;  &lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#xA;        &lt;p&gt;Browsing the 20,000 Epstein documents &lt;a href=&#34;https://oversight.house.gov/release/oversight-committee-releases-additional-epstein-estate-documents/&#34; target=&#34;_blank&#34;&gt;released&lt;/a&gt; by the House Oversight Committee using tools people built such as this &lt;a href=&#34;https://journaliststudio.google.com/pinpoint/search?collection=092314e384a58618&amp;utm_source=collection_share_link&#34; target=&#34;_blank&#34;&gt;searchable interface&lt;/a&gt; or even &lt;a href=&#34;https://epsteinvisualizer.com/&#34; target=&#34;_blank&#34;&gt;network graph&lt;/a&gt; is interesting but still kind of opaque. I was thinking about what a browseable interface for thousands of emails would look like. If you have time as the x-axis and people as the y-axis you could &#34;plot&#34; all of them at once. I&#39;m kind of obsessed with the idea of seeing everything at once but still being able to access the individual part. I took the emails released and built an interface based on this idea. I like it as an experiment to give a visible chronological aspect to a digital collection and a way to wrap your mind around the scope and extent of the documents. You can see the shape of communication between Epstein and people who wanted to talk to him and it gives you a way to slice into that query.&#xA;        &lt;/p&gt;</description>
			</item>
			<item>
				<title>LCNAF &amp; Trie</title>
				<link>https://thisismattmiller.com/post/lcnaf-trie/</link>
				<pubDate>Wed, 12 Nov 2025 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/lcnaf-trie/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;  &#x9;summary{&#xA;&#x9;    display: list-item !important;&#xA;&#x9;    counter-increment: list-item 0;&#xA;&#x9;    list-style: inside disclosure-closed;  &#x9;&#x9;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;&#x9;&#x9;&#x9;&#x9;line-height: 1.75em;&#xA;&#xA;  &#x9;}&#xA;&#xA;&#xA;&#x9;#app-subject-components ul {&#xA;&#x9;  columns: 3;&#xA;&#x9;  -webkit-columns: 3;&#xA;&#x9;  -moz-columns: 3;&#xA;&#x9;}&#x9;&#x9;&#xA;&#x9;#app-subject-complex ul {&#xA;&#x9;  columns: 2;&#xA;&#x9;  -webkit-columns: 2;&#xA;&#x9;  -moz-columns: 2;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;    .doodle-mono-right-header {&#xA;    &#x9;-webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%),&#xA;    &#x9;                     linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%);&#xA;    &#x9;-webkit-mask-composite: source-in;&#xA;    &#x9;mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%),&#xA;    &#x9;            linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%);&#xA;    &#x9;mask-composite: intersect;&#xA;    }&#xA;&#xA;    .state-subjects{&#xA;    &#x9;margin-bottom: 3em;&#xA;    }&#xA;&#xA;&#xA;&#x9;tr{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;tr:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#x9;li{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;li:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;.lcsh-list{&#xA;&#x9;column-count: 4; font-size: 0.9em;&#xA;&#x9;margin-bottom: 3em;&#xA;}&#xA;.lcsh-list li{&#xA;&#x9;margin-bottom: 0.1em;&#xA;}&#xA;li{&#xA;&#x9;margin-bottom: 1em;&#xA;&#x9;font-size: 1em;&#xA;&#xA;}&#xA;ol, ul{&#xA;&#x9;padding-left: 2em;&#xA;&#x9;font-size: 1.1em;&#xA;}&#xA;&#xA;.iframe-container {&#xA;&#x9;position: relative;&#xA;&#x9;width: 100%;&#xA;&#x9;height: 800px;&#xA;&#x9;overflow: hidden;&#xA;&#x9;border-top: dashed 2px black;&#xA;&#x9;border-bottom: dashed 2px black;&#xA;&#x9;margin-bottom: 3em;&#xA;&#xA;}&#xA;&#xA;@media only screen and (max-width: 1120px) {&#xA;&#x9;iframe[width=&#34;1120&#34;] {&#xA;&#x9;&#x9;width: 100%;&#xA;&#x9;&#x9;height: auto;&#xA;&#x9;&#x9;aspect-ratio: 16 / 9;&#xA;&#x9;}&#xA;}&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34; style=&#34;margin-bottom:3em&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;LCNAF &amp; Trie&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Storing +11M unique LCNAF names in 50MB Trie data structure&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Nov 12 2025&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:center;&#34;&gt;&#xA;&#x9;    &#x9;&lt;img style=&#34;width: 85%;&#34; class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/trie_header_image.jpg&#34; title=&#34;A card catalog card with a trie data structure diagram on it.&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;  &lt;ul style=&#34;list-style-type: none; padding-left: 0; margin-bottom: 3em;&#34;&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#Intro&#34;&gt;Intro&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#Structure&#34;&gt;Trie Data Structure &amp; LCNAF&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#Application1&#34;&gt;Application - Client Lookup and MARC Reconciliation&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#Application2&#34;&gt;Application - Interface for Humans&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#Application3&#34;&gt;Application - OpenRefine, Simple API and Command Line&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#Limitations&#34;&gt;Limitations&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;#Takeaways&#34;&gt;Takeaways&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&#xA;  &lt;/div&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#x9;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;h2 id=&#34;Intro&#34; class=&#34;is-size-4&#34; style=&#34;margin-top: 3em; margin-bottom: 0.5em;&#34;&gt;Intro&lt;/h2&gt;&#xA;        &lt;p&gt;The core of this post is looking at a pretty niche problem but it spans across a number of interconnected interests including controlled vocabularies, data structures and web development within library data. In general library data could be summarized as being esoteric and old. Often data originated in a paper format many decades ago and through endless migrations exists with us today. This longevity and consistent(-ish) nature of its production result in really unique datasets that have inherent qualities. These unique qualities made me wonder if they could be used to work with it in interesting ways. Specifically in this case we are going to look at how we can represent the Library of Congress Name Authority File (LCNAF) in a non-traditional data structure and what applications that opens up.&#xA;        &lt;/p&gt;</description>
			</item>
			<item>
				<title>Giallo</title>
				<link>https://thisismattmiller.com/post/giallo/</link>
				<pubDate>Fri, 31 Oct 2025 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/giallo/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;  &#x9;summary{&#xA;&#x9;    display: list-item !important;&#xA;&#x9;    counter-increment: list-item 0;&#xA;&#x9;    list-style: inside disclosure-closed;  &#x9;&#x9;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;&#x9;&#x9;&#x9;&#x9;line-height: 1.75em;&#xA;&#xA;  &#x9;}&#xA;&#xA;&#xA;&#x9;#app-subject-components ul {&#xA;&#x9;  columns: 3;&#xA;&#x9;  -webkit-columns: 3;&#xA;&#x9;  -moz-columns: 3;&#xA;&#x9;}&#x9;&#x9;&#xA;&#x9;#app-subject-complex ul {&#xA;&#x9;  columns: 2;&#xA;&#x9;  -webkit-columns: 2;&#xA;&#x9;  -moz-columns: 2;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;    .doodle-mono-right-header {&#xA;    &#x9;-webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%),&#xA;    &#x9;                     linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%);&#xA;    &#x9;-webkit-mask-composite: source-in;&#xA;    &#x9;mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%),&#xA;    &#x9;            linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%);&#xA;    &#x9;mask-composite: intersect;&#xA;    }&#xA;&#xA;    .state-subjects{&#xA;    &#x9;margin-bottom: 3em;&#xA;    }&#xA;&#xA;&#xA;&#x9;tr{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;tr:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#x9;li{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;li:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;.lcsh-list{&#xA;&#x9;column-count: 4; font-size: 0.9em;&#xA;&#x9;margin-bottom: 3em;&#xA;}&#xA;.lcsh-list li{&#xA;&#x9;margin-bottom: 0.1em;&#xA;}&#xA;li{&#xA;&#x9;margin-bottom: 1em;&#xA;&#x9;font-size: 1em;&#xA;&#xA;}&#xA;ol, ul{&#xA;&#x9;padding-left: 2em;&#xA;&#x9;font-size: 1.1em;&#xA;}&#xA;&#xA;.iframe-container {&#xA;&#x9;position: relative;&#xA;&#x9;width: 100%;&#xA;&#x9;height: 800px;&#xA;&#x9;overflow: hidden;&#xA;&#x9;border-top: dashed 2px black;&#xA;&#x9;border-bottom: dashed 2px black;&#xA;&#x9;margin-bottom: 3em;&#xA;&#xA;}&#xA;&#xA;@media only screen and (max-width: 1120px) {&#xA;&#x9;iframe[width=&#34;1120&#34;] {&#xA;&#x9;&#x9;width: 100%;&#xA;&#x9;&#x9;height: auto;&#xA;&#x9;&#x9;aspect-ratio: 16 / 9;&#xA;&#x9;}&#xA;}&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34; style=&#34;margin-bottom:3em&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Giallo&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Using a vision language model to analyze Italian Giallo films&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Oct 31 2025&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:center;&#34;&gt;&#xA;&#x9;    &#x9;&lt;img style=&#34;width: 85%;&#34; class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/giallo.png&#34; title=&#34;A drawing of eyes and face.&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;  &lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#x9;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;h2 id=&#34;Intro&#34; class=&#34;is-size-4&#34; style=&#34;margin-top: 3em; margin-bottom: 0.5em;&#34;&gt;Intro&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Giallo&#34; target=&#34;_blank&#34;&gt;Italian Giallo Films&lt;/a&gt; seem to be having a little resurgence recently. I first was exposed to them when the Criterion Channel app had a collection of them for Halloween a few years ago and now watch a few of them around this time of year mixed in with other spooky season movies. They are terrible movies, but are usually visually striking. It’s like the cinematographer or director is competing to make the most saturated, dramatic and elaborate scene possible. Coupled with the 1960/70s aesthetic they are really kind of fun to visually experience. Watching them you notice recurring tropes, things like extreme zoom shots of the actors eyes, a shadow creeping up a staircase or a POV knife wielding gloved hand. I was wondering if you had a large corpus could you automatically group these tropes and maybe discover new ones or even see influences?&lt;/p&gt;</description>
			</item>
			<item>
				<title>Book Bans 2025</title>
				<link>https://thisismattmiller.com/post/book-bans-2025/</link>
				<pubDate>Fri, 17 Oct 2025 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/book-bans-2025/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;  &#x9;summary{&#xA;&#x9;    display: list-item !important;&#xA;&#x9;    counter-increment: list-item 0;&#xA;&#x9;    list-style: inside disclosure-closed;  &#x9;&#x9;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;&#x9;&#x9;&#x9;&#x9;line-height: 1.75em;&#xA;&#xA;  &#x9;}&#xA;&#xA;&#xA;&#x9;#app-subject-components ul {&#xA;&#x9;  columns: 3;&#xA;&#x9;  -webkit-columns: 3;&#xA;&#x9;  -moz-columns: 3;&#xA;&#x9;}&#x9;&#x9;&#xA;&#x9;#app-subject-complex ul {&#xA;&#x9;  columns: 2;&#xA;&#x9;  -webkit-columns: 2;&#xA;&#x9;  -moz-columns: 2;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;    .state-subjects{&#xA;    &#x9;margin-bottom: 3em;&#xA;    }&#xA;&#xA;&#xA;&#x9;tr{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;tr:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#x9;li{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;li:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;.lcsh-list{&#xA;&#x9;column-count: 4; font-size: 0.9em;&#xA;&#x9;margin-bottom: 3em;&#xA;}&#xA;.lcsh-list li{&#xA;&#x9;margin-bottom: 0.1em;&#xA;}&#xA;li{&#xA;&#x9;margin-bottom: 1em;&#xA;&#x9;font-size: 1em;&#xA;&#xA;}&#xA;ol, ul{&#xA;&#x9;padding-left: 2em;&#xA;&#x9;font-size: 1.1em;&#xA;}&#xA;&#xA;.iframe-container {&#xA;&#x9;position: relative;&#xA;&#x9;width: 100%;&#xA;&#x9;height: 800px;&#xA;&#x9;overflow: hidden;&#xA;&#x9;border-top: dashed 2px black;&#xA;&#x9;border-bottom: dashed 2px black;&#xA;&#x9;margin-bottom: 3em;&#xA;&#xA;}&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34; style=&#34;margin-bottom:3em&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Book Bans 2025&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Analysis of PEN America Book Ban Data&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Oct 17 2025&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:center;&#34;&gt;&#xA;&#x9;    &#x9;&lt;img style=&#34;width: 55%;&#34; class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/book_bans_2025.png&#34; title=&#34;A drawing of a library checkout slip that says &#39;Book Bans 2025&#39;.&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#x9;&#x9;&#x9;&#x9;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;h2 id=&#34;Intro&#34; class=&#34;is-size-4&#34; style=&#34;margin-top: 3em; margin-bottom: 0.5em;&#34;&gt;Intro&lt;/h2&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA;                    PEN America released their &lt;a href=&#34;https://pen.org/report/the-normalization-of-book-banning&#34; target=&#34;_blank&#34;&gt;Book Bans 2025 list&lt;/a&gt; which aggregates books that have been banned in US school districts for 2024-2025. They also kindly released the &lt;a href=&#34;https://pen.org/book-bans/pen-america-index-of-school-book-bans-2024-2025/&#34; target=&#34;_blank&#34;&gt;spreadsheet of data&lt;/a&gt; which lets me take the titles and author list and do some enrichment and analysis. I did something similar a couple years ago that can be &lt;a href=&#34;https://thisismattmiller.com/post/banned-metadata/&#34; target=&#34;_blank&#34;&gt;found here&lt;/a&gt;, unfortunately there is a lot more data for this year and I had some new thoughts on how to explore it. In this post we are going to look at the data through two lenses: Geographic and Subject Headings.&#xA;&#x9;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>LC &amp; Flickr Commons</title>
				<link>https://thisismattmiller.com/post/lc-flickr-commons/</link>
				<pubDate>Fri, 03 Oct 2025 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/lc-flickr-commons/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;  &#x9;summary{&#xA;&#x9;    display: list-item !important;&#xA;&#x9;    counter-increment: list-item 0;&#xA;&#x9;    list-style: inside disclosure-closed;  &#x9;&#x9;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;&#x9;&#x9;&#x9;&#x9;line-height: 1.75em;&#xA;&#xA;  &#x9;}&#xA;&#xA;&#xA;&#x9;#app-subject-components ul {&#xA;&#x9;  columns: 3;&#xA;&#x9;  -webkit-columns: 3;&#xA;&#x9;  -moz-columns: 3;&#xA;&#x9;}&#x9;&#x9;&#xA;&#x9;#app-subject-complex ul {&#xA;&#x9;  columns: 2;&#xA;&#x9;  -webkit-columns: 2;&#xA;&#x9;  -moz-columns: 2;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;    .state-subjects{&#xA;    &#x9;margin-bottom: 3em;&#xA;    }&#xA;&#xA;&#xA;&#x9;tr{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;tr:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#x9;li{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;li:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;.lcsh-list{&#xA;&#x9;column-count: 4; font-size: 0.9em;&#xA;&#x9;margin-bottom: 3em;&#xA;}&#xA;.lcsh-list li{&#xA;&#x9;margin-bottom: 0.1em;&#xA;}&#xA;li{&#xA;&#x9;margin-bottom: 1em;&#xA;&#x9;font-size: 1em;&#xA;&#xA;}&#xA;ol, ul{&#xA;&#x9;padding-left: 2em;&#xA;&#x9;font-size: 1.1em;&#xA;}&#xA;&#xA;.iframe-container {&#xA;&#x9;position: relative;&#xA;&#x9;width: 100%;&#xA;&#x9;height: 800px;&#xA;&#x9;overflow: hidden;&#xA;&#x9;border-top: dashed 2px black;&#xA;&#x9;border-bottom: dashed 2px black;&#xA;&#x9;margin-bottom: 3em;&#xA;&#xA;}&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34; style=&#34;margin-bottom:3em&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Library of Congress &amp; Flickr Commons&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Analysis of user interactions on 40,000 images&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Oct 6 2025&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:right;&#34;&gt;&#xA;&#x9;    &#x9;&lt;img style=&#34;width: 85%;&#34; class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/lc-flicker-comment-blog.png&#34; title=&#34;A drawing of the top of the Jefferson Building of the Library of Congress with the FLICKr logo mirrored below it.&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#x9;&#x9;&#x9;&#x9;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;h2 id=&#34;Intro&#34; class=&#34;is-size-4&#34; style=&#34;margin-top: 3em; margin-bottom: 0.5em;&#34;&gt;Intro&lt;/h2&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;Flickr Commons is a program to bring the visual collections of cultural heritage organizations to new audiences. Getting these resources in front of people where they are online as opposed to being siloed in their own website or not online at all. It was a pretty ground breaking project, the Library of Congress was the first participant with &lt;a href=&#34;https://flickr.com/photos/library_of_congress&#34; target=&#34;_blank&#34;&gt;over 40,000 photos&lt;/a&gt; now on Flickr. The program continues today under the &lt;a href=&#34;https://www.flickr.org/&#34; target=&#34;_blank&#34;&gt;Flickr Foundation&lt;/a&gt;. Starting in 2008 there is a lot of information about the project, &lt;a href=&#34;https://www.loc.gov/item/2021687931/&#34; target=&#34;_blank&#34;&gt;this webcast&lt;/a&gt;, &lt;a href=&#34;https://tile.loc.gov/storage-services/master/pnp/ppbd/11500/11581.pdf&#34; target=&#34;_blank&#34;&gt;a project report&lt;/a&gt;, and &lt;a href=&#34;https://guides.loc.gov/ld.php?content_id=78324103&#34; target=&#34;_blank&#34;&gt;a 2024 impact report&lt;/a&gt;. While the project predates my time at the library by a decade and I have nothing to do with these collections with my job at LC I was really compelled by having potentially 17 years of data about interactions between the public and these materials. This post is going to analyze and visualize that data.&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Building datasets from video collections using local &amp; cloud LLMs</title>
				<link>https://thisismattmiller.com/post/building-datasets-from-video-collections-using-local-cloud-llms/</link>
				<pubDate>Tue, 29 Jul 2025 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/building-datasets-from-video-collections-using-local-cloud-llms/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;  &#x9;summary{&#xA;&#x9;    display: list-item !important;&#xA;&#x9;    counter-increment: list-item 0;&#xA;&#x9;    list-style: inside disclosure-closed;  &#x9;&#x9;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#xA;&#xA;&#x9;#app-subject-components ul {&#xA;&#x9;  columns: 3;&#xA;&#x9;  -webkit-columns: 3;&#xA;&#x9;  -moz-columns: 3;&#xA;&#x9;}&#x9;&#x9;&#xA;&#x9;#app-subject-complex ul {&#xA;&#x9;  columns: 2;&#xA;&#x9;  -webkit-columns: 2;&#xA;&#x9;  -moz-columns: 2;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;    .state-subjects{&#xA;    &#x9;margin-bottom: 3em;&#xA;    }&#xA;&#xA;&#xA;&#x9;tr{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;tr:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#x9;li{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;li:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;li{&#xA;&#x9;margin-bottom: 1em;&#xA;&#x9;font-size: 1em;&#xA;&#xA;}&#xA;ol, ul{&#xA;&#x9;padding-left: 2em;&#xA;&#x9;font-size: 1.1em;&#xA;}&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34; style=&#34;margin-bottom:3em&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Building datasets from video collections using local &amp; cloud LLMs&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Using Qwen2.5-VL, Gemini 2.5 and Whisper to build a Siskel and Ebert dataset&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Jul 30 2025&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:right;&#34;&gt;&#xA;&#x9;      &#x9;&#x9;      &#x9;&#x9;&lt;img style=&#34;width: 50%;&#34; class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/s_and_e.png&#34; title=&#34;.&#34;/&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;h2 id=&#34;Intro&#34; class=&#34;is-size-4&#34; style=&#34;margin-top: 3em; margin-bottom: 0.5em;&#34;&gt;Intro&lt;/h2&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;I continue to experiment with LLM models finding very narrow tasks in my domain of cultural heritage  where they could be useful and appropriate. I’m not going to go into it in this post but I find most pro-“AI” claims, discourse, and use cases to be completely overhyped and seem to originate from dishonest intentions. Yet for some tasks they are potentially useful, I say potentially because whether they should be used at all is another parallel question. I’m trying to understand if they are truly useful and for what specific tasks.&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Glitch</title>
				<link>https://thisismattmiller.com/post/glitch/</link>
				<pubDate>Wed, 23 Jul 2025 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/glitch/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;  &#x9;summary{&#xA;&#x9;    display: list-item !important;&#xA;&#x9;    counter-increment: list-item 0;&#xA;&#x9;    list-style: inside disclosure-closed;  &#x9;&#x9;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#xA;&#xA;&#x9;#app-subject-components ul {&#xA;&#x9;  columns: 3;&#xA;&#x9;  -webkit-columns: 3;&#xA;&#x9;  -moz-columns: 3;&#xA;&#x9;}&#x9;&#x9;&#xA;&#x9;#app-subject-complex ul {&#xA;&#x9;  columns: 2;&#xA;&#x9;  -webkit-columns: 2;&#xA;&#x9;  -moz-columns: 2;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;    .state-subjects{&#xA;    &#x9;margin-bottom: 3em;&#xA;    }&#xA;&#xA;&#xA;&#x9;tr{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;tr:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#x9;li{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;li:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;ul li{&#xA;&#x9;margin-bottom: 1em;&#xA;&#x9;font-size: 1.2em;&#xA;&#xA;}&#xA;ol{&#xA;&#x9;padding-left: 2em;&#xA;&#x9;font-size: 1.2em;&#xA;}&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34; style=&#34;margin-bottom:3em&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Glitch&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Migration and Maintenance&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Jul 23 2025&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:right;&#34;&gt;&#xA;&#x9;      &#x9;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/glitch.png&#34; title=&#34;CARP ON A FLAG POLE.&#34;/&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;h2 id=&#34;Intro&#34; class=&#34;is-size-4&#34; style=&#34;margin-top: 3em; margin-bottom: 0.5em;&#34;&gt;Intro&lt;/h2&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;This month Glitch.com shut down, ending hosting for the projects there. They gave folks about a month to migrate their projects off the site. This also included paying customers, like me, who had the pro plan which cost $99 a year. A month is not a very long time at all, especially for paying customers, but that’s just like my opinion. The bottom line is they cut the power, so all of my projects there are gone, so after being salty about it I spent time this weekend doing the worst, most boring thing, maintenance on my personal hobby projects…&#xA;&#x9;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hathi PD 2025</title>
				<link>https://thisismattmiller.com/post/hathi-pd-2025/</link>
				<pubDate>Wed, 05 Feb 2025 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/hathi-pd-2025/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;  &#x9;summary{&#xA;&#x9;    display: list-item !important;&#xA;&#x9;    counter-increment: list-item 0;&#xA;&#x9;    list-style: inside disclosure-closed;  &#x9;&#x9;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#xA;&#xA;&#x9;#app-subject-components ul {&#xA;&#x9;  columns: 3;&#xA;&#x9;  -webkit-columns: 3;&#xA;&#x9;  -moz-columns: 3;&#xA;&#x9;}&#x9;&#x9;&#xA;&#x9;#app-subject-complex ul {&#xA;&#x9;  columns: 2;&#xA;&#x9;  -webkit-columns: 2;&#xA;&#x9;  -moz-columns: 2;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;    .state-subjects{&#xA;    &#x9;margin-bottom: 3em;&#xA;    }&#xA;&#xA;&#xA;&#x9;tr{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;tr:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#x9;li{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;li:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34; style=&#34;margin-bottom:3em&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;HathiTrust 1929 Pubic Domain&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Data and tools to explore 50,000 1929/2025 public domain titles in HathiTrust&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Feb 5 2025&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:right;&#34;&gt;&#xA;&#x9;      &#x9;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/1929.png&#34; title=&#34;A drawing of 1929 new years glasses where the 2 and 9 are the lens.&#34;/&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;h2 id=&#34;Intro&#34; class=&#34;is-size-4&#34; style=&#34;margin-top: 3em; margin-bottom: 0.5em;&#34;&gt;Intro&lt;/h2&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;p&gt;Towards the end of the year HathiTrust quietly &lt;a href=&#34;https://babel.hathitrust.org/cgi/mb?colltype=featured&#34;&gt;posts a collection&lt;/a&gt; of their resources that are set to enter the public domain in the new year. This is such a great resource and for the past few years I’ve done some visualistions or lists for &lt;a href=&#34;https://thisismattmiller.github.io/1925-hathi/&#34;&gt;1925&lt;/a&gt;, &lt;a href=&#34;https://thisismattmiller.github.io/hathi-pd-2022/&#34;&gt;1926&lt;/a&gt;, &lt;a href=&#34;https://thisismattmiller.github.io/hathi-pd-2023/&#34;&gt;1927&lt;/a&gt; and &lt;a href=&#34;https://thisismattmiller.github.io/hathi-pd-2024/&#34;&gt;1928&lt;/a&gt;. This year, for 1929 I spent some more time enriching the dataset and building three interfaces to explore the data than in the past. This post will walk through the three tools I developed and talk a little about the enrichment going on.&lt;/p&gt;</description>
			</item>
			<item>
				<title>WoodBlockShop</title>
				<link>https://thisismattmiller.com/post/woodblockshop/</link>
				<pubDate>Mon, 16 Dec 2024 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/woodblockshop/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;  &#x9;summary{&#xA;&#x9;    display: list-item !important;&#xA;&#x9;    counter-increment: list-item 0;&#xA;&#x9;    list-style: inside disclosure-closed;  &#x9;&#x9;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#xA;&#xA;&#x9;#app-subject-components ul {&#xA;&#x9;  columns: 3;&#xA;&#x9;  -webkit-columns: 3;&#xA;&#x9;  -moz-columns: 3;&#xA;&#x9;}&#x9;&#x9;&#xA;&#x9;#app-subject-complex ul {&#xA;&#x9;  columns: 2;&#xA;&#x9;  -webkit-columns: 2;&#xA;&#x9;  -moz-columns: 2;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;    .state-subjects{&#xA;    &#x9;margin-bottom: 3em;&#xA;    }&#xA;&#xA;&#xA;&#x9;tr{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;tr:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#x9;li{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;li:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34; style=&#34;margin-bottom:3em&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;WoodBlockShop&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Using Segment Anything, LLaVA and other methods on a 14K image corpus&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Dec 16 2024&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:right;&#34;&gt;&#xA;&#x9;      &#x9;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/woodblockshop.jpg&#34; title=&#34;A mashup woodcut from http://woodblock-shop.thisismattmiller.com/ tool of a human face floating over a grid of lines.&#34;/&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;p&gt;I came across people sharing the &lt;a href=&#34;https://museumplantinmoretus.be/en/impressedbyplantin&#34;&gt;Plantin-Moretus Museum collection site&lt;/a&gt; and I really liked it. The 14,000 woodcuts are obviously all very different but the monochromatic cohesion of the collection ties it together. I thought it would be a great collection to try some of the various image based machine learning techniques I’ve seen recently. Specifically I wanted to try the Meta Segment Anything 2 model on it thinking it would be very cool to break down some of the very dense but simple prints into component pieces to do something fun with. &lt;/p&gt;</description>
			</item>
			<item>
				<title>Banned Metadata</title>
				<link>https://thisismattmiller.com/post/banned-metadata/</link>
				<pubDate>Fri, 27 Sep 2024 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/banned-metadata/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;  &#x9;summary{&#xA;&#x9;    display: list-item !important;&#xA;&#x9;    counter-increment: list-item 0;&#xA;&#x9;    list-style: inside disclosure-closed;  &#x9;&#x9;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#xA;&#xA;&#x9;#app-subject-components ul {&#xA;&#x9;  columns: 3;&#xA;&#x9;  -webkit-columns: 3;&#xA;&#x9;  -moz-columns: 3;&#xA;&#x9;}&#x9;&#x9;&#xA;&#x9;#app-subject-complex ul {&#xA;&#x9;  columns: 2;&#xA;&#x9;  -webkit-columns: 2;&#xA;&#x9;  -moz-columns: 2;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;    .state-subjects{&#xA;    &#x9;margin-bottom: 3em;&#xA;    }&#xA;&#xA;&#xA;&#x9;tr{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;tr:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#x9;li{&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;transition-duration: 0.5s;&#xA;&#x9;}&#xA;&#x9;li:hover{&#xA;&#x9;&#x9;background-color: aliceblue;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34; style=&#34;margin-bottom:3em&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Banned Metadata&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Analysis of PEN America 2022-2023 Banned and Challenged Book Metadata&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Sep 27 2024&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/free_stamp.png&#34; title=&#34;A drawing of Free Stamp sculpture by Claes Oldenburg and Coosje van Bruggen&#34; alt=&#34;A drawing of Free Stamp sculpture by Claes Oldenburg and Coosje van Bruggen&#34;/&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;h3 class=&#34;is-size-5&#34; style=&#34;font-weight: bold;&#34;&gt;Intro&lt;/h3&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;I&#39;m writing this at the end of &lt;a href=&#34;https://bannedbooksweek.org/&#34;&gt;Banned Book week 2024&lt;/a&gt;, which in recent years has become much more poignant as there are literally books being banned in the US. PEN America released info that for 2023-2024 there is over &lt;a href=&#34;https://pen.org/wp-content/uploads/2024/09/Memo-on-School-Book-Bans-from-PEN-America-2024%E2%80%9409-20-24.pdf&#34;&gt;10,000 instances of books being challenged or banned&lt;/a&gt;. They haven’t released the data or details for this year, but they did create a spreadsheet of books that were challenged or banned last year, July 2022 - June 2023:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Lomax Whisper</title>
				<link>https://thisismattmiller.com/post/lomax-whisper/</link>
				<pubDate>Thu, 12 Sep 2024 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/lomax-whisper/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#x9;&#x9;&#x9;p {&#xA;&#x9;&#x9;&#x9;    font-size: 1.25em;&#xA;&#x9;&#x9;&#x9;    margin-bottom: 2em;&#xA;&#x9;&#x9;&#x9;}  &#xA;&#x9;&#xA; &#x9;&#xA;&#xA;  &lt;/style&gt;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;  &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Lomax &amp;amp; Whisper.cpp&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Automatic transcription of Alan Lomax’s 1938 Midwest Folk Song Collection using Whisper.cpp&lt;/h2&gt;&#xA;&#x9;      &#x9;&#x9;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Sep 12 2024&lt;/h2&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:center;&#34;&gt;&#xA;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/post_lomax_presto.png&#34; title=&#34;A drawing of a portable 12 inch Presto record cutter&#34; alt=&#34;A drawing of a portable 12 inch Presto record cutter&#34;/&gt;&#xA;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#x9;&lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;ol style=&#34;padding-left: 1em; font-size: 1.25em;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#sound-to-data&#34;&gt;Sound to Data&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#whisper&#34;&gt;Whisper(.cpp)&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#lomax&#34;&gt;Alan Lomax Collection of Michigan and Wisconsin Recordings&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#shape&#34;&gt;The Shape of Sound&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#many-models&#34;&gt;Many Models - Least Bad?&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#web-component&#34;&gt;Web Component Player&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#llm&#34;&gt;LLM Enrichment&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#search&#34;&gt;Search Interface&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#mutable&#34;&gt;Mutable Metadata&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#dying&#34;&gt;Now I&#39;m going to sing a song like you&#39;re dying&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#code&#34;&gt;Code Links&lt;/a&gt;&lt;/li&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;/ol&gt;&#xA;&#x9;&#x9;&#x9;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;h2 id=&#34;sound-to-data&#34; class=&#34;is-size-4&#34; style=&#34;margin-top: 3em; margin-bottom: 0.5em;&#34;&gt;Sound to Data&lt;/h2&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;This post reviews a small project applying the Whisper speech-to-text model on an early 20th century folk song collection. But before we talk about people singing please indulge me and let’s talk about birds singing. I often use the Cornell Lab of Ornithology’s &lt;a href=&#34;https://merlin.allaboutbirds.org/&#34;&gt;Merlin app&lt;/a&gt; to help identify while birding. It has a pretty good model to detect bird calls and identify what you are likely hearing. I use it all the time, and often at the &lt;a href=&#34;https://www.nps.gov/grfa/index.htm&#34;&gt;Great Falls park&lt;/a&gt; (Maryland side) which is a great spot during migration and &lt;a href=&#34;https://rosemarymosco.com/comics/bird-and-moon/four-seasons-of-bird-watching&#34;&gt;winter&lt;/a&gt;. Once while using the app there it kept alerting that it was hearing a Solitary sandpiper, not a rare bird or anything, but I had never ever seen one in the many years of birding there. Using this app you kind of build up a dialog of believing or not believing it, you maybe have it on in your pocket and it will think it heard something extraordinary but you are just like “sure ebird” and it was something completely ordinary.  In this case though it was correct, and around the corner was Solitary sandpiper just plopped on a log. With these tools you oscillate between being extremely impressed and completely dismissive. Had I not eventually seen the sandpiper myself I would have thought it was a potentially expected hallucination by the app. Moving into the more complex domain of speech to text we have to think about things similarly. When does the tool move from being an aid in navigating reality into a malfunction which actually makes navigating reality more challenging? For me this is the key tipping point to keep in mind as we go through the application of this tool.&lt;/p&gt;</description>
			</item>
			<item>
				<title>LCNAF Anagrams</title>
				<link>https://thisismattmiller.com/post/lcnaf-anagrams/</link>
				<pubDate>Mon, 01 Apr 2024 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/lcnaf-anagrams/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.5em;&#xA;  &#x9;&#x9;margin-bottom: 1.1em;&#xA;  &#x9;}&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA;&#xA;  &lt;/style&gt;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;LCNAF Anagrams&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Apr 1 2024&lt;/h2&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&#xA;&#xA;&#x9;&#x9;&lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#x9;&lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;&lt;a href=&#34;https://id.loc.gov/authorities/names.html&#34;&gt;LCNAF (Library of Congress Authority File)&lt;/a&gt; has over eleven million names of things ranging from people to geographic locations. I look at this data all the time, and it must have rotted my brain because I started thinking how there were probably a lot of names that if rearranged would spell other names in the file. Turns out there are—in just the personal and corporate categories alone there are over 4000 sets of 5 or more names that all use the same letters to spell themselves. So I pulled those out and made this. Click the button to see another, click the name to view its NAF record. &lt;a href=&#34;https://github.com/thisismattmiller/lcnaf-anagrams&#34;&gt;Source code/data&lt;/a&gt;. &lt;a href=&#34;https://thisismattmiller.github.io/lcnaf-anagrams/&#34;&gt;View in its own window.&lt;/a&gt;&#xA;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Migrating Your Docker Wikibase</title>
				<link>https://thisismattmiller.com/post/migrating-your-docker-wikibase/</link>
				<pubDate>Wed, 20 Mar 2024 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/migrating-your-docker-wikibase/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.5em;&#xA;  &#x9;&#x9;margin-bottom: 1.1em;&#xA;  &#x9;}&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA;&#xA;  &lt;/style&gt;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Migrating Your Docker Wikibase&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Mar 20 2024&lt;/h2&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&#xA;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/ship_bottle.png&#34; alt=&#34;A boat in a bottle&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#x9;&lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;&#x9;At &lt;a href=&#34;https://semlab.io/&#34;&gt;Semantic Lab @ Pratt&lt;/a&gt; we were early-ish adopters of the &lt;a href=&#34;https://github.com/wmde/wikibase-docker&#34;&gt;Wikibase Docker distrubtuion&lt;/a&gt; (now deprecated and archived, replaced with the &lt;a href=&#34;https://github.com/wmde/wikibase-release-pipeline&#34;&gt;wikibase-release-pipeline&lt;/a&gt;). It was nice to have a system that was ready to deploy with minimal configuration, we used version 1.31 for many years and it worked fairly well. Like all system maintenance eventually you need to upgrade servers and I needed to now move our Wikibase to a new server and upgrade to use version 1.39 in the process. I found it was sort of a challenging experience, so this post outlines the process. If you use the Docker version of Wikibase and need to migrate to a new server, this guide will show you step-by-step how to do that.&#xA;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Using GPT on Library Collections</title>
				<link>https://thisismattmiller.com/post/using-gpt-on-library-collections/</link>
				<pubDate>Thu, 30 Mar 2023 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/using-gpt-on-library-collections/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;&#xA;    .name-li{&#xA;    &#x9;cursor: pointer;&#xA;    &#x9;font-size: 1.25em;&#xA;    }&#xA;&#xA;    .name-li:hover{&#xA;    &#x9;background-color: #f4a9a8;&#xA;    &#x9;font-size: 2em;&#xA;    }&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;  &lt;style&gt;&#xA;&#x9;/*! * * * * * * * * * * * * * * * * * * * *\  &#xA;&#x9;  CSShake :: Package&#xA;&#x9;  v1.5.0&#xA;&#x9;  CSS classes to move your DOM&#xA;&#x9;  (c) 2015 @elrumordelaluz&#xA;&#x9;  http://elrumordelaluz.github.io/csshake/&#xA;&#x9;  Licensed under MIT&#xA;&#x9;\* * * * * * * * * * * * * * * * * * * * */&#xA;&#x9;.shake,.shake-little,.shake-slow,.shake-hard,.shake-horizontal,.shake-vertical,.shake-rotate,.shake-opacity,.shake-crazy,.shake-chunk{display:inherit;transform-origin:center center}.shake-freeze,.shake-constant.shake-constant--hover:hover,.shake-trigger:hover .shake-constant.shake-constant--hover{animation-play-state:paused}.shake-freeze:hover,.shake-trigger:hover .shake-freeze,.shake:hover,.shake-trigger:hover .shake,.shake-little:hover,.shake-trigger:hover .shake-little,.shake-slow:hover,.shake-trigger:hover .shake-slow,.shake-hard:hover,.shake-trigger:hover .shake-hard,.shake-horizontal:hover,.shake-trigger:hover .shake-horizontal,.shake-vertical:hover,.shake-trigger:hover .shake-vertical,.shake-rotate:hover,.shake-trigger:hover .shake-rotate,.shake-opacity:hover,.shake-trigger:hover .shake-opacity,.shake-crazy:hover,.shake-trigger:hover .shake-crazy,.shake-chunk:hover,.shake-trigger:hover .shake-chunk{animation-play-state:running}@keyframes shake{2%{transform:translate(1.5px, 1.5px) rotate(1.5deg)}4%{transform:translate(.5px, -.5px) rotate(.5deg)}6%{transform:translate(1.5px, 2.5px) rotate(1.5deg)}8%{transform:translate(.5px, 2.5px) rotate(.5deg)}10%{transform:translate(2.5px, 1.5px) rotate(.5deg)}12%{transform:translate(-.5px, -1.5px) rotate(-.5deg)}14%{transform:translate(1.5px, 2.5px) rotate(-.5deg)}16%{transform:translate(2.5px, -1.5px) rotate(1.5deg)}18%{transform:translate(2.5px, 2.5px) rotate(-.5deg)}20%{transform:translate(-.5px, -1.5px) rotate(1.5deg)}22%{transform:translate(-1.5px, -.5px) rotate(.5deg)}24%{transform:translate(2.5px, -1.5px) rotate(1.5deg)}26%{transform:translate(.5px, 2.5px) rotate(1.5deg)}28%{transform:translate(-.5px, 2.5px) rotate(-.5deg)}30%{transform:translate(.5px, 2.5px) rotate(1.5deg)}32%{transform:translate(-1.5px, -.5px) rotate(-.5deg)}34%{transform:translate(.5px, -.5px) rotate(.5deg)}36%{transform:translate(-1.5px, .5px) rotate(1.5deg)}38%{transform:translate(-1.5px, 1.5px) rotate(1.5deg)}40%{transform:translate(2.5px, .5px) rotate(.5deg)}42%{transform:translate(.5px, .5px) rotate(1.5deg)}44%{transform:translate(-.5px, .5px) rotate(.5deg)}46%{transform:translate(2.5px, 1.5px) rotate(1.5deg)}48%{transform:translate(2.5px, 1.5px) rotate(-.5deg)}50%{transform:translate(-1.5px, 2.5px) rotate(-.5deg)}52%{transform:translate(.5px, -1.5px) rotate(1.5deg)}54%{transform:translate(.5px, -1.5px) rotate(.5deg)}56%{transform:translate(1.5px, -1.5px) rotate(-.5deg)}58%{transform:translate(1.5px, .5px) rotate(.5deg)}60%{transform:translate(-.5px, .5px) rotate(.5deg)}62%{transform:translate(.5px, .5px) rotate(-.5deg)}64%{transform:translate(-1.5px, -.5px) rotate(1.5deg)}66%{transform:translate(-1.5px, 2.5px) rotate(-.5deg)}68%{transform:translate(-1.5px, 1.5px) rotate(.5deg)}70%{transform:translate(.5px, 1.5px) rotate(.5deg)}72%{transform:translate(-1.5px, 2.5px) rotate(.5deg)}74%{transform:translate(2.5px, .5px) rotate(-.5deg)}76%{transform:translate(.5px, -1.5px) rotate(1.5deg)}78%{transform:translate(.5px, 1.5px) rotate(.5deg)}80%{transform:translate(-.5px, -.5px) rotate(.5deg)}82%{transform:translate(1.5px, 1.5px) rotate(1.5deg)}84%{transform:translate(.5px, .5px) rotate(.5deg)}86%{transform:translate(-.5px, .5px) rotate(1.5deg)}88%{transform:translate(1.5px, .5px) rotate(1.5deg)}90%{transform:translate(-.5px, 2.5px) rotate(-.5deg)}92%{transform:translate(-1.5px, -1.5px) rotate(1.5deg)}94%{transform:translate(-1.5px, 2.5px) rotate(1.5deg)}96%{transform:translate(-1.5px, -1.5px) rotate(1.5deg)}98%{transform:translate(1.5px, -1.5px) rotate(1.5deg)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake:hover,.shake-trigger:hover .shake,.shake.shake-freeze,.shake.shake-constant{animation-name:shake;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-little{2%{transform:translate(1px, 1px) rotate(.5deg)}4%{transform:translate(0px, 1px) rotate(.5deg)}6%{transform:translate(0px, 0px) rotate(.5deg)}8%{transform:translate(0px, 1px) rotate(.5deg)}10%{transform:translate(0px, 1px) rotate(.5deg)}12%{transform:translate(1px, 0px) rotate(.5deg)}14%{transform:translate(0px, 0px) rotate(.5deg)}16%{transform:translate(0px, 1px) rotate(.5deg)}18%{transform:translate(1px, 0px) rotate(.5deg)}20%{transform:translate(0px, 1px) rotate(.5deg)}22%{transform:translate(1px, 1px) rotate(.5deg)}24%{transform:translate(1px, 0px) rotate(.5deg)}26%{transform:translate(0px, 1px) rotate(.5deg)}28%{transform:translate(1px, 1px) rotate(.5deg)}30%{transform:translate(0px, 1px) rotate(.5deg)}32%{transform:translate(1px, 1px) rotate(.5deg)}34%{transform:translate(1px, 0px) rotate(.5deg)}36%{transform:translate(0px, 1px) rotate(.5deg)}38%{transform:translate(0px, 1px) rotate(.5deg)}40%{transform:translate(0px, 0px) rotate(.5deg)}42%{transform:translate(0px, 1px) rotate(.5deg)}44%{transform:translate(1px, 0px) rotate(.5deg)}46%{transform:translate(0px, 0px) rotate(.5deg)}48%{transform:translate(1px, 0px) rotate(.5deg)}50%{transform:translate(1px, 0px) rotate(.5deg)}52%{transform:translate(0px, 0px) rotate(.5deg)}54%{transform:translate(1px, 0px) rotate(.5deg)}56%{transform:translate(0px, 1px) rotate(.5deg)}58%{transform:translate(1px, 1px) rotate(.5deg)}60%{transform:translate(0px, 1px) rotate(.5deg)}62%{transform:translate(0px, 0px) rotate(.5deg)}64%{transform:translate(1px, 1px) rotate(.5deg)}66%{transform:translate(0px, 0px) rotate(.5deg)}68%{transform:translate(1px, 0px) rotate(.5deg)}70%{transform:translate(1px, 0px) rotate(.5deg)}72%{transform:translate(1px, 0px) rotate(.5deg)}74%{transform:translate(0px, 0px) rotate(.5deg)}76%{transform:translate(0px, 0px) rotate(.5deg)}78%{transform:translate(0px, 1px) rotate(.5deg)}80%{transform:translate(0px, 1px) rotate(.5deg)}82%{transform:translate(1px, 0px) rotate(.5deg)}84%{transform:translate(1px, 0px) rotate(.5deg)}86%{transform:translate(1px, 0px) rotate(.5deg)}88%{transform:translate(0px, 0px) rotate(.5deg)}90%{transform:translate(0px, 1px) rotate(.5deg)}92%{transform:translate(1px, 1px) rotate(.5deg)}94%{transform:translate(1px, 0px) rotate(.5deg)}96%{transform:translate(1px, 0px) rotate(.5deg)}98%{transform:translate(1px, 0px) rotate(.5deg)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-little:hover,.shake-trigger:hover .shake-little,.shake-little.shake-freeze,.shake-little.shake-constant{animation-name:shake-little;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-slow{2%{transform:translate(6px, -6px) rotate(2.5deg)}4%{transform:translate(-5px, 1px) rotate(1.5deg)}6%{transform:translate(7px, -3px) rotate(-2.5deg)}8%{transform:translate(-7px, -5px) rotate(2.5deg)}10%{transform:translate(-3px, 2px) rotate(-1.5deg)}12%{transform:translate(3px, 6px) rotate(3.5deg)}14%{transform:translate(-7px, 2px) rotate(-1.5deg)}16%{transform:translate(-6px, 6px) rotate(-2.5deg)}18%{transform:translate(6px, 0px) rotate(1.5deg)}20%{transform:translate(9px, 9px) rotate(2.5deg)}22%{transform:translate(7px, -9px) rotate(2.5deg)}24%{transform:translate(2px, 1px) rotate(.5deg)}26%{transform:translate(10px, 4px) rotate(-.5deg)}28%{transform:translate(-9px, 3px) rotate(3.5deg)}30%{transform:translate(10px, 5px) rotate(1.5deg)}32%{transform:translate(6px, 8px) rotate(-2.5deg)}34%{transform:translate(9px, 9px) rotate(3.5deg)}36%{transform:translate(-5px, 0px) rotate(-.5deg)}38%{transform:translate(-2px, -2px) rotate(.5deg)}40%{transform:translate(-3px, 8px) rotate(2.5deg)}42%{transform:translate(-7px, 8px) rotate(3.5deg)}44%{transform:translate(6px, -6px) rotate(.5deg)}46%{transform:translate(1px, -2px) rotate(3.5deg)}48%{transform:translate(-5px, 7px) rotate(-2.5deg)}50%{transform:translate(-8px, 1px) rotate(2.5deg)}52%{transform:translate(-9px, -2px) rotate(1.5deg)}54%{transform:translate(4px, -9px) rotate(3.5deg)}56%{transform:translate(-6px, -1px) rotate(.5deg)}58%{transform:translate(-3px, -6px) rotate(-.5deg)}60%{transform:translate(8px, 4px) rotate(-.5deg)}62%{transform:translate(0px, -9px) rotate(.5deg)}64%{transform:translate(9px, -2px) rotate(3.5deg)}66%{transform:translate(-7px, 10px) rotate(3.5deg)}68%{transform:translate(-7px, -9px) rotate(-1.5deg)}70%{transform:translate(9px, -2px) rotate(-2.5deg)}72%{transform:translate(-4px, 0px) rotate(2.5deg)}74%{transform:translate(1px, -2px) rotate(-1.5deg)}76%{transform:translate(-8px, -5px) rotate(2.5deg)}78%{transform:translate(-9px, 2px) rotate(1.5deg)}80%{transform:translate(-4px, 1px) rotate(-1.5deg)}82%{transform:translate(-6px, 10px) rotate(2.5deg)}84%{transform:translate(6px, -3px) rotate(-.5deg)}86%{transform:translate(-1px, -2px) rotate(1.5deg)}88%{transform:translate(1px, 9px) rotate(1.5deg)}90%{transform:translate(3px, 9px) rotate(-.5deg)}92%{transform:translate(-3px, -1px) rotate(.5deg)}94%{transform:translate(-7px, 4px) rotate(1.5deg)}96%{transform:translate(6px, 1px) rotate(.5deg)}98%{transform:translate(-8px, 2px) rotate(-.5deg)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-slow:hover,.shake-trigger:hover .shake-slow,.shake-slow.shake-freeze,.shake-slow.shake-constant{animation-name:shake-slow;animation-duration:5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-hard{2%{transform:translate(-3px, 3px) rotate(-2.5deg)}4%{transform:translate(-3px, -2px) rotate(-1.5deg)}6%{transform:translate(-9px, 4px) rotate(-1.5deg)}8%{transform:translate(9px, 8px) rotate(2.5deg)}10%{transform:translate(2px, 7px) rotate(.5deg)}12%{transform:translate(3px, -5px) rotate(.5deg)}14%{transform:translate(5px, 8px) rotate(1.5deg)}16%{transform:translate(8px, -2px) rotate(-2.5deg)}18%{transform:translate(-2px, 1px) rotate(-.5deg)}20%{transform:translate(-4px, 10px) rotate(-.5deg)}22%{transform:translate(7px, 2px) rotate(2.5deg)}24%{transform:translate(8px, 0px) rotate(3.5deg)}26%{transform:translate(-7px, -8px) rotate(3.5deg)}28%{transform:translate(-5px, 10px) rotate(1.5deg)}30%{transform:translate(1px, 2px) rotate(-.5deg)}32%{transform:translate(4px, 4px) rotate(-1.5deg)}34%{transform:translate(8px, -3px) rotate(-1.5deg)}36%{transform:translate(8px, 9px) rotate(-2.5deg)}38%{transform:translate(-4px, 10px) rotate(2.5deg)}40%{transform:translate(5px, 2px) rotate(.5deg)}42%{transform:translate(2px, 7px) rotate(2.5deg)}44%{transform:translate(7px, 5px) rotate(.5deg)}46%{transform:translate(-5px, 0px) rotate(3.5deg)}48%{transform:translate(-2px, -7px) rotate(-.5deg)}50%{transform:translate(-1px, -5px) rotate(.5deg)}52%{transform:translate(-4px, 8px) rotate(-.5deg)}54%{transform:translate(8px, -3px) rotate(3.5deg)}56%{transform:translate(-1px, -8px) rotate(2.5deg)}58%{transform:translate(6px, 6px) rotate(3.5deg)}60%{transform:translate(0px, 4px) rotate(-.5deg)}62%{transform:translate(2px, -7px) rotate(.5deg)}64%{transform:translate(0px, 6px) rotate(2.5deg)}66%{transform:translate(5px, 0px) rotate(-.5deg)}68%{transform:translate(0px, 3px) rotate(3.5deg)}70%{transform:translate(7px, -5px) rotate(-1.5deg)}72%{transform:translate(6px, -7px) rotate(3.5deg)}74%{transform:translate(1px, -5px) rotate(-2.5deg)}76%{transform:translate(-7px, 2px) rotate(-.5deg)}78%{transform:translate(-8px, 1px) rotate(1.5deg)}80%{transform:translate(1px, 5px) rotate(1.5deg)}82%{transform:translate(-4px, -5px) rotate(-1.5deg)}84%{transform:translate(3px, -2px) rotate(3.5deg)}86%{transform:translate(-6px, -5px) rotate(1.5deg)}88%{transform:translate(-7px, -1px) rotate(-2.5deg)}90%{transform:translate(10px, 2px) rotate(-2.5deg)}92%{transform:translate(10px, -3px) rotate(1.5deg)}94%{transform:translate(4px, -6px) rotate(3.5deg)}96%{transform:translate(9px, 7px) rotate(-1.5deg)}98%{transform:translate(2px, 1px) rotate(-.5deg)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-hard:hover,.shake-trigger:hover .shake-hard,.shake-hard.shake-freeze,.shake-hard.shake-constant{animation-name:shake-hard;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-horizontal{2%{transform:translate(3px, 0) rotate(0)}4%{transform:translate(1px, 0) rotate(0)}6%{transform:translate(4px, 0) rotate(0)}8%{transform:translate(-2px, 0) rotate(0)}10%{transform:translate(9px, 0) rotate(0)}12%{transform:translate(0px, 0) rotate(0)}14%{transform:translate(-8px, 0) rotate(0)}16%{transform:translate(-7px, 0) rotate(0)}18%{transform:translate(1px, 0) rotate(0)}20%{transform:translate(-5px, 0) rotate(0)}22%{transform:translate(-2px, 0) rotate(0)}24%{transform:translate(-5px, 0) rotate(0)}26%{transform:translate(-1px, 0) rotate(0)}28%{transform:translate(3px, 0) rotate(0)}30%{transform:translate(-7px, 0) rotate(0)}32%{transform:translate(-8px, 0) rotate(0)}34%{transform:translate(4px, 0) rotate(0)}36%{transform:translate(8px, 0) rotate(0)}38%{transform:translate(-5px, 0) rotate(0)}40%{transform:translate(-6px, 0) rotate(0)}42%{transform:translate(7px, 0) rotate(0)}44%{transform:translate(1px, 0) rotate(0)}46%{transform:translate(3px, 0) rotate(0)}48%{transform:translate(10px, 0) rotate(0)}50%{transform:translate(1px, 0) rotate(0)}52%{transform:translate(3px, 0) rotate(0)}54%{transform:translate(-9px, 0) rotate(0)}56%{transform:translate(-8px, 0) rotate(0)}58%{transform:translate(7px, 0) rotate(0)}60%{transform:translate(2px, 0) rotate(0)}62%{transform:translate(-6px, 0) rotate(0)}64%{transform:translate(-9px, 0) rotate(0)}66%{transform:translate(-2px, 0) rotate(0)}68%{transform:translate(4px, 0) rotate(0)}70%{transform:translate(8px, 0) rotate(0)}72%{transform:translate(2px, 0) rotate(0)}74%{transform:translate(6px, 0) rotate(0)}76%{transform:translate(-4px, 0) rotate(0)}78%{transform:translate(4px, 0) rotate(0)}80%{transform:translate(9px, 0) rotate(0)}82%{transform:translate(6px, 0) rotate(0)}84%{transform:translate(-6px, 0) rotate(0)}86%{transform:translate(5px, 0) rotate(0)}88%{transform:translate(5px, 0) rotate(0)}90%{transform:translate(-4px, 0) rotate(0)}92%{transform:translate(0px, 0) rotate(0)}94%{transform:translate(-6px, 0) rotate(0)}96%{transform:translate(6px, 0) rotate(0)}98%{transform:translate(10px, 0) rotate(0)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-horizontal:hover,.shake-trigger:hover .shake-horizontal,.shake-horizontal.shake-freeze,.shake-horizontal.shake-constant{animation-name:shake-horizontal;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-vertical{2%{transform:translate(0, -9px) rotate(0)}4%{transform:translate(0, 10px) rotate(0)}6%{transform:translate(0, -7px) rotate(0)}8%{transform:translate(0, -3px) rotate(0)}10%{transform:translate(0, -9px) rotate(0)}12%{transform:translate(0, -1px) rotate(0)}14%{transform:translate(0, -3px) rotate(0)}16%{transform:translate(0, 9px) rotate(0)}18%{transform:translate(0, 6px) rotate(0)}20%{transform:translate(0, 7px) rotate(0)}22%{transform:translate(0, 0px) rotate(0)}24%{transform:translate(0, 8px) rotate(0)}26%{transform:translate(0, 0px) rotate(0)}28%{transform:translate(0, -5px) rotate(0)}30%{transform:translate(0, -9px) rotate(0)}32%{transform:translate(0, 2px) rotate(0)}34%{transform:translate(0, -4px) rotate(0)}36%{transform:translate(0, 9px) rotate(0)}38%{transform:translate(0, 2px) rotate(0)}40%{transform:translate(0, -3px) rotate(0)}42%{transform:translate(0, 7px) rotate(0)}44%{transform:translate(0, 9px) rotate(0)}46%{transform:translate(0, -2px) rotate(0)}48%{transform:translate(0, 1px) rotate(0)}50%{transform:translate(0, 9px) rotate(0)}52%{transform:translate(0, 3px) rotate(0)}54%{transform:translate(0, -4px) rotate(0)}56%{transform:translate(0, -1px) rotate(0)}58%{transform:translate(0, -2px) rotate(0)}60%{transform:translate(0, 10px) rotate(0)}62%{transform:translate(0, -4px) rotate(0)}64%{transform:translate(0, -8px) rotate(0)}66%{transform:translate(0, -1px) rotate(0)}68%{transform:translate(0, 3px) rotate(0)}70%{transform:translate(0, -9px) rotate(0)}72%{transform:translate(0, 2px) rotate(0)}74%{transform:translate(0, 2px) rotate(0)}76%{transform:translate(0, 9px) rotate(0)}78%{transform:translate(0, -1px) rotate(0)}80%{transform:translate(0, 8px) rotate(0)}82%{transform:translate(0, -3px) rotate(0)}84%{transform:translate(0, -1px) rotate(0)}86%{transform:translate(0, 3px) rotate(0)}88%{transform:translate(0, 7px) rotate(0)}90%{transform:translate(0, 7px) rotate(0)}92%{transform:translate(0, 8px) rotate(0)}94%{transform:translate(0, -6px) rotate(0)}96%{transform:translate(0, 3px) rotate(0)}98%{transform:translate(0, 4px) rotate(0)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-vertical:hover,.shake-trigger:hover .shake-vertical,.shake-vertical.shake-freeze,.shake-vertical.shake-constant{animation-name:shake-vertical;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-rotate{2%{transform:translate(0, 0) rotate(6.5deg)}4%{transform:translate(0, 0) rotate(5.5deg)}6%{transform:translate(0, 0) rotate(-3.5deg)}8%{transform:translate(0, 0) rotate(4.5deg)}10%{transform:translate(0, 0) rotate(5.5deg)}12%{transform:translate(0, 0) rotate(-.5deg)}14%{transform:translate(0, 0) rotate(-4.5deg)}16%{transform:translate(0, 0) rotate(-3.5deg)}18%{transform:translate(0, 0) rotate(3.5deg)}20%{transform:translate(0, 0) rotate(4.5deg)}22%{transform:translate(0, 0) rotate(-.5deg)}24%{transform:translate(0, 0) rotate(4.5deg)}26%{transform:translate(0, 0) rotate(5.5deg)}28%{transform:translate(0, 0) rotate(4.5deg)}30%{transform:translate(0, 0) rotate(-6.5deg)}32%{transform:translate(0, 0) rotate(-3.5deg)}34%{transform:translate(0, 0) rotate(-4.5deg)}36%{transform:translate(0, 0) rotate(-4.5deg)}38%{transform:translate(0, 0) rotate(.5deg)}40%{transform:translate(0, 0) rotate(7.5deg)}42%{transform:translate(0, 0) rotate(-.5deg)}44%{transform:translate(0, 0) rotate(-6.5deg)}46%{transform:translate(0, 0) rotate(-2.5deg)}48%{transform:translate(0, 0) rotate(4.5deg)}50%{transform:translate(0, 0) rotate(1.5deg)}52%{transform:translate(0, 0) rotate(2.5deg)}54%{transform:translate(0, 0) rotate(5.5deg)}56%{transform:translate(0, 0) rotate(-.5deg)}58%{transform:translate(0, 0) rotate(-6.5deg)}60%{transform:translate(0, 0) rotate(-4.5deg)}62%{transform:translate(0, 0) rotate(3.5deg)}64%{transform:translate(0, 0) rotate(3.5deg)}66%{transform:translate(0, 0) rotate(-2.5deg)}68%{transform:translate(0, 0) rotate(-3.5deg)}70%{transform:translate(0, 0) rotate(7.5deg)}72%{transform:translate(0, 0) rotate(-4.5deg)}74%{transform:translate(0, 0) rotate(6.5deg)}76%{transform:translate(0, 0) rotate(3.5deg)}78%{transform:translate(0, 0) rotate(5.5deg)}80%{transform:translate(0, 0) rotate(.5deg)}82%{transform:translate(0, 0) rotate(2.5deg)}84%{transform:translate(0, 0) rotate(-6.5deg)}86%{transform:translate(0, 0) rotate(6.5deg)}88%{transform:translate(0, 0) rotate(-6.5deg)}90%{transform:translate(0, 0) rotate(-3.5deg)}92%{transform:translate(0, 0) rotate(-5.5deg)}94%{transform:translate(0, 0) rotate(-1.5deg)}96%{transform:translate(0, 0) rotate(.5deg)}98%{transform:translate(0, 0) rotate(.5deg)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-rotate:hover,.shake-trigger:hover .shake-rotate,.shake-rotate.shake-freeze,.shake-rotate.shake-constant{animation-name:shake-rotate;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-opacity{10%{transform:translate(-3px, -2px) rotate(-.5deg);opacity:.56}20%{transform:translate(2px, 0px) rotate(2.5deg);opacity:.55}30%{transform:translate(2px, -1px) rotate(1.5deg);opacity:.95}40%{transform:translate(2px, 4px) rotate(1.5deg);opacity:.26}50%{transform:translate(-3px, -4px) rotate(2.5deg);opacity:.08}60%{transform:translate(2px, -4px) rotate(-.5deg);opacity:.2}70%{transform:translate(0px, -2px) rotate(-1.5deg);opacity:.97}80%{transform:translate(-4px, -1px) rotate(.5deg);opacity:.41}90%{transform:translate(-1px, 0px) rotate(-.5deg);opacity:.67}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-opacity:hover,.shake-trigger:hover .shake-opacity,.shake-opacity.shake-freeze,.shake-opacity.shake-constant{animation-name:shake-opacity;animation-duration:.5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-crazy{10%{transform:translate(-5px, -16px) rotate(4deg);opacity:.76}20%{transform:translate(19px, -6px) rotate(6deg);opacity:.25}30%{transform:translate(11px, -3px) rotate(-3deg);opacity:.32}40%{transform:translate(-4px, -5px) rotate(7deg);opacity:.46}50%{transform:translate(-16px, -18px) rotate(-8deg);opacity:.94}60%{transform:translate(6px, -4px) rotate(-4deg);opacity:.01}70%{transform:translate(-2px, 3px) rotate(-1deg);opacity:.56}80%{transform:translate(15px, 5px) rotate(9deg);opacity:.7}90%{transform:translate(-5px, 13px) rotate(8deg);opacity:.67}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-crazy:hover,.shake-trigger:hover .shake-crazy,.shake-crazy.shake-freeze,.shake-crazy.shake-constant{animation-name:shake-crazy;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-chunk{2%{transform:translate(9px, -10px) rotate(-10deg)}4%{transform:translate(10px, 13px) rotate(8deg)}6%{transform:translate(-14px, -9px) rotate(11deg)}8%{transform:translate(-9px, 4px) rotate(6deg)}10%{transform:translate(-6px, 2px) rotate(7deg)}12%{transform:translate(-7px, -4px) rotate(5deg)}14%{transform:translate(12px, -7px) rotate(-6deg)}16%{transform:translate(14px, -12px) rotate(6deg)}18%{transform:translate(12px, 0px) rotate(5deg)}20%{transform:translate(-6px, 13px) rotate(10deg)}22%{transform:translate(-7px, 0px) rotate(0deg)}24%{transform:translate(6px, 1px) rotate(4deg)}26%{transform:translate(15px, 7px) rotate(-8deg)}28%{transform:translate(4px, 10px) rotate(12deg)}30%{transform:translate(-4px, -7px) rotate(-3deg)}32%{transform:translate(11px, 13px) rotate(3deg)}34%{transform:translate(5px, 8px) rotate(1deg)}36%{transform:translate(13px, 4px) rotate(13deg)}38%{transform:translate(-9px, 12px) rotate(11deg)}0%,40%,100%{transform:translate(0, 0) rotate(0)}}.shake-chunk:hover,.shake-trigger:hover .shake-chunk,.shake-chunk.shake-freeze,.shake-chunk.shake-constant{animation-name:shake-chunk;animation-duration:4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Using GPT on Library Collections&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Use cases for applying GPT3/3.5/4 on a full text collection&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;March 30 2023&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&#xA;&#x9;      &#x9;&#x9;&lt;!-- &lt;img class=&#34;doodle-mono-right-header shake-slow shake-freeze&#34; src=&#34;https://thisismattmiller.com/img/leeks.png&#34; title=&#34;A drawn image of a bunch of leeks&#34;/&gt; --&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;ul&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#intro&#34;&gt;Intro&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#Ground_Rules&#34;&gt;Ground Rules&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#Domain&#34;&gt;Domain - Susan B Anthony&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;ul style=&#34;margin-left: 1em;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#Domain_Daybook&#34;&gt;Daybooks&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#Domain_Correspondences&#34;&gt;Correspondences&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#Domain_Writings&#34;&gt;Writings&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;/ul&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#Compare&#34;&gt;Comparing GPT3 / 3.5 / 4 &lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#Provenance&#34;&gt;Provenance&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#Boutique&#34;&gt;Don’t call it Boutique&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#Scale&#34;&gt;Scale vs Voltage&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#Should_You&#34;&gt;Should you use GPT?&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#Conclusion&#34;&gt;Conclusion&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;/ul&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;h2 id=&#34;intro&#34; style=&#34;margin:1.5em 0 0 0; padding:0; font-size: 2em;&#34;&gt;Intro&lt;/h2&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;&#x9;Here in early 2023 the breathless hype surrounding ChatGPT/GPT4 is honestly reaching annoying levels. On twitter every would be tech influencer Nostradamus is posting a screenshot of some tiny conversation they had with a computer and predicting the death of an entire industry.  In the replies if someone offers the slightest pushback they counter with “Well, imagine what GPT-5 will be able to do!!” These folks are already living in the future where GPT is turning napkin drawings into websites and “changing the course of humanity.”&#xA;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Jan 6th Overflow</title>
				<link>https://thisismattmiller.com/post/jan-6th-overflow/</link>
				<pubDate>Thu, 06 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/jan-6th-overflow/</guid>
				<description>&lt;style&gt;&#xA;&#xA;&#x9;.ytcontainer {&#xA;&#x9;    position: relative;&#xA;&#x9;    width: 100%;&#xA;&#x9;    height: 0;&#xA;&#x9;    padding-bottom: 56.25%;&#xA;&#x9;}&#xA;&#x9;.video {&#xA;&#x9;    position: absolute;&#xA;&#x9;    top: 0;&#xA;&#x9;    left: 0;&#xA;&#x9;    width: 100%;&#xA;&#x9;    height: 100%;&#xA;&#x9;}&#xA;&#xA;&#xA;.ytcontainer{&#xA;&#x9;min-height: 600px;&#xA;}&#xA;/*&#xA;&#xA;@media only screen &#xA;    and (device-width : 375px) &#xA;    and (device-height : 812px) &#xA;    and (-webkit-device-pixel-ratio : 3) { &#xA;&#xA;    &#x9;.ytcontainer{&#xA;    &#x9;&#x9;margin-bottom: 5em;&#xA;    &#x9;}&#xA;&#xA;    }*/&#xA;&#xA;&#xA;&#xA;&#x9;img{&#xA;&#x9;&#x9;padding:1em 1em 1em 0;&#xA;&#xA;&#x9;}&#xA;&lt;/style&gt;&#x9;&#xA;&#xA;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA; &lt;div class=&#34;ytcontainer&#34;&gt;&#xA;&#xA;&lt;iframe src=&#34;https://thisismattmiller.github.io/jan6-overflow/&#34; name=&#34;iFrame Name&#34; scrolling=&#34;No&#34; height=&#34;650px&#34; width=&#34;100%&#34; style=&#34;border: none;&#34;&gt;&lt;/iframe&gt;&#xA;&#xA; &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&lt;hr&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; &gt;&#xA;&#x9;      &#x9;&lt;div style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-3 &#34;&gt;Jan 6th Overflow&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;div class=&#34;has-text-grey&#34; style=&#34;margin-bottom:1em;&#34;&gt;2022&lt;/div&gt;&#xA;&#xA;&#x9;      &#x9;&lt;p&gt;&#xA;Watching the live stream of Trump&#39;s speech on Jan 6th 2021 on YouTube I was struck by the comment section on the video. Rendered pretty much useless by the sheer volume of comments flying up the window. It consisted of mostly Trump supporters shouting into the internet. Watching it trying to gauge some kind of zeitgeist of what was about to happen. At the time I lived only a few blocks from the National Mall and the situation was giving me serious anxiety. This little simulation recreates that feeling, as the Trump comments zip off screen it floats down to the right accumulating on top of eachother. As more are added they squeeze and compress, vibrate and breakout. You can click on the comment to remove it, but there are more on the way.&#xA;&#x9;      &#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ley Lines</title>
				<link>https://thisismattmiller.com/leylines/</link>
				<pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/leylines/</guid>
				<description>&lt;div class=&#34;container&#34;&gt;&#xA;  &lt;div style=&#34;text-align: center;&#34;&gt;&#xA;  &#x9;&lt;h1 style=&#34;font-size:4em;&#34;&gt;Ley Lines&lt;/h1&gt;&#xA;  &#x9;&lt;p&gt;An ongoing feed of drawing lines between things&lt;/p&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;  &#x9;&lt;h2 style=&#34;font-size:2em;&#34;&gt;LinkNYC&lt;/h2&gt;&#xA;  &#x9;&lt;p style=&#34;margin-bottom: 1em;&#34;&gt;&#xA;  &#x9;&#x9;&lt;a href=&#34;https://en.wikipedia.org/wiki/LinkNYC&#34;&gt;LinkNYC&lt;/a&gt; are kiosks throughout the street corners of New York City, they have big screens, wifi and do other computer stuff, like collect information on you, etc. I was thinking, what if you drew a line between all of them in a specific borough. You would end up with a big LinkNYC ley line. And of course if you found the center of that shape it would be the focal point of that ley line. So if you find yourself near one of the center points below maybe head over to it and see how you feel, but don’t let the power &lt;a href=&#34;https://newyork.cbslocal.com/2019/04/23/linknyc-screens-smashed/&#34;&gt;overwhelm&lt;/a&gt; you.&#xA;There are around 900 kiosks throughout the city, they are going to build more I think, so like the magnetic north, these center points will drift overtime. &lt;a href=&#34;https://data.cityofnewyork.us/Social-Services/LinkNYC-Locations/s4kf-3yrf&#34;&gt;Data Source.&lt;/a&gt; &lt;span style=&#34;color:gray&#34;&gt;Jan 17 2022&lt;/span&gt;&#xA;&#xA;&#xA;  &#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Animated Gifs in US Elections</title>
				<link>https://thisismattmiller.com/post/animated-gifs-in-us-elections/</link>
				<pubDate>Wed, 01 Dec 2021 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/animated-gifs-in-us-elections/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;*{&#xA;&#x9;&#x9;scroll-behavior: smooth !important;&#xA;&#x9;&#x9;}&#xA;&#xA;&#xA;&#x9;&#x9;body{&#xA;&#x9;&#x9;&#x9;font-size: 1.2em;&#xA;&#x9;&#x9;}&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Animated Gifs in US Elections&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Mining the Library of Congress web archives for political Gifs&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Dec 1 2021&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;!-- &#xA;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header shake-slow shake-freeze&#34; src=&#34;https://thisismattmiller.com/img/leeks.png&#34; title=&#34;A drawn image of a bunch of leeks&#34;/&gt; --&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;ol style=&#34;padding-left: 1em;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#intro&#34;&gt;Intro&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#problem&#34;&gt;Problem Space&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#offical&#34;&gt;Official Gifs&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#usergifs&#34;&gt;User Content Gifs&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#weird&#34;&gt;Getting Weird With User Content Gifs&lt;/a&gt;&lt;/li&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;li&gt;&lt;a href=&#34;#tech&#34;&gt;Technical - How to get started working with this dataset&lt;/a&gt;&lt;/li&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;/ol&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;h2 id=&#34;intro&#34; class=&#34;is-size-4&#34; style=&#34;margin-top: 3em;&#34;&gt;Intro&lt;/h2&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;p style=&#34;margin-top:2em;&#34;&gt;&#xA;&#xA;&#x9;&#x9;&#x9;A new dataset was &lt;a href=&#34;https://twitter.com/LC_Labs/status/1438179553411665921&#34;&gt;announced&lt;/a&gt; by the prolific data releasing web archiving team and LC Labs at the Library of Congress. I really enjoy working with the datasets they put out because: 1. I think it is important for institutions to release data as much as possible and 2. It’s not my domain of expertise so I don’t know much about it and that enables me to do &lt;a href=&#34;https://twitter.com/thisismmiller/status/1229198993240084488&#34;&gt;mostly&lt;/a&gt; &lt;a href=&#34;https://twitter.com/thisismmiller/status/1104504155455008768&#34;&gt;unserious&lt;/a&gt; but &lt;a href=&#34;https://medium.com/@thisismattmiller/anaphora-gov-8e8c21f539b2&#34;&gt;maybe&lt;/a&gt; &lt;a href=&#34;https://thisismattmiller.com/post/library-of-congress-web-archives/&#34;&gt;interesting&lt;/a&gt; things with them.&#xA;&#xA;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Leeks: ParkMobile</title>
				<link>https://thisismattmiller.com/post/leeks-parkmobile/</link>
				<pubDate>Wed, 09 Jun 2021 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/leeks-parkmobile/</guid>
				<description>&lt;script src=&#34;https://thisismattmiller.com/js/chart.js&#34;&gt;&lt;/script&gt;&#xA; &lt;script src=&#34;https://thisismattmiller.com/js/chartjsplugincolorschemes.js&#34;&gt;&lt;/script&gt;&#xA; &lt;script src=&#34;https://thisismattmiller.com/js/vue.js&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&#xA;  &lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;&#xA;    .name-li{&#xA;    &#x9;cursor: pointer;&#xA;    &#x9;font-size: 1.25em;&#xA;    }&#xA;&#xA;    .name-li:hover{&#xA;    &#x9;background-color: #f4a9a8;&#xA;    &#x9;font-size: 2em;&#xA;    }&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;  &lt;style&gt;&#xA;&#x9;/*! * * * * * * * * * * * * * * * * * * * *\  &#xA;&#x9;  CSShake :: Package&#xA;&#x9;  v1.5.0&#xA;&#x9;  CSS classes to move your DOM&#xA;&#x9;  (c) 2015 @elrumordelaluz&#xA;&#x9;  http://elrumordelaluz.github.io/csshake/&#xA;&#x9;  Licensed under MIT&#xA;&#x9;\* * * * * * * * * * * * * * * * * * * * */&#xA;&#x9;.shake,.shake-little,.shake-slow,.shake-hard,.shake-horizontal,.shake-vertical,.shake-rotate,.shake-opacity,.shake-crazy,.shake-chunk{display:inherit;transform-origin:center center}.shake-freeze,.shake-constant.shake-constant--hover:hover,.shake-trigger:hover .shake-constant.shake-constant--hover{animation-play-state:paused}.shake-freeze:hover,.shake-trigger:hover .shake-freeze,.shake:hover,.shake-trigger:hover .shake,.shake-little:hover,.shake-trigger:hover .shake-little,.shake-slow:hover,.shake-trigger:hover .shake-slow,.shake-hard:hover,.shake-trigger:hover .shake-hard,.shake-horizontal:hover,.shake-trigger:hover .shake-horizontal,.shake-vertical:hover,.shake-trigger:hover .shake-vertical,.shake-rotate:hover,.shake-trigger:hover .shake-rotate,.shake-opacity:hover,.shake-trigger:hover .shake-opacity,.shake-crazy:hover,.shake-trigger:hover .shake-crazy,.shake-chunk:hover,.shake-trigger:hover .shake-chunk{animation-play-state:running}@keyframes shake{2%{transform:translate(1.5px, 1.5px) rotate(1.5deg)}4%{transform:translate(.5px, -.5px) rotate(.5deg)}6%{transform:translate(1.5px, 2.5px) rotate(1.5deg)}8%{transform:translate(.5px, 2.5px) rotate(.5deg)}10%{transform:translate(2.5px, 1.5px) rotate(.5deg)}12%{transform:translate(-.5px, -1.5px) rotate(-.5deg)}14%{transform:translate(1.5px, 2.5px) rotate(-.5deg)}16%{transform:translate(2.5px, -1.5px) rotate(1.5deg)}18%{transform:translate(2.5px, 2.5px) rotate(-.5deg)}20%{transform:translate(-.5px, -1.5px) rotate(1.5deg)}22%{transform:translate(-1.5px, -.5px) rotate(.5deg)}24%{transform:translate(2.5px, -1.5px) rotate(1.5deg)}26%{transform:translate(.5px, 2.5px) rotate(1.5deg)}28%{transform:translate(-.5px, 2.5px) rotate(-.5deg)}30%{transform:translate(.5px, 2.5px) rotate(1.5deg)}32%{transform:translate(-1.5px, -.5px) rotate(-.5deg)}34%{transform:translate(.5px, -.5px) rotate(.5deg)}36%{transform:translate(-1.5px, .5px) rotate(1.5deg)}38%{transform:translate(-1.5px, 1.5px) rotate(1.5deg)}40%{transform:translate(2.5px, .5px) rotate(.5deg)}42%{transform:translate(.5px, .5px) rotate(1.5deg)}44%{transform:translate(-.5px, .5px) rotate(.5deg)}46%{transform:translate(2.5px, 1.5px) rotate(1.5deg)}48%{transform:translate(2.5px, 1.5px) rotate(-.5deg)}50%{transform:translate(-1.5px, 2.5px) rotate(-.5deg)}52%{transform:translate(.5px, -1.5px) rotate(1.5deg)}54%{transform:translate(.5px, -1.5px) rotate(.5deg)}56%{transform:translate(1.5px, -1.5px) rotate(-.5deg)}58%{transform:translate(1.5px, .5px) rotate(.5deg)}60%{transform:translate(-.5px, .5px) rotate(.5deg)}62%{transform:translate(.5px, .5px) rotate(-.5deg)}64%{transform:translate(-1.5px, -.5px) rotate(1.5deg)}66%{transform:translate(-1.5px, 2.5px) rotate(-.5deg)}68%{transform:translate(-1.5px, 1.5px) rotate(.5deg)}70%{transform:translate(.5px, 1.5px) rotate(.5deg)}72%{transform:translate(-1.5px, 2.5px) rotate(.5deg)}74%{transform:translate(2.5px, .5px) rotate(-.5deg)}76%{transform:translate(.5px, -1.5px) rotate(1.5deg)}78%{transform:translate(.5px, 1.5px) rotate(.5deg)}80%{transform:translate(-.5px, -.5px) rotate(.5deg)}82%{transform:translate(1.5px, 1.5px) rotate(1.5deg)}84%{transform:translate(.5px, .5px) rotate(.5deg)}86%{transform:translate(-.5px, .5px) rotate(1.5deg)}88%{transform:translate(1.5px, .5px) rotate(1.5deg)}90%{transform:translate(-.5px, 2.5px) rotate(-.5deg)}92%{transform:translate(-1.5px, -1.5px) rotate(1.5deg)}94%{transform:translate(-1.5px, 2.5px) rotate(1.5deg)}96%{transform:translate(-1.5px, -1.5px) rotate(1.5deg)}98%{transform:translate(1.5px, -1.5px) rotate(1.5deg)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake:hover,.shake-trigger:hover .shake,.shake.shake-freeze,.shake.shake-constant{animation-name:shake;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-little{2%{transform:translate(1px, 1px) rotate(.5deg)}4%{transform:translate(0px, 1px) rotate(.5deg)}6%{transform:translate(0px, 0px) rotate(.5deg)}8%{transform:translate(0px, 1px) rotate(.5deg)}10%{transform:translate(0px, 1px) rotate(.5deg)}12%{transform:translate(1px, 0px) rotate(.5deg)}14%{transform:translate(0px, 0px) rotate(.5deg)}16%{transform:translate(0px, 1px) rotate(.5deg)}18%{transform:translate(1px, 0px) rotate(.5deg)}20%{transform:translate(0px, 1px) rotate(.5deg)}22%{transform:translate(1px, 1px) rotate(.5deg)}24%{transform:translate(1px, 0px) rotate(.5deg)}26%{transform:translate(0px, 1px) rotate(.5deg)}28%{transform:translate(1px, 1px) rotate(.5deg)}30%{transform:translate(0px, 1px) rotate(.5deg)}32%{transform:translate(1px, 1px) rotate(.5deg)}34%{transform:translate(1px, 0px) rotate(.5deg)}36%{transform:translate(0px, 1px) rotate(.5deg)}38%{transform:translate(0px, 1px) rotate(.5deg)}40%{transform:translate(0px, 0px) rotate(.5deg)}42%{transform:translate(0px, 1px) rotate(.5deg)}44%{transform:translate(1px, 0px) rotate(.5deg)}46%{transform:translate(0px, 0px) rotate(.5deg)}48%{transform:translate(1px, 0px) rotate(.5deg)}50%{transform:translate(1px, 0px) rotate(.5deg)}52%{transform:translate(0px, 0px) rotate(.5deg)}54%{transform:translate(1px, 0px) rotate(.5deg)}56%{transform:translate(0px, 1px) rotate(.5deg)}58%{transform:translate(1px, 1px) rotate(.5deg)}60%{transform:translate(0px, 1px) rotate(.5deg)}62%{transform:translate(0px, 0px) rotate(.5deg)}64%{transform:translate(1px, 1px) rotate(.5deg)}66%{transform:translate(0px, 0px) rotate(.5deg)}68%{transform:translate(1px, 0px) rotate(.5deg)}70%{transform:translate(1px, 0px) rotate(.5deg)}72%{transform:translate(1px, 0px) rotate(.5deg)}74%{transform:translate(0px, 0px) rotate(.5deg)}76%{transform:translate(0px, 0px) rotate(.5deg)}78%{transform:translate(0px, 1px) rotate(.5deg)}80%{transform:translate(0px, 1px) rotate(.5deg)}82%{transform:translate(1px, 0px) rotate(.5deg)}84%{transform:translate(1px, 0px) rotate(.5deg)}86%{transform:translate(1px, 0px) rotate(.5deg)}88%{transform:translate(0px, 0px) rotate(.5deg)}90%{transform:translate(0px, 1px) rotate(.5deg)}92%{transform:translate(1px, 1px) rotate(.5deg)}94%{transform:translate(1px, 0px) rotate(.5deg)}96%{transform:translate(1px, 0px) rotate(.5deg)}98%{transform:translate(1px, 0px) rotate(.5deg)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-little:hover,.shake-trigger:hover .shake-little,.shake-little.shake-freeze,.shake-little.shake-constant{animation-name:shake-little;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-slow{2%{transform:translate(6px, -6px) rotate(2.5deg)}4%{transform:translate(-5px, 1px) rotate(1.5deg)}6%{transform:translate(7px, -3px) rotate(-2.5deg)}8%{transform:translate(-7px, -5px) rotate(2.5deg)}10%{transform:translate(-3px, 2px) rotate(-1.5deg)}12%{transform:translate(3px, 6px) rotate(3.5deg)}14%{transform:translate(-7px, 2px) rotate(-1.5deg)}16%{transform:translate(-6px, 6px) rotate(-2.5deg)}18%{transform:translate(6px, 0px) rotate(1.5deg)}20%{transform:translate(9px, 9px) rotate(2.5deg)}22%{transform:translate(7px, -9px) rotate(2.5deg)}24%{transform:translate(2px, 1px) rotate(.5deg)}26%{transform:translate(10px, 4px) rotate(-.5deg)}28%{transform:translate(-9px, 3px) rotate(3.5deg)}30%{transform:translate(10px, 5px) rotate(1.5deg)}32%{transform:translate(6px, 8px) rotate(-2.5deg)}34%{transform:translate(9px, 9px) rotate(3.5deg)}36%{transform:translate(-5px, 0px) rotate(-.5deg)}38%{transform:translate(-2px, -2px) rotate(.5deg)}40%{transform:translate(-3px, 8px) rotate(2.5deg)}42%{transform:translate(-7px, 8px) rotate(3.5deg)}44%{transform:translate(6px, -6px) rotate(.5deg)}46%{transform:translate(1px, -2px) rotate(3.5deg)}48%{transform:translate(-5px, 7px) rotate(-2.5deg)}50%{transform:translate(-8px, 1px) rotate(2.5deg)}52%{transform:translate(-9px, -2px) rotate(1.5deg)}54%{transform:translate(4px, -9px) rotate(3.5deg)}56%{transform:translate(-6px, -1px) rotate(.5deg)}58%{transform:translate(-3px, -6px) rotate(-.5deg)}60%{transform:translate(8px, 4px) rotate(-.5deg)}62%{transform:translate(0px, -9px) rotate(.5deg)}64%{transform:translate(9px, -2px) rotate(3.5deg)}66%{transform:translate(-7px, 10px) rotate(3.5deg)}68%{transform:translate(-7px, -9px) rotate(-1.5deg)}70%{transform:translate(9px, -2px) rotate(-2.5deg)}72%{transform:translate(-4px, 0px) rotate(2.5deg)}74%{transform:translate(1px, -2px) rotate(-1.5deg)}76%{transform:translate(-8px, -5px) rotate(2.5deg)}78%{transform:translate(-9px, 2px) rotate(1.5deg)}80%{transform:translate(-4px, 1px) rotate(-1.5deg)}82%{transform:translate(-6px, 10px) rotate(2.5deg)}84%{transform:translate(6px, -3px) rotate(-.5deg)}86%{transform:translate(-1px, -2px) rotate(1.5deg)}88%{transform:translate(1px, 9px) rotate(1.5deg)}90%{transform:translate(3px, 9px) rotate(-.5deg)}92%{transform:translate(-3px, -1px) rotate(.5deg)}94%{transform:translate(-7px, 4px) rotate(1.5deg)}96%{transform:translate(6px, 1px) rotate(.5deg)}98%{transform:translate(-8px, 2px) rotate(-.5deg)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-slow:hover,.shake-trigger:hover .shake-slow,.shake-slow.shake-freeze,.shake-slow.shake-constant{animation-name:shake-slow;animation-duration:5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-hard{2%{transform:translate(-3px, 3px) rotate(-2.5deg)}4%{transform:translate(-3px, -2px) rotate(-1.5deg)}6%{transform:translate(-9px, 4px) rotate(-1.5deg)}8%{transform:translate(9px, 8px) rotate(2.5deg)}10%{transform:translate(2px, 7px) rotate(.5deg)}12%{transform:translate(3px, -5px) rotate(.5deg)}14%{transform:translate(5px, 8px) rotate(1.5deg)}16%{transform:translate(8px, -2px) rotate(-2.5deg)}18%{transform:translate(-2px, 1px) rotate(-.5deg)}20%{transform:translate(-4px, 10px) rotate(-.5deg)}22%{transform:translate(7px, 2px) rotate(2.5deg)}24%{transform:translate(8px, 0px) rotate(3.5deg)}26%{transform:translate(-7px, -8px) rotate(3.5deg)}28%{transform:translate(-5px, 10px) rotate(1.5deg)}30%{transform:translate(1px, 2px) rotate(-.5deg)}32%{transform:translate(4px, 4px) rotate(-1.5deg)}34%{transform:translate(8px, -3px) rotate(-1.5deg)}36%{transform:translate(8px, 9px) rotate(-2.5deg)}38%{transform:translate(-4px, 10px) rotate(2.5deg)}40%{transform:translate(5px, 2px) rotate(.5deg)}42%{transform:translate(2px, 7px) rotate(2.5deg)}44%{transform:translate(7px, 5px) rotate(.5deg)}46%{transform:translate(-5px, 0px) rotate(3.5deg)}48%{transform:translate(-2px, -7px) rotate(-.5deg)}50%{transform:translate(-1px, -5px) rotate(.5deg)}52%{transform:translate(-4px, 8px) rotate(-.5deg)}54%{transform:translate(8px, -3px) rotate(3.5deg)}56%{transform:translate(-1px, -8px) rotate(2.5deg)}58%{transform:translate(6px, 6px) rotate(3.5deg)}60%{transform:translate(0px, 4px) rotate(-.5deg)}62%{transform:translate(2px, -7px) rotate(.5deg)}64%{transform:translate(0px, 6px) rotate(2.5deg)}66%{transform:translate(5px, 0px) rotate(-.5deg)}68%{transform:translate(0px, 3px) rotate(3.5deg)}70%{transform:translate(7px, -5px) rotate(-1.5deg)}72%{transform:translate(6px, -7px) rotate(3.5deg)}74%{transform:translate(1px, -5px) rotate(-2.5deg)}76%{transform:translate(-7px, 2px) rotate(-.5deg)}78%{transform:translate(-8px, 1px) rotate(1.5deg)}80%{transform:translate(1px, 5px) rotate(1.5deg)}82%{transform:translate(-4px, -5px) rotate(-1.5deg)}84%{transform:translate(3px, -2px) rotate(3.5deg)}86%{transform:translate(-6px, -5px) rotate(1.5deg)}88%{transform:translate(-7px, -1px) rotate(-2.5deg)}90%{transform:translate(10px, 2px) rotate(-2.5deg)}92%{transform:translate(10px, -3px) rotate(1.5deg)}94%{transform:translate(4px, -6px) rotate(3.5deg)}96%{transform:translate(9px, 7px) rotate(-1.5deg)}98%{transform:translate(2px, 1px) rotate(-.5deg)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-hard:hover,.shake-trigger:hover .shake-hard,.shake-hard.shake-freeze,.shake-hard.shake-constant{animation-name:shake-hard;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-horizontal{2%{transform:translate(3px, 0) rotate(0)}4%{transform:translate(1px, 0) rotate(0)}6%{transform:translate(4px, 0) rotate(0)}8%{transform:translate(-2px, 0) rotate(0)}10%{transform:translate(9px, 0) rotate(0)}12%{transform:translate(0px, 0) rotate(0)}14%{transform:translate(-8px, 0) rotate(0)}16%{transform:translate(-7px, 0) rotate(0)}18%{transform:translate(1px, 0) rotate(0)}20%{transform:translate(-5px, 0) rotate(0)}22%{transform:translate(-2px, 0) rotate(0)}24%{transform:translate(-5px, 0) rotate(0)}26%{transform:translate(-1px, 0) rotate(0)}28%{transform:translate(3px, 0) rotate(0)}30%{transform:translate(-7px, 0) rotate(0)}32%{transform:translate(-8px, 0) rotate(0)}34%{transform:translate(4px, 0) rotate(0)}36%{transform:translate(8px, 0) rotate(0)}38%{transform:translate(-5px, 0) rotate(0)}40%{transform:translate(-6px, 0) rotate(0)}42%{transform:translate(7px, 0) rotate(0)}44%{transform:translate(1px, 0) rotate(0)}46%{transform:translate(3px, 0) rotate(0)}48%{transform:translate(10px, 0) rotate(0)}50%{transform:translate(1px, 0) rotate(0)}52%{transform:translate(3px, 0) rotate(0)}54%{transform:translate(-9px, 0) rotate(0)}56%{transform:translate(-8px, 0) rotate(0)}58%{transform:translate(7px, 0) rotate(0)}60%{transform:translate(2px, 0) rotate(0)}62%{transform:translate(-6px, 0) rotate(0)}64%{transform:translate(-9px, 0) rotate(0)}66%{transform:translate(-2px, 0) rotate(0)}68%{transform:translate(4px, 0) rotate(0)}70%{transform:translate(8px, 0) rotate(0)}72%{transform:translate(2px, 0) rotate(0)}74%{transform:translate(6px, 0) rotate(0)}76%{transform:translate(-4px, 0) rotate(0)}78%{transform:translate(4px, 0) rotate(0)}80%{transform:translate(9px, 0) rotate(0)}82%{transform:translate(6px, 0) rotate(0)}84%{transform:translate(-6px, 0) rotate(0)}86%{transform:translate(5px, 0) rotate(0)}88%{transform:translate(5px, 0) rotate(0)}90%{transform:translate(-4px, 0) rotate(0)}92%{transform:translate(0px, 0) rotate(0)}94%{transform:translate(-6px, 0) rotate(0)}96%{transform:translate(6px, 0) rotate(0)}98%{transform:translate(10px, 0) rotate(0)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-horizontal:hover,.shake-trigger:hover .shake-horizontal,.shake-horizontal.shake-freeze,.shake-horizontal.shake-constant{animation-name:shake-horizontal;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-vertical{2%{transform:translate(0, -9px) rotate(0)}4%{transform:translate(0, 10px) rotate(0)}6%{transform:translate(0, -7px) rotate(0)}8%{transform:translate(0, -3px) rotate(0)}10%{transform:translate(0, -9px) rotate(0)}12%{transform:translate(0, -1px) rotate(0)}14%{transform:translate(0, -3px) rotate(0)}16%{transform:translate(0, 9px) rotate(0)}18%{transform:translate(0, 6px) rotate(0)}20%{transform:translate(0, 7px) rotate(0)}22%{transform:translate(0, 0px) rotate(0)}24%{transform:translate(0, 8px) rotate(0)}26%{transform:translate(0, 0px) rotate(0)}28%{transform:translate(0, -5px) rotate(0)}30%{transform:translate(0, -9px) rotate(0)}32%{transform:translate(0, 2px) rotate(0)}34%{transform:translate(0, -4px) rotate(0)}36%{transform:translate(0, 9px) rotate(0)}38%{transform:translate(0, 2px) rotate(0)}40%{transform:translate(0, -3px) rotate(0)}42%{transform:translate(0, 7px) rotate(0)}44%{transform:translate(0, 9px) rotate(0)}46%{transform:translate(0, -2px) rotate(0)}48%{transform:translate(0, 1px) rotate(0)}50%{transform:translate(0, 9px) rotate(0)}52%{transform:translate(0, 3px) rotate(0)}54%{transform:translate(0, -4px) rotate(0)}56%{transform:translate(0, -1px) rotate(0)}58%{transform:translate(0, -2px) rotate(0)}60%{transform:translate(0, 10px) rotate(0)}62%{transform:translate(0, -4px) rotate(0)}64%{transform:translate(0, -8px) rotate(0)}66%{transform:translate(0, -1px) rotate(0)}68%{transform:translate(0, 3px) rotate(0)}70%{transform:translate(0, -9px) rotate(0)}72%{transform:translate(0, 2px) rotate(0)}74%{transform:translate(0, 2px) rotate(0)}76%{transform:translate(0, 9px) rotate(0)}78%{transform:translate(0, -1px) rotate(0)}80%{transform:translate(0, 8px) rotate(0)}82%{transform:translate(0, -3px) rotate(0)}84%{transform:translate(0, -1px) rotate(0)}86%{transform:translate(0, 3px) rotate(0)}88%{transform:translate(0, 7px) rotate(0)}90%{transform:translate(0, 7px) rotate(0)}92%{transform:translate(0, 8px) rotate(0)}94%{transform:translate(0, -6px) rotate(0)}96%{transform:translate(0, 3px) rotate(0)}98%{transform:translate(0, 4px) rotate(0)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-vertical:hover,.shake-trigger:hover .shake-vertical,.shake-vertical.shake-freeze,.shake-vertical.shake-constant{animation-name:shake-vertical;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-rotate{2%{transform:translate(0, 0) rotate(6.5deg)}4%{transform:translate(0, 0) rotate(5.5deg)}6%{transform:translate(0, 0) rotate(-3.5deg)}8%{transform:translate(0, 0) rotate(4.5deg)}10%{transform:translate(0, 0) rotate(5.5deg)}12%{transform:translate(0, 0) rotate(-.5deg)}14%{transform:translate(0, 0) rotate(-4.5deg)}16%{transform:translate(0, 0) rotate(-3.5deg)}18%{transform:translate(0, 0) rotate(3.5deg)}20%{transform:translate(0, 0) rotate(4.5deg)}22%{transform:translate(0, 0) rotate(-.5deg)}24%{transform:translate(0, 0) rotate(4.5deg)}26%{transform:translate(0, 0) rotate(5.5deg)}28%{transform:translate(0, 0) rotate(4.5deg)}30%{transform:translate(0, 0) rotate(-6.5deg)}32%{transform:translate(0, 0) rotate(-3.5deg)}34%{transform:translate(0, 0) rotate(-4.5deg)}36%{transform:translate(0, 0) rotate(-4.5deg)}38%{transform:translate(0, 0) rotate(.5deg)}40%{transform:translate(0, 0) rotate(7.5deg)}42%{transform:translate(0, 0) rotate(-.5deg)}44%{transform:translate(0, 0) rotate(-6.5deg)}46%{transform:translate(0, 0) rotate(-2.5deg)}48%{transform:translate(0, 0) rotate(4.5deg)}50%{transform:translate(0, 0) rotate(1.5deg)}52%{transform:translate(0, 0) rotate(2.5deg)}54%{transform:translate(0, 0) rotate(5.5deg)}56%{transform:translate(0, 0) rotate(-.5deg)}58%{transform:translate(0, 0) rotate(-6.5deg)}60%{transform:translate(0, 0) rotate(-4.5deg)}62%{transform:translate(0, 0) rotate(3.5deg)}64%{transform:translate(0, 0) rotate(3.5deg)}66%{transform:translate(0, 0) rotate(-2.5deg)}68%{transform:translate(0, 0) rotate(-3.5deg)}70%{transform:translate(0, 0) rotate(7.5deg)}72%{transform:translate(0, 0) rotate(-4.5deg)}74%{transform:translate(0, 0) rotate(6.5deg)}76%{transform:translate(0, 0) rotate(3.5deg)}78%{transform:translate(0, 0) rotate(5.5deg)}80%{transform:translate(0, 0) rotate(.5deg)}82%{transform:translate(0, 0) rotate(2.5deg)}84%{transform:translate(0, 0) rotate(-6.5deg)}86%{transform:translate(0, 0) rotate(6.5deg)}88%{transform:translate(0, 0) rotate(-6.5deg)}90%{transform:translate(0, 0) rotate(-3.5deg)}92%{transform:translate(0, 0) rotate(-5.5deg)}94%{transform:translate(0, 0) rotate(-1.5deg)}96%{transform:translate(0, 0) rotate(.5deg)}98%{transform:translate(0, 0) rotate(.5deg)}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-rotate:hover,.shake-trigger:hover .shake-rotate,.shake-rotate.shake-freeze,.shake-rotate.shake-constant{animation-name:shake-rotate;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-opacity{10%{transform:translate(-3px, -2px) rotate(-.5deg);opacity:.56}20%{transform:translate(2px, 0px) rotate(2.5deg);opacity:.55}30%{transform:translate(2px, -1px) rotate(1.5deg);opacity:.95}40%{transform:translate(2px, 4px) rotate(1.5deg);opacity:.26}50%{transform:translate(-3px, -4px) rotate(2.5deg);opacity:.08}60%{transform:translate(2px, -4px) rotate(-.5deg);opacity:.2}70%{transform:translate(0px, -2px) rotate(-1.5deg);opacity:.97}80%{transform:translate(-4px, -1px) rotate(.5deg);opacity:.41}90%{transform:translate(-1px, 0px) rotate(-.5deg);opacity:.67}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-opacity:hover,.shake-trigger:hover .shake-opacity,.shake-opacity.shake-freeze,.shake-opacity.shake-constant{animation-name:shake-opacity;animation-duration:.5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-crazy{10%{transform:translate(-5px, -16px) rotate(4deg);opacity:.76}20%{transform:translate(19px, -6px) rotate(6deg);opacity:.25}30%{transform:translate(11px, -3px) rotate(-3deg);opacity:.32}40%{transform:translate(-4px, -5px) rotate(7deg);opacity:.46}50%{transform:translate(-16px, -18px) rotate(-8deg);opacity:.94}60%{transform:translate(6px, -4px) rotate(-4deg);opacity:.01}70%{transform:translate(-2px, 3px) rotate(-1deg);opacity:.56}80%{transform:translate(15px, 5px) rotate(9deg);opacity:.7}90%{transform:translate(-5px, 13px) rotate(8deg);opacity:.67}0%,100%{transform:translate(0, 0) rotate(0)}}.shake-crazy:hover,.shake-trigger:hover .shake-crazy,.shake-crazy.shake-freeze,.shake-crazy.shake-constant{animation-name:shake-crazy;animation-duration:100ms;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes shake-chunk{2%{transform:translate(9px, -10px) rotate(-10deg)}4%{transform:translate(10px, 13px) rotate(8deg)}6%{transform:translate(-14px, -9px) rotate(11deg)}8%{transform:translate(-9px, 4px) rotate(6deg)}10%{transform:translate(-6px, 2px) rotate(7deg)}12%{transform:translate(-7px, -4px) rotate(5deg)}14%{transform:translate(12px, -7px) rotate(-6deg)}16%{transform:translate(14px, -12px) rotate(6deg)}18%{transform:translate(12px, 0px) rotate(5deg)}20%{transform:translate(-6px, 13px) rotate(10deg)}22%{transform:translate(-7px, 0px) rotate(0deg)}24%{transform:translate(6px, 1px) rotate(4deg)}26%{transform:translate(15px, 7px) rotate(-8deg)}28%{transform:translate(4px, 10px) rotate(12deg)}30%{transform:translate(-4px, -7px) rotate(-3deg)}32%{transform:translate(11px, 13px) rotate(3deg)}34%{transform:translate(5px, 8px) rotate(1deg)}36%{transform:translate(13px, 4px) rotate(13deg)}38%{transform:translate(-9px, 12px) rotate(11deg)}0%,40%,100%{transform:translate(0, 0) rotate(0)}}.shake-chunk:hover,.shake-trigger:hover .shake-chunk,.shake-chunk.shake-freeze,.shake-chunk.shake-constant{animation-name:shake-chunk;animation-duration:4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Leeks: ParkMobile&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;What&#39;s in a (car) name?&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;June 9 2021&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&#xA;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header shake-slow shake-freeze&#34; src=&#34;https://thisismattmiller.com/img/leeks.png&#34; title=&#34;A drawn image of a bunch of leeks&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;div style=&#34;background-color: whitesmoke;padding: 0.3em; margin-bottom: 3em;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;h3 class=&#34;is-size-6&#34; style=&#34;font-weight: bold;&#34;&gt;About the Leeks Series:&lt;/h3&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&lt;p style=&#34;font-size: 0.9em; margin-bottom: 0;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;This blog series uses publicly found dataset leaks, breaches and scrapes to do something interesting or fun. Personal identifying information will never be posted. Nor will any data be redistributed and you will never find any information on how to obtain the dataset. I will however use the data in aggregate for visualizations or reporting on trends found in the dataset.&#xA;&#x9;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Repeated Hunt</title>
				<link>https://thisismattmiller.com/post/repeated-hunt/</link>
				<pubDate>Wed, 09 Dec 2020 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/repeated-hunt/</guid>
				<description>&lt;style&gt;&#xA;&#xA;&#x9;.ytcontainer {&#xA;&#x9;    position: relative;&#xA;&#x9;    width: 100%;&#xA;&#x9;    height: 0;&#xA;&#x9;    padding-bottom: 56.25%;&#xA;&#x9;}&#xA;&#x9;.video {&#xA;&#x9;    position: absolute;&#xA;&#x9;    top: 0;&#xA;&#x9;    left: 0;&#xA;&#x9;    width: 100%;&#xA;&#x9;    height: 100%;&#xA;&#x9;}&#xA;&#xA;&#x9;img{&#xA;&#x9;&#x9;padding:1em 1em 1em 0;&#xA;&#xA;&#x9;}&#xA;&lt;/style&gt;&#x9;&#xA;&#xA;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA; &lt;div class=&#34;ytcontainer&#34;&gt;&#xA;&#x9;&lt;iframe class=&#34;video&#34; src=&#34;https://www.youtube-nocookie.com/embed/pxCD-aCCu6E?vq=1080p&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#34; allowfullscreen&gt;&lt;/iframe&gt;&#xA; &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&lt;hr&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&lt;!-- &#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Maya Lin&#39;s Eclipsed Time&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-3 has-text-grey&#34;&gt;Time telling in a pandemic&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Apr 12 2020&lt;/h2&gt;&#xA; --&gt;&#xA;&#xA;&#xA;&lt;img src=&#34;https://thisismattmiller.com/img/repeated_hunt_1.png&#34; alt=&#34;screen shot from the first part of the video&#34; /&gt;&#xA;&lt;img src=&#34;https://thisismattmiller.com/img/repeated_hunt_2.png&#34; alt=&#34;screen shot from second part of video&#34; /&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; &gt;&#xA;&#x9;      &#x9;&lt;div style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-3 &#34;&gt;Repeated Hunt&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;div class=&#34;has-text-grey&#34; style=&#34;margin-bottom:1em;&#34;&gt;2020, 7 minutes&lt;/div&gt;&#xA;&#xA;&#x9;      &#x9;&lt;p&gt;&#xA;These layered &lt;a href=&#34;https://collection.cooperhewitt.org/search/collection/?query=Engraving%2C+18th+century&#34;&gt;18th century hand colored engravings&lt;/a&gt; come from the &lt;a href=&#34;https://snaccooperative.org/ark:/99166/w6rj589d&#xA;&#34;&gt;collection&lt;/a&gt; of &lt;a href=&#34;https://timesmachine.nytimes.com/timesmachine/1956/01/23/86508839.html?pageNumber=25&#34;&gt;Caroline King Duer&lt;/a&gt; who gave them to the Cooper Hewitt. Duer was an author as well as an editor in the 1930s at Vogue, heading up the house furnishing section of the magazine.  Hunting scenes are a common theme in 18th century and earlier engravings. A desirable aristocratic activity whose depiction begins appearing in paintings, etchings and eventually housewares and even stylized in wall paper designs. The engraving medium is centered in the ability to repeat. A highly detailed painting can be transformed by a master engraver into an equally detailed reprocuedable print. &#xA;&#xA;&#x9;      &#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>ISBN Uh-Oh</title>
				<link>https://thisismattmiller.com/post/isbn-uh-oh/</link>
				<pubDate>Sun, 06 Dec 2020 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/isbn-uh-oh/</guid>
				<description>&lt;style&gt;&#xA;&#xA;&#x9;img{&#xA;&#x9;&#x9;padding:1em 1em 1em 0;&#xA;&#x9;&#x9;border: solid 1px black;&#xA;&#xA;&#x9;}&#xA;&#x9;p{&#xA;&#x9;&#x9;margin-bottom: 1em;&#xA;&#x9;}&#xA;&lt;/style&gt;&#x9;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:center;&#34;&gt;&#xA;&lt;!-- &#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Maya Lin&#39;s Eclipsed Time&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-3 has-text-grey&#34;&gt;Time telling in a pandemic&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Apr 12 2020&lt;/h2&gt;&#xA; --&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;img src=&#34;https://thisismattmiller.com/img/isbn_uhoh_1.png&#34; alt=&#34;Screen Shot of twitter post&#34; /&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;div style=&#34;margin-bottom: 1em;&#34;&gt;&lt;a style=&#34;font-size: 0.75em&#34; href=&#34;https://twitter.com/ISBN_uhoh/status/1335643404613640192&#34;&gt;Example Tweet&lt;/a&gt;&lt;/div&gt;&#x9;&#xA;&#xA;&#xA;&#x9;&#x9;&#x9;&lt;img src=&#34;https://thisismattmiller.com/img/isbn_uhoh_2.png&#34; alt=&#34;Screen Shot of twitter post&#34; /&gt;&#xA;&#x9;&#x9;&#x9;&lt;div&gt;&lt;a style=&#34;font-size: 0.75em&#34; href=&#34;https://twitter.com/ISBN_uhoh/status/1335633237507502082&#34;&gt;Example Tweet&lt;/a&gt;&lt;/div&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; &gt;&#xA;&#x9;      &#x9;&lt;div style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-3 &#34;&gt;ISBN Uh-Oh&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;div class=&#34;has-text-grey&#34; style=&#34;margin-bottom:1em;&#34;&gt;Dec 2020, Twitter Bot&lt;/div&gt;&#xA;&#xA;&#x9;      &#x9;&lt;p&gt;&#xA;&#x9;      &#x9;&#x9;&lt;a href=&#34;https://en.wikipedia.org/wiki/International_Standard_Book_Number&#34;&gt;ISBNs&lt;/a&gt; are numbers given books by publishers to help uniquely identify them. Every time a new book comes out or a new edition of a book (translation, 2nd edition, paperback, etc) it gets a new ISBN. These numbers are very useful for libraries, book sellers, book readers to help locate books and organize them. Sometimes it turns out that two books get the same number, this problem can turn up in large collaborative cataloging systems like &lt;a href=&#34;https://www.worldcat.org/&#34;&gt;Worldcat&lt;/a&gt;. How this happens is a long list of possibilities. Maybe the publisher reused the number, maybe someone miskeyed somewhere, maybe two records got smooshed together incorrectly. It doesn’t really matter, it’s just one of the myriad of metadata problems that can happen.&#xA;&#x9;      &#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ostraca</title>
				<link>https://thisismattmiller.com/post/ostraca/</link>
				<pubDate>Sun, 29 Nov 2020 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/ostraca/</guid>
				<description>&lt;style&gt;&#xA;&#xA;&#x9;.ytcontainer {&#xA;&#x9;    position: relative;&#xA;&#x9;    width: 100%;&#xA;&#x9;    height: 0;&#xA;&#x9;    padding-bottom: 56.25%;&#xA;&#x9;}&#xA;&#x9;.video {&#xA;&#x9;    position: absolute;&#xA;&#x9;    top: 0;&#xA;&#x9;    left: 0;&#xA;&#x9;    width: 100%;&#xA;&#x9;    height: 100%;&#xA;&#x9;}&#xA;&#xA;&#x9;img{&#xA;&#x9;&#x9;padding:1em 1em 1em 0;&#xA;&#xA;&#x9;}&#xA;&lt;/style&gt;&#x9;&#xA;&#xA;&#xA;&lt;div class=&#34;container&#34;&gt;&#xA; &lt;div class=&#34;ytcontainer&#34;&gt;&#xA;&#x9;&lt;iframe class=&#34;video&#34; src=&#34;https://www.youtube-nocookie.com/embed/wXyK7KqE-4U?vq=hd720&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#34; allowfullscreen&gt;&lt;/iframe&gt;&#xA; &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&lt;hr&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&lt;!-- &#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Maya Lin&#39;s Eclipsed Time&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-3 has-text-grey&#34;&gt;Time telling in a pandemic&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Apr 12 2020&lt;/h2&gt;&#xA; --&gt;&#xA;&#xA;&#xA;&lt;img src=&#34;https://thisismattmiller.com/img/ostraca1.png&#34; alt=&#34;screen shot from the first part of the video&#34; /&gt;&#xA;&lt;img src=&#34;https://thisismattmiller.com/img/ostraca2.png&#34; alt=&#34;screen shot from second part of video&#34; /&gt;&#xA;&lt;img src=&#34;https://thisismattmiller.com/img/ostraca3.png&#34; alt=&#34;screen shot from third part of video&#34; /&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; &gt;&#xA;&#x9;      &#x9;&lt;div style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-3 &#34;&gt;Ostraca&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;div class=&#34;has-text-grey&#34; style=&#34;margin-bottom:1em;&#34;&gt;2020, 2 hours 34 minutes&lt;/div&gt;&#xA;&#xA;&#x9;      &#x9;&lt;p&gt;&#xA;&#x9;      &#x9;&#x9;In the weeks after the 2020 presidential election you could &lt;a href=&#34;https://www.wired.com/story/philadelphia-ballot-counting-livestream-election-2020/&#xA;&#34;&gt;stream live video&lt;/a&gt; of the Philadelphia vote counting process. You could watch as dozens of workers claid in safety vests sorted and counted ballots. This low paid or volunteer work is the invisible labor that makes the machinery of US elections work. Ostraca reuses that footage but erases everything except the fluorescent safety vests worn by the workers. This erasure reflects the unseen nature of this work while highlighting the vests, clothing used to call attention to the presence of people in hazardous environments.  &#xA;&#xA;&#x9;      &#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Non-Renewed</title>
				<link>https://thisismattmiller.com/post/non-renewed/</link>
				<pubDate>Wed, 22 Jul 2020 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/non-renewed/</guid>
				<description>&lt;script src=&#34;https://thisismattmiller.com/js/chart.js&#34;&gt;&lt;/script&gt;&#xA; &lt;script src=&#34;https://thisismattmiller.com/js/chartjsplugincolorschemes.js&#34;&gt;&lt;/script&gt;&#xA; &lt;script src=&#34;https://thisismattmiller.com/js/vue.js&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&#xA;  &lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.25em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;&#xA;@media only screen and (min-width: 768px) {&#xA;    /* tablets and desktop */&#xA;    .treemap{&#xA;    &#x9;width: 75%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) {&#xA;    /* phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;}&#xA;&#xA;@media only screen and (max-width: 767px) and (orientation: portrait) {&#xA;    /* portrait phones */&#xA;    .treemap{&#xA;    &#x9;width: 100%;&#xA;    }&#xA;&#xA;&#xA;}&#xA;&#xA;&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Non-Renewed Copyright Analysis&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-4 has-text-grey&#34;&gt;Digging into NYPL&#39;s digitized CCE Corpus&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Jul 22 2020&lt;/h2&gt;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&#xA;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/post_non-renewed_stamp.png&#34; title=&#34;A drawn image of a rewnew rubber stamp&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;h3 class=&#34;is-size-5&#34; style=&#34;font-weight: bold;&#34;&gt;Intro&lt;/h3&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Due to the bizarre nature of US copyright many works published in the mid-20th century are actually in the public domain. If a resource was published in a specific range of years and did not have its copyright renewed that material is likely open. The problem is determining this status because the records of this renewed status is locked up in the Library of Congress Copyright Office’s Catalog of Copyright Entries (CCE). These records are analog lists of course, but New York Public library has had &lt;a href=&#34;https://www.nypl.org/blog/2018/03/30/unlocking-record-american-creativity&#34;&gt;an initiative&lt;/a&gt; to transform these records into data. This summary is an oversimplification of the situation and circumstances (&lt;a href=&#34;https://www.hathitrust.org/blogs/perspectives-from-hathitrust/its-no-secret-millions-of-books-are-openly-public-domain&#34;&gt;more details&lt;/a&gt;, and watch &lt;a href=&#34;https://www.youtube.com/watch?v=96EqY_F8lik&#34;&gt;Creg Cram’s presentation&lt;/a&gt; on the project) but it is enough to get us to my specific research question: If there are potentially 1000s of published works that are in the public domain what TYPE of works are they? What subjects do they cover, are they mostly already available to the public, are they widely held by libraries? This analysis uses the NYPL data to try to understand this question.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Eclipsed Time</title>
				<link>https://thisismattmiller.com/post/eclipsed-time/</link>
				<pubDate>Thu, 23 Apr 2020 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/eclipsed-time/</guid>
				<description>&lt;script src=&#34;https://thisismattmiller.com/js/chart.js&#34;&gt;&lt;/script&gt;&#xA; &lt;script src=&#34;https://thisismattmiller.com/js/chartjsplugincolorschemes.js&#34;&gt;&lt;/script&gt;&#xA; &lt;script src=&#34;https://thisismattmiller.com/js/vue.js&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA; &#xA;&#xA;  &lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.5em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Maya Lin&#39;s Eclipsed Time&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-3 has-text-grey&#34;&gt;Time telling in a pandemic&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Apr 12 2020&lt;/h2&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:center;&#34;&gt;&#xA;&#x9;      &#x9;&#xA;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/post_lin_logo.png&#34; title=&#34;Eclipsed Time Abstact Drawing&#34; alt=&#34;Eclipsed Time Abstact Drawing&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;“Time is broken” seems to be the thing everyone can agree with lately. The last few weeks folks I’ve talked to always seem to casually mention how they don’t know what day of the week it is. Co-workers, family, friends, students, it’s different for everyone, days feel too long, or seem too short, or a mixture of both. As we enter the fourth or fifth (who knows) week of the covid-19 pandemic it seems like the new normal. &lt;/p&gt;</description>
			</item>
			<item>
				<title>Library of Congress Web Archives</title>
				<link>https://thisismattmiller.com/post/library-of-congress-web-archives/</link>
				<pubDate>Thu, 23 Apr 2020 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/library-of-congress-web-archives/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.5em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Library of Congress Web Archives&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-3 has-text-grey&#34;&gt;Big Picture&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Apr 23 2020&lt;/h2&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:center;&#34;&gt;&#xA;&#x9;      &#x9;&#xA;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/post_lc_web.gif&#34; title=&#34;Eclipsed Time Abstact Drawing&#34; alt=&#34;Eclipsed Time Abstact Drawing&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34;&gt;&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;It was great to see the web archiving team at the Library of Congress recently celebrate twenty years of archiving. And they had a great article in the &lt;a href=&#34;https://www.nytimes.com/2020/04/07/style/internet-archive-library-congress.html&#34;&gt;New York Times last month&lt;/a&gt;. I really like the LC web archive for a number of reasons. One is that it is heavily curated, meaning a lot of metadata is created for each site that is archived. It also means it is thematic. The NYT article opens with the archived memes, and web comics but I really like looking at the election candidate sites. A lot of earlyish, political campaign sites for congress are archived there. Beyond being a valuable scholarly resource it is always interesting to experience the early web, and to view it through the lense of these candidate’s websites is unique. &lt;/p&gt;</description>
			</item>
			<item>
				<title>Smithsonian Open Access Data Release</title>
				<link>https://thisismattmiller.com/post/smithsonian-open-access-data-release/</link>
				<pubDate>Fri, 28 Feb 2020 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/smithsonian-open-access-data-release/</guid>
				<description>&lt;script src=&#34;https://thisismattmiller.com/js/chart.js&#34;&gt;&lt;/script&gt;&#xA; &lt;script src=&#34;https://thisismattmiller.com/js/chartjsplugincolorschemes.js&#34;&gt;&lt;/script&gt;&#xA; &lt;script src=&#34;https://thisismattmiller.com/js/vue.js&#34;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&#xA;  &lt;style type=&#34;text/css&#34;&gt;&#xA;&#xA;  &#x9;.count-list-item:nth-child(odd){&#xA;  &#x9;&#x9;background-color: whitesmoke;&#xA;  &#x9;}&#xA;&#xA;  &#x9;code{&#xA;  &#x9;&#x9;color: #313131 !important;&#xA;  &#x9;}&#xA;  &#x9;#count-list{&#xA;  &#x9;&#x9;max-height: 830px;&#xA;  &#x9;&#x9;overflow-y: scroll;&#xA;  &#x9;&#x9;overflow-x: hidden;&#xA;  &#x9;}&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.5em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA; &#x9;pre{&#xA; &#x9;&#x9;background-color: whitesmoke !important;&#xA; &#x9;}&#xA;&#x9;canvas{&#xA;    /*margin: 0 auto;*/&#xA;    &#x9;/*width: 75% !important;*/&#xA;    &#x9;/*height: 500px !important;*/&#xA;    }&#xA;&#xA;&#xA;&#xA;  &lt;/style&gt;&#xA;&#xA;&#xA;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Smithsonian Open Access Data Release&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-3 has-text-grey&#34;&gt;A First Look&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Feb 28 2020&lt;/h2&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&#xA;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/post_si_guy.png&#34; title=&#34;hand drawn portrait of the Smithsonian guy&#34; alt=&#34;hand drawn portrait of the Smithsonian guy&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;The Smithsonian &lt;a href=&#34;https://www.si.edu/openaccess&#34;&gt;Open Access&lt;/a&gt; release has put a trove of cultural heritage digital assets and data in the public commons. I wanted to show how you could start exploring and using the data. If you are comfortable running some Python scripts this post will quickly give you a head start. If not you might still be interested in following along as we look at some discoveries and &lt;a href=&#34;#visualizations&#34;&gt;visualizations&lt;/a&gt; I’ve created along the way.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Repotting Old Digital Humanities Projects</title>
				<link>https://thisismattmiller.com/post/repotting-old-digital-humanities-projects/</link>
				<pubDate>Fri, 31 Jan 2020 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/post/repotting-old-digital-humanities-projects/</guid>
				<description>&lt;style type=&#34;text/css&#34;&gt;&#xA;  &#x9;&#xA;  &#x9;p{&#xA;  &#x9;&#x9;font-size: 1.5em;&#xA;  &#x9;&#x9;margin-bottom: 2em;&#xA;  &#x9;}&#xA;&#x9;@keyframes float {&#xA;&#x9;&#x9;0% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;50% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(-20px);&#xA;&#x9;&#x9;}&#xA;&#x9;&#x9;100% {&#xA;&#x9;&#x9;&#x9;&#xA;&#x9;&#x9;&#x9;transform: translatey(0px);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA; &#x9;&#xA;&#xA;  &lt;/style&gt;&#xA;  &lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&lt;h1 class=&#34;is-size-1&#34;&gt;Repotting Old Digital Humanities Projects&lt;/h1&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-3 has-text-grey&#34;&gt;Two Test Cases&lt;/h2&gt;&#xA;&#x9;      &#x9;&lt;h2 class=&#34;is-size-5 has-text-grey&#34;&gt;Jan 31 2020&lt;/h2&gt;&#xA;&#xA;&#xA;&#x9;    &lt;/div&gt;&#xA;&#x9;&#x9;&lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:left;&#34;&gt;&#xA;&#x9;      &#x9;&#xA;&#x9;      &#x9;&#x9;&lt;img class=&#34;doodle-mono-right-header&#34; src=&#34;https://thisismattmiller.com/img/post_repot_header.png&#34; alt=&#34;drawing of a flower pot with a computer growing&#34;/&gt;&#xA;&#x9;    &lt;/div&gt;&#xA;&#xA;&#x9;&lt;/div&gt;&#xA;&#x9;&lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;&#x9;&#x9;&lt;div class=&#34;column&#34; style=&#34;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;Knowing how to stop doing things is an important skill to learn. Kind of like learning to say no to things when you don’t have the capacity to do them. I&#39;ve seen requirements around sustainability and sunsetting, that is how to wind down or retire a project become more prevalent on grant applications and funding processes. I&#39;ve also seen sunsetting become more of a topic around digital humanities and cultural heritage projects. For example this presentation and site by &lt;a href=&#34;https://ronallo.com/presentations/sunsetting-cni&#34;&gt;Jason Ronallo and Bret Davidson&lt;/a&gt; looking at why and how you might sunset an institutional website. &lt;/p&gt;</description>
			</item>
			<item>
				<title>About</title>
				<link>https://thisismattmiller.com/about/</link>
				<pubDate>Wed, 09 Apr 2014 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/about/</guid>
				<description>&lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;      &lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:right;&#34;&gt;&#xA;      &#x9;&#xA;      &#x9;&#x9;&lt;img style=&#34;width:75%;&#34; src=&#34;https://thisismattmiller.com/img/meeeeee.jpg&#34; alt=&#34;its a mee matt&#34;/&gt;&#xA;      &#x9;&#xA;&#xA;      &lt;/div&gt;&#xA;      &lt;div class=&#34;column is-one-half&#34; style=&#34;padding-top:1.5em;&#34;&gt;&#xA;      &#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;Hi there. I’m a librarian, researcher and developer. I work with cultural heritage organizations to build and implement technology solutions with an emphasis on metadata. My research focuses on linked open data, knowledge organization and data visualization. &#xA;&#x9;&#x9;&#x9;&lt;/p&gt;&#xA;&#x9;&#x9;&#x9;&lt;br/&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;Quick Bio:&lt;br/&gt;&#xA;&#x9;&#x9;&#x9;I work for the Library of Congress helping with &lt;a href=&#34;http://id.loc.gov&#34;&gt;id.loc.gov&lt;/a&gt; and the &lt;a href=&#34;https://www.loc.gov/bibframe/&#34;&gt;Bibframe&lt;/a&gt; initiative.&#xA;&#x9;&#x9;&#x9;I previously worked for &lt;a href=&#34;https://www.nypl.org/collections/labs&#34;&gt;NYPL Labs&lt;/a&gt; and was a 2017 fellow at &lt;a href=&#34;https://lil.law.harvard.edu/&#34;&gt;Harvard’s Library Innovation Lab&lt;/a&gt;.&#xA;&#x9;&#x9;&#x9;I’m an adjunct at Pratt Institute and co-direct the &lt;a href=&#34;https://semlab.io/&#34;&gt;Semantic Lab&lt;/a&gt; research group.&#xA;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>BLOG_TITLE</title>
				<link>https://thisismattmiller.com/blog_template/</link>
				<pubDate>Wed, 09 Apr 2014 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/blog_template/</guid>
				<description>&lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;      &lt;!-- &#xA;      &lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:right;&#34;&gt;&#xA;      &#x9;&#xA;      &#x9;&#x9;&lt;img style=&#34;width:75%;&#34; src=&#34;https://thisismattmiller.com/img/meeeeee.jpg&#34; alt=&#34;its a mee matt&#34;/&gt;&#xA;      &#x9;&#xA;&#xA;      &lt;/div&gt;&#xA;      &lt;div class=&#34;column is-one-half&#34; style=&#34;padding-top:1.5em;&#34;&gt;&#xA;      &#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;Hi there. I’m a librarian, researcher and developer. I work with cultural heritage organizations to build and implement technology solutions with an emphasis on metadata. My research focuses on linked open data, knowledge organization and data visualization. &#xA;&#x9;&#x9;&#x9;&lt;/p&gt;&#xA;&#x9;&#x9;&#x9;&lt;br/&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;Quick Bio:&lt;br/&gt;&#xA;&#x9;&#x9;&#x9;I work for the Library of Congress helping with &lt;a href=&#34;http://id.loc.gov&#34;&gt;id.loc.gov&lt;/a&gt; and the &lt;a href=&#34;https://www.loc.gov/bibframe/&#34;&gt;Bibframe&lt;/a&gt; initiative.&#xA;&#x9;&#x9;&#x9;I previously worked for &lt;a href=&#34;https://www.nypl.org/collections/labs&#34;&gt;NYPL Labs&lt;/a&gt; and was a 2017 fellow at &lt;a href=&#34;https://lil.law.harvard.edu/&#34;&gt;Harvard’s Library Innovation Lab&lt;/a&gt;.&#xA;&#x9;&#x9;&#x9;I’m an adjunct at Pratt Institute and co-direct the &lt;a href=&#34;https://semlab.io/&#34;&gt;Semantic Lab&lt;/a&gt; research group.&#xA;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
			<item>
				<title>BLOG_TITLE</title>
				<link>https://thisismattmiller.com/repotting_dh/</link>
				<pubDate>Wed, 09 Apr 2014 00:00:00 +0000</pubDate>
				<guid>https://thisismattmiller.com/repotting_dh/</guid>
				<description>&lt;div class=&#34;container&#34;&gt;&#xA;&#xA;&#xA;    &lt;div class=&#34;columns&#34;&gt;&#xA;&#xA;      &lt;!-- &#xA;      &lt;div class=&#34;column is-one-half&#34; style=&#34;text-align:right;&#34;&gt;&#xA;      &#x9;&#xA;      &#x9;&#x9;&lt;img style=&#34;width:75%;&#34; src=&#34;https://thisismattmiller.com/img/meeeeee.jpg&#34; alt=&#34;its a mee matt&#34;/&gt;&#xA;      &#x9;&#xA;&#xA;      &lt;/div&gt;&#xA;      &lt;div class=&#34;column is-one-half&#34; style=&#34;padding-top:1.5em;&#34;&gt;&#xA;      &#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;Hi there. I’m a librarian, researcher and developer. I work with cultural heritage organizations to build and implement technology solutions with an emphasis on metadata. My research focuses on linked open data, knowledge organization and data visualization. &#xA;&#x9;&#x9;&#x9;&lt;/p&gt;&#xA;&#x9;&#x9;&#x9;&lt;br/&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;&#xA;&#x9;&#x9;&#x9;Quick Bio:&lt;br/&gt;&#xA;&#x9;&#x9;&#x9;I work for the Library of Congress helping with &lt;a href=&#34;http://id.loc.gov&#34;&gt;id.loc.gov&lt;/a&gt; and the &lt;a href=&#34;https://www.loc.gov/bibframe/&#34;&gt;Bibframe&lt;/a&gt; initiative.&#xA;&#x9;&#x9;&#x9;I previously worked for &lt;a href=&#34;https://www.nypl.org/collections/labs&#34;&gt;NYPL Labs&lt;/a&gt; and was a 2017 fellow at &lt;a href=&#34;https://lil.law.harvard.edu/&#34;&gt;Harvard’s Library Innovation Lab&lt;/a&gt;.&#xA;&#x9;&#x9;&#x9;I’m an adjunct at Pratt Institute and co-direct the &lt;a href=&#34;https://semlab.io/&#34;&gt;Semantic Lab&lt;/a&gt; research group.&#xA;&#x9;&#x9;&#x9;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
