<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="http://resc.net/feeds/all.atom.xml" rel="self" type="application/atom+xml" /><link href="http://resc.net/" rel="alternate" type="text/html" /><updated>2025-03-26T17:36:58-04:00</updated><id>http://resc.net/feeds/all.atom.xml</id><title type="html">resc1440</title><subtitle>the person, not the disk image</subtitle><author><name>Thomas Grenfell Smith</name><email>thomathom@gmail.com</email></author><entry><title type="html">Dogs in Elk: binding and source</title><link href="http://resc.net/posts/dogs-in-elk-binding-and-source/" rel="alternate" type="text/html" title="Dogs in Elk: binding and source" /><published>2025-01-31T13:30:00-05:00</published><updated>2025-01-31T13:30:00-05:00</updated><id>http://resc.net/posts/dogs-in-elk-binding-and-source</id><content type="html" xml:base="http://resc.net/posts/dogs-in-elk-binding-and-source/">&lt;p&gt;I found the original post of Dogs in Elk, and formatted and bound it as a book!&lt;sup id=&quot;fnref:fall&quot;&gt;&lt;a href=&quot;#fn:fall&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/IMG_4857.JPEG&quot; alt=&quot;IMG_4857.JPEG&quot; /&gt;&lt;/p&gt;

&lt;p&gt;At Christmas I gave this book to my parents, who must have shown me the original sometime when I was in high school.  We passed it around the room after everyone opened presents.  Each family member opened the book with a mild level of interest, then slowly escalated to cry-laughing while murmuring things like “oh noooo” and “what!!”:  A real pleasure.  An improvement on texting everyone the link.&lt;/p&gt;

&lt;p&gt;Dogs in Elk is a 25-year-old viral dog story.  It was very widely forwarded by email, which was the style at the time. There are a few sources that come up when you search for it.  The version on web.mit.edu&lt;sup id=&quot;fnref:web-www&quot;&gt;&lt;a href=&quot;#fn:web-www&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; claims it was a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rec.pets&lt;/code&gt; newsgroup post, but others accurately note that it comes from the Salon.com Tabletalk forum.   That forum existed for 16 years, but it was taken offline with little notice in 2011.  So the Dogs in Elk original disappeared from the web.&lt;/p&gt;

&lt;p&gt;I found it again!  Archive Team &lt;a href=&quot;https://wiki.archiveteam.org/index.php/Salon_Table_Talk&quot;&gt;scraped all the public threads from Tabletalk&lt;/a&gt; once the shutdown announcement was made,&lt;sup id=&quot;fnref:tt&quot;&gt;&lt;a href=&quot;#fn:tt&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;3&lt;/a&gt;&lt;/sup&gt; so I downloaded the archive and found the thread, deep in the corpus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;/uploads/Dogs_In_Elk.html&quot;&gt;Here is the section of the forum thread between the start and the end of the saga&lt;/a&gt;&lt;/strong&gt;  (A more focused PDF is later in this post).  To find it yourself, you can download the Table Talk dump from its &lt;a href=&quot;https://archive.org/details/archiveteam-tabletalk-panic&quot;&gt;page on archive.org&lt;/a&gt;.  Unzip the file, then traverse the folders Table Talk / Private Life / Private Life Attic.  Open the Canine Conundrums file, and search for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#1318&lt;/code&gt;.  There are MANY more dog stories there for those who are patient.&lt;sup id=&quot;fnref:singdog&quot;&gt;&lt;a href=&quot;#fn:singdog&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Occasional posts seem to be missing from that scrape.  I noticed that #1333 was plot-relevant and missing, and copied it into my book files (and the HTML version above) from the &lt;a href=&quot;https://web.mit.edu/munch/Public/humor/elk&quot;&gt;web.mit.edu source&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Finding the original thread allowed me to choose additional posts that the copypasters of old left out.  I chose to add a little more context, and prolong the suspense of the Rosh Hashanah weekend a bit. Also, with the original in hand, I could copy its formatting. I decided I wanted to give my book the feeling of a copy that someone printed out at work and brought home.  Probably how I first saw it.  So I kept the first page of the forum thread pretty much intact, log-in link and all.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/Screenshot%20from%202025-01-30%2022-39-26.png&quot; alt=&quot;Screenshot from 2025-01-30 22-39-26.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;For the endpapers I chose a commercial marbled paper that felt 90% decorative and 10% intestinal:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/IMG_4854.JPEG&quot; alt=&quot;IMG_4854.JPEG&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Here is a &lt;a href=&quot;/uploads/Dogs%20In%20Elk%20smaller%20anon.pdf&quot;&gt;PDF of my formatted version&lt;/a&gt;, laid out for 3.75 x 5.5 inch pages.&lt;sup id=&quot;fnref:size&quot;&gt;&lt;a href=&quot;#fn:size&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;  I took a lot of care in paginating it so that most questions and replies were fully visible on facing pages.  I made the title pages with &lt;a href=&quot;https://www.linux.com/training-tutorials/linux-tips-fun-figlet-and-toilet-commands/&quot;&gt;figlet&lt;/a&gt;.  One who’s inclined could take this PDF over to &lt;a href=&quot;https://momijizukamori.github.io/bookbinder-js/&quot;&gt;Bookbinder JS&lt;/a&gt; and arrange it into signatures for binding.&lt;/p&gt;

&lt;p&gt;There were several details of the book that I could improve.  The most obvious is that the cover boards warped—I think it’s probably because the lovely endpapers don’t have as much strength as the bookcloth.&lt;sup id=&quot;fnref:warp&quot;&gt;&lt;a href=&quot;#fn:warp&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;6&lt;/a&gt;&lt;/sup&gt; A couple things are crooked. Also, I decided that since each &lt;em&gt;post&lt;/em&gt; was numbered, there was no need for &lt;em&gt;page&lt;/em&gt; numbers.  This basically worked, but did cause me mild grief and light lamentations while I was sorting out the signatures into their right order. But overall I’m extremely happy with it as my first case-bound book! I’m grateful that I got to take a bookbinding class, and I’m looking forward to many more projects.  Here’s this one with a couple others:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/IMG_4734.JPEG&quot; alt=&quot;IMG_4734.JPEG&quot; /&gt;&lt;/p&gt;

&lt;p&gt;If you finish this post and wish to read another dog story, &lt;a href=&quot;https://gallusrostromegalus.tumblr.com/post/707373294081523712/so-the-tire-eating-potholes-in-my-neighborhood&quot;&gt;I recommend this one&lt;/a&gt;.  If you are &lt;em&gt;still&lt;/em&gt; unsatisfied, click the “family lore” tag at the bottom of that text.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:fall&quot;&gt;
      &lt;p&gt;This led to a lot of conversations last fall that started “So what are you up to?” — “Do you remember Dogs in Elk?”&lt;sup id=&quot;fnref:relish&quot;&gt;&lt;a href=&quot;#fn:relish&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;7&lt;/a&gt;&lt;/sup&gt; &lt;a href=&quot;#fnref:fall&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:web-www&quot;&gt;
      &lt;p&gt;By the way, is it just me or does MIT have so much swagger for sticking with “web.mit.edu” for all these years?  None of this www tridubs stuff.  It’s so old-timey and pure. &lt;a href=&quot;#fnref:web-www&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:tt&quot;&gt;
      &lt;p&gt;I ran across a former denizen of Tabletalk, who said that many of them had migrated to a specific other forum.  I asked, and she was generally aware that a scrape was available on archive.org.  So that’s good. &lt;a href=&quot;#fnref:tt&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:singdog&quot;&gt;
      &lt;p&gt;I learned just now that Gus Pong was a &lt;a href=&quot;https://en.wikipedia.org/wiki/File:New_Guinea_Singing_Dogs_vocalizations.wav&quot;&gt;New Guinea Singing Dog&lt;/a&gt;. I had glossed over when Anne V mentioned the dogs singing from inside the carcass, but it’s actually very specific.  Also, Anne has such a compelling narrative voice! Amazing every time. &lt;a href=&quot;#fnref:singdog&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:size&quot;&gt;
      &lt;p&gt;This book ended up printed much larger than that—maybe I’ll make a smaller copy on nicer paper sometime. &lt;a href=&quot;#fnref:size&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:warp&quot;&gt;
      &lt;p&gt;There are apparently a lot of details in getting book covers not to warp - the papers that wrap the front and back both expand with the wet glue or paste.  Then you stick them on, and they contract as they dry.  The tension has to match (including what direction it’s pulling).  I’m still working on absorbing the fine points from a &lt;a href=&quot;https://keithsmithbooks.com/&quot;&gt;Keith Smith&lt;/a&gt; book. &lt;a href=&quot;#fnref:warp&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:relish&quot;&gt;
      &lt;p&gt;My wife relishes it when I have to take that sort of hard conversational left turn to answer a seemingly innocuous question.  This is why she made me tee shirts emblazoned “Nautical Deborah,” “Astral Deborah,” and “Terrestrial Deborah.”&lt;sup id=&quot;fnref:deborah&quot;&gt;&lt;a href=&quot;#fn:deborah&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;8&lt;/a&gt;&lt;/sup&gt; &lt;a href=&quot;#fnref:relish&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:deborah&quot;&gt;
      &lt;p&gt;So, you know the Suez Canal?  Remember when the Evergiven got wedged across it a few years ago?  Well I remember looking at &lt;a href=&quot;https://www.marinetraffic.com/&quot;&gt;Marine Traffic&lt;/a&gt; while that was on, and idly clicking on a few ships that were anchored, waiting to pass through.  One of them was named &lt;a href=&quot;https://www.balticshipping.com/vessel/imo/9794836&quot;&gt;Nautical Deborah&lt;/a&gt;, which I thought was great.  As I was relaying this important information to someone, we realized that if there’s a Nautical Deborah, then there should really be Deborahs of all these other domains.  My wife adores followthrough as a form of humor, and as I mentioned, loves it when I have to explain things. Accordingly, there are tee shirts. &lt;a href=&quot;#fnref:deborah&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;</content><author><name>Thomas Grenfell Smith</name><email>thomathom@gmail.com</email></author><summary type="html">I found the original post of Dogs in Elk, and formatted and bound it as a book!1 This led to a lot of conversations last fall that started “So what are you up to?” — “Do you remember Dogs in Elk?”[^relish] &amp;#8617;</summary></entry><entry><title type="html">One hundred million maps</title><link href="http://resc.net/posts/one-hundred-million-maps/" rel="alternate" type="text/html" title="One hundred million maps" /><published>2025-01-30T13:50:00-05:00</published><updated>2025-01-30T13:50:00-05:00</updated><id>http://resc.net/posts/one-hundred-million-maps</id><content type="html" xml:base="http://resc.net/posts/one-hundred-million-maps/">&lt;p&gt;I took an intro cog sci class in school, and during a philosophy section, we got into some verbal conundrums. If you sit on a table every day for a year, is it a CHAIR? If you shoot at a window, and there’s a moment where the bullet has gone through but the cracks have barely started to form, is the window BROKEN?&lt;/p&gt;

&lt;p&gt;I don’t even remember what conclusions they wanted us to draw, but my takeaway was that there is no gotcha here, it’s just that the map is not the territory. Our words are great and convey a lot, but they’re orders of magnitude less complex than the physical reality we exist in. Clearly there will be some points where they don’t match perfectly.&lt;/p&gt;

&lt;p&gt;Large language models are shaped from a hundred million maps, but have never been in a single territory.&lt;/p&gt;</content><author><name>Thomas Grenfell Smith</name><email>thomathom@gmail.com</email></author><summary type="html">I took an intro cog sci class in school, and during a philosophy section, we got into some verbal conundrums. If you sit on a table every day for a year, is it a CHAIR? If you shoot at a window, and there’s a moment where the bullet has gone through but the cracks have barely started to form, is the window BROKEN?</summary></entry><entry><title type="html">Computers in/as art, Seeing as a Singularity - Links, May and June 2023</title><link href="http://resc.net/posts/links-may-june-2023/" rel="alternate" type="text/html" title="Computers in/as art, Seeing as a Singularity - Links, May and June 2023" /><published>2023-07-05T20:25:00-04:00</published><updated>2023-07-05T20:25:00-04:00</updated><id>http://resc.net/posts/links-may-june-2023</id><content type="html" xml:base="http://resc.net/posts/links-may-june-2023/">&lt;p&gt;We made it up to three non-working lamps in the house, and re-wiring them can’t be that hard, right?  I have had a lot of trouble finding the supplies online, though - Amazon must have them but the search terms eluded me. Anyway I found &lt;a href=&quot;https://grandbrass.com/&quot;&gt;Grand Brass Lamp Parts&lt;/a&gt; which was perfect, and the search terms are &lt;a href=&quot;https://grandbrass.com/wire/power-cords-with-molded-plugs/spt-power-cords/&quot;&gt;set wire with molded polarized plug&lt;/a&gt; and &lt;a href=&quot;https://grandbrass.com/sockets/&quot;&gt;lamp holders&lt;/a&gt;.  They have a knowledge base/faq section that tells you the names of the parts you need and other good details.  Despite the items being reliable, UL-listed stuff, their prices are lower than amazon.  Overall great, except that they don’t own a world-eating order fulfillment empire, so their fast shipping is expensive.&lt;/p&gt;

&lt;p&gt;Here is &lt;a href=&quot;https://pubs.usgs.gov/imap/i2720/&quot;&gt;A Tapestry of Time and Terrain&lt;/a&gt; - a really beautiful geological map of the USA (a &lt;a href=&quot;https://pubs.usgs.gov/imap/i2781/&quot;&gt;North America version&lt;/a&gt; is also available with different colors).  The colors in this map were chosen in a rainbow order of time, which is unusual as far as I know.  Except for the Pennsylvanian brown in the USA version, maybe to mark the period of coal deposition?  You can see the “&lt;a href=&quot;https://www.acer-acre.ca/resources/climate-change-in-context/the-past/impacts/impacts-on-lithosphere-land/niagara-escarpment-glaciation&quot;&gt;vast depression in the earth’s crust, centered under the state of Michigan&lt;/a&gt;” (which remains a sick burn).&lt;/p&gt;

&lt;p&gt;Speaking of pretty things, I ran across a couple of lovely articles on the history of computers in art and design.  The first one, by Amy Goodchild, is &lt;a href=&quot;https://www.amygoodchild.com/blog/computer-art-50s-and-60s&quot;&gt;a review of early techniques of computer-assisted art&lt;/a&gt;, starting with cool patterns people made on oscilloscope screens, and touching on computer-randomized dance, computer automation of physical sculpture, and many more concepts.  It’s great to see how early some ideas were tried.  Looking forward to the followups that will go into the 70s and beyond.&lt;/p&gt;

&lt;p&gt;The second article, by Docubyte, &lt;a href=&quot;https://www.docubyte.com/projects/guide-to-computing/&quot;&gt;shows dozens of early computers in really glorious detail&lt;/a&gt;, an ecstasy of industrial design with knobs and panels and blinkenlights.&lt;/p&gt;

&lt;p&gt;Semi-relatedly, apparently you can &lt;a href=&quot;https://mefi.social/@dirtyoldtown/110079141885696755&quot;&gt;absolutely pimp out your old iPod&lt;/a&gt; with better battery, storage, connectivity, case, operating system, all kinds of stuff - found via a &lt;a href=&quot;https://ask.metafilter.com/373357/How-do-I-music&quot;&gt;helpful MeFi thread on how to consume music in a way that doesn’t suck&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We had computer-assisted art, so continuing on that theme of greater possibilities of humans + tools or humans + humans, here’s a nice statement of a hunch that I had as a teenager:&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;The joke version goes thus: I believe in a supreme being, in that I think beinghood is closed under union, thus the set of all beings has a superema (a maximal element).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;–&lt;a href=&quot;https://notebook.drmaciver.com/posts/2023-06-20-17:00.html&quot;&gt;&lt;em&gt;Larger Selves&lt;/em&gt; by D. R. MacIver&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As a teenager I thought about this kind of thing a lot for a while, for instance I rephrased renowned deity Jesus’s “where two or three are gathered in my name, I am there among them” as “God is what happens when two or three are gathered together.”  That seemed a little glib, but I went with it for a while.  I was reading Hofstadter and relishing the word “emergent.”  I remember explaining it to some adult, and they rephrased it as “oh, it’s like all of creation singing together” and at that point, the glibness level overwhelmed me and I abandoned the thought.  But I’m glad to know that someone is having interesting, related ideas, and developing them farther than I ever did!&lt;/p&gt;

&lt;p&gt;When you’ve got structures of information flow that are much larger than small friend groups, for instance churches or corporations or governments, they are hard to comprehend or hold to account.  So much so that some people date the putative &lt;a href=&quot;https://en.wikipedia.org/wiki/Technological_singularity&quot;&gt;Singularity&lt;/a&gt; not to some moment in a decade or two when Artificial Intelligence closes a loop, but &lt;em&gt;back&lt;/em&gt; to the start of the Industrial Revolution.  Here is a great &lt;a href=&quot;https://crookedtimber.org/2023/07/03/shoggoths-amongst-us/&quot;&gt;article by Henry Farrell that argues this point and also touches on Large Language Models and oppression&lt;/a&gt;.  (When you look at the header image, RLHF is Reinforcement Learning with Human Feedback, a fine-tuning step they do to large language models).&lt;/p&gt;

&lt;p&gt;The article also mentions &lt;a href=&quot;https://en.wikipedia.org/wiki/Seeing_Like_a_State&quot;&gt;Seeing Like a State&lt;/a&gt;, so Farrell joins MacIver in the club of people who have read that book and then &lt;a href=&quot;https://www.drmaciver.com/2017/11/shaping-the-world/&quot;&gt;written articles that I really appreciate&lt;/a&gt;.  The book is rumored to be a slog, but maybe I have to read it sometime.&lt;/p&gt;

&lt;p&gt;OK, I’m done with segues, here’s what else has been on my mind:&lt;/p&gt;

&lt;p&gt;Take a look at your smoke detectors.  Do they look yellowed?  They are too old.  They stop working as well after ten years, even if you keep replacing the battery.  Also, you can now get detectors that &lt;a href=&quot;https://youtu.be/DuAeaIcAXtg&quot;&gt;detect smoldering fires WAY better than traditional ones&lt;/a&gt;.  I realized that the previous occupants of my house didn’t replace the detectors at their 10 year mark, so most of mine are 20 years old!  I’ve started replacing them with dual-detector (photo &amp;amp; ion) models.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.letslearneverythingpod.com/&quot;&gt;Let’s Learn Everything&lt;/a&gt; is a podcast I just discovered that’s been a delight.  I consume a lot of nonfiction-as-entertainment, and this is fresh and nice!  (&lt;a href=&quot;https://ask.metafilter.com/373223/Podcast-recommendations-debunky-chatty-science-y-edition&quot;&gt;via&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;I don’t know enough on Physics to know if this is actually a big new idea or not, but it does seem very correct to me - &lt;a href=&quot;https://www.quantamagazine.org/a-new-theory-for-the-assembly-of-life-in-the-universe-20230504/&quot;&gt;Assembly Theory, about path-dependency in the history of phenomena&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I read &lt;a href=&quot;http://www.robinhobb.com/works.htm&quot;&gt;Robin Hobb’s Farseer trilogy&lt;/a&gt; and found it to be a little on the intense side of what I normally like, but still worthwhile.&lt;/p&gt;

&lt;p&gt;I also read &lt;a href=&quot;https://us.macmillan.com/books/9781250789075/lightfromuncommonstars&quot;&gt;Light from Uncommon Stars&lt;/a&gt; by &lt;a href=&quot;https://rykaryka.com/&quot;&gt;Ryka Aoki&lt;/a&gt; and found it really moving.  Would recommend it, although look up its trigger warnings.&lt;/p&gt;

&lt;p&gt;It’s hurricane season, so &lt;a href=&quot;https://youtu.be/s7mNmx7wTkY&quot;&gt;Tropical Tidbits has started releasing videos again&lt;/a&gt; - if you’re vaguely curious about meteorology, they’re very watchable and you can glean things.&lt;/p&gt;

&lt;p&gt;My computer’s wifi broke out of the blue, didn’t work after rebooting and powering off. Taking my laptop apart, removing and reinstalling the wifi card did the trick though! There’s no trick like an old trick.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/34CZjsEI1yU&quot;&gt;Dwarf Metal music&lt;/a&gt; exists and is worth experiencing once!&lt;/p&gt;</content><author><name>Thomas Grenfell Smith</name><email>thomathom@gmail.com</email></author><summary type="html">We made it up to three non-working lamps in the house, and re-wiring them can’t be that hard, right? I have had a lot of trouble finding the supplies online, though - Amazon must have them but the search terms eluded me. Anyway I found Grand Brass Lamp Parts which was perfect, and the search terms are set wire with molded polarized plug and lamp holders. They have a knowledge base/faq section that tells you the names of the parts you need and other good details. Despite the items being reliable, UL-listed stuff, their prices are lower than amazon. Overall great, except that they don’t own a world-eating order fulfillment empire, so their fast shipping is expensive.</summary></entry><entry><title type="html">Links, April 2023</title><link href="http://resc.net/posts/links-april-2023/" rel="alternate" type="text/html" title="Links, April 2023" /><published>2023-05-02T15:14:00-04:00</published><updated>2023-05-02T15:14:00-04:00</updated><id>http://resc.net/posts/links-april-2023</id><content type="html" xml:base="http://resc.net/posts/links-april-2023/">&lt;p&gt;During the powerful winter storm in the Midwest late last December, apparently it was &lt;a href=&quot;https://blog.ucsusa.org/mike-jacobs/gas-generators-get-caught-with-their-plants-down/&quot;&gt;too cold to operate a lot of natural gas power plants!&lt;/a&gt;  We avoided more blackouts because wind energy really came through (it was awfully windy).  There’s a system in place to reward resilient generation capacity, and penalize if you say your capacity is resilient but it isn’t.  The link is an interesting Union of Concerned Scientists  blog post about the whole thing, and the natural gas power plants’ attempts to evade the consequences.&lt;/p&gt;

&lt;p&gt;Another interesting thing from the Union of Concerned Scientists’ blog was a few years ago - Dave Lochbaum wrote a &lt;a href=&quot;https://blog.ucsusa.org/author/dlochbaum/&quot;&gt;series of articles about harrowing near-miss problems at nuclear power plants&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For instance, &lt;a href=&quot;https://blog.ucsusa.org/dlochbaum/high-energy-arc-faults/&quot;&gt;here is a post about arcing in electrical equipment in power plants&lt;/a&gt;, which includes this video of a controlled test:&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube-nocookie.com/embed/22gq5QpoBUg&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;A lot of the failures Lochbaum highlighted over the series felt like pretty normal industrial facility problems that could be controlled by good management, but weren’t.  IIRC the UCS’s position is that nuclear plants can be run safely, but that some are clearly run more safely than others, and that the regulators are way too lax with the low performing operators.&lt;/p&gt;

&lt;p&gt;On a tangent, strange guy / chemistry youtuber CodysLab &lt;a href=&quot;https://youtu.be/bl3NamzoFrM&quot;&gt;refined Uranium metal from a rock&lt;/a&gt; a few years ago.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/-NocoXAz_Ho&quot;&gt;This is a nice one-hour summary of the geology of Indiana&lt;/a&gt;.  And here’s &lt;a href=&quot;https://youtu.be/LXzDfQyUlLg&quot;&gt;a delightful and earnest geologist getting excited about the Great Unconformity&lt;/a&gt;, which yeah, I find spooky.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/9S1EzkRpelY&quot;&gt;Jonathan Frakes asks you things&lt;/a&gt;: guaranteed to make you feel a feeling in 48 seconds&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://genestogenomes.org/trans-exclusion-in-sports-a-discriminatory-and-erroneous-tradition/&quot;&gt;A powerful takedown of the panic about trans athletes&lt;/a&gt;, via &lt;a href=&quot;https://ask.metafilter.com/371775/Where-is-this-excellent-takedown-of-the-moral-panic-over-trans-athletes&quot;&gt;a MetaFilter post with a few more links&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’m not a MeFite myself, but they have RSS feeds of &lt;a href=&quot;https://bestof.metafilter.com/&quot;&gt;best&lt;/a&gt; and &lt;a href=&quot;https://www.metafilter.com/popular.mefi&quot;&gt;popular&lt;/a&gt; posts that are consistently interesting to me.&lt;/p&gt;

&lt;p&gt;Speaking of RSS, I am still leading that Google Reader lifestyle, with &lt;a href=&quot;https://feedbin.com/about&quot;&gt;Feedbin&lt;/a&gt; and the Reeder app.  Updates from sources &lt;em&gt;I choose&lt;/em&gt;, in beautiful &lt;em&gt;reverse chronological order&lt;/em&gt;.  It’s very nice and I recommend it!&lt;/p&gt;

&lt;p&gt;Cory Doctorow wrote a &lt;a href=&quot;https://pluralistic.net/2023/04/12/algorithmic-wage-discrimination/#fishers-of-men&quot;&gt;scathing article&lt;/a&gt; about how “gig work” companies twiddle the amount they pay workers on each job: they lure workers in with high payouts and then taper their pay down to the lowest amount each worker will tolerate.  Algorithmic wage discrimination - really sickening.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://kottke.org/&quot;&gt;Kottke&lt;/a&gt; had a special day of being blown away by an incredible drummer, Larnell Lewis:  &lt;a href=&quot;https://kottke.org/23/04/drummer-plays-metallicas-enter-sandman-after-hearing-it-only-once&quot;&gt;Drummer Plays Metallica’s Enter Sandman After Hearing It Only Once&lt;/a&gt;, followed by &lt;a href=&quot;https://kottke.org/23/04/an-epic-improvisation&quot;&gt;An Epic Improvisation&lt;/a&gt; - I’ve watched that video about 15 times and it was stuck in my head for a week.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://kk.org/cooltools/astronomy/&quot;&gt;Cool Tools featured a usable telescope for $48 which sounds amazing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Had to explain about &lt;a href=&quot;https://youtu.be/JwZwkk7q25I&quot;&gt;light switch raves&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=ZcA2AgIRjcw&quot;&gt;A gardening song more fun and honest than Inch by Inch, Row by Row&lt;/a&gt; (but less depressed than Slug by Slug, Weed by Weed)&lt;/p&gt;

&lt;p&gt;Two nice interviews about Aardman’s stop motion productions (e.g. Wallace and Gromit) - &lt;a href=&quot;https://youtu.be/RHbLEgmQjcQ&quot;&gt;Adam Savage&lt;/a&gt; and &lt;a href=&quot;https://youtu.be/jZvQzkFcKEM&quot;&gt;Wired&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/caution%20attraction.png&quot; alt=&quot;A sign in the style of an official warning sign, saying &amp;quot;Caution: This device attracts all other objects in the universe with a force proportional to the product of their masses and inversely proportional to the square of their distance&amp;quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/who%20cares.png&quot; alt=&quot;A sign in the style of an official warning sign, saying &amp;quot;Notice: Who cares? Not me! Ha ha ha&amp;quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://observatory.db.erau.edu/generators/signs/&quot;&gt;Safety sign generator&lt;/a&gt;. I don’t understand why people aren’t more excited about this.  My wife and I used it to make safety signs of like a dozen in-jokes, an hour well spent.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.kickstarter.com/projects/personalpreference/personal-preference-updated-edition&quot;&gt;Personal Preference is getting an update&lt;/a&gt; - the original was a favorite&lt;/p&gt;

&lt;p&gt;I tried ChatGPT and didn’t find it very fun, although maybe I just didn’t find a good interaction pattern?&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/IMG_4958.jpeg&quot; alt=&quot;a screenshot of ChatGPT doing a bad job drawing the state of Indiana as ASCII art&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://micropython.org/resources/MicroPython10YearsPoster.pdf&quot;&gt;MicroPython, a stripped-down version of Python for microcontrollers, celebrated ten years&lt;/a&gt; of existence!  I’ve gotten a lot of use out of the Adafruit fork, &lt;a href=&quot;https://circuitpython.org/&quot;&gt;CircuitPython&lt;/a&gt;, for instance using it to control the e-ink display of the &lt;a href=&quot;https://www.adafruit.com/product/4800&quot;&gt;MagTag&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I re-read five of the six main &lt;a href=&quot;https://www.harpercollins.com/collections/books-series-queens-thief&quot;&gt;Queen’s Thief novels&lt;/a&gt; - it turns out that blasting through the audiobooks almost one a day is a little too fast, and the sixth one was a bridge too far.  But the series is still great, I’ll get back to the last one soon.  Audiobooks are nice when gardening.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/IMG_4855.JPEG&quot; alt=&quot;A photo of some rock lilies&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/IMG_5078.JPG&quot; alt=&quot;A photo of a bottle of korean alcohol, translated with google translate&quot; /&gt;
as soft as the first, sweet like an apple (apologize)&lt;/p&gt;</content><author><name>Thomas Grenfell Smith</name><email>thomathom@gmail.com</email></author><summary type="html">During the powerful winter storm in the Midwest late last December, apparently it was too cold to operate a lot of natural gas power plants! We avoided more blackouts because wind energy really came through (it was awfully windy). There’s a system in place to reward resilient generation capacity, and penalize if you say your capacity is resilient but it isn’t. The link is an interesting Union of Concerned Scientists blog post about the whole thing, and the natural gas power plants’ attempts to evade the consequences.</summary></entry><entry><title type="html">Links, March 2023</title><link href="http://resc.net/posts/links-march-2023/" rel="alternate" type="text/html" title="Links, March 2023" /><published>2023-03-31T10:28:00-04:00</published><updated>2023-03-31T10:28:00-04:00</updated><id>http://resc.net/posts/links-march-2023</id><content type="html" xml:base="http://resc.net/posts/links-march-2023/">&lt;p&gt;I got on a little kick for old-time telephone switching systems.  I started with the &lt;a href=&quot;https://www.youtube.com/playlist?list=PLm8mbrpAteNnRhYBkqq3eNhspJevieFVx&quot;&gt;Connections Museum playlist about how telephone calls used to work&lt;/a&gt;, where Sarah’s excitement about the whole thing was totally infectious.  In one of her videos, she linked to Evan Doorbell, who &lt;a href=&quot;http://www.evan-doorbell.com/production/group1.htm&quot;&gt;talks about phone phreaking with the most delicious radio voice&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Strowger_switch&quot;&gt;story of the invention of automatic telephone switching is truly wild&lt;/a&gt;, starting with a business dispute between an undertaker and his local telephone company.  And it happened in 1891 - just one year after &lt;a href=&quot;https://www.census.gov/history/www/census_then_now/notable_alumni/herman_hollerith.html&quot;&gt;Hollerith first used automatic tabulation and punch cards in the US Census&lt;/a&gt;.  I’m blown away by the complexity of these information systems, starting roughly 60 years before the first modern, stored-program computer.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.timhunkin.com/&quot;&gt;Tim Hunkin&lt;/a&gt;, of &lt;a href=&quot;https://www.youtube.com/watch?v=CJlrbMHLBd4&amp;amp;list=PLtaR0lZhSyAPLuoSbMA29s3Ry8ZUvKff3&quot;&gt;Secret Life of Machines&lt;/a&gt; fame, has been making &lt;a href=&quot;https://www.youtube.com/playlist?list=PLtaR0lZhSyANYB0Xxb9OSp47pHuQmj3Ol&quot;&gt;a lovely series of videos about different components DIYers can use&lt;/a&gt;, based on his decades of experience making &lt;a href=&quot;https://www.novelty-automation.com/&quot;&gt;one-off satirical arcade machines&lt;/a&gt; and other &lt;a href=&quot;https://www.exploratorium.edu/exhibits/tinkerers-clock&quot;&gt;magnificent gadgets&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=6_u8x8V4YYs&quot;&gt;Inside a megawatt radio transmitter&lt;/a&gt;, and &lt;a href=&quot;https://www.youtube.com/watch?v=wJ-XqQchwEw&quot;&gt;part two&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the month I became aware of Mr. Blobby - wow&lt;/p&gt;

&lt;p&gt;I’ve been watching through &lt;a href=&quot;https://eater.net/&quot;&gt;Ben Eater&lt;/a&gt;’s &lt;a href=&quot;https://www.youtube.com/playlist?list=PLowKtXNTBypFbtuVMUVXNR0z1mu7dp7eH&quot;&gt;series on building a 6502 CPU into a minimal computer&lt;/a&gt;.  6502 assembly language is gloriously easy to understand, and he does a great job of going from simple to complex one step at a time.  His series on USB and on the “world’s worst video card” are also nice.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/H916EVndP_A&quot;&gt;Cookie Monster makes John Oliver totally crack up&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://scenestream.net/demovibes/&quot;&gt;Music from the Demoscene&lt;/a&gt; - click Listen in the upper right.  There are so many bad tracks in the world, it’s nice to have a streaming station of 90% good ones.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/XfLlpxE6AYM&quot;&gt;Why Clip Art Was Everywhere… Until it Wasn’t&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/OS6CKnkEUlA&quot;&gt;Different types of panning demo - Increase stereo image&lt;/a&gt; - Dave Rat, a sound guy from huge acts like RHCP, has a youtube channel.  I’ve been watching his videos about making live sound work better - maybe someday I’ll run sound for &lt;a href=&quot;https://www.youtube.com/watch?v=ijt-7tRHkcM&quot;&gt;contra dances&lt;/a&gt; again, and it would be fun to try his tips like these, or double mic’ing, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/TAE8i40A5uI&quot;&gt;Quick documentary about how the FDIC takes over a failed bank&lt;/a&gt; - or the &lt;a href=&quot;https://www.thisamericanlife.org/377/scenes-from-a-recession/act-two-3&quot;&gt;audio version from This American Life&lt;/a&gt;.  Kind of fascinating, and relevant again.  &lt;a href=&quot;https://www.calculatedriskblog.com/2023/01/q4-2022-update-unofficial-problem-bank.html&quot;&gt;Calculated Risk&lt;/a&gt; has links to further info about how banks are evaluated.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/YnqsqWwcVLc&quot;&gt;Wildly compelling hambone performance&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/apxc2VXFSQs&quot;&gt;Making a production run of resin-cast figures&lt;/a&gt; - we used his cut-mold process to copy some chess pieces and make soap in their shape, and it worked really well!&lt;/p&gt;

&lt;p&gt;This might be my year of 3D modelling, and if so, I plan to use Michal Zalewski’s &lt;a href=&quot;https://lcamtuf.coredump.cx/gcnc/&quot;&gt;Guerilla guide to CNC and resin casting&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/OY2lAWXYaoc&quot;&gt;Spending the night in a Titan II Missile Silo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtube.com/shorts/263GiWeco_o?feature=share&quot;&gt;See, him face?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://taxheaven3000.com/&quot;&gt;Tax Heaven 3000&lt;/a&gt;, a dating sim that does your taxes (my taxes are done in a much more sedate way but this is pretty funny)&lt;/p&gt;

&lt;p&gt;Cheating and going back to earlier this year -&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jacobin.com/2023/01/jrr-tolkein-lord-of-the-rings-marxist-critique&quot;&gt;A Marxist View of Tolkein’s Middle Earth&lt;/a&gt; (via metafilter) - “J. R. R. Tolkien’s fantasy world is a medieval utopia with poverty and oppression airbrushed out of the picture. But Tolkien’s work also contains a romantic critique of industrial capitalism that is an important part of its vast popular appeal.”  Wouldn’t call myself a Marxist but this was very interesting&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://pluralistic.net/2023/01/21/potemkin-ai/#hey-guys&quot;&gt;TikTok’s enshittification&lt;/a&gt; - this seems to have a lot of explanatory power for how online spaces grow and die&lt;/p&gt;</content><author><name>Thomas Grenfell Smith</name><email>thomathom@gmail.com</email></author><summary type="html">I got on a little kick for old-time telephone switching systems. I started with the Connections Museum playlist about how telephone calls used to work, where Sarah’s excitement about the whole thing was totally infectious. In one of her videos, she linked to Evan Doorbell, who talks about phone phreaking with the most delicious radio voice.</summary></entry><entry><title type="html">A low-tech way to see the TOTP secret exported from Google Authenticator</title><link href="http://resc.net/posts/a-low-tech-way-to-see-the-totp-secret-exported-from-google-authenticator/" rel="alternate" type="text/html" title="A low-tech way to see the TOTP secret exported from Google Authenticator" /><published>2023-02-01T12:34:00-05:00</published><updated>2023-02-01T12:34:00-05:00</updated><id>http://resc.net/posts/a-low-tech-way-to-see-the-totp-secret-exported-from-google-authenticator</id><content type="html" xml:base="http://resc.net/posts/a-low-tech-way-to-see-the-totp-secret-exported-from-google-authenticator/">&lt;p&gt;Google Authenticator’s Export functionality produces a QR code. You can scan the QR code with another copy of Google Authenticator, to transfer the Time-based One-Time Password secret to a new phone for example.  But if you want to use it in another context, it’s annoying and tricky.  For example, if you need to authenticate in order to run automated tests, you can’t be getting your phone out each time your CI job runs.&lt;/p&gt;

&lt;p&gt;These instructions are for a Debian-based Linux machine.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sudo apt-get install zbarcam-gtk oathtool protobuf-compiler&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Click the three dots menu in Authenticator, choose Export, and select the accounts you want to export&lt;/li&gt;
  &lt;li&gt;Run zbarcam-gtk and point your computer’s camera at the QR code displayed on your phone&lt;/li&gt;
  &lt;li&gt;Copy the URL at the bottom of the window&lt;/li&gt;
  &lt;li&gt;Paste it somewhere and delete the prefix, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;QR-Code:otpauth-migration://offline?data=&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Open Python3 and run:
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;from urllib.parse import unquote
import base64
with open(&quot;secret.proto&quot;) as out:
 out.write(unquote(&quot;the rest of the decoded QR&quot;))
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;Back in the terminal, run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;protoc --decode_raw &amp;lt; secret.proto&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rm secret.proto&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Copy the thing that looks like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\123WE\012&lt;/code&gt; etc – the binary representation of the TOTP secret – not including its quotation marks.&lt;/li&gt;
  &lt;li&gt;Back in Python, type
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;base64.b32encode(b&quot;PASTE HERE&quot;)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
    &lt;p&gt;You should get back a bytes object that’s all letters and numbers.  That’s the TOTP secret, encoded in base32.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;Now, any time you need a one-time password, you can run
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;oathtool -b --totp the_base32_secret
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is less secure than your phone, e.g. your secret will be visible in your shell history file.  But it can be worthwhile in certain cases.&lt;/p&gt;

&lt;p&gt;I did it this way because I didn’t know what TOTP desktop apps were trustworthy or would send your passwords to Nocturnal Aviation Associates.  I figured these tools were low-level enough that they wouldn’t be scams?&lt;/p&gt;</content><author><name>Thomas Grenfell Smith</name><email>thomathom@gmail.com</email></author><summary type="html">Google Authenticator’s Export functionality produces a QR code. You can scan the QR code with another copy of Google Authenticator, to transfer the Time-based One-Time Password secret to a new phone for example. But if you want to use it in another context, it’s annoying and tricky. For example, if you need to authenticate in order to run automated tests, you can’t be getting your phone out each time your CI job runs.</summary></entry><entry><title type="html">Barometz (The Vegetable Lamb)</title><link href="http://resc.net/posts/barometz-the-vegetable-lamb/" rel="alternate" type="text/html" title="Barometz (The Vegetable Lamb)" /><published>2022-12-15T17:51:00-05:00</published><updated>2022-12-15T17:51:00-05:00</updated><id>http://resc.net/posts/barometz-the-vegetable-lamb</id><content type="html" xml:base="http://resc.net/posts/barometz-the-vegetable-lamb/">&lt;blockquote&gt;
  &lt;p&gt;When cotton was first introduced to Europeans in medieval times, they were mystified.  What was the source of this marvelous material?  Theories abounded. For a time, the source was thought to be ‘the Vegetable Lamb of Tartary’—a plant with tiny sheep on stems bowing down and grazing the undergrowth.  One can only imagine how they thought all those tiny sheep were shorn.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;From &lt;a href=&quot;http://web.archive.org/web/20240229031543/https://www.penguinrandomhouse.com/books/630077/the-practical-spinners-guide---cotton-flax-hemp-by-stephenie-gaustad/&quot;&gt;The Practical Spinner’s Guide: Cotton, Flax, Hemp&lt;/a&gt;, Stephenie Gaustad, 2014&lt;/p&gt;

&lt;p&gt;My wife Jessica showed me this passage, and we obviously had to know more.  &lt;a href=&quot;https://en.wikipedia.org/wiki/Vegetable_Lamb_of_Tartary&quot;&gt;The creature’s wikipedia page&lt;/a&gt; quoted some extraordinary verse by &lt;a href=&quot;https://en.wikipedia.org/wiki/Erasmus_Darwin&quot;&gt;Dr. Erasmus Darwin&lt;/a&gt; (one of &lt;em&gt;those&lt;/em&gt; Darwins):&lt;/p&gt;

&lt;p&gt;E’en round the Pole the flames of love aspire, &lt;br /&gt;
And icy bosoms feel the secret fire, &lt;br /&gt;
Cradled in snow, and fanned by Arctic air, &lt;br /&gt;
Shines, gentle borametz,&lt;sup id=&quot;fnref:name&quot;&gt;&lt;a href=&quot;#fn:name&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; thy golden hair &lt;br /&gt;
Rooted in earth, each cloven foot descends, &lt;br /&gt;
And round and round her flexile neck she bends, &lt;br /&gt;
Crops the grey coral moss, and hoary thyme, &lt;br /&gt;
Or laps with rosy tongue the melting rime; &lt;br /&gt;
Eyes with mute tenderness her distant dam, &lt;br /&gt;
And seems to bleat – a vegetable lamb&lt;/p&gt;

&lt;p&gt;(Listen, because I am telling you that there is a &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Botanic_Garden&quot;&gt;two-volume book&lt;/a&gt; of rapturous poetry about botany, by Darwin’s grandpa, available for free on Project Gutenberg: &lt;a href=&quot;https://www.gutenberg.org/ebooks/9612&quot;&gt;The Economy of Vegetation&lt;/a&gt; and &lt;a href=&quot;https://www.gutenberg.org/ebooks/10671&quot;&gt;The Loves of the Plants&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;I decided that this lovely misconception needed to be set to music.  It’s in iambic pentameter, so I looked through Hymnary by meter and found &lt;a href=&quot;https://hymnary.org/tune/magda_vaughan_williams&quot;&gt;&lt;em&gt;Magda&lt;/em&gt; by Ralph Vaughan Williams&lt;/a&gt; to be suitably tender.&lt;/p&gt;

&lt;p&gt;So! &lt;strong&gt;&lt;a href=&quot;/uploads/Vegetable_Lamb_r5.pdf&quot;&gt;Here is the sheet music&lt;/a&gt;&lt;/strong&gt; (revision 5) if you would like to sing about this earthy plant-beast.  Maybe you can use it in a concert about… misconceptions?  Exoticism?  Evolution?  Fabric?  Sheep?&lt;/p&gt;

&lt;p&gt;The sheet music is licensed &lt;a href=&quot;https://resc.net/posts/barometz-the-vegetable-lamb/&quot;&gt;CC-BY 4.0&lt;/a&gt;; I would love to know if you use the music, my email address is in the footer.  Error reports also welcome.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/Mandeville_cotton.jpg&quot; alt=&quot;Mandeville_cotton.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Engraving by Sir John Mandeville, 14th century&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:name&quot;&gt;
      &lt;p&gt;Borametz, Barometz, and Borometz all seem to be valid names.  Also Scythian Lamb. &lt;a href=&quot;#fnref:name&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;</content><author><name>Thomas Grenfell Smith</name><email>thomathom@gmail.com</email></author><summary type="html">When cotton was first introduced to Europeans in medieval times, they were mystified. What was the source of this marvelous material? Theories abounded. For a time, the source was thought to be ‘the Vegetable Lamb of Tartary’—a plant with tiny sheep on stems bowing down and grazing the undergrowth. One can only imagine how they thought all those tiny sheep were shorn.</summary></entry><entry><title type="html">Dissecting an asthma inhaler with a dose counter</title><link href="http://resc.net/posts/dissecting-an-asthma-inhaler-with-a-dose-counter/" rel="alternate" type="text/html" title="Dissecting an asthma inhaler with a dose counter" /><published>2020-12-19T23:27:00-05:00</published><updated>2020-12-19T23:27:00-05:00</updated><id>http://resc.net/posts/dissecting-an-asthma-inhaler-with-a-dose-counter</id><content type="html" xml:base="http://resc.net/posts/dissecting-an-asthma-inhaler-with-a-dose-counter/">&lt;p&gt;Back in the 90s, before &lt;a href=&quot;https://en.wikipedia.org/wiki/Le_Chiffre&quot;&gt;Le Chiffre&lt;/a&gt; made asthma inhalers cool,&lt;sup id=&quot;fnref:chiffre&quot;&gt;&lt;a href=&quot;#fn:chiffre&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; my mother taught me how to tell if my Proventil canister was empty.  If there was any of that sweet sweet albuterol left, it would float vertically in water, but if it went horizontal it was empty.&lt;/p&gt;

&lt;p&gt;Apparently, in the years since I was a wheezyboy, inhaler technology has advanced a bit.  Modern ones have clockwork contrivances to tell you how much is left, which I have to admit is convenient.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-220837.jpg&quot; alt=&quot;Photo of part of a Symbicort inhaler, showing the dose counter&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I got curious about its inner workings, so I pried the whole thing apart and took pictures.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-221145.jpg&quot; alt=&quot;Photo of Symbicort canister inside the inhaler&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Here’s the canister that holds the medicine and a propellant.&lt;sup id=&quot;fnref:propellant&quot;&gt;&lt;a href=&quot;#fn:propellant&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;  The left part of the canister in this picture contains a valve that dispenses a consistent amount of medication each time the white stem is pushed into the body of the canister.&lt;/p&gt;

&lt;figure&gt;
&lt;img src=&quot;/uploads/Components-of-a-pressurised-metered-dose-inhaler-Lower-panels-illustrate-the-process-of.png&quot; alt=&quot;Diagram of inhaler components&quot; /&gt;
&lt;figcaption&gt;
Figure copyright Federico Lavorini, &lt;a href=&quot;https://creativecommons.org/licenses/by/3.0/&quot;&gt;CC BY 3.0&lt;/a&gt;, from &lt;a href=&quot;https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3747606/&quot;&gt;The Challenge of Delivering Therapeutic Aerosols to Asthma Patients&lt;/a&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;The other essential mechanical component of the device is the mouthpiece with its nozzle, which expands the squirt of medication into an aerosol so that it can make it all the way into your lungs.  In this photo we’re looking straight down the nozzle.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-221710.jpg&quot; alt=&quot;Looking into the jet nozzle&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Again back in the 90s, when my inhaler was tumbling around my green and purple nylon fanny pack, it would probably actuate uselessly sometimes.  These days, the mouthpiece cover prevents the actuation from happening by blocking it:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-220740.jpg&quot; alt=&quot;Picture of a piece of plastic blocking another one&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Since they’re using the mouthpiece cover for that, it has to latch on so it doesn’t just fall off.  They include unlatching instructions:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-222910.jpg&quot; alt=&quot;Mouthpiece cover with a sticker saying &amp;quot;Squeeze Sides gently then Pull Out&amp;quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Hah.  Okay, so now let’s look at the dose counter.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-221905-b20e48.jpg&quot; alt=&quot;Face of the dose counter, with 120 doses&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It’s normally jammed onto the medication container:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-220955.jpg&quot; alt=&quot;Dose counter attached to the canister&quot; /&gt;&lt;/p&gt;

&lt;p&gt;How does it know when you’ve done a puff?  The red body of the inhaler has a tab that sticks out, and it pushes a lever inside the grey cap.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-221322.jpg&quot; alt=&quot;Picture of tab and slot&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Pushing the lever turns this worm gear a partial turn.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-221820.jpg&quot; alt=&quot;Picture showing slot and worm gear&quot; /&gt;&lt;/p&gt;

&lt;p&gt;That’s the underside, here’s the top:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-222136.jpg&quot; alt=&quot;Picture of the dial of the counter with the face removed&quot; /&gt;
&lt;img src=&quot;/uploads/2020-12-18-222032.jpg&quot; alt=&quot;Picture of the face, dial, and the rest of the cap&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The dial has rack-style teeth around its edge, which are moved by the worm gear.  The black gunk is graphite, I was trying to turn it with a pencil.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-222505.jpg&quot; alt=&quot;Picture of how the dial works with the worm gear&quot; /&gt;&lt;/p&gt;

&lt;p&gt;How exactly does pushing in the red tab turn the worm gear?  The tab pushes a pin, which turns this ratchet wheel:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-222730.jpg&quot; alt=&quot;Picture of ratchet wheel&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Here I’ve taken out that pin, the spring that holds it down, and the ratchet - worm gear spindle.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-223130.jpg&quot; alt=&quot;Picture of the three tiny parts&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The pin has a dangly bit, does it count as a &lt;a href=&quot;https://www.youtube.com/watch?v=97t7Xj_iBv0&quot;&gt;flexture&lt;/a&gt;?  Anyway it looks like a devil’s tail.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-224843.jpg&quot; alt=&quot;Lil pointy bit&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Here are all the parts laid out:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-232105.jpg&quot; alt=&quot;All the parts of the inhaler&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Finally, here are some close up details of random parts.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-223208.jpg&quot; alt=&quot;2020-12-18-223208.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-223306.jpg&quot; alt=&quot;2020-12-18-223306.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-225228.jpg&quot; alt=&quot;2020-12-18-225228.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-230121.jpg&quot; alt=&quot;2020-12-18-230121.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-230254.jpg&quot; alt=&quot;2020-12-18-230254.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-230346.jpg&quot; alt=&quot;2020-12-18-230346.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-230900.jpg&quot; alt=&quot;2020-12-18-230900.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-231508.jpg&quot; alt=&quot;2020-12-18-231508.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-231532.jpg&quot; alt=&quot;2020-12-18-231532.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-18-224930.jpg&quot; alt=&quot;2020-12-18-224930.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/2020-12-20-parts-for-scale.small.jpg&quot; alt=&quot;2020-12-20-parts-for-scale.small.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Life is good with asthma inhalers!  Better living through chemistry!  Thanks for playing, thanks for breathing, thanks for reading!&lt;/p&gt;

&lt;p style=&quot;width: 5rem; height: 1px; margin: 30px auto; background-color: #d5d5d5;&quot;&gt;&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:chiffre&quot;&gt;
      &lt;p&gt;Did he make inhalers cool, or did he make them sinister?  Also, his technique was bad:&lt;/p&gt;

      &lt;blockquote&gt;
        &lt;p&gt;Le Chiffre is seen to be using his [metered dose inhaler] device too fast for good lung deposition and does not often shake the inhaler before use. This will only result in deterioration of his symptoms and poor asthma control during stressful situations.&lt;/p&gt;
      &lt;/blockquote&gt;

      &lt;p&gt;-&lt;a href=&quot;https://www.facebook.com/medicinesacademy/posts/709384009265299&quot;&gt;Medicines Academy&lt;/a&gt; &lt;a href=&quot;#fnref:chiffre&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:propellant&quot;&gt;
      &lt;p&gt;The propellants of these metered-dose inhalers are often potent greenhouse gases! Inhalers accounted for &lt;a href=&quot;https://www.bbc.com/news/health-50215011&quot;&gt;4% of the greenhouse gas emissions&lt;/a&gt; of the entire UK National Health Service in a recent year.  My doctor recently switched me to a different control inhaler, which uses powders - there’s more plastic waste, but it must be better for climate. &lt;a href=&quot;#fnref:propellant&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;</content><author><name>Thomas Grenfell Smith</name><email>thomathom@gmail.com</email></author><summary type="html">Back in the 90s, before Le Chiffre made asthma inhalers cool,1 my mother taught me how to tell if my Proventil canister was empty. If there was any of that sweet sweet albuterol left, it would float vertically in water, but if it went horizontal it was empty. Did he make inhalers cool, or did he make them sinister? Also, his technique was bad: &amp;#8617;</summary></entry><entry><title type="html">System76 Darter Pro 6: power supply, case screws</title><link href="http://resc.net/posts/system76-darter-pro-6-power-supply-case-screws/" rel="alternate" type="text/html" title="System76 Darter Pro 6: power supply, case screws" /><published>2020-11-20T23:15:00-05:00</published><updated>2020-11-20T23:15:00-05:00</updated><id>http://resc.net/posts/system76-darter-pro-6-power-supply-case-screws</id><content type="html" xml:base="http://resc.net/posts/system76-darter-pro-6-power-supply-case-screws/">&lt;p&gt;I like &lt;a href=&quot;https://system76.com/laptops/darter&quot;&gt;this laptop&lt;/a&gt; a lot!  It comes with a Chicony power supply, 19V 3.42A 65W.  Those are easy to find, but you have to get the right barrel connector.  The nominal outer diameter of the barrel is 5.5mm, the nominal inside is 2.5mm.  The tip is positive.  I ordered &lt;a href=&quot;https://smile.amazon.com/gp/product/B00HOQXSWA/&quot;&gt;this power adapter&lt;/a&gt; from amazon, and the brick part is exactly what I got from System76.  The barrel fits correctly except it’s a couple mm too long, which I don’t mind.  If that link is dead, try searching for “chicony toshiba satellite 19v 65w.”  I like supporting System76, but not quite enough to buy replacement AC adaptors from them.&lt;/p&gt;

&lt;p&gt;My case screws keep slowly working out somehow, which is annoying.  The screws are M2 by 5 mm long if you need to order them.  &lt;a href=&quot;https://smile.amazon.com/gp/product/B07HG2RNZF/&quot;&gt;This screw assortment&lt;/a&gt; included them.&lt;/p&gt;</content><author><name>Thomas Grenfell Smith</name><email>thomathom@gmail.com</email></author><summary type="html">I like this laptop a lot! It comes with a Chicony power supply, 19V 3.42A 65W. Those are easy to find, but you have to get the right barrel connector. The nominal outer diameter of the barrel is 5.5mm, the nominal inside is 2.5mm. The tip is positive. I ordered this power adapter from amazon, and the brick part is exactly what I got from System76. The barrel fits correctly except it’s a couple mm too long, which I don’t mind. If that link is dead, try searching for “chicony toshiba satellite 19v 65w.” I like supporting System76, but not quite enough to buy replacement AC adaptors from them.</summary></entry><entry><title type="html">Delights of a Minnesotan Gigabit Switch (part 3, good hax!)</title><link href="http://resc.net/posts/delights-of-a-minnesotan-gigabit-switch-part-3-good-hax/" rel="alternate" type="text/html" title="Delights of a Minnesotan Gigabit Switch (part 3, good hax!)" /><published>2020-10-27T22:02:00-04:00</published><updated>2020-10-27T22:02:00-04:00</updated><id>http://resc.net/posts/delights-of-a-minnesotan-gigabit-switch-part-3-good-hax</id><content type="html" xml:base="http://resc.net/posts/delights-of-a-minnesotan-gigabit-switch-part-3-good-hax/">&lt;p&gt;Welcome back!  I’m rehabilitating and taking control of a Waters Network Systems GSM-2112-POE 12-port managed Ethernet switch.  You can check out &lt;a href=&quot;https://resc.net/posts/delights-of-a-minnesotan-gigabit-router-part-1-background/&quot;&gt;part 1&lt;/a&gt; or &lt;a href=&quot;/posts/delights-of-a-minnesotan-gigabit-switch-part-2-good-fans-and-bad-hax/&quot;&gt;part 2&lt;/a&gt; if you feel like it.&lt;/p&gt;

&lt;p&gt;In case you &lt;em&gt;don’t&lt;/em&gt; feel like it, I’ll sum up where we are in the story: my current Ethernet switch has &lt;em&gt;no character&lt;/em&gt; and isn’t rack-&lt;em&gt;mounted&lt;/em&gt; so much as rack-zip-tied:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/unifi%20switch%20racked.JPG&quot; alt=&quot;My old switch held onto a rack shelf by ignominious zip ties&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I expect to need more than its four power-over-ethernet ports.  I’ve bought a high-quality but decade-old switch from eBay for pretty cheap.  The people who sold me the switch did not do a factory reset, and I don’t have the admin password.  My attempts to hack the thing over the network have failed up to this point. They could possibly be successful eventually, but they seem like an annoying amount of work.  I have bought the cable to go from my USB port to this Serial console on the back of the box:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/Screenshot_2020-10-23%20Waters%20Network%20Systems%20GSM-2112-POE%2012-port%20ProSwitch%20PoE%20Gigabit%20Switch%20eBay.jpg&quot; alt=&quot;Photo of the serial port on the back of the ethernet switch&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Okay, I hook the new cable up between the Serial port and my laptop.  How do I actually talk to it?&lt;/p&gt;

&lt;p&gt;In my youth, my daddy taught me to use a program called Kermit to dial into some computer at his work so that I could read &lt;a href=&quot;http://www.rheingold.com/electricminds/html/vcc_dir_cats.html&quot;&gt;rec.pets&lt;/a&gt;.  Fond memories, and Kermit is furthermore a great name for a program, but alas: I now find it 100% incomprehensible.  &lt;a href=&quot;https://www.gnu.org/software/screen/&quot;&gt;GNU Screen&lt;/a&gt; seems to be the actual thing to use.&lt;sup id=&quot;fnref:screen&quot;&gt;&lt;a href=&quot;#fn:screen&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;The baud&lt;sup id=&quot;fnref:baud&quot;&gt;&lt;a href=&quot;#fn:baud&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; rate 57600 comes from the manual.  Here’s the command line to connect and start interacting:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;screen /dev/ttyUSB0 57600
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And rebooting the switch gives:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Read system parameters from IIC EEPROM...Done!

BIOS v1.07 

BIOS(0)&amp;gt; ................................................
.........................................................
............Now booting image...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Followed by the normal login prompt - the login isn’t any different from what I see on telnet.  &lt;em&gt;But&lt;/em&gt; hey, the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;BIOS(0)&amp;gt;&lt;/code&gt;.  The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;gt;&lt;/code&gt; looks like a command prompt?  Yes actually!  Apparently you have to be quite speedy, there’s only a few seconds grace period, but after a few tries:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;BIOS(0)&amp;gt; help
 ===========================================================
        BIOS Command line interface HELP     
 ===========================================================
 help       :  Help for bios command. 
 ls         :  Display the bios command list. 
 sysconf    :  System parameter configuration. 
 flash      :  Flash Device Utility. 
 load(r)    :  Excutable image download[load] &amp;amp; run[loadr] at free memory area. 
 boot       :  vLinux Boot Loader can be selected. 
 dump       :  Memory Dump Command. 
 sys        :  Usage : sys {model|mac{0|1}|prod|ser|hard|mech|ram|flash|show} value . 
 look       :  look ext 0 , 1 ,2 . 
 fill       :  fill memory (4 byte) . 
 sdram      :  SDRAM test . 
 p1         :  p1 {0|1} GBIO Port 1. 
 rd         :  rd block sublock reg 
 ===========================================================

BIOS(1)&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Huh, sysconf looks vaguely interesting, let’s look:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;BIOS(1)&amp;gt; sysconf view

Read system parameters from IIC EEPROM...Done!

+==================================================+
|           System Configuration Table             |
+==================================================+
|  Configuration Parameter valid !!!               |
|               Boot Configuration                 |
+--------------------------------------------------+
|  BOOT Method : manual                            |
|  Boot File Name :                                |
|  TFTP Server IP Address : 192.168.1.176          |
+--------------------------------------------------+
|             Ethernet Configuration               |
+--------------------------------------------------+
|  Host Name : RubyTech                            |
|  Ethernet IP Address : 192.168.1.1               |
|  Ethernet Default Gateway : 192.168.1.254        |
|  Ethernet Default Subnet Mask : 255.255.255.0    |
|  Ethernet H/W Address : 00:40:c7:d0:00:00        |
+==================================================+
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Cool! You love to see the text-based tables, for one thing.  But more pertinently, it looks like if I created a bootable firmware image, the BIOS would let me load it onto the switch using TFTP and boot into it!  So how do I do that?!  Actually, it’s not super easy.&lt;sup id=&quot;fnref:armboot&quot;&gt;&lt;a href=&quot;#fn:armboot&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;  So I put this possibility in my back pocket for now.  Another interesting thing we can see here is the name RubyTech.  I asked Jeeves, and RubyTech is apparently a Taiwanese &lt;a href=&quot;https://www.rubytech.com.tw/rubytech/&quot;&gt;supplier of private label network equipment&lt;/a&gt;.  Presumably it’s where Waters bought the hardware?&lt;/p&gt;

&lt;p&gt;I poked around the menu a while longer, which I’ll spare you.  The most useful thing turned out to be the memory dump command:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;BIOS(4)&amp;gt; dump 0x0
00000000:0000000f   18 f0 9f e5 18 f0 9f e5  -  18 f0 9f e5 18 f0 9f e5 
00000010:0000001f   18 f0 9f e5 18 f0 9f e5  -  18 f0 9f e5 18 f0 9f e5 
00000020:0000002f   01 18 a0 e3 01 24 a0 e3  -  04 30 90 e4 04 30 82 e4 
00000030:0000003f   04 10 51 e2 fb ff ff 1a  -  58 23 5e 00 ff 10 a0 e3 
00000040:0000004f   00 10 80 e5 14 01 9f e5  -  20 10 a0 e3 00 10 80 e5 
00000050:0000005f   f8 00 9f e5 f8 10 9f e5  -  00 10 80 e5 5c 00 8f e2 
00000060:0000006f   fe 1f 90 e8 ec 00 9f e5  -  fe 1f 80 e8 f0 00 9f e5 
00000070:0000007f   01 18 a0 e3 5e 28 a0 e3  -  04 30 90 e4 04 30 82 e4 
00000080:0000008f   04 10 51 e2 fb ff ff 1a  -  5e f8 a0 e3 00 00 00 00 
00000090:0000009f   f8 3f 50 05 60 00 00 04  -  50 00 08 24 4c 00 09 25 
000000a0:000000af   00 00 00 00 00 00 00 00  -  00 00 00 00 80 03 04 20 
000000b0:000000bf   00 00 00 00 00 00 00 00  -  00 00 00 00 60 83 21 9c 
000000c0:000000cf   f8 3f 50 05 60 00 04 14  -  50 00 08 24 4c 00 09 25 
000000d0:000000df   00 00 00 00 00 00 00 00  -  00 00 00 00 80 03 00 10 
000000e0:000000ef   00 00 00 00 00 00 00 00  -  00 00 00 00 60 83 21 9c 
000000f0:000000ff   f8 3f 50 05 60 00 00 04  -  50 00 08 24 4c 00 09 25 

===========================================
=   1. Next Memory Address View![Any Key] =
=   2. New Address Input![N]              =
=   3. Exit [Q]                           =
===========================================
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Well, cool - we can see the memory in hexadecimal format.  That page doesn’t actually mean anything to me yet, but there’s &lt;em&gt;got&lt;/em&gt; to be good stuff in there if we look through everything!  At last, a clear direction - time to start hackin’, baby!  That’s what real hackers say, right?&lt;/p&gt;

&lt;p&gt;Here’s a script using &lt;a href=&quot;https://pexpect.readthedocs.io/en/stable/&quot;&gt;pexpect&lt;/a&gt; to start the serial communication and interact with the BIOS menu to record everything to a file, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;memory_dump.txt&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Assuming you’ve got a Python 3 virtualenv &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;env&lt;/code&gt; with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pexpect&lt;/code&gt; installed, and the script is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dump_memory.py&lt;/code&gt;, you’d invoke it as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sudo env/bin/python dump_memory.py&lt;/code&gt;.  Once the script is started, you would Reset the switch.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pexpect&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;time&lt;/span&gt;


&lt;span class=&quot;c1&quot;&gt;# Start communicating with the switch
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;child&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pexpect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;spawn&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'screen /dev/ttyUSB0 57600'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# Tell pexpect to record one side of the conversation -
# everything the switch sends to the laptop - to a file
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;child&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;logfile_read&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'memory_dump.txt'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;'wb'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# This means to ignore everything the switch sends to us,
# UNTIL we get the '&amp;gt; ' - the BIOS command prompt.
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;child&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;expect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'&amp;gt; '&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sleep&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# Start the memory dump at address 0
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;child&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'dump 0&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\r\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Keep sending Space every time it's done printing
# a block of memory
&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;child&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;expect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'Next Memory Address View'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sleep&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;child&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;send&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;' '&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I run it for a while - maybe an hourish?  At some point, I notice that it only seems to be reading &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;f8 3f 50 05&lt;/code&gt; over and over and over again.  This pattern seems to start at the 20 megabyte boundary (0140 0000 hex).  There are a few other bytes thrown in, but this seems boring, so I stop the process.&lt;/p&gt;

&lt;p&gt;I don’t want to deal with this as hex, I want to make it a binary file so that I can unzip it if it’s zipped, search for strings, and so on.  So I write another small python3 script, to separate the lines with hex data from the lines with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;BIOS(0)&lt;/code&gt;, the instructions, and so on, and then convert the hex to the binary characters it represents:&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;out&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'memory_dump.bin'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;'wb'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# Example lines this will deal with:
&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&quot;&quot;
000000e0:000000ef   00 00 00 00 00 00 00 00  -  00 00 00 00 60 83 21 9c
000000f0:000000ff   f8 3f 50 05 60 00 00 04  -  50 00 08 24 4c 00 09 25

===========================================
=   1. Next Memory Address View![Any Key] =
=   2. New Address Input![N]              =
=   3. Exit [Q]                           =
===========================================
00000100:0000010f   00 00 00 00 00 00 00 00  -  00 00 00 00 13 02 04 a0
00000110:0000011f   00 00 00 00 00 00 00 00  -  00 00 00 00 60 83 21 9c
&quot;&quot;&quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'memory_dump.txt'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;'r'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# Exclude lines with only instructions &amp;amp; stuff.
&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# There's also all kinds of control codes and junk
&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# in there, but I ignored it and it didn't
&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# seem to matter?
&lt;/span&gt;    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;'01234567890abcdef'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;strip&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
        &lt;span class=&quot;c1&quot;&gt;# The sections of the line are separated by double spaces.
&lt;/span&gt;        &lt;span class=&quot;c1&quot;&gt;# We don't care about the address or the dash, just the
&lt;/span&gt;        &lt;span class=&quot;c1&quot;&gt;# first and second sections of data.
&lt;/span&gt;        &lt;span class=&quot;n&quot;&gt;addr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;first&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dash&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;second&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'  '&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;bytes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fromhex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;first&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;bytes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fromhex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;second&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;flush&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So I’ve got a 20+ megabyte binary file - what is in there?  I have seen people do pretty wild stuff to firmware images with a program called &lt;a href=&quot;https://github.com/ReFirmLabs/binwalk&quot;&gt;binwalk&lt;/a&gt;, so I install that and set it loose.  Unfortunately, it misidentifies basically everything.  Nope, that’s not a &lt;a href=&quot;https://stuffit.com/&quot;&gt;stuffit&lt;/a&gt; file, and that other thing isn’t 7zip.  I don’t know.  It doesn’t do it for me.&lt;/p&gt;

&lt;p&gt;Presumably there must be a kernel in there, and possibly file data, but I don’t get as far as figuring that out, because &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;strings&lt;/code&gt; turns out to be the only analysis tool I need.  &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;strings&lt;/code&gt; is a basic Unix tool that looks inside a binary file for parts that look like text.  I spend a bit of time paging through the results, but eventually I get bored, and search for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;admin&lt;/code&gt;, the administrator username from the documentation.  Boom!&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;admin
adminpass
guest
guest
0.0.0.0
0.0.0.0
public
private
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;There it is!  Very likely the password!&lt;sup id=&quot;fnref:pass&quot;&gt;&lt;a href=&quot;#fn:pass&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;I had been expecting a normal Linux &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/passwd&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;shadow&lt;/code&gt; file entry like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;admin:$1$YjOzcqrf$Zqx4sx5CQRuEIFCdOLAJV0:0:0:admin:...&lt;/code&gt; but no, it seems to be sitting there in plain text, no &lt;a href=&quot;https://hashcat.net/hashcat/&quot;&gt;password cracking&lt;/a&gt; required!  Sure enough:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;L2 Managed Switch - GEPoEL2-SW12

Login: admin
Password: 

waters2# 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If you’re doing this on your system and the memory layout is identical, then you should just have to dump one block, starting at 0x011b0400.  This switch has the concept of two independent configurations, one that’s used when rebooting and another that can be made active by a command.  So that you can really screw up the temporary config, and when everything goes to hell, reboot the switch and everything should be peachy again.  Anyway, I did see another copy of the user/pass data at 0x013b0400, two megabytes after the first copy, so maybe that’s how this double config thing works.&lt;/p&gt;

&lt;p&gt;Anyhow!  Yay!  The switch is mine now!  My naming scheme for computers is names of fictional musicians (e.g. Jake and Elwood Blues), plus fanciful stage names of real musicians (e.g. Tank Slagknuckle and Stellar Tellar).&lt;sup id=&quot;fnref:poe&quot;&gt;&lt;a href=&quot;#fn:poe&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;  So, I’m pleased to introduce &lt;a href=&quot;https://www.imdb.com/title/tt0080455/characters/nm0747999&quot;&gt;Mr. Fabulous&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/IMG_1475%20lil.JPG&quot; alt=&quot;Beauty shot of the switch installed in a network rack&quot; /&gt;
&lt;img src=&quot;/uploads/IMG_0785%20lil.JPG&quot; alt=&quot;Wider shot of the network rack&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Mr. Fabulous been doing strong work for a month or two now, and I’m very pleased.  I set up a &lt;a href=&quot;https://en.wikipedia.org/wiki/IEEE_802.1Q&quot;&gt;VLAN&lt;/a&gt; for some of my Internet of Shit devices, and the switch’s port mirroring capability made that very easy to debug.  The switch’s extremely beefy-looking internal power supply has had zero trouble taking care of the four powered devices on my network - I’ve never noticed the switch get perceptibly warmer than ambient temperature.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/uploads/relaxen.jpg&quot; alt=&quot;relaxen und watschen der blinkenlichten&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Given the one to two decade old network security of the switch’s web interface, I’ve placed that off in an inaccessible subnet, and I do all my admin through the serial console.  Just because I’m too lazy and simpleminded to hack this thing over the network, that doesn’t mean everyone is.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:screen&quot;&gt;
      &lt;p&gt;Why is Screen a serial communication console &lt;em&gt;as well as&lt;/em&gt; a window manager and a bad process supervisor?  IDK, I slightly resent Screen.  Give me &lt;a href=&quot;https://gnunn1.github.io/tilix-web/&quot;&gt;Tilix&lt;/a&gt; any day!  Except the day I need to talk to a crusty ol’ serial console.  Humph. &lt;a href=&quot;#fnref:screen&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:baud&quot;&gt;
      &lt;p&gt;Re: data transmission, check &lt;a href=&quot;https://www.youtube.com/playlist?list=PLowKtXNTBypH19whXTVoG3oKSuOcw_XeW&quot;&gt;these videos&lt;/a&gt; out if you want to be fascinated, or &lt;a href=&quot;https://archive.org/details/enf-ascii&quot;&gt;this paper&lt;/a&gt; if you want to be both fascinated and bored! &lt;a href=&quot;#fnref:baud&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:armboot&quot;&gt;
      &lt;p&gt;According to &lt;a href=&quot;https://hackaday.com/2020/08/12/degrees-of-freedom-booting-arm-processors/&quot;&gt;an article from hackaday&lt;/a&gt;,&lt;/p&gt;

      &lt;blockquote&gt;
        &lt;p&gt;There is no uniform way that ARM processors are booted and there’s no uniform or even standardized boot software for ARM-based chips.&lt;/p&gt;
      &lt;/blockquote&gt;
      &lt;p&gt;&lt;a href=&quot;#fnref:armboot&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:pass&quot;&gt;
      &lt;p&gt;It’s not the real one, since I told you too much about the institution the box came from.  The real password had an air of sadness though. &lt;a href=&quot;#fnref:pass&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:poe&quot;&gt;
      &lt;p&gt;I made an exception for this switch’s predecessor.  I thought that since it was a Power over Ethernet (PoE) switch, it should be called Edgar Allan.  But I bet everyone with a PoE switch thinks the same thing :-/ &lt;a href=&quot;#fnref:poe&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;</content><author><name>Thomas Grenfell Smith</name><email>thomathom@gmail.com</email></author><summary type="html">Welcome back! I’m rehabilitating and taking control of a Waters Network Systems GSM-2112-POE 12-port managed Ethernet switch. You can check out part 1 or part 2 if you feel like it.</summary></entry></feed>