<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Hill's Space</title><link>https://hill.pictures/blog/</link><description>Recent content in Blog on Hill's Space</description><generator>Hugo</generator><language>en</language><managingEditor>hillexed@email.com (hillexed)</managingEditor><webMaster>hillexed@email.com (hillexed)</webMaster><lastBuildDate>Sun, 26 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hill.pictures/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Making an Eclipse Timelapse, Two Years Later</title><link>https://hill.pictures/blog/2024eclipse/2026-eclipse-timelapsemaking/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/2024eclipse/2026-eclipse-timelapsemaking/</guid><description>


&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />










 
 
 








&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/2024eclipse/2026-eclipse-timelapsemaking/eclipse_full_v1_unstabilized.mp4');" >

 
 &lt;video itemprop="thumbnail" src="https://hill.pictures/blog/2024eclipse/2026-eclipse-timelapsemaking/eclipse_full_v1_unstabilized.mp4" alt="The timelapse!" loading="lazy" style="width: 100%" data-pswp-isVideo="true"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/2024eclipse/2026-eclipse-timelapsemaking/eclipse_full_v1_unstabilized.mp4" itemprop="contentUrl"

 

 
 data-is-video="true" data-pswp-height="600" data-thumbSrc="/blog/2024eclipse/2026-eclipse-timelapsemaking/eclipse_full_v1_unstabilized.mp4" 
 data-alt="The timelapse!" 
 

 >&lt;/a>
 &lt;/figure>
&lt;/div>


&lt;/div>

&lt;p>Click the preview above to see the timelapse!&lt;/p>
&lt;p>This is a several hour long timelapse of the 2024 eclipse, made from all the photos I took on that day. These images was taken by a phone camera looking through an 80&amp;quot; finderscope with a solar filter on it. A raspberry pi pico connected to the phone and acted like a bluetooth mouse to &amp;ldquo;click&amp;rdquo; the shutter button and take photos.&lt;/p>
&lt;ul>
&lt;li>Tracking mounts are expensive, so instead I moved the Dobsonian mount by hand&lt;/li>
&lt;li>I sped up the rate at which images were being taken just before totality.&lt;/li>
&lt;li>During totality, I planned to have the pico take a variety of images with different exposure times. Unfortunately, it skipped straight to the one-second exposures, the extra processing lag messed up the mouse position, and by the time I restarted the sequence totality was almost over. I got exposure times that were too short and too long and none just right :(&lt;/li>
&lt;li>It was an incredibly cool experience. Not the pitch blackness I was expecting, but instead a dark blue sky with a ring of orange around us.&lt;/li>
&lt;/ul>
&lt;p>To make this exposure, I wrote some python to process each .raw file into a .tif (PIL doesn&amp;rsquo;t support 16-bit RGB images, it seems).&lt;/p>
&lt;p>I attempted to stabilize the image by moving each image to an approximate center point. My first attempt selected the row and column with the highest brightness sum and cropped around it. That resulted in an incredibly shaky camera, and is not what you&amp;rsquo;re seeing here.&lt;/p>
&lt;p>This image is also on my &lt;a href="https://hill.pictures/astrophotos">Favorite Astrophotos&lt;/a> page!&lt;/p></description></item><item><title>Hacking an LED strip</title><link>https://hill.pictures/blog/ledhacking/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/ledhacking/</guid><description>


&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />










 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/ledhacking/IMG_20260308_230318226_HDR_huf46aa76c722b66e9304280ce1fdd18c0_2503661_c769aa9da307bcc0d59596fd4bffebb9.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/ledhacking/IMG_20260308_230318226_HDR_huf46aa76c722b66e9304280ce1fdd18c0_2503661_c769aa9da307bcc0d59596fd4bffebb9.jpg" alt="The LED strip." loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/ledhacking/IMG_20260308_230318226_HDR.jpg" itemprop="contentUrl"

 data-pswp-width="3072" data-pswp-height="4096" data-thumbSrc="/blog/ledhacking/IMG_20260308_230318226_HDR_huf46aa76c722b66e9304280ce1fdd18c0_2503661_c769aa9da307bcc0d59596fd4bffebb9.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/ledhacking/IMG_20260411_204224538_HDR_hu77b839f9c1f4fbe02a0576c67e6b7669_5307789_afb0074d744e45d405410e72e67d33a9.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/ledhacking/IMG_20260411_204224538_HDR_hu77b839f9c1f4fbe02a0576c67e6b7669_5307789_afb0074d744e45d405410e72e67d33a9.jpg" alt="Attempting to reprogram it. A pesky fuse prevented me from entering boot mode." loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/ledhacking/IMG_20260411_204224538_HDR.jpg" itemprop="contentUrl"

 data-pswp-width="3563" data-pswp-height="2003" data-thumbSrc="/blog/ledhacking/IMG_20260411_204224538_HDR_hu77b839f9c1f4fbe02a0576c67e6b7669_5307789_afb0074d744e45d405410e72e67d33a9.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/ledhacking/IMG_20260411_214023934_HDR_hu47ba847c54f5e408aaddfbec7007633b_2102693_8faa3d22a591912d2dc6c5406dc7db84.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/ledhacking/IMG_20260411_214023934_HDR_hu47ba847c54f5e408aaddfbec7007633b_2102693_8faa3d22a591912d2dc6c5406dc7db84.jpg" alt="Removing the ESP32" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/ledhacking/IMG_20260411_214023934_HDR.jpg" itemprop="contentUrl"

 data-pswp-width="3072" data-pswp-height="4096" data-thumbSrc="/blog/ledhacking/IMG_20260411_214023934_HDR_hu47ba847c54f5e408aaddfbec7007633b_2102693_8faa3d22a591912d2dc6c5406dc7db84.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/ledhacking/IMG_20260411_223856311_HDR_hu9694e48a776ce3d9b96ff18f6708e116_2849756_34a38cb17c2bcaa31a0e367e3f8c68b3.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/ledhacking/IMG_20260411_223856311_HDR_hu9694e48a776ce3d9b96ff18f6708e116_2849756_34a38cb17c2bcaa31a0e367e3f8c68b3.jpg" alt="Replacing it with my own microcontroller!" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/ledhacking/IMG_20260411_223856311_HDR.jpg" itemprop="contentUrl"

 data-pswp-width="4096" data-pswp-height="3072" data-thumbSrc="/blog/ledhacking/IMG_20260411_223856311_HDR_hu9694e48a776ce3d9b96ff18f6708e116_2849756_34a38cb17c2bcaa31a0e367e3f8c68b3.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/ledhacking/IMG_20260411_233827076_HDR_hued166045cf6810841a827cc9318a7510_1906001_d00676b648a9f51c261cdd2d5b205c97.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/ledhacking/IMG_20260411_233827076_HDR_hued166045cf6810841a827cc9318a7510_1906001_d00676b648a9f51c261cdd2d5b205c97.jpg" alt="Modifying the enclosure to fit the new microcontroller. In retrospect, an x-acto knife was the wrong tool for the job here. " loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/ledhacking/IMG_20260411_233827076_HDR.jpg" itemprop="contentUrl"

 data-pswp-width="3072" data-pswp-height="4096" data-thumbSrc="/blog/ledhacking/IMG_20260411_233827076_HDR_hued166045cf6810841a827cc9318a7510_1906001_d00676b648a9f51c261cdd2d5b205c97.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/ledhacking/IMG_20260411_234234459_HDR_hua3ab4072dad2aa0cddf786bb05c0b1e8_2514625_be9ec1f1fc1f6fb1ff6a0ea873454efc.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/ledhacking/IMG_20260411_234234459_HDR_hua3ab4072dad2aa0cddf786bb05c0b1e8_2514625_be9ec1f1fc1f6fb1ff6a0ea873454efc.jpg" alt="It fits!" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/ledhacking/IMG_20260411_234234459_HDR.jpg" itemprop="contentUrl"

 data-pswp-width="4096" data-pswp-height="3072" data-thumbSrc="/blog/ledhacking/IMG_20260411_234234459_HDR_hua3ab4072dad2aa0cddf786bb05c0b1e8_2514625_be9ec1f1fc1f6fb1ff6a0ea873454efc.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/ledhacking/IMG_20260411_234259537_HDR_hu44a96391c1800f7db4557b0d830f49d3_1317822_91fe8c5f242bbe16f74b119bce2fb086.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/ledhacking/IMG_20260411_234259537_HDR_hu44a96391c1800f7db4557b0d830f49d3_1317822_91fe8c5f242bbe16f74b119bce2fb086.jpg" alt="Well, it mostly fits!" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/ledhacking/IMG_20260411_234259537_HDR.jpg" itemprop="contentUrl"

 data-pswp-width="3072" data-pswp-height="4096" data-thumbSrc="/blog/ledhacking/IMG_20260411_234259537_HDR_hu44a96391c1800f7db4557b0d830f49d3_1317822_91fe8c5f242bbe16f74b119bce2fb086.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>


&lt;/div>

&lt;p>One day in the computer store I saw a 25 foot addressable LED strip on sale for $17. Less than $1/foot seemed like a good deal, I thought, and perhaps I could remove the LEDs and control them myself via an ESP32 microcontroller.&lt;/p>
&lt;p>The model is the MLW7-1025-ICM smart LED strip. Interestingly, it isn&amp;rsquo;t visible on the manufacturer&amp;rsquo;s &lt;a href="https://monsterilluminessence.com/">website&lt;/a> but can still be found on Amazon or Walmart. Each addressable LED controls 3 physical LEDs that share the same color.&lt;/p>
&lt;p>I took it home and unboxed it. Turns out they were one step ahead of me - the manufacturer &lt;em>already&lt;/em> put an ESP32 in there. Specifically, they use a CDW6986850-00 module, which contains an ESP8266, a cheaper variant of the ESP32C3.&lt;/p>
&lt;p>Could I reprogram it? I grabbed an FTDI cable and made the appropriate connections. I was able to obtain serial output! Unfortunately, the microcontroller refused to enter download boot mode upon being reset. Normally the ESP32 requires certain GPIO pins to be high or low to enter a boot mode where it will accept new programming. &lt;a href="https://docs.espressif.com/projects/esptool/en/latest/esp32c3/advanced-topics/boot-mode-selection.html">The various bits of the boot state encode the state of those pins&lt;/a>, which helped me determine where on the CDK module the pins connected. (Lesson learned: the ESP32C3 has different strapping pins than the bare ESP32!)&lt;/p>
&lt;p>Eventually I configured the pins properly, and yet the CDK module refused to boot. I believe this is because the manufacturers internally burned a fuse preventing the module from ever entering boot mode. Very rude.&lt;/p>
&lt;p>Instead, I desoldered their ESP32 and replaced it with my own. The circuit board is very simple; most of it is simply regulating 9V power to 3V. It only uses two GPIO pins; one for the button on the back of the switch, and one output for the LEDs.&lt;/p>
&lt;p>The most common RGB LED protocol is WS2811. Could this LED strip be using WS2811? I programmed my xiao with a simple WS2811 example code without thinking too hard; it worked on the first try.&lt;/p>
&lt;h3 id="home-assistant">Home Assistant&lt;/h3>
&lt;p>The dream would be to be able to control the LEDs from my phone. To do that, I installed ESPHome onto the ESP32. With a different device running a Home Assistant server, I gain the ability to program color changes at different times of day, including the ability to flash red at bedtime. ESPHome also impressed me with over-the-air firmware update capability.&lt;/p>
&lt;p>Years ago, a friend upgraded his phone and donated me the old one. Could I use it as a Home Assistant hub? At first I thought I would need to install a custom OS, but I was unable to root the phone. This means I could not get mDNS to work. Thankfully, I am not the first person to try running Home Assistant on Termux. When I tried &lt;a href="https://github.com/huytungst/HomeAssistant-Termux">the HomeAssistant-Termux&lt;/a> repo, the instructions there didn&amp;rsquo;t quite work - I got a &lt;code>no image found in manifest for platform android/arm64 home assistant&lt;/code> error. What did work was &lt;a href="https://github.com/George-Seven/Termux-Udocker">Termux-UDocker&lt;/a>.&lt;/p>
&lt;h3 id="the-results">The results&lt;/h3>
&lt;p>I can now use my phone to control the color of my lights, zero cloud servers required. What a fun feeling. At sunset, the lights turn on. At midnight, if the lights are still on, they flash a warning to head to bed. Fun!&lt;/p></description></item><item><title>Goodbye Mars!</title><link>https://hill.pictures/blog/2025-mars-occultation/</link><pubDate>Mon, 13 Jan 2025 00:00:00 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/2025-mars-occultation/</guid><description>&lt;p>


&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />










 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/2025-mars-occultation/occult1_huff373cb80dd5bbd405e47caa38f618aa_786002_578f3f833bb9f88d1459020b30eb398a.jpeg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/2025-mars-occultation/occult1_huff373cb80dd5bbd405e47caa38f618aa_786002_578f3f833bb9f88d1459020b30eb398a.jpeg" alt="Mars, a tiny red dot with a hint of white ice cap visible, sits right next to the moon!" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/2025-mars-occultation/occult1.jpeg" itemprop="contentUrl"

 data-pswp-width="2494" data-pswp-height="3325" data-thumbSrc="/blog/2025-mars-occultation/occult1_huff373cb80dd5bbd405e47caa38f618aa_786002_578f3f833bb9f88d1459020b30eb398a.jpeg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/2025-mars-occultation/occult2_hua606ebd9c5c5b447ec78c73791e53857_857037_2c47e2034c71af2c2414122ba94ca3d7.jpeg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/2025-mars-occultation/occult2_hua606ebd9c5c5b447ec78c73791e53857_857037_2c47e2034c71af2c2414122ba94ca3d7.jpeg" alt="Mars falls behind the moon." loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/2025-mars-occultation/occult2.jpeg" itemprop="contentUrl"

 data-pswp-width="2494" data-pswp-height="3325" data-thumbSrc="/blog/2025-mars-occultation/occult2_hua606ebd9c5c5b447ec78c73791e53857_857037_2c47e2034c71af2c2414122ba94ca3d7.jpeg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/2025-mars-occultation/done_hu7b1ae89f3a18b5d1af7e4004d45bae9e_250910_5a89ed3979805a12cffe2e1116e524ec.jpeg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/2025-mars-occultation/done_hu7b1ae89f3a18b5d1af7e4004d45bae9e_250910_5a89ed3979805a12cffe2e1116e524ec.jpeg" alt="Mars is behind the moon. No more mars." loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/2025-mars-occultation/done.jpeg" itemprop="contentUrl"

 data-pswp-width="2494" data-pswp-height="3325" data-thumbSrc="/blog/2025-mars-occultation/done_hu7b1ae89f3a18b5d1af7e4004d45bae9e_250910_5a89ed3979805a12cffe2e1116e524ec.jpeg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>


&lt;/div>

(Zoom into these photos to see Mars!)&lt;/p>
&lt;p>Taken using my &lt;a href="https://hill.pictures/hadley">Hadley&lt;/a> 3D printed telescope, with a crowd of friends invited to watch the occultation of mars by the moon! The phone I was taking photos on ran out of battery, so I hastily threw a friend&amp;rsquo;s iphone into the holder just in time to capture these.&lt;/p></description></item><item><title>Not Real Numbers</title><link>https://hill.pictures/blog/2024-not-real-numbers/</link><pubDate>Fri, 25 Oct 2024 00:00:00 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/2024-not-real-numbers/</guid><description>&lt;p>I rediscovered the &lt;a href="https://splasho.com/upgoer5/">xkcd up goer five text editor&lt;/a>, which lets you type using only the 1000 most common english words. So here&amp;rsquo;s my attempt at writing a description of something:&lt;/p>
&lt;h2 id="not-real-numbers">Not Real Numbers&lt;/h2>
&lt;p>We know how to do many number problems. Number problems with adding are easy. Adding the same number over and over is also easy. If you take a number and add it many times, the same number of times as that number, you get a box number.&lt;/p>
&lt;p>We can go forward from number to box number. Sometimes you want to go back from box number to smaller number. In fact, if you have a number problem with box numbers and adding over and over and adding, you learn in school a box problem answer form to do the problem. But part of the answer form says to go back from box numbers.&lt;/p>
&lt;p>A box number is always above the nothing number, or is the nothing number. Five boxed is twenty five, and so is five under nothing boxed. Even numbers under nothing, if you box them by adding them that many times, are above the nothing number.
But for some problems, the box problem answer form wants you to find a number where its box number is under nothing. Oh no!&lt;/p>
&lt;p>So the number people made up a new number, to imagine its box number is one under nothing. Some people were mad and called these new numbers not real. They were surprised when these not real numbers were good for doing problems! We only need to make up one new number to do all number problems with adding and adding over and over! Also, we can draw not real numbers by imagining they go in a different direction than real numbers.&lt;/p></description></item><item><title>Those Lords really are Elemental</title><link>https://hill.pictures/blog/sylvie-lords-fanart/</link><pubDate>Thu, 08 Aug 2024 04:53:23 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/sylvie-lords-fanart/</guid><description>


&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />










 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/sylvie-lords-fanart/SylvieElementalLords_hud2ad630cf5cf6c671c1af3477e49f693_300778_a364f750d51427558c6c3c1ad388e170.png');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/sylvie-lords-fanart/SylvieElementalLords_hud2ad630cf5cf6c671c1af3477e49f693_300778_a364f750d51427558c6c3c1ad388e170.png" alt="SylvieElementalLords.png" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/sylvie-lords-fanart/SylvieElementalLords.png" itemprop="contentUrl"

 data-pswp-width="1908" data-pswp-height="1356" data-thumbSrc="/blog/sylvie-lords-fanart/SylvieElementalLords_hud2ad630cf5cf6c671c1af3477e49f693_300778_a364f750d51427558c6c3c1ad388e170.png" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>


&lt;/div>

&lt;p>@sylvie hi get fanarted for a fun game with neat movement mechanics&lt;/p>
&lt;p>There&amp;rsquo;s something inherently funny about someone who only knows how to descend ladders by backflipping&lt;/p></description></item><item><title>Hey, an aurora!</title><link>https://hill.pictures/blog/5927714-hey-an-aurora/</link><pubDate>Sat, 11 May 2024 16:25:09 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/5927714-hey-an-aurora/</guid><description>


&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />










 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/5927714-hey-an-aurora/IMG_20240510_233458479~2_hu24462241ddb05f8ae0f3e4ffbdc6857f_4162306_4afd5cec8d6b9cf41a85b672c55d6d65.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/5927714-hey-an-aurora/IMG_20240510_233458479~2_hu24462241ddb05f8ae0f3e4ffbdc6857f_4162306_4afd5cec8d6b9cf41a85b672c55d6d65.jpg" alt="IMG_20240510_233458479~2.jpg" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/5927714-hey-an-aurora/IMG_20240510_233458479~2.jpg" itemprop="contentUrl"

 data-pswp-width="2984" data-pswp-height="3984" data-thumbSrc="/blog/5927714-hey-an-aurora/IMG_20240510_233458479~2_hu24462241ddb05f8ae0f3e4ffbdc6857f_4162306_4afd5cec8d6b9cf41a85b672c55d6d65.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/5927714-hey-an-aurora/IMG_20240510_230449019_huee812ebecb8999803be844c448f27d3a_3646505_210fcb2fc9cc547a5eae310653f86b64.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/5927714-hey-an-aurora/IMG_20240510_230449019_huee812ebecb8999803be844c448f27d3a_3646505_210fcb2fc9cc547a5eae310653f86b64.jpg" alt="IMG_20240510_230449019.jpg" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/5927714-hey-an-aurora/IMG_20240510_230449019.jpg" itemprop="contentUrl"

 data-pswp-width="8000" data-pswp-height="6000" data-thumbSrc="/blog/5927714-hey-an-aurora/IMG_20240510_230449019_huee812ebecb8999803be844c448f27d3a_3646505_210fcb2fc9cc547a5eae310653f86b64.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/5927714-hey-an-aurora/IMG_20240510_234028671~2_hud99551fd967d2469cf914282c9718aa1_4206912_863577329574dfa6d6e81b736ea7fbf9.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/5927714-hey-an-aurora/IMG_20240510_234028671~2_hud99551fd967d2469cf914282c9718aa1_4206912_863577329574dfa6d6e81b736ea7fbf9.jpg" alt="IMG_20240510_234028671~2.jpg" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/5927714-hey-an-aurora/IMG_20240510_234028671~2.jpg" itemprop="contentUrl"

 data-pswp-width="2984" data-pswp-height="3984" data-thumbSrc="/blog/5927714-hey-an-aurora/IMG_20240510_234028671~2_hud99551fd967d2469cf914282c9718aa1_4206912_863577329574dfa6d6e81b736ea7fbf9.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>


&lt;/div>

&lt;p>I saw the aurora! It looked like light pollution at first, and I only realized what it was when I noticed the underwhelming &amp;ldquo;clouds&amp;rdquo; were in a different place after ten seconds. An hour later they had slight tints of red and green and distinct ray-like shapes! Very cool. Phone camera picked up way more color and detail than I could see by eye, and long 8s exposures picked up even more.&lt;/p></description></item><item><title>Free Mirror??</title><link>https://hill.pictures/blog/559502-free-mirror/</link><pubDate>Wed, 17 Apr 2024 00:15:17 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/559502-free-mirror/</guid><description>


&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />










 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/559502-free-mirror/IMG_20240415_174725235_HDR_1_hu404420bb13e5bec192f70cd702251290_131929_41cad480305cca92b8556411dfbf2f0b.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/559502-free-mirror/IMG_20240415_174725235_HDR_1_hu404420bb13e5bec192f70cd702251290_131929_41cad480305cca92b8556411dfbf2f0b.jpg" alt="IMG_20240415_174725235_HDR_1.jpg" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/559502-free-mirror/IMG_20240415_174725235_HDR_1.jpg" itemprop="contentUrl"

 data-pswp-width="1000" data-pswp-height="538" data-thumbSrc="/blog/559502-free-mirror/IMG_20240415_174725235_HDR_1_hu404420bb13e5bec192f70cd702251290_131929_41cad480305cca92b8556411dfbf2f0b.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>


&lt;/div>

&lt;p>So I was talking to new local friends and telling them about telescopes and someone says &amp;ldquo;I have a mirror sitting on my table, is that something that could be useful?&amp;rdquo; and so after picking it up I now have a ginormous 12.25&amp;quot; mirror that&amp;rsquo;s 2.25&amp;quot; thick!!&lt;/p>
&lt;p>&amp;hellip;now what do I do with it? Honestly I&amp;rsquo;m tempted to make a scope out of it&amp;hellip; but that would take money and I&amp;rsquo;d need to learn new skills like woodworking. And I still need to finish figuring my 8&amp;quot;, which already has an entire telescope built waiting for the mirror to be done, and I have the 12&amp;quot; meniscus mirror project. So I guess I&amp;rsquo;m leaning towards selling it?&lt;/p></description></item><item><title>I'M MAD AT AMERICAN PIPES</title><link>https://hill.pictures/blog/pipenonsense/</link><pubDate>Wed, 10 May 2023 18:39:09 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/pipenonsense/</guid><description>&lt;p>I have a 1/2&amp;quot; diameter hole. I want to put a pipe inside the hole. What size PVC pipe fits into a 1/2&amp;quot; hole?&lt;/p>
&lt;p>Did you guess 1/2&amp;quot; pipe? WRONG. &amp;ldquo;1/2 inch pipe&amp;rdquo; isn&amp;rsquo;t half an inch big on the outside. It&amp;rsquo;s closer to 7/8&amp;quot;. You might think &amp;ldquo;ah so the 1/2&amp;rdquo; refers to the inner diameter&amp;quot;. Wrong. The inner diameter of 1/2&amp;quot; PVC pipe is legally required to be 0.602 inches, according to the Schedule 40 standard. Want a pipe with outer diameter 1/2&amp;quot;? The closest size of PVC pipe is of course 1/4&amp;quot; PVC pipe. But even that won&amp;rsquo;t quite work, because, 1/4&amp;quot; pipe has outer diameter 0.54&amp;quot;, which is more than 0.5&amp;quot; and way more than the 0.25&amp;quot; in the name of the pipe. &lt;b>PIPE SIZES ARE ALL LIES&lt;/b>&lt;/p>
&lt;p>Guess how I found out? I&amp;rsquo;m building &lt;a href="https://www.printables.com/model/224383-astronomical-telescope-hadley-an-easy-assembly-hig">a telescope&lt;/a>, and as part of that I&amp;rsquo;m building a mount. I bought a cheap collection of 3 pipes off the internet, but I needed a fourth, so I went to the hardware store to buy some pipe. Guess who learned a $6.99 lesson in nonsensical standards&amp;hellip;&lt;/p>
&lt;h1 id="chamomile-comments">Chamomile comments:&lt;/h1>
&lt;p>Wow, this is way more infuriating than 2x4&amp;rsquo;s actually being 1.5x3.5 inches.&lt;/p>
&lt;h1 id="porglezomp-addition">Porglezomp addition:&lt;/h1>
&lt;p>Your comment made me think &amp;ldquo;oh well i know why 2x4s are like that at least that makes sense&amp;rdquo; and then I realized that there was probably a reason for this one too, so I went and figured that out:&lt;/p>
&lt;p>You see, a 2x4 is 1.5&amp;quot;x3.5&amp;quot;. And I thought &amp;ldquo;well, at least that has a good reason from a century ago,&amp;rdquo; but then I realized that this probably has one of those too. So let&amp;rsquo;s look into it.&lt;/p>
&lt;h2 id="dimensional-lumber">Dimensional Lumber&lt;/h2>
&lt;p>A 2x4 is 1.5&amp;quot;x3.5&amp;quot;. So why is it named like that? Well, a century ago a 2x4 referred to a 2x4 of green lumber—it was commonly cut and shipped green. And then it would shrink as it dried, and be planed to a precise size on-site. Eventually, we got better at making and transporting dry lumber, but stuck to those post-drying actual sizes for the same nominal sizes. For compatibility. So it&amp;rsquo;s the fault of compatibility with how things were manufactured over a century ago. It made sense at the time.
Nominal Pipe Size&lt;/p>
&lt;blockquote>
&lt;p>You might think &amp;ldquo;ah so the 1/2&amp;rdquo; refers to the inner diameter&amp;quot;. Wrong. The inner diameter of 1/2&amp;quot; PVC pipe is legally required to be 0.602 inches, according to the Schedule 40 standard.&lt;/p>
&lt;/blockquote>
&lt;p>Well it turns out this is also the same thing. When nominal pipe sizes were standardized, they referred to the inner diameter of the pipe, but those pipes had thicker walls. Now we build stronger pipes that have thinner walls, but the dimensions were still standardized and named for those older inner diameters, and now they&amp;rsquo;re all nonsense again.&lt;/p>
&lt;blockquote>
&lt;p>The reason for the discrepancy for NPS 1⁄8 to 12 inches is that these NPS values were originally set to give the same inside diameter (ID) based on wall thicknesses standard at the time. However, as the set of available wall thicknesses evolved, the ID changed and NPS became only indirectly related to ID and OD.&lt;/p>
&lt;/blockquote>
&lt;p>Source: &lt;a href="https://en.wikipedia.org/wiki/Nominal_Pipe_Size#Application">https://en.wikipedia.org/wiki/Nominal_Pipe_Size#Application&lt;/a>&lt;/p>
&lt;p>This standard is from 1927 / 1939 / 1949 ?? so it is more annoying than the lumber standard, to me.
Diamètre Nominal&lt;/p>
&lt;blockquote>
&lt;p>I&amp;rsquo;M MAD AT AMERICAN PIPES&lt;/p>
&lt;/blockquote>
&lt;p>Good news! European pipes are no better! &lt;a href="http://www.piping-engineering.com/nominal-pipe-size-nps-nominal-bore-nb-outside-diameter-od.html">A 15mm pipe has a 21.3mm outer diameter&lt;/a>, and the inner diameter also completely depends on the material.&lt;/p>
&lt;p>Source: &lt;a href="http://www.piping-engineering.com/nominal-pipe-size-nps-nominal-bore-nb-outside-diameter-od.html">http://www.piping-engineering.com/nominal-pipe-size-nps-nominal-bore-nb-outside-diameter-od.html&lt;/a>&lt;/p></description></item><item><title>Ionic Liquids</title><link>https://hill.pictures/blog/573-ionicliquids/</link><pubDate>Tue, 25 Apr 2023 14:38:14 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/573-ionicliquids/</guid><description>
&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />

&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;/div>

&lt;p>Today I learned liquids don&amp;rsquo;t exist in space. It&amp;rsquo;s either gas or solid because apparently liquids only exist when you have a ton of force squishing atoms together and forcing them to intersct and normally that&amp;rsquo;s air smashing into things at high speed. Crazy. Space whales won&amp;rsquo;t know what liquids are&lt;/p>
&lt;h2 id="later-that-day">Later that day&amp;hellip;&lt;/h2>
&lt;p>I found &lt;a href="https://www.nasa.gov/ames/flute">https://www.nasa.gov/ames/flute&lt;/a> ! They want to use reflective liquids to make perfect parabola shapes for mirrors! I was hoping they found a liquid which stays liquid in space&amp;hellip; but their liquids are kept inside pressurized space stations. Their plan so far is to use a liquid then harden the liquid into a solid by polymerizing it before exposing it into space. Nasa hasn&amp;rsquo;t found liquids that exist in space either :(&lt;/p>
&lt;h2 id="even-later">Even later&amp;hellip;&lt;/h2>
&lt;p>A friend told me about &amp;ldquo;ionic liquids&amp;rdquo;. Like how table salt is made of sodium ions and chlorine ions, an ionic liquid is made of negatively and positively charged ions which attract - except the ions are intentionally so big and ugly they can&amp;rsquo;t fit right next to one another to make a symmetric solid structure, so they stay liquid. And they might survive in space!&lt;/p>
&lt;p>So I researched them! I followed a citation on its wikipedia page to &lt;a href="https://www.nature.com/articles/439797a">https://www.nature.com/articles/439797a&lt;/a>, there&amp;rsquo;s a paragraph there which mentions &amp;ldquo;Ionic liquids have also been used in ultra-high vacuum conditions of 10−9 millibar for X-ray photoelectron spectroscopy analysis without decomposing or evaporating&amp;rdquo;, which cites &lt;a href="https://pubs.rsc.org/en/content/articlelanding/2005/cc/b512311a#">https://pubs.rsc.org/en/content/articlelanding/2005/cc/b512311a#&lt;/a>, which says 1-ethyl-3-methyl imidazolium ethylsulfate is an ionic liquid.&lt;/p>
&lt;p>So I searched for that and found this chapter from a book on ionic liquids &lt;a href="https://www.intechopen.com/chapters/40002">https://www.intechopen.com/chapters/40002&lt;/a> which cites that paper, all about putting ionic liquids into scientific tools which require vacuums (and they mention ionic liquids used for making nanoparticles and coating things so you can see them in scanning electron microscopes, whoa), and that chapter cites a paper &lt;a href="https://pubmed.ncbi.nlm.nih.gov/20437507/">https://pubmed.ncbi.nlm.nih.gov/20437507/&lt;/a> which suggests ionic liquids could be used as lubricants in outer space! That paper is wild, with examples of using ionic liquids to make gold nanoparticles, ionic liquids to help take scanning electron microscope images of things which normally can&amp;rsquo;t survive vacuums like seaweed without being dehydrated, using &amp;ldquo;electrowetting&amp;rdquo; to make little flagellae which move based on the voltage you apply (they use the word &amp;ldquo;electrocapillary&amp;rdquo;, which is made of two words that shouldn&amp;rsquo;t be next to each other what are you doing there)&lt;/p>
&lt;p>I asked in a different community if anyone knew what they were and one friend said they had a friend who works on ionic liquids who can&amp;rsquo;t reveal what they&amp;rsquo;re up to, but pointed me to &lt;a href="https://pubmed.ncbi.nlm.nih.gov/35956982/">https://pubmed.ncbi.nlm.nih.gov/35956982/&lt;/a> a paper on trying to make insulin into a pill you can take by mouth. Someone else found a bacterium that could survive some ionic liquid along with its water: &lt;a href="https://www.pnas.org/doi/full/10.1073/pnas.1112750109">https://www.pnas.org/doi/full/10.1073/pnas.1112750109&lt;/a>&lt;/p>
&lt;p>In summary: ionic liquids are crazy things which CAN survive vacuums, and other ionic liquids can survive temperatures of -4 to 400C without freezing&amp;hellip; but is there an ionic liquid which can stay liquid in both a vacuum and -250C, so it can stay liquid in space? No clue. The hunt continues.&lt;/p></description></item><item><title>this intro to synths guide tells you how to build circuit boards WITH A PAINTBRUSH</title><link>https://hill.pictures/blog/6606-this-intro-to-synths/</link><pubDate>Mon, 12 Dec 2022 22:10:23 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/6606-this-intro-to-synths/</guid><description>


&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />










 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/6606-this-intro-to-synths/IMG_20221212_165746278_hu7c02d67a09af7326934c783a85d71fbf_3923731_8e20f4566f1ccb2f99072bdf869e9e31.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/6606-this-intro-to-synths/IMG_20221212_165746278_hu7c02d67a09af7326934c783a85d71fbf_3923731_8e20f4566f1ccb2f99072bdf869e9e31.jpg" alt="typewritten text of an article labelled &amp;#34;How I make my P.C. boards in a matter of a few hours&amp;#34;" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/6606-this-intro-to-synths/IMG_20221212_165746278.jpg" itemprop="contentUrl"

 data-pswp-width="3000" data-pswp-height="4000" data-thumbSrc="/blog/6606-this-intro-to-synths/IMG_20221212_165746278_hu7c02d67a09af7326934c783a85d71fbf_3923731_8e20f4566f1ccb2f99072bdf869e9e31.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/6606-this-intro-to-synths/IMG_20221212_170138239_hu9d2b96a520dafc1d538e1bf3ac61fc36_3706387_29161befdb61778f52a5ed7de7ef1876.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/6606-this-intro-to-synths/IMG_20221212_170138239_hu9d2b96a520dafc1d538e1bf3ac61fc36_3706387_29161befdb61778f52a5ed7de7ef1876.jpg" alt="IMG_20221212_170138239.jpg" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/6606-this-intro-to-synths/IMG_20221212_170138239.jpg" itemprop="contentUrl"

 data-pswp-width="3000" data-pswp-height="4000" data-thumbSrc="/blog/6606-this-intro-to-synths/IMG_20221212_170138239_hu9d2b96a520dafc1d538e1bf3ac61fc36_3706387_29161befdb61778f52a5ed7de7ef1876.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>













 
 
 



 

 
 
 
 
 
 
 






&lt;div class="box" >
 &lt;figure itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
 &lt;div class="img" style="background-image: url('/blog/6606-this-intro-to-synths/IMG_20221212_170144086_huf6874a8d41209270c29398019448d77f_3656518_690603cdaedd83f4802b03da1e30b012.jpg');" >

 
 &lt;img itemprop="thumbnail" src="https://hill.pictures/blog/6606-this-intro-to-synths/IMG_20221212_170144086_huf6874a8d41209270c29398019448d77f_3656518_690603cdaedd83f4802b03da1e30b012.jpg" alt="article continued, with pictures showing where to paint resist and etching" loading="lazy"/>
 

 

 &lt;/div>
 &lt;a href="https://hill.pictures/blog/6606-this-intro-to-synths/IMG_20221212_170144086.jpg" itemprop="contentUrl"

 data-pswp-width="3000" data-pswp-height="4000" data-thumbSrc="/blog/6606-this-intro-to-synths/IMG_20221212_170144086_huf6874a8d41209270c29398019448d77f_3656518_690603cdaedd83f4802b03da1e30b012.jpg" 

 

 >&lt;/a>
 &lt;/figure>
&lt;/div>


&lt;/div>

&lt;p>This is the 1985 &amp;ldquo;electronotes builder&amp;rsquo;s guide and preferred circuits collection&amp;rdquo; and Bernie Hutchins is advising first time synth makers go buy chemicals at radioshack to etch copper and use a paintbrush to trace out wires manually. It&amp;rsquo;s so weirdly analog and hands-on compared to the way circuit boards are made today I&amp;rsquo;m used to, &amp;ldquo;pay someone else online to do it&amp;rdquo;&lt;/p></description></item><item><title>Today I learned about Living Newspapers</title><link>https://hill.pictures/blog/572-living-newspapers/</link><pubDate>Thu, 08 Dec 2022 20:36:09 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/572-living-newspapers/</guid><description>
&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />

&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;/div>

&lt;p>As a tiny part of the New Deal, Hallie Flanagan helped create the Federal Theatre Project in 1935, where the US government funded unemployed actors to make free plays available to all. A big part of those were Living Newspapers: researchers became playwrights and wrote about current events lifted from the headlines to inform people.&lt;/p>
&lt;p>The very first Living Newspaper was a hilarious tragedy. &amp;ldquo;Ethiopia&amp;rdquo; by Arthur Arent was all about how being invaded during the Second Italo-Ethiopian War was ravaging the country. Hilariously, it got exactly one dress rehearsal (the press was invited, it got good reviews), and then the US State Department cancelled it before its first showing, arguing that it was bad to show other world leaders, specifically this guy named Mussolini, in a bad light. And they only found out because someone in the production team tried to make the play more realistic by requesting a recording of one of President Roosevelt&amp;rsquo;s speeches, tipping off Washington&amp;hellip;&lt;/p>
&lt;p>Thankfully, other Living Newspapers about domestic issues became huge successes. Eventually the Federal Theatre Project fell into a fate that seems eerily similar to today: wealthy people got mad that it gave money to those who were seen as not deserving it despite being a tiny fraction of the budget, it was accused of being too communist after things such as plays which revolved around housing inequality and farmers, and the program was cancelled in one of the first victims of McCarthyism :(&lt;/p>
&lt;p>(Source: &lt;a href="https://doi.org/10.2307/3204873">https://doi.org/10.2307/3204873&lt;/a> , but I only found out about this from seeing the book &amp;ldquo;Furious improvisation : how the WPA and a cast of thousands made high art out of desperate times&amp;rdquo; by Susan Quinn in a library search)&lt;/p></description></item><item><title>i played myself</title><link>https://hill.pictures/blog/551252mysteryshirt/</link><pubDate>Tue, 06 Dec 2022 01:12:58 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/551252mysteryshirt/</guid><description>
&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />

&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;/div>

&lt;p>i bought a t-shirt and the store offered a &amp;ldquo;$3 mystery t-shirt&amp;rdquo; so i figured cheap t-shirt why not. presumably that was so they could get rid of t-shirts that didn&amp;rsquo;t sell well&lt;/p>
&lt;p>it finally arrived&amp;hellip; and it&amp;rsquo;s extremely impressively the exact opposite of my style&lt;/p></description></item><item><title>a wqalk in the forwst</title><link>https://hill.pictures/blog/502613-a-wqalk-in-the-forws/</link><pubDate>Wed, 30 Nov 2022 20:12:39 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/502613-a-wqalk-in-the-forws/</guid><description>&lt;p>&lt;b style="color: orangered">ME:&lt;/b> hi drabgon i see your home has many trees&lt;/p>
&lt;p>&lt;b style="color: #967117">DRABGON&lt;/b>: contrary to poplar belief we don&amp;rsquo;t breathe fire&lt;/p>
&lt;p>&lt;b style="color: hsl(calc(0.25*255),50%,32%);">NEARBY TREE&lt;/b>: don&amp;rsquo;t believe that liar! I bet it&amp;rsquo;s just waiting for the right moment&lt;/p></description></item><item><title>rocket today</title><link>https://hill.pictures/blog/jwsthopes/</link><pubDate>Wed, 16 Nov 2022 03:20:08 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/jwsthopes/</guid><description>&lt;p>i hope the rocket goes away properly&lt;/p>
&lt;hr>
&lt;p>(note from 2025: the JWST space telescope launched flawlessly!)&lt;/p></description></item><item><title>How Microprocessors Make Music</title><link>https://hill.pictures/blog/192722-how-microprocessors/</link><pubDate>Sat, 12 Nov 2022 18:11:52 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/192722-how-microprocessors/</guid><description>
&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />

&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;/div>

&lt;p>So I&amp;rsquo;ve been working on trying to make a little Arduino powered synthesizer recently! Turns out it&amp;rsquo;s hard and sound is complicated and now I&amp;rsquo;m cursed with knowledge. The only way to get rid of curses is to dilute them, so here&amp;rsquo;s everything I&amp;rsquo;ve learned about how to make sound on an Arduino.&lt;/p>
&lt;h3 id="speakers">Speakers&lt;/h3>
&lt;p>A speaker takes some electricity and moves a little flat thing either outwards or inwards depending on the voltage, which pushes on air and makes sound. They convert changing electricity to changing sound waves. For a microprocessor to make sound, it needs to change voltage really fast so the speaker makes the right sound wave.&lt;/p>
&lt;h3 id="the-simplest-square-sound">The Simplest Square Sound&lt;/h3>
&lt;p>Computers use zeroes and ones. Those are usually voltages: a zero is a low voltage, and an one is a high voltage. Any Arduino pin can easily output a zero or one, in the form of either 0 volts (&amp;ldquo;0V&amp;rdquo;) or 5 volts (&amp;ldquo;5V&amp;rdquo;). However, not all pins can output the values in between. Thankfully, there&amp;rsquo;s one easy type of sound wave you can output using only 0V and 5V: a square wave at maximum volume, which switches between 0V and 5V at a high frequency. Arduinos even have a built-in tone() function to do that, which uses a timer (timer1, which I&amp;rsquo;ll get to later) to manually switch whatever pin you want between 0V and 5V really fast in software. Unfortunately, to output other types of waves (like sine waves), or even just control a wave&amp;rsquo;s volume so your wave can fade out over time, you need to output values between 5V and 0V. For that you need PWM.&lt;/p>
&lt;h3 id="all-the-other-sounds-pwm">All the other sounds: PWM&lt;/h3>
&lt;p>PWM works like this. Let&amp;rsquo;s say you want to output 1 volt. Unfortunately, an Arduino physically cannot output 1 volt - it can only output 100% of 5V or 0% of 5V, with no in between. If only you could just output 20% of 5V. The arduino can&amp;rsquo;t output 20% of 5V, but it can output 5V, 20% of the time. If you switch between 5V and 0V really fast, outputting 0V the other 80% of the time, it averages out to 1V! That&amp;rsquo;s Pulse Width Modulation (PWM): switching between 5V and 0V really fast in order to output signals which are, on average, any voltage you want between 5V and 0V. (To do the averaging, usually a resistor and capacitor are placed in between the output and the speaker to act as an &amp;ldquo;RC filter&amp;rdquo;.)&lt;/p>
&lt;h2 id="timing-is-everything">Timing is everything&lt;/h2>
&lt;p>An Arduino has hardware built into the chip to do PWM. But that hardware is only built into certain pins of the chip. That&amp;rsquo;s because in order to switch between 5V and 0V fast enough to average out, you need a very fast and accurate timer to tell you when to switch. The ATMega328 chip which most Arduinos use has 3 timers built into it, so you can run 3 PWM outputs at different speeds at once if you really wanted to.&lt;/p>
&lt;p>To control PWM, you&amp;rsquo;re really controlling the timers, and so you need to set specific bits in specific arcanely-named all-caps acronym variables like OCR1A which you can only understand by looking up &amp;ldquo;ATMega328 datasheet&amp;rdquo; and banging your head against a wall.&lt;/p>
&lt;p>Timer 0 is used for the system functions millis() and micros(), so it&amp;rsquo;s encouraged not to use it if you have the option. Timer1 is a 16-bit timer, which means its PWM pins can output any multiple of 5/(2^16) volts at once. However, it can only output to digital pin 9 or pin 10 (hardware-chip-footprint-numbers 15 and 16). Timer2 is an 8-bit timer, which means it has less resolution than Timer1 and can only output 2^8 different values between 5V and 0V. It outputs on digital pin 11 or digital pin 5 (hardware-chip-footprint-numbers 17 and 11). That&amp;rsquo;s worse for audio, because you want smoother waves. Use timer 1.&lt;/p>
&lt;h2 id="pwm-has-some-rough-edges">PWM has some rough edges&lt;/h2>
&lt;p>Let&amp;rsquo;s say I want to output a sine wave at a frequency &lt;code>a&lt;/code>. Mathematically, I want to output the function &lt;code>sin(at)&lt;/code>, where &lt;code>t&lt;/code> increases over time. Mathematical sine waves are smooth, with infinite resolution. Unfortunately, sine waves created by computers are really just numbers, and those numbers have a fixed resolution.&lt;/p>
&lt;p>Let&amp;rsquo;s say we&amp;rsquo;re using an 8-bit PWM. In order to use PWM and output your wave, you must tell the PWM an integer between 0 and 2^8 = 255, and it will interpret 0 means 0V and 255 means 5V, and anything in between is treated as a fraction with 255 on the bottom: 20 means 5 * 20/255 volts. The inputs are converted to integers. That means even if your wave is continuous, any values in between any two integers such as 4 and 5 will be rounded to either 4 or 5. Even if the math says your wave should output the value sin(1) * 255 = 4.45, that number will be rounded down to 4 and output 0.078V instead of 0.087 V.&lt;/p>
&lt;p>(Math note: sin(at) is centered at y=0 and ranges from y=-1 to y=1. To properly fit sin(at) into the range 0 to 255, you really want to output &lt;code>sin(at) * 128 + 127&lt;/code> so that the center point is 127, the center of the 0-255 output range.)&lt;/p>
&lt;p>The 8-bit timer forces us to round our numbers to 8-bit integers (0-255), and that causes some effects you can hear. Specifically, the rounding might sound like the wave is &amp;ldquo;tinny&amp;rdquo;, or has some extra buzzing. Some people like that sound because it reminds them of the old days of 8-bit computers and will add that effect into music on purpose, which is called &amp;ldquo;bitcrushing&amp;rdquo;.&lt;/p>
&lt;p>In general, squeezing a wave into k bits will distort the sound less and less the bigger k is. 8-bit is pretty noticeable. 16-bit lets the values range from 0 to 2^16, and there&amp;rsquo;s basically no distortion. 16-bit audio is CD quality. Avoid 8-bit PWM for audio output and use something with more bits if you care about audio quality.&lt;/p>
&lt;h2 id="multiple-notes-at-once-thats-not-in-the-budget">Multiple notes at once? That&amp;rsquo;s not in the budget&lt;/h2>
&lt;p>A piano can play more than one note at the same time. I want my microprocessor to be able to do that too!&lt;/p>
&lt;p>Let&amp;rsquo;s say I&amp;rsquo;m stuck with my 8-bit timer, and I want to output two notes at once. Thankfully, it&amp;rsquo;s not too bad: to hear two things at once, just add up the waves. Then, output &lt;code>sin(at) + sin(bt)&lt;/code>. That&amp;rsquo;s just a number, so I can output it fine using PWM, right?&lt;/p>
&lt;p>Unfortunately, &lt;code>sin(at)&lt;/code> and &lt;code>sin(bt)&lt;/code> both range from -1 to 1, so adding them together could give me a number anywhere from -2 to 2. That means if I used the same formula as before to convert the waves into the 0-255 range, &lt;code>wave(t) * 128 + 127&lt;/code>, I&amp;rsquo;d get a value from −129 to 383, which is outside the valid 8-bit timer range 0 to 255. Whoops.&lt;/p>
&lt;p>To fix this, instead of outputting &lt;code>sin(at) + sin(bt)&lt;/code>, shrink the wave vertically so it ranges from -1 to 1 by dividing by 2. Output &lt;code>(sin(at) + sin(bt))/2&lt;/code>. Perfect.&lt;/p>
&lt;p>You can even generalize this: to play eight notes at once, add up the 8 individual waves and divide by 8, and your signal will stay between -1 and 1. If you want your Arduino to be able to play up to 8 waves at once, you&amp;rsquo;ll want to output &lt;code>(wave1 + wave2 + wave3 + wave4 + wave5 + wave6 + wave 7 + wave8)/8&lt;/code>. If you convert that into the range 0-255, it&amp;rsquo;ll be &lt;code>(wave1 + wave2 + wave3 + wave4 + wave5 + wave6 + wave 7 + wave8)/8 * 255 + 127&lt;/code>. If you&amp;rsquo;re not playing all 8 notes at once, some of those waves might be 0 the entire time and not some form of sin(t).&lt;/p>
&lt;p>However, if you program that into your microprocessor, then even just one note might sound very distorted! Why?&lt;/p>
&lt;p>Remember, the less bits you have to store a wave, the more distorted it&amp;rsquo;ll sound. If sin(x) can take any value between -1 and 1, it&amp;rsquo;s converted to 8-bit number that&amp;rsquo;s rounded to any value between 0 and 255. But if 8 notes can be played at once, and we divided by 8, we&amp;rsquo;re effectively adding waves of the form &lt;code>sin(x)/8&lt;/code>, which is rounded to an integer between 0 and 32.&lt;/p>
&lt;p>This rounding has two effects: first, using the same speaker, our original 0-255 wave moves the speaker eight times more distance compared to an 0-32 wave, so the new wave sounds much quieter*. (This problem once tricked me into thinking my code stopped working, when really it was just too quiet to hear.) Second, rounding a wave to one of 32 values adds a LOT more distortion than rounding to one of 256 values, and you can hear that distortion very strongly.&lt;/p>
&lt;p>*the wave is eight times weaker, but we hear volume logarithmically so it only sounds log_2(8) = 3 times weaker.&lt;/p>
&lt;p>You could think of this as a &amp;ldquo;bit budget&amp;rdquo;: you can either spend your 0-255 range on one high quality wave, or give each wave 1/8th of the total range to represent them so that you can add up to 8 waves at once at the cost of bitcrushing each individual wave.&lt;/p>
&lt;p>Use 16-bit outputs. That way you can play multiple waves at once without running into the bitcrushing problem as much, because an 0-65536 range divided by 8 is still a very high quality 0-8192 range. You&amp;rsquo;ll still have to make the speaker louder to counteract the volume loss from dividing your waves to play multiple notes at once, however.&lt;/p>
&lt;h2 id="also-theres-intense-time-pressure">Also, there&amp;rsquo;s intense time pressure&lt;/h2>
&lt;p>Humans can hear waves up to 20kHz, which means if you want to be able to output all possible waves a human can hear, your microcontroller needs to choose which value to output 40,000 times a second. That includes doing any math to compute sin(x), adding the waves from multiple notes at once, etc. It&amp;rsquo;s not too bad if you only play one note at once - in fact, for a square wave you can simply use a timer - but if you want to play multiple notes at once, time starts to become a problem.&lt;/p>
&lt;p>An Arduino runs at a 16mHz clock speed by default. That means whatever code you write to choose which 0-255 or 0-65536 value to output, that code needs to involve less than 16000000 / 40000 = 400 machine instructions. Your function needs to be FAST. If it takes too long, you&amp;rsquo;ll get distortion!&lt;/p>
&lt;p>Writing fast code is hard. I&amp;rsquo;ve successfully gotten up to 4 waves added together on an Arduino, but but as soon as I tried adding a few more additions to bring it up to 6 waves at a time, my code took too long to compute, lagged, and made weird digital noises instead of my crisp waves. Want to compute (wave1 + wave2 + wave3)/3? Too slow. The ATMega chip doesn&amp;rsquo;t have a division instruction built in, so dividing by 3 takes as much time as a good fraction of the rest of my code combined.&lt;/p>
&lt;p>A library called Mozzi solves the gotta-go-fast problem by having its fast function be &amp;ldquo;read one value from the precomputed buffer and output it&amp;rdquo;, then updating that precomputed buffer only once every 256 function calls. Another technique for outputting waves quickly is called &amp;ldquo;wavetable synthesis&amp;rdquo;, where you save many values of sin(x) for various x in a table 1024 entries long, and that way accessing table[x] is very quick. Other projects go fast by abandoning the Arduino&amp;rsquo;s ATMega328 chip for an even faster computer, such as a Teensy. In fact, the device you&amp;rsquo;re reading this on is much faster than either of those, and that&amp;rsquo;s why people usually make music with computers nowadays.&lt;/p>
&lt;h2 id="in-summary">In summary&lt;/h2>
&lt;p>Computers are made of workarounds upon workarounds upon workarounds, modern processor speeds are a miracle we take for granted, and I&amp;rsquo;d say music was a mistake but actually the cool noises you get at the end are worth it.&lt;/p></description></item><item><title>Time</title><link>https://hill.pictures/blog/260450-and-the-days-go-spa/</link><pubDate>Fri, 11 Nov 2022 03:04:39 +0000</pubDate><author>hillexed@email.com (hillexed)</author><guid>https://hill.pictures/blog/260450-and-the-days-go-spa/</guid><description>
&lt;link rel="stylesheet" href="https://hill.pictures/css/hugo-easy-gallery.css" />

&lt;div class="gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	 

&lt;/div>

&lt;p>And the days go &lt;span style="transform: rotate(-30deg); display: inline-block;">on&lt;/span> &lt;span style="transform: rotate(-70deg); display: inline-block;">and&lt;/span> &lt;span style="transform: rotate(80deg); display: inline-block;">on&lt;/span> &lt;span style="transform: rotate(60deg); display: inline-block;">and&lt;/span> &lt;span style="transform: rotate(10deg); display: inline-block;">on&lt;/span>&lt;/p></description></item></channel></rss>