<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>patorjk.com/blog</title>
	<atom:link href="http://patorjk.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>https://patorjk.com/blog</link>
	<description>web apps, programming talk, and random thoughts</description>
	<lastBuildDate>Mon, 27 Apr 2026 18:47:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://patorjk.com/blog/wp-content/uploads/2025/09/cropped-candy-32x32.png</url>
	<title>patorjk.com/blog</title>
	<link>https://patorjk.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Image Generation Loss Experiments</title>
		<link>https://patorjk.com/blog/2026/04/27/image-generation-loss-experiments/</link>
					<comments>https://patorjk.com/blog/2026/04/27/image-generation-loss-experiments/#respond</comments>
		
		<dc:creator><![CDATA[patorjk]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 18:20:27 +0000</pubDate>
				<category><![CDATA[YouTube]]></category>
		<guid isPermaLink="false">https://patorjk.com/blog/?p=3843</guid>

					<description><![CDATA[I keep a running list of random ideas in a gmail draft. Whenever I think of something mildly interesting, I jot it down so I can revisit it later. Most of the ideas aren&#8217;t very good, but every so often there&#8217;s a gem. Lately I&#8217;ve been working through some of them with Claude Code*, which &#8230; <a href="https://patorjk.com/blog/2026/04/27/image-generation-loss-experiments/" class="more-link">Continue reading <span class="screen-reader-text">Image Generation Loss Experiments</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I keep a running list of random ideas in a gmail draft. Whenever I think of something mildly interesting, I jot it down so I can revisit it later. Most of the ideas aren&#8217;t very good, but every so often there&#8217;s a gem. Lately I&#8217;ve been working through some of them with Claude Code*, which is great for prototyping and quickly killing the ones that don&#8217;t pan out.</p>



<p class="wp-block-paragraph">One idea on the list was JPEG generation loss. I&#8217;d seen a few demos years ago and thought they were fascinating. Claude told me it was a good idea and that I&#8217;d see the image decay with each save. That sounded good to me so I asked it to create a script, but it didn&#8217;t work. There was no obvious generation loss, even after 1000 saves. However, I remembered seeing demos showing jpegs disintegrating, so rather than dismiss the idea like I&nbsp;had others from the list, I tried making a script by hand, but that also didn&#8217;t produce the expected results. Then I tried making a Photoshop plugin (maybe there was something wrong with the libraries I was using?). But that also didn&#8217;t work.</p>



<p class="wp-block-paragraph">Finally, out of frustration, I went back and found and rewatched the old demos that had originally piqued my interest, and I noticed they were randomizing the quality setting between saves. Changing the quality changes the quantization table, so that forces the data to be crunched differently between each save, which is what was causes the generation loss. The other demo I remembered wasn&#8217;t doing this, but there was someone in the comments saying that the generation loss shouldn&#8217;t occur (jpegs stabilize fairly quickly after repeated saves), which matched up with what I was seeing.</p>



<p class="wp-block-paragraph">I didn&#8217;t find the idea of randomizing the quality to be very interesting (even if the effect was cool), so I decided to just start messing around. One idea that led to really cool results was saving an image as a jpeg, then as a lossy webp, then as a lossy avif, and then just repeating this. The image ended up melting into a magenta soup. Once I saw that, I felt I had something neat enough to be worth sharing. I made a short little video on it, you can see it below if you&#8217;re interested.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="What If You Repeatedly Save an Image as a JPEG, then WebP, then Avif?" width="474" height="267" src="https://www.youtube.com/embed/KuKoKeaOVnw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">If you enjoy it, a like helps more than you&#8217;d think. And if you want to play with the script yourself, I&#8217;ve put it on GitHub: <a href="https://github.com/patorjk/image-generation-loss">https://github.com/patorjk/image-generation-loss</a>&nbsp;</p>



<p class="wp-block-paragraph">* I may talk more about this later. I&#8217;m still pretty new to this and am probably&nbsp;behind the curve.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://patorjk.com/blog/2026/04/27/image-generation-loss-experiments/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Chromostereopsis</title>
		<link>https://patorjk.com/blog/2026/03/20/chromostereopsis/</link>
					<comments>https://patorjk.com/blog/2026/03/20/chromostereopsis/#comments</comments>
		
		<dc:creator><![CDATA[patorjk]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 03:51:48 +0000</pubDate>
				<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[YouTube]]></category>
		<guid isPermaLink="false">https://patorjk.com/blog/?p=3836</guid>

					<description><![CDATA[Chromostereopsis is an optical illusion most people experience where red appears closer than blue. Most of the time your brain corrects for it, but you can trigger the effect with certain types of images. I made a game of Lights Out around the illusion, which is a game where you try and turn off all &#8230; <a href="https://patorjk.com/blog/2026/03/20/chromostereopsis/" class="more-link">Continue reading <span class="screen-reader-text">Chromostereopsis</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Chromostereopsis is an optical illusion most people experience where red appears closer than blue. Most of the time your brain corrects for it, but you can trigger the effect with certain types of images. I made a game of <a href="https://patorjk.com/games/chromostereopsis-lights-out/">Lights Out</a> around the illusion, which is a game where you try and turn off all of the squares by clicking them. To me it looks like the squares get pushed back, it&#8217;s kind of trippy. Though the effect is stronger for people with glasses that correct for myopia, which I wear.</p>



<p class="wp-block-paragraph">The idea to experiment with the effect came to me back in December, when Loic Cressot (author of a few FIGlet fonts) emailed me with the idea to add a chromostereopsis filter to <a href="https://patorjk.com/software/taag/">TAAG</a>. I did so and I think it makes for a neat output, though in practice I&#8217;m not sure how useful this will be.</p>



<figure class="wp-block-image size-full"><a href="https://patorjk.com/blog/wp-content/uploads/2026/03/chromostereopsis.png"><img fetchpriority="high" decoding="async" width="1920" height="1080" src="https://patorjk.com/blog/wp-content/uploads/2026/03/chromostereopsis.png" alt="" class="wp-image-3838" srcset="https://patorjk.com/blog/wp-content/uploads/2026/03/chromostereopsis.png 1920w, https://patorjk.com/blog/wp-content/uploads/2026/03/chromostereopsis-300x169.png 300w, https://patorjk.com/blog/wp-content/uploads/2026/03/chromostereopsis-1024x576.png 1024w, https://patorjk.com/blog/wp-content/uploads/2026/03/chromostereopsis-768x432.png 768w, https://patorjk.com/blog/wp-content/uploads/2026/03/chromostereopsis-1536x864.png 1536w" sizes="(max-width: 1920px) 100vw, 1920px" /></a></figure>



<p class="wp-block-paragraph">I also thought it could make for a fun youtube video topic. At the time I was working on the <a href="https://patorjk.com/image-glitcher/">Image Glitcher</a> stuff, but figured I would circle back to it. You can check out the video below.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Illusion: Why Does Red Look Closer Than Blue? (Chromostereopsis Effect)" width="474" height="267" src="https://www.youtube.com/embed/udpEnJXVWEk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">The video isn&#8217;t really computer science related and I was worried it might flop with my audience. I was also a little worried about how it would do since it seems like around 30% of people don&#8217;t experience this illusion. </p>



<p class="wp-block-paragraph">It seems to have done fine though. However, the most popular aspect seems to be the game of Lights Out that I created using the effect. I kind of wish I&#8217;d lead with that. When constructing the script, I had no idea where to place that part, so I just stuck it at the end.  </p>



<p class="wp-block-paragraph">Anyway, if you like it please give it a like or a hype! It definitely helps with the algorithm. </p>
]]></content:encoded>
					
					<wfw:commentRss>https://patorjk.com/blog/2026/03/20/chromostereopsis/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Breaking PNG Files</title>
		<link>https://patorjk.com/blog/2026/02/11/breaking-png-files/</link>
					<comments>https://patorjk.com/blog/2026/02/11/breaking-png-files/#comments</comments>
		
		<dc:creator><![CDATA[patorjk]]></dc:creator>
		<pubDate>Thu, 12 Feb 2026 02:53:53 +0000</pubDate>
				<category><![CDATA[YouTube]]></category>
		<guid isPermaLink="false">https://patorjk.com/blog/?p=3787</guid>

					<description><![CDATA[New video! This one is sort of a follow-up to my last video, though this time I explore breaking PNG files. This topic proved to be a bit more complex than the last one, and one negative is that the coolest stuff is at the end of the video, which most viewers won&#8217;t see. Essentially, &#8230; <a href="https://patorjk.com/blog/2026/02/11/breaking-png-files/" class="more-link">Continue reading <span class="screen-reader-text">Breaking PNG Files</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="What&#039;s the Best Way to Destroy a PNG File?" width="474" height="267" src="https://www.youtube.com/embed/HTBgJanQKrA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">New video! This one is sort of a follow-up to my last video, though this time I explore breaking PNG files. </p>



<p class="wp-block-paragraph">This topic proved to be a bit more complex than the last one, and one negative is that the coolest stuff is at the end of the video, which most viewers won&#8217;t see. Essentially, you can create &#8220;fake&#8221; or &#8220;custom&#8221; filters and see what errors/glitches look like by re-encoding the glitched data back into scan line space and then re-encoding it using a real PNG filter. If what I just said made no sense, well, that&#8217;s why it&#8217;s near the end of the video. But below I&#8217;ll share a few images from my favorite custom filter.</p>



<figure class="wp-block-image size-large"><a href="https://patorjk.com/blog/wp-content/uploads/2026/02/image-5-1.png"><img loading="lazy" decoding="async" width="1024" height="683" src="https://patorjk.com/blog/wp-content/uploads/2026/02/image-5-1-1024x683.png" alt="" class="wp-image-3789" srcset="https://patorjk.com/blog/wp-content/uploads/2026/02/image-5-1-1024x683.png 1024w, https://patorjk.com/blog/wp-content/uploads/2026/02/image-5-1-300x200.png 300w, https://patorjk.com/blog/wp-content/uploads/2026/02/image-5-1-768x512.png 768w, https://patorjk.com/blog/wp-content/uploads/2026/02/image-5-1-1536x1024.png 1536w, https://patorjk.com/blog/wp-content/uploads/2026/02/image-5-1.png 2047w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://patorjk.com/blog/wp-content/uploads/2026/02/xor.png"><img loading="lazy" decoding="async" width="1024" height="576" src="https://patorjk.com/blog/wp-content/uploads/2026/02/xor-1024x576.png" alt="" class="wp-image-3790" srcset="https://patorjk.com/blog/wp-content/uploads/2026/02/xor-1024x576.png 1024w, https://patorjk.com/blog/wp-content/uploads/2026/02/xor-300x169.png 300w, https://patorjk.com/blog/wp-content/uploads/2026/02/xor-768x432.png 768w, https://patorjk.com/blog/wp-content/uploads/2026/02/xor-1536x864.png 1536w, https://patorjk.com/blog/wp-content/uploads/2026/02/xor-600x338.png 600w, https://patorjk.com/blog/wp-content/uploads/2026/02/xor.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Those don&#8217;t even look like images with glitches to me. They look like images that have had paint splatted on them. And the fact that you can create any filter you want and glitch it is really fascinating. It feels like there&#8217;s so much that could be explored here.</p>



<p class="wp-block-paragraph">Another topic near the end of the video is glitched animated PNG files. Most people probably don&#8217;t even know that animated PNGs are a thing, but they&#8217;ve had full browser support since 2020. They weren&#8217;t officially recommended by the W3C until last year though. Apparently the PNG Development Group didn&#8217;t want animation to be part of the spec (until recently). However, I think it&#8217;s a big win for PNGs to support animation. They&#8217;re smaller, support more colors, and have better transparency support. Plus, they look cool when they&#8217;re glitched:</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="https://patorjk.com/blog/wp-content/uploads/2026/02/head.png"><img loading="lazy" decoding="async" width="700" height="719" data-id="3791" src="https://patorjk.com/blog/wp-content/uploads/2026/02/head.png" alt="" class="wp-image-3791" srcset="https://patorjk.com/blog/wp-content/uploads/2026/02/head.png 700w, https://patorjk.com/blog/wp-content/uploads/2026/02/head-292x300.png 292w" sizes="auto, (max-width: 700px) 100vw, 700px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://patorjk.com/blog/wp-content/uploads/2026/02/head-glitched.png"><img loading="lazy" decoding="async" width="700" height="719" data-id="3792" src="https://patorjk.com/blog/wp-content/uploads/2026/02/head-glitched.png" alt="" class="wp-image-3792" srcset="https://patorjk.com/blog/wp-content/uploads/2026/02/head-glitched.png 700w, https://patorjk.com/blog/wp-content/uploads/2026/02/head-glitched-292x300.png 292w" sizes="auto, (max-width: 700px) 100vw, 700px" /></a></figure>
</figure>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="https://patorjk.com/blog/wp-content/uploads/2026/02/elmo-1.png"><img loading="lazy" decoding="async" width="400" height="300" data-id="3796" src="https://patorjk.com/blog/wp-content/uploads/2026/02/elmo-1.png" alt="" class="wp-image-3796" srcset="https://patorjk.com/blog/wp-content/uploads/2026/02/elmo-1.png 400w, https://patorjk.com/blog/wp-content/uploads/2026/02/elmo-1-300x225.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></a></figure>



<figure class="wp-block-image size-large"><a href="https://patorjk.com/blog/wp-content/uploads/2026/02/elmo-glitched-2.png"><img loading="lazy" decoding="async" width="400" height="300" data-id="3797" src="https://patorjk.com/blog/wp-content/uploads/2026/02/elmo-glitched-2.png" alt="" class="wp-image-3797" srcset="https://patorjk.com/blog/wp-content/uploads/2026/02/elmo-glitched-2.png 400w, https://patorjk.com/blog/wp-content/uploads/2026/02/elmo-glitched-2-300x225.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></a></figure>
</figure>



<p class="wp-block-paragraph">Anyway, check out the video if you&#8217;re curious as to how all of the works. If you&#8217;re interested in my inspiration, see <a href="https://ucnv.github.io/pnglitch/">The Art of the PNG Glitch</a>, and if you want to glitch your own images check out my <a href="https://patorjk.com/image-glitcher/">Image Glitcher</a> or <a href="https://github.com/patorjk/png-destruction-animation">this script</a> I created to glitch images (the latter allows for more fine grained control).</p>



<p class="wp-block-paragraph"><strong>2026/02/13 Edit</strong>: Pressing the &#8220;Hype&#8221; button on a video really helps it. If you found this interesting and enjoyed the video, please hype it (the button only appears on mobile)! </p>
]]></content:encoded>
					
					<wfw:commentRss>https://patorjk.com/blog/2026/02/11/breaking-png-files/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Image Glitcher: An online glitch art editor</title>
		<link>https://patorjk.com/blog/2025/12/30/image-glitcher-an-online-glitch-art-editor/</link>
					<comments>https://patorjk.com/blog/2025/12/30/image-glitcher-an-online-glitch-art-editor/#comments</comments>
		
		<dc:creator><![CDATA[patorjk]]></dc:creator>
		<pubDate>Tue, 30 Dec 2025 21:16:31 +0000</pubDate>
				<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[YouTube]]></category>
		<guid isPermaLink="false">https://patorjk.com/blog/?p=3757</guid>

					<description><![CDATA[I&#8217;ve created a new app for this site that allows you to easily create glitch art: Image Glitcher It&#8217;s a simple tool that combines an image preview with a hex editor that has segment highlighting for jpeg images. In the future I hope to support highlighting for other formats too. The idea is that you &#8230; <a href="https://patorjk.com/blog/2025/12/30/image-glitcher-an-online-glitch-art-editor/" class="more-link">Continue reading <span class="screen-reader-text">Image Glitcher: An online glitch art editor</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I&#8217;ve created a new app for this site that allows you to easily create glitch art: <a href="https://patorjk.com/image-glitcher/">Image Glitcher</a></p>



<p class="wp-block-paragraph">It&#8217;s a simple tool that combines an image preview with a hex editor that has segment highlighting for jpeg images. In the future I hope to support highlighting for other formats too. The idea is that you can more intelligently make glitches in an image file when you know what you&#8217;re editing.</p>



<p class="wp-block-paragraph">I created a short video about the tool framed around the idea of what happens when you edit a jpeg in a text editor. You can watch the video below.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="What Happens if You Edit a JPEG With a Text Editor?" width="474" height="267" src="https://www.youtube.com/embed/7aWFHn1wS1U?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">This video was a lot of fun to research. Weirdly the research phase has consistently been the most fun part of the video making process. Originally I was going to cover all of the main image formats in this video (jpeg, png, bmp, gif), but jpegs wound up being much more complex than I anticipated. </p>



<p class="wp-block-paragraph">There&#8217;s also a lot of weirdness with the file type that I opted not to cover in the video (I wanted to keep things focused). For example, you&#8217;ll often hear that jpeg&#8217;s use the YCbCr color model (basically luminance + color), but that&#8217;s not mandated by the spec. It&#8217;s actually color space agnostic. You can actually create a jpeg where it internally stores the data as RGB values (though jpegs usually store the data in YCbCr). </p>



<p class="wp-block-paragraph">You&#8217;ll also often read that the two most popular formats of jpeg &#8211; JFIF and EXIF &#8211; are incompatible with each other. This seemed really confusing to me until I saw the color coded segments in the editor. JFIF is determined by a JFIF APP segment following the SOI marker, and EXIF is determined by an EXIF APP segment following the SOI marker. Jpeg parsers should have little issue differentiating them. Though possibly even stranger, you don&#8217;t even need this segment in a jpeg. Wikipedia often strips it out. </p>



<p class="wp-block-paragraph">Anyway, there&#8217;s a lot of random info I left on the cutting room floor. Maybe one day I&#8217;ll work it into something else.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://patorjk.com/blog/2025/12/30/image-glitcher-an-online-glitch-art-editor/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>What happens if you blur and sharpen and image 1000 times?</title>
		<link>https://patorjk.com/blog/2025/11/02/what-happens-if-you-blur-and-sharpen-and-image-1000-times/</link>
					<comments>https://patorjk.com/blog/2025/11/02/what-happens-if-you-blur-and-sharpen-and-image-1000-times/#comments</comments>
		
		<dc:creator><![CDATA[patorjk]]></dc:creator>
		<pubDate>Sun, 02 Nov 2025 21:03:54 +0000</pubDate>
				<category><![CDATA[YouTube]]></category>
		<guid isPermaLink="false">https://patorjk.com/blog/?p=3754</guid>

					<description><![CDATA[I made a new YouTube video! This one is doing better than usual. I think I may have finally found my groove, though I have no idea what I&#8217;ll do for my next video. Amusingly this came about kind of quickly and kind of randomly. I wasn&#8217;t planning on making a video, I just went &#8230; <a href="https://patorjk.com/blog/2025/11/02/what-happens-if-you-blur-and-sharpen-and-image-1000-times/" class="more-link">Continue reading <span class="screen-reader-text">What happens if you blur and sharpen and image 1000 times?</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="What Happens if You Blur and Sharpen an Image 1000 Times?" width="474" height="267" src="https://www.youtube.com/embed/7oCtDGOSgG8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">I made a new YouTube video! This one is doing better than usual. I think I may have finally found my groove, though I have no idea what I&#8217;ll do for my next video. Amusingly this came about kind of quickly and kind of randomly. I wasn&#8217;t planning on making a video, I just went down this weird rabbit hole when I noticed this effect, and wound up learning about (spoiler alert) Turing Patterns. There&#8217;s a lot more that can be said about reaction-diffusion but I wanted to keep the video high level and light. It&#8217;s just a cool effect that has a neat underlying mechanism.</p>



<p class="wp-block-paragraph">I&#8217;ve made available the accompanying <a href="https://patorjk.com/blur-sharpen-repeat/">web app</a> and <a href="https://github.com/patorjk/video-to-turing-pattern">video generator</a> I created to make the effects in the video. Had I known people would ask for them I probably would have done them in a different language, as JavaScript is really, really slow for this kind of stuff. However, it&#8217;s the language I&#8217;m most comfortable in and I was able to bang it out really quickly (you may notice that web app is just a hollowed out version of the <a href="https://patorjk.com/color-palette-generator/">Color Palette Generator</a> I showed off a few weeks ago). </p>
]]></content:encoded>
					
					<wfw:commentRss>https://patorjk.com/blog/2025/11/02/what-happens-if-you-blur-and-sharpen-and-image-1000-times/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>My new 404 page lets you set it on fire</title>
		<link>https://patorjk.com/blog/2025/10/12/my-new-404-page-lets-you-set-it-on-fire/</link>
					<comments>https://patorjk.com/blog/2025/10/12/my-new-404-page-lets-you-set-it-on-fire/#comments</comments>
		
		<dc:creator><![CDATA[patorjk]]></dc:creator>
		<pubDate>Sun, 12 Oct 2025 16:46:41 +0000</pubDate>
				<category><![CDATA[YouTube]]></category>
		<guid isPermaLink="false">https://patorjk.com/blog/?p=3750</guid>

					<description><![CDATA[The video does a pretty good job going over the new 404 page. I actually wasn&#8217;t planning on updating the 404 page. What happened is I wanted to create a &#8220;Fire&#8221; filter for the TAAG app, and while looking into how to create a pixelated fire texture I stumbled upon the Doom Fire algorithm. It &#8230; <a href="https://patorjk.com/blog/2025/10/12/my-new-404-page-lets-you-set-it-on-fire/" class="more-link">Continue reading <span class="screen-reader-text">My new 404 page lets you set it on fire</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="This 404 Page Let&#039;s You Set it on Fire" width="474" height="267" src="https://www.youtube.com/embed/MS9I97-nbTM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">The video does a pretty good job going over the new <a href="https://patorjk.com/404-fire-page/">404 page</a>. I actually wasn&#8217;t planning on updating the 404 page. What happened is I wanted to create a &#8220;Fire&#8221; filter for the <a href="https://patorjk.com/software/taag">TAAG</a> app, and while looking into how to create a pixelated fire texture I stumbled upon the Doom Fire algorithm. It was simple yet produced such a cool result &#8211; I felt I had to do something with it, and that&#8217;s when the idea of re-doing the 404 page came to mind. I&#8217;m now kind of debating even making a separate app just for burning text or other things, as it&#8217;s weirdly kind of fun.</p>



<p class="wp-block-paragraph">Anyway, if you like the video please leave it a like / comment / etc!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://patorjk.com/blog/2025/10/12/my-new-404-page-lets-you-set-it-on-fire/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>patorjk.com Overhaul: Phase 1</title>
		<link>https://patorjk.com/blog/2025/09/30/patorjk-com-overhaul-phase-1/</link>
					<comments>https://patorjk.com/blog/2025/09/30/patorjk-com-overhaul-phase-1/#respond</comments>
		
		<dc:creator><![CDATA[patorjk]]></dc:creator>
		<pubDate>Tue, 30 Sep 2025 17:57:57 +0000</pubDate>
				<category><![CDATA[General News]]></category>
		<guid isPermaLink="false">https://patorjk.com/blog/?p=3742</guid>

					<description><![CDATA[After recently redoing my Arial ASCII Art Gallery and TAAG app, I&#8217;ve decided to keep the momentum going and refurbish other areas of this site. For various reasons (young kids, work, photography, other commitments), I&#8217;ve let this site languish over the last several years. While it&#8217;s interesting as a time capsule, I&#8217;d prefer to have &#8230; <a href="https://patorjk.com/blog/2025/09/30/patorjk-com-overhaul-phase-1/" class="more-link">Continue reading <span class="screen-reader-text">patorjk.com Overhaul: Phase 1</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">After recently redoing my <a href="https://patorjk.com/arial-ascii-art/" data-type="link" data-id="https://patorjk.com/arial-ascii-art/">Arial ASCII Art Gallery</a> and <a href="https://patorjk.com/software/taag/">TAAG app</a>, I&#8217;ve decided to keep the momentum going and refurbish other areas of this site. For various reasons (young kids, work, photography, other commitments), I&#8217;ve let this site languish over the last several years. While it&#8217;s interesting as a time capsule, I&#8217;d prefer to have something up that people actually find useful. Here&#8217;s what I&#8217;ve been working on:</p>



<h2 class="wp-block-heading">Main Page</h2>



<p class="wp-block-paragraph">I&#8217;ve created a new <a href="https://patorjk.com/">main page</a>. If you&#8217;re on desktop you&#8217;ll see the spotlight effect from my <a href="https://patorjk.com/blog/2022/12/10/just-in-time-for-christmas-its-react-halloween/" data-type="link" data-id="https://patorjk.com/blog/2022/12/10/just-in-time-for-christmas-its-react-halloween/">react-halloween library</a>, but otherwise it&#8217;s just a simple directory listing of the main content on this site. The previous main page wasn&#8217;t bad, but I wanted something cleaner looking that I could expand upon later with fun ideas (like the spotlight effect).</p>



<h2 class="wp-block-heading">Color Palette Generator</h2>



<p class="wp-block-paragraph">The <a href="https://www.patorjk.com/color-palette-generator/" data-type="link" data-id="https://www.patorjk.com/color-palette-generator/">Color Palette Generator</a> has undergone a makeover. This was one of the oldest apps on the site. It allows you to generate a color palette from an image, which can be useful when designing a website or creating artwork.</p>



<p class="wp-block-paragraph">I wrote the app in 2008, then updated it in 2010 to add the &#8220;<a href="https://patorjk.com/blog/2010/06/24/muller-images-experiment/" data-type="link" data-id="https://patorjk.com/blog/2010/06/24/muller-images-experiment/">Muller Colors</a>&#8221; palette option. There are now countless apps on the internet like this, but I was partial towards mine ever since a rug website reached out years ago to get access to the underlying algorithm. Apparently they had tested many palette generators, and my algorithm worked best for their rugs.</p>



<p class="wp-block-paragraph">The app was in desperate need of a makeover, so I&#8217;ve modernized its design. I&#8217;m unsure how much more work to put into this since there are now so many similar apps, but I may add some additional palette generation algorithms in the future.</p>



<h2 class="wp-block-heading">Chain Letter Archive</h2>



<p class="wp-block-paragraph">I&#8217;m a collector of things, and in the 90&#8217;s I started a chain letter collection. A handful of the funny ones made their way to this website, but their organization was never very clear and their format was unsuitable for mobile devices. So I made a <a href="https://patorjk.com/misc/chainletters/" data-type="link" data-id="https://patorjk.com/misc/chainletters/">dedicated page</a> that explains what they are and why they&#8217;re here. I also reformatted them so they can easily be read on small screens.</p>



<p class="wp-block-paragraph">The HTML of some of these letters was copied directly from AOL emails, so it was full of mismatched and deprecated tags (like FONT). Clean-up was a daunting task, so for three of the letters I decided to use AI to clean up the HTML and put them in a more responsive format. Surprisingly, the AI didn&#8217;t like the content of these emails. In some cases it even refused to translate them, and in others it censored or rewrote the jokes. It was kind of fascinating.</p>



<p class="wp-block-paragraph">As an aside, I&#8217;ve debated removing these letters from the site since they&#8217;re a little embarrassing. I was a teen when I collected them, and the humor is pretty juvenile. But chain letters were a part of the early internet—I think they were the first kind of content to go viral—and they&#8217;ve basically disappeared from the web. I don&#8217;t think the ones I have collected here are available anywhere else. At the very least, they&#8217;re an interesting time capsule showing what viral content looked like 30 years ago.</p>



<h2 class="wp-block-heading">Facebook Like Buttons</h2>



<p class="wp-block-paragraph">I went through a phase 10-15 years ago where I was putting &#8220;like&#8221; and &#8220;share&#8221; buttons from third-party sites like Facebook on pieces of content. Kind of hilariously, I discovered that the Facebook Like buttons on this site displayed a like count but no longer worked. Somewhere along the line they became frozen in time, I&#8217;m guessing they required a code update or something. Whatever the case, I removed them. I did leave the X/Twitter buttons since they still work and appear to be occasionally used. I may eventually remove those too though, as third-party APIs inevitably break.</p>



<h2 class="wp-block-heading">What&#8217;s Next?</h2>



<p class="wp-block-paragraph">I plan to update some of the older and lesser-viewed sections on this site. There&#8217;s definitely content that needs a facelift. I&#8217;ll probably avoid updating stuff that gets decent traffic though, since I don&#8217;t want to mess with something people are actively using and create unnecessary angst.</p>



<p class="wp-block-paragraph">If you&#8217;ve got suggestions for improvements or notice anything broken, feel free to reach out. In the meantime, check out the updates and let me know what you think!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://patorjk.com/blog/2025/09/30/patorjk-com-overhaul-phase-1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Text to ASCII Art Generator: Version 3.0</title>
		<link>https://patorjk.com/blog/2025/09/23/text-to-ascii-art-generator-version-3-0/</link>
					<comments>https://patorjk.com/blog/2025/09/23/text-to-ascii-art-generator-version-3-0/#comments</comments>
		
		<dc:creator><![CDATA[patorjk]]></dc:creator>
		<pubDate>Tue, 23 Sep 2025 19:38:43 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[TypeScript]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Web Development]]></category>
		<guid isPermaLink="false">https://patorjk.com/blog/?p=3735</guid>

					<description><![CDATA[Last month I silently released a new version of my Text to ASCII Art Generator (TAAG) app, along with a new TypeScript version of its underlying library. For those of you who are unfamiliar, TAAG is an app that takes in text and turns it into ASCII art. For this latest update I decided to &#8230; <a href="https://patorjk.com/blog/2025/09/23/text-to-ascii-art-generator-version-3-0/" class="more-link">Continue reading <span class="screen-reader-text">Text to ASCII Art Generator: Version 3.0</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Last month I silently released a new version of my <a href="https://patorjk.com/software/taag/">Text to ASCII Art Generator (TAAG)</a> app, along with a new TypeScript version of its <a href="https://github.com/patorjk/figlet.js">underlying library</a>. For those of you who are unfamiliar, TAAG is an app that takes in text and turns it into ASCII art. For this latest update I decided to go with a silent release because I wasn&#8217;t sure when I&#8217;d be done re-writing the app. In fact, I still have several updates I want to do to it, but I feel like it&#8217;s in a complete enough state to blog about.</p>



<p class="wp-block-paragraph">TAAG was originally written <a href="https://patorjk.com/blog/2007/05/08/new-program-to-appear-this-friday/">back in 2007</a>, when I was re-learning JavaScript. For the most part, the original app did what it needed to do, and prior to this latest rewrite, it hadn&#8217;t undergone any major changes since 2012.</p>



<p class="wp-block-paragraph">So&#8230; if the old app was fine, why rewrite it? Well, there were two underlying reasons:</p>



<ul class="wp-block-list">
<li>I wanted to modernize the code base to make it more maintainable.</li>



<li>There were a handful of minor features I wanted to add that weren&#8217;t really possible with the app&#8217;s ancient code base (ex: better Test All page, searchable selects, dark theme). </li>
</ul>



<p class="wp-block-paragraph">However, I didn&#8217;t want to make any drastic changes. I wanted to maintain the same feel as the old version. For the most part I think I was successful, though I did receive one email bemoaning the changes since they really liked the retro feel of the old version. However, I think the more polished version will be better for the site in the long term.&nbsp;</p>



<h2 class="wp-block-heading">Modernization: TypeScript?</h2>



<p class="wp-block-paragraph">I don&#8217;t think I&#8217;ve discussed my thoughts on JavaScript vs TypeScript publicly&nbsp;before, but I used to be hugely pro-JavaScript. I loved the&nbsp;freedom it gave you, I loved how I could quickly create prototypes, and I loved how versatile&nbsp;it was. However, over the past few years I&#8217;ve had a change of heart. Navigating gigantic JavaScript code bases (100k+ lines) can make you lose your mind. I have a pretty high pain tolerance&nbsp;when it comes to crazy JavaScript code, but in recent years even I have reached my limits.&nbsp;</p>



<p class="wp-block-paragraph">After giving TypeScript another try (I used it years ago and it caused me more problems than it solved), I&#8217;ve found it to be hugely beneficial. It helps catch mistakes that would have gone unnoticed and it makes code easier to understand. I&#8217;ve slowly introduced it at my&nbsp;work, and it&#8217;s now starting to make its&nbsp;way into some of my personal projects.&nbsp;</p>



<h2 class="wp-block-heading">In Conclusion</h2>



<p class="wp-block-paragraph">There&#8217;s something satisfying about taking an 18-year-old app and giving it new life. Hopefully it works the same and feels familiar while being more solid under the hood. I have plans for additional features and improvements, but I wanted to get something out there because I get distracted easily.&nbsp; I hope you like the updated app. If you have any suggestions just let me know in the comments.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://patorjk.com/blog/2025/09/23/text-to-ascii-art-generator-version-3-0/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>New Arial ASCII Art Gallery</title>
		<link>https://patorjk.com/blog/2025/07/30/new-arial-ascii-art-gallery/</link>
					<comments>https://patorjk.com/blog/2025/07/30/new-arial-ascii-art-gallery/#comments</comments>
		
		<dc:creator><![CDATA[patorjk]]></dc:creator>
		<pubDate>Wed, 30 Jul 2025 20:50:19 +0000</pubDate>
				<category><![CDATA[Old School]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[YouTube]]></category>
		<guid isPermaLink="false">https://patorjk.com/blog/?p=3728</guid>

					<description><![CDATA[Years ago I setup an Arial ASCII Art Gallery based on the art I decrypted from Fate Zero, which was a popular prog from the late 90&#8217;s. The ASCII art from that time period is pretty cool and I felt like it deserved a spot on the net to be preserved. However, a lot of &#8230; <a href="https://patorjk.com/blog/2025/07/30/new-arial-ascii-art-gallery/" class="more-link">Continue reading <span class="screen-reader-text">New Arial ASCII Art Gallery</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Years ago I setup an Arial ASCII Art Gallery based on the art I <a href="https://patorjk.com/blog/2012/05/03/cracking-magus-fate-zero-encryption/" data-type="link" data-id="https://patorjk.com/blog/2012/05/03/cracking-magus-fate-zero-encryption/">decrypted from Fate Zero</a>, which was a popular prog from the late 90&#8217;s. The ASCII art from that time period is pretty cool and I felt like it deserved a spot on the net to be preserved. However, a lot of time has passed since then, and that gallery hasn&#8217;t aged well.</p>



<p class="wp-block-paragraph">For one, all the files were encoded in Windows-1251, which is what Windows used prior to moving to unicode. This encoding used a single byte for each character and had a different character mapping. Additionally, sometime between Windows XP and now, Windows changed how it rendered the Arial font, so now many of the pieces looked a little messed up (I think this change was to make it more in-line with how other OSes render Arial).</p>



<p class="wp-block-paragraph">Rather than let the gallery stay by the wayside, I decided to give it a major face-lift. I wrote a script to convert the Windows-1251 encoding to UTF-8, and then spent a minute or two on each piece, fixing any obvious errors. The old gallery still rendered properly on Windows 98, so I used a VM of the site there as a reference to any edits I made.</p>



<p class="wp-block-paragraph">I also decided to over haul the UX. The old gallery required over 500 clicks to see everything, so for the new gallery I decided to put everything on one page. And to ensure good performance, I used virtualization. However, virtualization kind of messes up the browser&#8217;s Ctrl+F find feature, so I decided to write a custom search feature to allow users to search through the art.</p>



<p class="wp-block-paragraph">This is where things got a little hairy though. I thought maybe I could use AI to generate tags for all of the art (my plan was to use IntelliJ&#8217;s AI assistant to comb through the files), but it turns out ASCII art is the kryptonite of LLMs. They have no idea what they&#8217;re looking at and will just hallucinate a response that makes no sense. So I had to settle for a feature that looks at the filename and file contents. However, I thought the hallucinations were kind of interesting and decided to make a short video on the topic:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="AI Analyzes ASCII Art from the 90&#039;s" width="474" height="267" src="https://www.youtube.com/embed/rWtMkoRhm-M?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">Anyway, if you&#8217;re interested in checking it out you can find a link to the new gallery here:<br><a href="https://patorjk.com/arial-ascii-art/">Arial ASCII Art Gallery</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://patorjk.com/blog/2025/07/30/new-arial-ascii-art-gallery/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>And now, 25 years later, version 3.0</title>
		<link>https://patorjk.com/blog/2025/05/25/and-now-25-years-later-version-3-0/</link>
					<comments>https://patorjk.com/blog/2025/05/25/and-now-25-years-later-version-3-0/#respond</comments>
		
		<dc:creator><![CDATA[patorjk]]></dc:creator>
		<pubDate>Mon, 26 May 2025 01:57:00 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[YouTube]]></category>
		<guid isPermaLink="false">https://patorjk.com/blog/?p=3712</guid>

					<description><![CDATA[25 years ago this month I released version 2.0 of my Mosaicer program. Today I release version 3.0. I hadn&#8217;t anticipated waiting 25 years, and I was originally going to do a follow-up much sooner, but when I was originally thinking about a version 3.0 the holder of a patent on photo mosaics was issuing &#8230; <a href="https://patorjk.com/blog/2025/05/25/and-now-25-years-later-version-3-0/" class="more-link">Continue reading <span class="screen-reader-text">And now, 25 years later, version 3.0</span> <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">25 years ago this month I released version 2.0 of my Mosaicer program. Today I release <a href="https://github.com/patorjk/mosaicer" data-type="link" data-id="https://github.com/patorjk/mosaicer">version 3.0</a>. I hadn&#8217;t anticipated waiting 25 years, and I was originally going to do a follow-up much sooner, but when I was originally thinking about a version 3.0 the holder of a patent on photo mosaics was <a href="https://web.archive.org/web/20110718125636/https://www.kirchgessner.net/photo-mosaic.html">issuing cease and desist</a> requests to developers working in the space.</p>



<p class="wp-block-paragraph">I never got a cease and desist for Mosaicer 2.0, but I didn&#8217;t want to bring any extra attention to myself in the off chance I would come onto the patent holder&#8217;s radar. At the time I remember reading through the patent and finding it overly broad, and looking <a href="https://patents.google.com/patent/US6137498A/en">at it again today</a>, I feel the same way. I don&#8217;t see any way to create photo mosaic software without violating Claim 1 in this patent. And the guy who filed the patent wasn&#8217;t even the <a href="https://digitalartform.com/2017/01/05/history-of-photo-mosaics/">first person</a> to make a photo mosaic. The whole thing just seems absurd.</p>



<p class="wp-block-paragraph">But the past is the past. The patent expired in 2017. I could have released a version 3.0 then, but I had moved on by that time and was busy doing other things.</p>



<p class="wp-block-paragraph">I had always wanted to revisit the app though, and a few weeks ago I remembered an idea I had for a photo mosaic app that used an <a href="https://eprints.cs.univie.ac.at/5035/1/2002_-_full_search_content.pdf">FFT block matching algorithm</a>. I had read about it in grad school and always thought it would be a good fit for a photo mosaic program. So I got to work and wrote a new photo mosaic app in Java &#8211; Mosaicer 3.0.</p>



<p class="wp-block-paragraph">However, when I got to the part on writing a tile matcher that used the FFT algorithm I came to the sad realization that it was a poor fit. It did way more calculations than necessary and was more expensive than the standard sum-of-squared-differences calculation. Coming to this realization was a huge bummer, though since I was 90% done at this point, I decided to carry on and just finish up the app.</p>



<p class="wp-block-paragraph">Mosaicer 3.0 isn&#8217;t really anything special &#8211; with the patent having been expired for 8 years now there are a lot of free and commercial options out there. However, one more free photo mosaic app can&#8217;t hurt, and one thing I thought I could provide that seemed to be missing was some good info on how to get images. That&#8217;s actually the hardest part about making a photo mosaic. So I put together a short list of <a href="https://github.com/patorjk/mosaicer?tab=readme-ov-file#where-to-get-images">resources and datasets</a> that one can use when creating mosaics.</p>



<p class="wp-block-paragraph">The albums dataset is especially cool. You can make album covers out of album covers. I made a <a href="https://www.flickr.com/photos/40423570@N07/albums/72177720326356535/">Flickr Gallery</a> of some of my favorites. Below you can see one of Metallica&#8217;s Master of Puppets.</p>



<figure class="wp-block-image size-large"><a href="https://patorjk.com/blog/wp-content/uploads/2025/05/54543496420_a7962c53ae_k.jpg"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://patorjk.com/blog/wp-content/uploads/2025/05/54543496420_a7962c53ae_k-1024x1024.jpg" alt="" class="wp-image-3715" srcset="https://patorjk.com/blog/wp-content/uploads/2025/05/54543496420_a7962c53ae_k-1024x1024.jpg 1024w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543496420_a7962c53ae_k-300x300.jpg 300w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543496420_a7962c53ae_k-150x150.jpg 150w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543496420_a7962c53ae_k-768x768.jpg 768w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543496420_a7962c53ae_k-1536x1536.jpg 1536w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543496420_a7962c53ae_k-810x810.jpg 810w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543496420_a7962c53ae_k.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Another idea I had was making YouTube thumbnails out of YouTube thumbnails. The <a href="https://github.com/yt-dlp/yt-dlp">yt-dlp</a> app allows one to easily get thumbnails, and I was able to make some VSauce thumbnails entirely out of other VSauce thumbnails (example below). The only problem with this idea is that photo mosaics require a lot of images, and most channels don&#8217;t have enough videos. </p>



<figure class="wp-block-image size-large"><a href="https://www.flickr.com/photos/40423570@N07/54543495245/in/album-72177720326356525/"><img loading="lazy" decoding="async" width="1024" height="567" src="https://patorjk.com/blog/wp-content/uploads/2025/05/54543495245_61c3f4a261_k-1024x567.jpg" alt="" class="wp-image-3714" srcset="https://patorjk.com/blog/wp-content/uploads/2025/05/54543495245_61c3f4a261_k-1024x567.jpg 1024w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543495245_61c3f4a261_k-300x166.jpg 300w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543495245_61c3f4a261_k-768x425.jpg 768w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543495245_61c3f4a261_k-1536x850.jpg 1536w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543495245_61c3f4a261_k-672x372.jpg 672w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543495245_61c3f4a261_k-1038x576.jpg 1038w, https://patorjk.com/blog/wp-content/uploads/2025/05/54543495245_61c3f4a261_k.jpg 2047w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Photo Mosaic of VSauce&#8217;s &#8220;Mistakes&#8221; thumbnail, made up of other VSauce thumbnails</figcaption></figure>



<p class="wp-block-paragraph">I&#8217;m not sure if I&#8217;ll continue development on this app, but it&#8217;s been kind of fun to play around with.</p>



<p class="wp-block-paragraph">Lastly, I made a short video on photo mosaics. If you&#8217;re interested you can watch it below.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="I Made an App That Creates Photo Mosaics" width="474" height="267" src="https://www.youtube.com/embed/Fk6DJC0C6jw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://patorjk.com/blog/2025/05/25/and-now-25-years-later-version-3-0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
